About me

我的相片
I'm a web and software developer from Kaohsiung, Taiwan.
I design and implement user interfaces, also contribute to open source projects.
http://penkia.net/portfolio
顯示具有 紀錄 // log 標籤的文章。 顯示所有文章
顯示具有 紀錄 // log 標籤的文章。 顯示所有文章

2014年7月3日 星期四

慶祝上 Qt Showroom, Terrarium 新版本限時免費中!

Terrarium 計畫登上 Qt Project 的 Showroom 啦! 剛好昨天發佈了 1.2 版的更新 (iOS 審核中), 歡迎下載使用

1.2 版新功能

  • 升級至 Qt 5.3.1
  • 支援 Android L 與 Mac OSX 10.10
  • 基本的存檔 (LocalStorage) 和 Email 匯出功能
  • View 的全螢幕預覽模式
  • 行號與游標顯示
之後會加上 Github Gist 匯出 (應該啦), 歡迎測試, 有任何意見也請不吝指教 XD

2014年5月29日 星期四

QtWebEngine Build Instruction for Embedded Linux and Qt 5.3

Digia recently released Qt 5.3, but it reads like they provides Qt WebEngine exclusively for their Qt Enterprise Embedded customers, which is not true because you can totally build it from source, and it even works on EGLFS QPA without any modification.

All you need to do is:

  • Check out the source from repo
  • Edit src/core/gyp_run.pro, and replace desktop_linux.pri with:
    linux: include(config/embedded_linux.pri)
    
  • Build as usual: qmake -r CONFIG+=release && make -j4 && sudo make install
I've also uploaded pre-built deb packages of Mesa 10.1, Qt 5.2.1 and QtWebEngine for Ubuntu 14.04 AMD64.
NOTE: this may breaks your desktop Mesa and GL driver, use at your own risk.

If you're looking for a minimal QtWebEngine QML example, here it is: https://gist.github.com/penk/dea91ab88e3e8c838662.

2014年4月16日 星期三

SlateKit Base 技術預覽版本更新

又到了每月的 SlateKit Base 技術預覽 (technical preview) 版本更新時間, 本次的更動如下:

  • Mesa 10.1.0-4ubuntu4
  • Qt 5.2.1+dfsg-1ubuntu14
  • Oxide 1.0.0~bzr501-0ubuntu1

在 SlateKit Shell 介面方面, 新增解鎖畫面 (Lockscreen) 並更新至 oxide 分支最新版本, 歡迎下載試用:

Launcher

若需要客製化 Launcher, 請參考 Launcher/main.cpp.

除了對應 QKeyEvent 至 QML 外, 還包括 Screen.orientation 及 QOpenGLContext 的實作.

2014年2月20日 星期四

Enable Touchscreen Support on Oxide

Wow, So Viewport, Very Gesture

Oxide WebView merged touchscreen support in revision.378, oxide-qt package lands in PPA, so I updated the EGLFS patch accordingly.

How to Use It

To enable pinch gesture and viewport, you'll need a SharedGLContext created to do accelerated compositing, so the tool oxideqmlscene comes in handy:

$ export OXIDE_FORCE_FORM_FACTOR=tablet

$ cat << EOF > web.qml
import QtQuick 2.0
import com.canonical.Oxide 0.1
WebView { 
width: 800; height: 600
url: 'http://duckduckgo.com'
}
EOF

$ oxideqmlscene web.qml 

And there you go. Technical preview of SlateKit Base also upgraded: slatekit-base-tp-02202014.iso (97MB)

2014年2月4日 星期二

Oxide WebView on EGLFS QPA

Oxide WebView is a QML wrapper of Chromium content API, just like QtWebEngine. I've been following Chris' development for a while now, it's (surprisingly) usable if you consider its early stage. For those who doesn't want to build Chromium but would like to try, here's the package oxide-qt PPA for amd64/i386 and armhf architecture.

Oxide was designed to be a replacement of QtWebKit and using on Ubuntu Touch, so it's no surprise it supports Mir, Ubuntu (legacy) and XCB QPA by default. As a big fan of Qt's EGLFS plugin, I couldn't be happier to have a Chromium rendered web browser running on bare-metal with nothing but framebuffer and EGL.

So here it is, enable_oxide_on_eglfs.patch. To use it you'll need a fbdev backend enabled Mesa, also Qt 5.2 configured with -opengl es2, and start qmlscene like:

