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

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. :-)

2012年2月7日 星期二

以自由軟體實作的 Linux 中文手寫輸入法

移動裝置與觸控螢幕盛行多年, Linux 上的觸控鍵盤 (以前叫螢幕小鍵盤, on-screen keyboard 或稱 virtual keyboard) 千百種, 我自己也用 QML 寫了一個 qVKB, 可以在 Ubuntu 和 MeeGo 上使用. 但是講到 Linux 上面的 "中文手寫" 輸入法就不太常見, 大概跟開放原始碼的引擎商業化程度/辨識度不高有關係.

這兩天花了點時間蒐集資料, Nokia N9/N950 (MeeGo Harmattan 系統) 預載的中文手寫辨識引擎沒記錯的話來自於漢王, 搜尋了一下發現 OXPad 有很像 Tegaki 的展示影片, 沒看到原始碼 (大概辨識引擎也是商業授權?). 基於輸入法的實作還有 ibus-handwrite, 以及一系列用 Tegaki 改的輸入法面板 (panel), 包括 ibus-tekagi, scim-tekagi, oxim-tekagi..等等, 不過那是用 Python-Gtk 兜出來的, 兩欄式的介面也不好用.

研究了一下, 要達成初步功能似乎不會很難, 乾脆自己刻一個: qml-handwriting

  • 手寫區 (writing area) - 介面使用 QML 和 Canvas 完成 (Qt 4.7 以前要從 Qt Labs 安裝, 但 QtQuick 2.0 以後就內建了)
  • 筆劃偵測 (strokes detection) - 採用 Joshua Koo 以 JavaScript 實作的 ShortStraw 演算法
  • 辨識引擎 (handwriting recognition) - 使用 Tekagi 的 model 及 Zinnia 的 engine, 支援繁體中文、簡體中文及日文

速度及辨識度還可接受, 下一步大概會試著整合近輸入法面板, 在 xPad 裡預設安裝. 技術上可能可以把 Zinnia 的部份抽出來包成 QML plugin; 或進一步使用 WebKit Canvas, 配上 @timdream 超強的 ime.js. 總之原始碼以 LGPL 授權, 歡迎修改使用, 敬請不吝指教.

Update #1: 小帥提表示 ime.js 不再維護, 日後會整併到 B2G 專案的 Gaia 界面中.

Update #2: 來自 Nokia 的 @yinyunqiao 很迅速地將 qml-handwriting 移植到 Qt5 了, 有需要的話可以參考.

2011年12月7日 星期三

xPad 0.5 released!

Our answer to the Browser OS for tablets


xpad-0.5.iso (62MB)

After almost a year of hard working, we're proud to present xPad 0.5!
xPad is the Browser OS for touch-based devices, built on top of open source projects like xPUD, Qt/QML and WebKit.


This LiveCD/USB image works great on Virtualbox and some x86 machines, it has also been ported to several TI OMAP3/4 and nVidia Tegra2 platforms.

The Devil is in the details


We rewrote almost everything from the ground up, with Qt 4.7.2, QtQuick 1.1 and QtWebKit 2.1 software stacks, the web browser and virtual keyboard are now perfectly integrated, it also gave us the chance to make further customized UX and demonstrate all kinds of possibility about this Browser OS idea.



More Information

For more information you can refer to the source code repository on Github, and a presentation slides I made for COSCUP 2011. If you have any demo or customization request, feel free to send me a mail ;-)

We hope you enjoy this release as much as we do, and have a great Christmas holiday.

All the best,
penk

2011年1月3日 星期一

TouchWeb - browser of xPad got an upgrade


Here's a sneak preview of our next xPad release, the WebKit-based browser, TouchWeb, has been enhanced for finger browsing. Including:
  • Tap-and-hold (long press) gesture for right click
  • New Tab/Window handler
  • Safari-like URL bar and reload/stop button
And we even got the Chromium OS overview function implemented:

Stay tuned! ;-)

2010年12月21日 星期二

xPad 0.1 released!

What if Chrome OS Tablet concept UI get implemented?

Don't you love the Chrome OS Tablet concept UI above? I fell in love as soon as I read about it on the wiki, but Eric Schmidt crush my dream by stating that "Chrome OS aimed at keyboard based solutions".

I don't know either the actual roadmap of Chrome OS nor what Google has in mind, but since it's an open source project and I'm a FOSS developer, I decided to build it on my own. After a weekend of hacking, let me introduce to you:

