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

2013年5月21日 星期二

SlateKit Shell - 內建中文手寫輸入法的 WebKit 瀏覽器

就像去年「以自由軟體實作的 Linux 中文手寫輸入法」一文中所證明的,完全用自由軟體可以做出足堪使用的手寫輸入法。經過一年來的沈澱、將查詢程式拆解成 Zinnia 模組,並將輸入判斷程式移植到 Qt5/QtQuick2,目前最新的成果:

內建中文手寫輸入法的 WebKit 瀏覽器

SlateKit Shell 是一個完全由 QML/JavaScript 寫成、專為觸控介面最佳化的行動瀏覽器。有「側邊展開」的分頁功能、自定的「彈出式選單」以及「開啟新分頁」事件等等;歡迎至 Github 下載來測試使用。

客製化你自己的 QML 虛擬鍵盤

若你有在 QML 中使用螢幕鍵盤的需求 (無論中英)、執行環境又沒有輸入法框架的話,可參考 SlateKit 實作的一系列 IME 模組,更多資訊請參照專案的「Customize QML Virtual Keyboard」頁面。

敬請指教!
penk

2013年5月18日 星期六

SlateKit Shell - A Qt5/QML WebKit Browser with Sliding-Drawer UI

This blog post is now offered in Spanish language thanks to Webhostinghub.com.

This is a project I dream to have for almost two and half years, now I finally have the time and right tools to make it.

Why does it look like a drawer? Can't you make something new?

Even though Navigation Drawer pattern is quite trendy nowadays, but this was extremely influenced by the three-year-old Chromium OS tablet conceptual mockups. When I started this browser project, I set up a few goals to follow:

  • Explore layout and user interface design possibility
  • Make a Touch-First control, then add desktop support if needed
  • Write it entirely in QML and JavaScript, to see how far it goes

QtQuick looks like a perfect tool for UI prototyping, and I wanted to learn how it holds up without C++ glue code, custom Model or any other plugins. It turns out pretty okay.

What kind of features does it have?

Apart from the side-tab support, we have some basic features:

  • Custom Popover for select elements and inputs
  • Historical search suggestion and highlight using QtQuick.LocalStorage

Wait a second, is that a virtual keyboard?

You're reading it right! Shell comes with a modularized keyboard (using the Fakekey plugin), this makes it possible to be running as a self-host standalone kiosk-mode application, without using any input method engine or window system, on any touchscreen device comes with a Qt environment.

What's next? Conquer the world? Put it back to shelf and move on?

I think porting it to Ubuntu Touch (and platforms like Mer/Sailfish OS or Hawaii Desktop) with their SDK/Components seems to be a reasonable target. And I will work on small form factor for sure.

Please get it from Github, play with it, feedback/bug report/patch are more than welcomed! :-)

Best,
penk <penkia@gmail.com>

2013年5月8日 星期三

Minimal QtWebKit Kiosk and more

Here are some of my WebKit weekend projects..

31MB QtWebKit Kiosk distro

A minimalism distro built on uvesafb and Qt 4.8.4 QWS, Ubuntu Raring based: kiosk-060513.iso. Qt 5.0.2 with DirectFB QPA is on the way.

QtWebKit browser with Sliding-Drawer Tab UI

Written in pure QML and latest QtQuick2 API, check it out on github.

Virtual Keyboard with QML WebView

My SlateKit IME plugins (with English/Chinese handwriting input) is now fully integrated into QML WebView, without using any im server nor im-module.