export QT_QPA_PLATFORM=eglfs
export EGL_PLATFORM=fbdev
export EGL_DRIVER=egl_gallium 

qmlscene ./web.qml

Which web.qml may look like this:

import QtQuick 2.0
import com.canonical.Oxide 0.1

WebView {
    width: 800
    height: 600
    url: "https://duckduckgo.com"
}

My talk proposal of SlateKit just got accepted by FOSSASIA 2014, so more information on this matter will be published here later. Stay tuned. :-)

2013年12月24日 星期二

How to Pack a Qt Web Browser on Mac OSX

Copy QtWebProcess into app bundle (in our case, SlateKit.app):

mkdir -p SlateKit.app/Contents/libexec
cp ~/Qt5.2.0/5.2.0/clang_64/libexec/QtWebProcess SlateKit.app/Contents/libexec/

Set QPA and plugin path:

cat > SlateKit.app/Contents/libexec/qt.conf << EOF
[Paths]
Plugins = ../../PlugIns
Imports = ../../Resources/qml
Qml2Imports = ../../Resources/qml
EOF

Make the app bundle self-contained:

~/Qt5.2.0/5.2.0/clang_64/bin/macdeployqt SlateKit.app -qmldir=qml/ -executable=SlateKit.app/Contents/libexec/QtWebProcess -verbose=3 -dmg

Note there's a known bug of macdeployqt before Qt 5.1, here is a patched one.

2013年6月9日 星期日

My Ubuntu Touch Weekend Hackathon on Nexus 4

I got some time to play with a Nexus 4 this weekend, and I decided to improve SlateKit Shell on Ubuntu Touch, here are some results:

Fixed the url text (TextField) layout, and improved Suggestion list:

Enabled OrientationHelper:

Tweaked Reader Mode text size:

And here's the tricky one, long pressed Context Menu support:

You can find all the commits from: https://code.launchpad.net/~penk/slatekit-shell/trunk

Best,
penk

2013年6月6日 星期四

SlateKit Shell is now available on Ubuntu Touch

Some quick updates:

  • New features: Reader Mode and User-Agent string Switch
  • Install on Desktop
  • Debian package information landed in Github, this also provides an Ubuntu PPA, so you can install it on Ubuntu Desktop 13.04 (Raring) or later by:

    sudo add-apt-repository ppa:penk/touch
    sudo apt-get update
    sudo apt-get install slatekit-shell

  • Install on Ubuntu Touch
  • SlateKit Shell has been added to Collection PPA, thanks to Michael Hall's help. If you're working on Ubuntu Touch please give it a shot: ppa:ubuntu-touch-coreapps-drivers/collection.

  • UI Components
  • Rather than being tied to one single platform, I would like to make SlateKit a generic QML app suite. Only the one hosted on Launchpad will be using Ubuntu Components (mostly units for now, and some Popover); the main Github repository will not.

  • New Icon
  • Thanks to Georgi Karavasilev, we just got a very first graphical asset, an icon. Stay tuned! ;-)

Best,
Ping-Hsun Chen (penk) <penkia@gmail.com>

2012年3月27日 星期二

s/Firefox/Browser/g;

Hey, we got on PCWorld, check it out.

Since Mozilla is working on its super cool B2G project, we don't want people get confused because of the brand/name, so starting today, we're replacing all the term 'Firefox OS' with just 'Browser OS' on xpud.org website and all future release notes.