the xPad - tablet edition of xPUD



Download: xpad-0.1.iso (47MB)

Due to the limitation of hardware support in this image, it can only boot on Virtualbox. But we have already integrated this touch and virtual keyboard solution onto MeeGo Netbook UX, and ported to some selected platforms like OMAP3 and Moorestown. (Any demo or customization request please feel free to send me a mail ;-)

Main Features

  • finger scrolling browser - it's basically a simple GtkWebKit browser with a custom GtkScrolledWindow widget from the Midori project. We also wrote a QtWebKit version in case you want to demo it on MeeGo.
  • enhanced WebKit - that rendering fast and with less library dependencies, we also patched WebCore/HTMLInputElement to hint input method with different input type, including password field.
  • auto showing/hiding of input method - by patching against scim-bridge, we made the Gtk and Qt4 immodule brings up the keyboard while focus in, and hide it when focus out.
  • virtual keyboard that can actually use - we add Toggle feature into fvkbd, that can toggle input method as well as switch keyboard layout; also applied the MODE_STATUS_TEMP patch from sayamindu to support CKJ users.
  • input method panel - we fixed the ToggleVkb feature of scim-panel-vkb-gtk, also adjust the layout to integrate SCIM and different input methods well.
  • multi-lingua keyboard layout - we carefully crafted a "bopomofo" friendly keyboard layout, that shows how flexible the fvkbd can be.

Known Issues

Apparently it's still buggy and unstable, the browser doesn't have much features like Tap-and-Hold or right click, nor tab or hiding scroll bar support, sometimes you have to toggle the keyboard and change input method to English to get it right.

But we'll keep working on that, maybe replaced it with a custom build of chromium, or some Qt-based browser like IXS-Browser from Movial.

While xPUD team are busy working on the next generation of TableWare UI, this is something you can play with during the Christmas holiday! :-)

All the best,
penk

2010年11月3日 星期三

xPUD 0.9.5 - Re-implemented everything, again


Download: xpud-0.9.5.iso (65MB)

Notice

This is a technical preview release, which only suits developers. If you're looking for next stable release please follow us on twitter.

New Features

Ubuntu 10.10 base and Linux kernel 2.6.35.7, alone with an updated build system.

TableWare platform


Starting with this version we launch a new project called TableWare, a web-based window manager, which replaced the old XPCOM/MozPlugger implementation with following software components:
  • new NPAPI plugin
  • new XCB-based window manager
  • Node.js and WebSocket support
  • new daemon with inotify and D-Bus support
  • new WebKit-based runtime
So the fun starts here!

How cool will it be if you can write a window manager using CSS/HTML and JS in 297 lines of code?


Known Issues

  • only tested in virtualbox
  • still very very buggy
  • iframe-shim doesn't work in webkit

What to expect next?

  • re-designed plate UI
  • compositor of tableware platform
  • ARM port and xPad, THE tablet edition! :-)
  • If you've got any question or request, feel free to drop me a mail

2010年11月2日 星期二

xPUD 0.9.5 - 宇宙最美麗的 OS 出世了!

世上最不穩定的 xPUD 終於姍姍來遲了!


下載: xpud-0.9.5.iso (65MB)

作者的忠告

這是開發中的版本, 只適合想自己寫程式或修理錯誤的開發者使用, 若要等穩定版釋出請追蹤 xpudos 的推特帳號.

新功能

升級到 Ubuntu 10.10 系統與 Linux 核心 2.6.35.7, mkxpud 也同步更新.

TableWare 平台


自 0.9.5 開始我們正式啟動 TableWare 計畫, 它將取代 XPCOM/MozPlugger 成為下一代 xPUD 的主力平台, 新元件如下:
  • 新的 NPAPI 外掛
  • 新的 XCB 視窗管理員
  • Node.js 和 WebSocket 支援
  • 可用 D-Bus 和遙控器操作
  • 新的 WebKit 核心
用新平台寫視窗管理有多酷呢? 請見「輕滑頓幻舞 (Sliding Effect)」展示影片:



一共只用了 297 行 HTML/CSS/JS!

已知問題

  • 只在 virtualbox 測試過
  • 非常多 bug, 常常掉東西
  • 沒有中文輸入法
  • iframe-shim 壞了

下集節目預告

  • 全新打造的 plate UI
  • 圖形加速功能
  • ARM 版本以及 xPad, 平板電腦介面! :-)
  • 有任何問題或需求歡迎和我聯絡
按這裡貼到噗浪