28
xPad Building Simple Tablet OS with Gtk/WebKit 1

xPad - Building Simple Tablet OS with Gtk/WebKit

Embed Size (px)

DESCRIPTION

Web is becoming the new graphic library, based on the success of xPUD project, we make it further by adding following components: 1) WebKit-based browser with finger scrolling and dobule-tap zooming function, 2) A BPMF-friendly virtual keyboard integrated with SCIM input method and 3) Touch-enhanced user interface based on xPUD’s plate framework. By using simple software stack, we’re pretty confident that xPad could be an alternative of MeeGo or Android as a lightweight and easily customizable tablet OS.

Citation preview

Page 1: xPad - Building Simple Tablet OS with Gtk/WebKit

xPadBuilding Simple Tablet OS with Gtk/WebKit

1

Page 2: xPad - Building Simple Tablet OS with Gtk/WebKit

Patch first!

--- a 2010-08-15 06:20:34 +0800+++ b 2010-08-15 06:20:47 +0800@@ -1,3 +1,3 @@

-陳品軒 Penk xpad.org+陳品勳 penk xpud.org

2

Page 3: xPad - Building Simple Tablet OS with Gtk/WebKit

xPadBuilding Simple Tablet OS with Gtk/WebKit

3

Page 4: xPad - Building Simple Tablet OS with Gtk/WebKit

Ping-Hsun Chen

[email protected] / plurk: @penk

4

Page 5: xPad - Building Simple Tablet OS with Gtk/WebKit

penk: "Web is the new graphic library!"

阿怪: "你究竟對 web 有多執著阿.."

5

Page 6: xPad - Building Simple Tablet OS with Gtk/WebKit

6

Page 7: xPad - Building Simple Tablet OS with Gtk/WebKit

階段目標

• mkxpud - 系統自動建置懶人包

• rosetta.js - 多國語言翻譯架構

• plate UI - web-based 使用介面

• plate.js - 瀏覽器桌面框架

7

Page 9: xPad - Building Simple Tablet OS with Gtk/WebKit

http://xpud.org10

Page 10: xPad - Building Simple Tablet OS with Gtk/WebKit

強而有力的一個 Powerpoint

崩潰指數: 67%

交織細膩的一個 Dreamweaver

崩潰指數: 89%

12

Page 11: xPad - Building Simple Tablet OS with Gtk/WebKit

• Easily customizable

• Lightweight and effective

• Cross platform support

• Works on x86/ARM

I code in C, but a web developer in mind.

13

Page 12: xPad - Building Simple Tablet OS with Gtk/WebKit

•No mouseover event

•Finger-friendly control

•Every pixel counts!

Touch-enhanced UI

14

Page 13: xPad - Building Simple Tablet OS with Gtk/WebKit

PageCurl15

Page 14: xPad - Building Simple Tablet OS with Gtk/WebKit

FloatingBar16

Page 15: xPad - Building Simple Tablet OS with Gtk/WebKit

• Need to combine input method

• Better keyboard layout

• And auto hide/show

Virtual Keyboard

17

Page 16: xPad - Building Simple Tablet OS with Gtk/WebKit

fvkbd-gtk18

Page 17: xPad - Building Simple Tablet OS with Gtk/WebKit

fvkbd-gtk18

Page 18: xPad - Building Simple Tablet OS with Gtk/WebKit

• Port to WebKit

• Kinetic scrolling

• Double-tab zooming

• And auto hide/show

Browser

20

Page 19: xPad - Building Simple Tablet OS with Gtk/WebKit

TouchWeb21

Page 20: xPad - Building Simple Tablet OS with Gtk/WebKit

Feelingless UI

• Touch-enhanced “plate” UI

• CJK-friendly virtual keyboard

• “TouchWeb” browser

23

Page 21: xPad - Building Simple Tablet OS with Gtk/WebKit

Deal the real problem

• According to the bug tracker/forum

• Windows installer

• Install software plugin

• Keep persistent session

24

Page 22: xPad - Building Simple Tablet OS with Gtk/WebKit

Deal the real problem

24

Page 23: xPad - Building Simple Tablet OS with Gtk/WebKit

The mozplugger implementation

• NPAPI plugin

• “swallow” application into <embed>

• Can’t handle exit/open window

• Need to listen DESTROY/MAP notify

• ..only window manager can do that

25

Page 24: xPad - Building Simple Tablet OS with Gtk/WebKit

TableWarewriting window manager in html/css/javascript

27

Page 25: xPad - Building Simple Tablet OS with Gtk/WebKit

TableWare

• A WebKit based-browser with JS/D-Bus bridge patch from Movial

• NPAPI plugin to create a X Window “hole”

• XCB-based wm mapping events to JSC engine through D-Bus

• Writing decorator in HTML/CSS!

28

Page 26: xPad - Building Simple Tablet OS with Gtk/WebKit

tableware-plugin

tableware-webkit

tableware-wm

tableware.js

29

Page 27: xPad - Building Simple Tablet OS with Gtk/WebKit

What Next?

• GObject DOM binding

• jQuery Mobile

• Comet Server (who knows?)

• http://wiki.github.com/penk/mkxpud/next-generation-of-xpud

31

Page 28: xPad - Building Simple Tablet OS with Gtk/WebKit

Thanks!32