I'm aware that the stable xPUD release hasn't been updated for a while (and yes, I'm fully aware of the stupid and retarded project name, but I was 17 when naming it). In past two years, the market and customers' focus are moving rapidly from netbook/desktop onto touchscreen and remote controller based devices, which is very difficult for project like xPUD to make a general format image and let our users to play with.

So what to expect next in the following month?

  • We'll make a v0.9.9 xPUD development release,
  • with brand new window manager and compositor
  • more touch friendly components
  • two gorgeous icon set: iconSweets2 and Entypo
  • and, a re-designed plate interface:

When we first started xPUD project back in 2008, there's no such OS-built-on-top-of-browser thing, and the major audiences are only netbooks. Now we have xPUD/xPad running on phone/tablet, handy Web API, and Open webOS team is going to release their authoring tool Ares next month! I'll say it's the best of times. :-)

2009年12月31日 星期四

2009 年終回顧

年初的時候去了一趟美國, 如願買了 MacBook, 還很幼稚的在 Westfield 迫不及待地開箱



二、三月因為工作徹底的燃燒殆盡, 肩上的背包從來沒放下來過, 累積的哩程可比巴士大叔. 此時的主題曲是 Apartment Story


Tired and wired we ruin too easy,
sleep in our clothes and wait for winter to leave.

四月時忍不住手癢, 把醞釀多時的想法灌注在 xPUD 上, 開始獲得 (相對於從前) 大量的迴響



五六月時陷入低潮, 一邊繼續著手 xPUD 的開發, 一邊獨立接案完成了幾個產品

我爬上全世界的屋頂
帶著沒有人能瞭解的心情
狂亂的時候
誰能擁抱我的空洞
絕望的時候
有誰能挽救我的惡夢

七月時老媽老妹也搬到台中, 菸抽得更兇

我想要為你贏得一個未來
卻一不小心輸了現在

八九月在各大研討會巡迴演出, 和 Fred 籌組 ullab.org 事宜.
十月, 在 YAPC::Tiny->second 得到 Audrey Tang 簽名



十一月應 GNOME.Asia Summit 之邀去了一趟越南



十二月 xPUD 得獎!



談定不少重要的案子, 居然連 iPhone 都入手了. 真是由 Apple 開始也由 Apple 結束的一年阿.

2009年10月9日 星期五

Start refactoring Setting tab

Start using CSS custom buttons for better i18n handling.



And language now can be changed without restart X.

2009年10月7日 星期三

xPUD WebApp Mode

Thanks to joshas, Plate is now supporting of open WebApp in Menu tab:



And we'll continue to integrate this feature with browser's bookmarks.



Now available in the snapshot build: http://download.xpud.org/devel

2009年8月17日 星期一

COSCUP 2009!!

除了爆笑梗全集懶人包之外還有許多令人開心的照片。新增 IRC log

#!/usr/local/lab 分享的簡報也已經上線:

感謝所有辛苦的工作人員和與會者,這是我第一次參加需要排隊的 open source event!!

2009年6月13日 星期六

xPUD Roadmap Toward Version 0.9.5

We'll focus on two major features:
  • Setting/Opt-Get

  • It's good sign to see people putting xPUD in daily use, and want to have it like normal system instead of live session. We'll create an unified setting file for xPUD/Plate, and make the setting backup/restore automatically. Also make install/keep/make Opt files as easy as possible.

  • File tab

  • We'll improve the File tab, try to use a web-based file manager or leverage on Moblin, to integrate it into Plate.

Some other planned features:
  • OSD notify: mozjs-dbus, key press event handling
  • Base System: 2.6.30 kernel and experiment on xorg
  • Plate UI: visual effect using jQuery, dynamic template for better usability

Please follow me on Twitter, keep an eye on Github, testing snapshot builds or subscribe on our forum for any updates. Thanks!

Reviews of xPUD 0.9

Even we didn't generate lots of PV this time,
still got 34252 unique downloads in half a week.
Update: 42927 in 5 days.



And there are so many in-depth reviews and videos about xPUD:

http://linuxoutlaws.com/forums/viewtopic.php?f=2&t=1809&start=0&st=0&sk=t&sd=a
http://easylinuxcds.com/blog/?p=3455
http://www.gotolab.cn/2009/06/09/linux-xpud-mini-51/
http://linuxtoy.org/archives/xpud-09-adds-new-features.html
http://www.h-online.com/open/xPUD-0-9-released--/news/113486
http://www.linux-magazine.com/online/news/notebook_minimalism
http://www.youtube.com/watch?v=oMcZIHTE1cM
http://blip.tv/file/2211779
http://distrowatch.com/?newsid=05512
http://royalwin.blog.so-net.ne.jp/2009-05-30
http://eeepc.cocolog-nifty.com/blog/2009/06/xpud-09-eeepc-9.html
http://www.opennet.ru/opennews/art.shtml?num=22062
http://informatiquelibre.info/fr/node/4733
http://ubuntuclub.com/node/1399
http://www.heise.de/open/xPud-Schlankes-Linux-fuer-Netbooks--/news/meldung/140136
http://blog.linux-redaktion.com/hardware/netbooks/netbook-blitzschnell-booten/
http://www.netbooknews.de/6376/neues-mini-linux-fur-netbooks-xpud/
http://www.linux-community.de/Internal/Nachrichten/xPUD-in-Version-0.9-bringt-Netbook-Support
http://pillateunlinux.wordpress.com/2009/06/08/xpud/

I read all of them, and mails too,
some of them are translated by Google Translator.
Thanks for your interesting, suggestions, criticisms and feedback.
We're really really appreciated.

2009年6月1日 星期一

Happy Anniversary, xPUD



xPUD turns 1-year-old today. I believe we're creating something cool, a content delivery platform that fills the gap between hardware and the cloud. Here are the facts we believed in:
  • Designer should not be limited to graphic library, and should take total control over the user interface
  • Computer (desktop) should be easier, and we can make it better
What we're working on:
  1. A newly redesigned website will be online in a few days
  2. We're going to make a major release (version 0.9) in about a week, with lots of improvements
  3. Call for translation, right now there are en, de, es, fr, zh, zh_cn in repository, and jp, pt, pt_br in progress. If you want to have xPUD in your language, feel free to send me a patch!
Best Regards,
penk

xPUD 生日快樂



xPUD 滿週歲了。作為一個網頁平台,目標是填補硬體和雲端之間的空缺,我們相信這是一個超酷的專案,因為:
  • 設計師不應被技術和軟體限制,對於介面應該要能全然掌握
  • 電腦應該要更簡單易用,我們可以讓它更好
接下來:
  1. 重新設計的網頁應該可以在幾天內上線
  2. 我們要在一個禮拜內釋出新版本 (0.9 版)
  3. 徵求翻譯!目前完整支援英文、德文、西班牙文、法文、繁體中文和簡體中文,而日文與葡萄牙文正在進行中。 如果你願意幫忙翻譯其他語言,盡管寄給我吧!
謝謝,
penk

2009年4月20日 星期一

Another Snapshot Build is Out






With lots of modifications, also a new README for mkxpud.

Join us now!
Twitter: @penk
IRC: #xpud on irc.freenode.net
Forum: http://groups.google.com/group/pud-linux
Issue tracking: http://code.google.com/p/xpud

2009年4月15日 星期三

xPUD Snapshot Build

http://download.xpud.org/devel/

ChangeLog

  • Plate UI: Chinese, English, German and Spanish
  • Keymap: de, es, fr, fr_CH, uk and more
  • Network Driver: Ralink (rt2860sta), Broadcom (wl, b43), VirtualBox, VMware (pcnet32) and QEMU (ne2k-pci)
  • mkxpud: module helper, image handler, python recipe
Big thanks to folks on the forum. I'll reply the mails and threads, upload the website translation after I have enough sleep.

More to come, stay tuned!
Update: Following features have been committed into Plate (English only):

Basic pop-up dialog support


Basic window management


...and fullscreen support!

2009年4月13日 星期一

xPUD Roadmap Toward Version 0.9

Thanks for your interest in xPUD, I'm very appreciated for all of the feedbacks and contributions! :-)



The main purpose of this project is to make a ready-to-use Linux target on a small selection of hardware and applications, and still make adding extra stuff possible. We want to focus on one thing and get it done in a better design.

And the balance is important because we don't want to be a "barebone" OS like TinyCore, either to bundle too much things and becoming bloated. So I would like to talk some details toward next release, version 0.9:

  • Localization
  • Keyboard map support will be added. And if you're interest in translating website or user interface please let me know. We're now having website translation for Portuguese and Plate in German.

  • Hardware Support
  • I'll check the latest Linux Kernel for better wireless support. The Moblin releasenote will be used as the built-in hardware list reference.

    If your hardware is not supported by xPUD at this moment, don't panic. Please check the "Kernel Modules" section on the download page, and we'll try to make this process easier.

  • Plate UI
  • The user interface will come with minor improvements, for example Fullscreen Mode for application menu, Ethernet network setting, and the rest of the not yet implemented features will be filled as much as possible.

  • Package Manager
  • There will be an easy way to add extra software "plugin", manually or automatically.
    Too bad that I can't provide any schedule like most of the small FOSS projects, please follow me on Twitter, or subscribe on our forum for any updates. Thanks!