xPUD - Shortest Path to the Cloud

11,078 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,078
On SlideShare
0
From Embeds
0
Number of Embeds
561
Actions
Shares
0
Downloads
54
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • 嗨大家好,我是 penk
    很高興有機會來到這裡和大家分享一些故事

    雖然我是 twitter 派的, 不過這是我的噗浪帳號
  • 今天呢
    還有這位是我的好朋友 fred
  • 我們來自光看名字就很宅的 ullab.org

    全名是 #!/usr/local/lab (shebang-slash-user-slash-local-slash-lab)
    也就是阿宅與阿台實驗室
  • 今天和昨天都聽到了不少相當有趣的技術議程
    但是呢
  • 今天這場做的完全是手工藝
    craftsmanship 不是 engineering

    這是整個 COSCUP 研討會當中「技術含量」最低的議程:
    我們是唯一需要兩個講者才能撐滿 30 分鐘的講題

    感謝大家來聽
  • 最近阿我發現一個真理:我們喜歡網頁
    下班前大家的電腦話面不是 facebook 就是 plurk

    身為一個 Web designer 我們熱切期待 CSS3 的 3D 功能

    和 HTML 5, EC-MA-script 5 無論是 AV 還是 client side storage API

    當然我們也很期待 IE6 去死
  • 最近阿我發現一個真理:我們喜歡網頁
    下班前大家的電腦話面不是 facebook 就是 plurk

    身為一個 Web designer 我們熱切期待 CSS3 的 3D 功能

    和 HTML 5, EC-MA-script 5 無論是 AV 還是 client side storage API

    當然我們也很期待 IE6 去死
  • 最近阿我發現一個真理:我們喜歡網頁
    下班前大家的電腦話面不是 facebook 就是 plurk

    身為一個 Web designer 我們熱切期待 CSS3 的 3D 功能

    和 HTML 5, EC-MA-script 5 無論是 AV 還是 client side storage API

    當然我們也很期待 IE6 去死
  • xPUD 是什麼呢, 簡單來講
  • 就是個「瀏覽器 OS」

    為甚麼要做瀏覽器 OS?以前那些用得好好的 OS 不行嗎?
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 這片白雲綠地就像是我們的 ecosystem
    當這些大公司努力的在雲端建立他們的服務

    還有硬體廠商和品牌公司賣出一堆的硬體, 還有山寨*N....
    這些 client 不一定是電腦, 小筆電, MID,smartbook 等等之類

    中間總會有什麼東西吧!!

    這些硬體他們不一定跑得動 legacy OS, 螢幕尺寸機器力道也不一定適合
  • 但是瀏覽器導向的 OS 已經不是新聞了
    甚至談不上有趣或者酷

    早在 98 年瀏覽器大戰結束的時候 Mozilla 就打算這麼做了
    BeOS 甚至在兩千年的時候就做了一個網路平板電腦

    最近我們也看到不少重量級產品...除了 Google 沒釋出只放話之外,
    包括 open source 的 eyeOS 和一票 web desktop
    Phoenix 的 Hyperspace 有兩個版本, 直接賣給 end user
    DeviceVM 的 ExpressGate 幫 BIOS
    Xandros 的 Presto , 免費下載, 付費延長試用時間
    想買也買不到的 gOS Cloud
    還有最近推出 alpha 2c 的 Jolicloud

    但好像沒有一個紅的
  • 怎麼回事? 我們剛剛的結論是「要提出一個輕薄的OS」方案
    那經過這麼久, 又出現這麼多競爭者, 為什麼還沒有人做對呢?

    首先,有些公司錯誤定位他們的產品為「輔助次要的OS」,
    或是 OS 之前的暫時環境,根本不會有人去用一個輔助的作業系統。

    第二,整個「快速開機」的調校熱潮根本就是個假命題。
    一般的使用者,寧願慢慢等跑去泡咖啡,
    而高手根本不會關機。
    改進開機速度很開心,但那也只是整體使用經驗的一環。

    就算這個東西真的很好用好了
    最重要的是,大部分的 Browser OS 都只算是個 "good to have"
    的「維他命」產品,沒有人想要付錢 XD
    User 不想跟你買、Brand-company 認為沒什麼價值、OEM 更覺得多作多錯。

    好吧, 如果我今天真的很想賣這樣的 OS, 我該怎麼做?
    把它包得漂漂亮亮的
  • 對阿!我們來寫一個 選單 把 Linux 包得漂亮一點
    看起來又簡單又容易又高雅
    這樣沒問題了吧
    大家都這樣做阿
  • 對阿!我們來寫一個 選單 把 Linux 包得漂亮一點
    看起來又簡單又容易又高雅
    這樣沒問題了吧
    大家都這樣做阿
  • 對阿!我們來寫一個 選單 把 Linux 包得漂亮一點
    看起來又簡單又容易又高雅
    這樣沒問題了吧
    大家都這樣做阿
  • 錯

    Linux 已經夠難用了!
    包上一層漂亮的糖衣,
    也等於加上了一層複雜度,加上了一個不同的心智模型 (user model)

    那我們來用「減法設計哲學吧」?
    當你太過精簡,你等於拿掉了對使用者友善而熟悉感的經驗。
    每個人的 80 趴不同。

    我們放 Browser 很好阿,加上多媒體很好阿,
    Picasa?Skype?Pidgin?不如再放個 Thunderbird 跟 Openoffice 吧。
  • 既然這些公司不行,
    讓我們用 Open Source 的力量來解決這個問題吧!
    一年前週末的一場大雨,讓我萌生了這個想法。

    1. 天天工測

    直接訴諸大眾,不是交給小小的QA team在那邊重開機一百次
    我們可以做免錢的易用性測試, 得到先驅玩家即時的回饋意見,
    瞭解真實世界的使用情形, 有時候甚至會收到 patch!

    2. 不必給出做不到的時程表,還不用擔心出貨時間!
    no roadmap, no schedule, "it's done when it's done"
    根據大家都愛卻大家都做不到的 Peopleware, 這會是最有生產力的開發方式。

    3. 而且這是超棒的實驗場阿!
    你不需要說服任何人, 或是不斷修改提案, 或加上不想加的功能,
    也沒有人會罵你
    好啦, 也許有人會罵你, 但是你可以先寫好免則聲明, 然後叫他滾開

    FOSS 好棒阿!
  • 我們都很熟瀏覽器,介面也沒什麼問題。
    重點是,我要怎麼進到網頁裡?
    假設我今天沒有跟通訊業者綁約,或內建 HSDPA 網卡,
    就像今天大部分的小筆電一樣,那我要怎麼上線?

    我們需要從頭設計,砍掉重鍊。
    整個競爭,其實比的是誰能夠成為到達雲端的最短路徑
    而這個最短路徑,包括了「最快速和最容易」。 (* 進入主題)
    這也是 xPUD 專案設定的目標。
  • 我們的設計原則
    只要三項 不用十樣
  • 不只使用起來要快, 開發也要快
    因此我們幾乎全部都用開放原始碼專案堆起來
    從底層最上層, droid font, scim

    因為我們都很懶惰驕傲急躁,
    所以我們希望可以一步完成的建置系統

    既然是瀏覽器作業系統了, 乾脆連介面都用網頁寫吧
    寫網頁比寫 rich client 的門檻低太多了

    既然你的介面是網頁, 那當然可以做一些骯髒事阿
    跑的很慢的 daemon 就丟到 onload 裡面做, 介面就可以很快出來
  • xPUD - Shortest Path to the Cloud

    1. xPUD Shortest Path to the Cloud
    2. xPUD Shortest Path to the Cloud
    3. penk Ping-Hsun Chen penkia@gmail.com http://plurk.com/penk
    4. Fred Fred Chien fred@ullab.org http://plurk.com/fredc
    5. ULLAB.ORG
    6. ULLAB.ORG #!/usr/local/lab
    7. Engineering?
    8. Craftsmanship!
    9. CSS 3D Transforms
    10. CSS 3D Transforms <audio> tag
    11. Bye, IE6 CSS 3D Transforms <audio> tag
    12. xPUD Shortest Path to the Cloud
    13. xPUD Minimal Browser OS
    14. http://www.flickr.com/photos/pagedooley/2511369048/
    15. Amazon EC2/S3 http://www.flickr.com/photos/pagedooley/2511369048/
    16. Amazon EC2/S3 Google App Engine http://www.flickr.com/photos/pagedooley/2511369048/
    17. Amazon Yahoo! EC2/S3 Google Hadoop App Engine http://www.flickr.com/photos/pagedooley/2511369048/
    18. Amazon Yahoo! EC2/S3 Google Hadoop App Engine Asus EeePC http://www.flickr.com/photos/pagedooley/2511369048/
    19. Amazon Yahoo! EC2/S3 Google Hadoop App Engine Acer AspireOne Asus EeePC http://www.flickr.com/photos/pagedooley/2511369048/
    20. Amazon Yahoo! EC2/S3 Google Hadoop App Engine Acer AspireOne Asus EeePC HP MiniNote http://www.flickr.com/photos/pagedooley/2511369048/
    21. Amazon Yahoo! EC2/S3 Google Hadoop App Engine Acer Dell AspireOne Inspiron Mini Asus EeePC HP MiniNote http://www.flickr.com/photos/pagedooley/2511369048/
    22. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting Acer Dell AspireOne Inspiron Mini Asus EeePC HP MiniNote http://www.flickr.com/photos/pagedooley/2511369048/
    23. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting Acer Dell AspireOne Inspiron Mini Asus EeePC HP MiniNote copycatting http://www.flickr.com/photos/pagedooley/2511369048/
    24. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting Acer Dell AspireOne Inspiron Mini Asus EeePC copycatting MiniNote HP copycatting http://www.flickr.com/photos/pagedooley/2511369048/
    25. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting Acer Dell copycatting AspireOne Inspiron Mini Asus EeePC copycatting MiniNote HP copycatting http://www.flickr.com/photos/pagedooley/2511369048/
    26. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting copycatting Acer Dell copycatting AspireOne Inspiron Mini Asus EeePC copycatting MiniNote HP copycatting http://www.flickr.com/photos/pagedooley/2511369048/
    27. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting copycatting Acer Dell copycatting AspireOne Inspiron Mini Asus EeePC copycatting MiniNote HP copycatting copycatting http://www.flickr.com/photos/pagedooley/2511369048/
    28. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting copycatting copycatting Acer Dell copycatting AspireOne Inspiron Mini Asus EeePC HP MiniNote copycatting copycatting copycatting http://www.flickr.com/photos/pagedooley/2511369048/
    29. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting copycatting copycatting Acer copycatting Dell copycatting AspireOne Inspiron Mini Asus EeePC HP MiniNote copycatting copycatting copycatting http://www.flickr.com/photos/pagedooley/2511369048/
    30. Amazon Yahoo! EC2/S3 Google Hadoop App Engine copycatting copycatting copycatting Acer copycatting Dell copycatting AspireOne Inspiron Mini Asus EeePC HP MiniNote copycatting copycatting copycatting http://www.flickr.com/photos/pagedooley/2511369048/
    31. Browser-oriented OS is nothing new • Netscape/Mozilla (1998) • BeOS Web Tablet (2000) • Chrome OS, eyeOS, Hyperspace, ExpressGate, Presto, gOS Cloud, Jolicloud...
    32. Browser-oriented OS is nothing new • Netscape/Mozilla (1998) • BeOS Web Tablet (2000) • Chrome OS, eyeOS, Hyperspace, ExpressGate, Presto, gOS Cloud, Jolicloud... ...most of them can’t make it big
    33. So what’s the problem? • Some product positioning as an appliance OS / pre-OS • The whole fast-booting-hype is a false statement • It’s like vitamin, good to have but no one wants to pay for it
    34. Yeah, how about writing a launcher?
    35. Yeah, how about writing a launcher?
    36. Yeah, how about writing a launcher?
    37. Yeah, how about writing a launcher?
    38. Nah! • Desktop Linux sucks • “It’s not just what it looks like and feels like. Design is how it works.” • “Subtracting” design sucks more • 80-20 Rule doesn’t work for software
    39. Let’s do it in the Open Source way! • We can treat users as alpha testers • “It’s done when it’s done” TM • Definitely an awesome playground
    40. We know browser well enough
    41. We know browser well enough The competition is about who can be the shortest path to the cloud
    42. Principle of design • Fast is better than slow • Focus on the user and all else will follow • It's best to do one thing really, really well
    43. Make it faster • Leverage FOSS components: Linux, busybox, Xvesa, Firefox, jQuery • One-click build system • Web-based user interface • Use “onload()” event to start daemons
    44. “mkxpud” build system • Cookbook/Recipe configuration • Binary-level build system • One-step to build image and installer • Single ramdisk file
    45. User interface: plate.xul • Client side web-based desktop • Packed as XUL application • Minimalist design with 4 tabs: Home, Menu, File and Setting • Powered by jQuery & jQuery UI • i18n Structure: rosetta.js
    46. Framework: plate.js • <embed> for rich client applications • system(‘command’); • update_div_ife(‘id’, ‘file’); • D-Bus JavaScript binding
    47. Main features • Small, fast, easy with CJK support • Built-in “Kiosk Mode” • Easy to customize • Cross-platform on x86/MIPS/ARM
    48. http://xpud.org
    49. http://xpud.org
    50. http://xpud.org
    51. Main features • Small, fast, easy with CJK support • Built-in “Kiosk Mode” • Easy to customize • Cross-platform on x86/MIPS/ARM
    52. boot: url=http://facebook.com
    53. Main features • Small, fast, easy with CJK support • Built-in “Kiosk Mode” • Easy to customize • Cross-platform on x86/MIPS/ARM
    54. http://github.com/penk/mkxpud
    55. http://github.com/penk/mkxpud
    56. xPUD Core Team • penk, build system • fred, dirty hack • lawwong, JavaScript • joshas
    57. Team member, joshas Vaidotas Kazla “26 year old freelance programmer from Lithuania, hacking xPUD on his free time for fun and knowledge.”
    58. Moral of the story • i18n issues are way harder than you can think • There's nothing new about brand-new • You have tools to do it doesn't equal to you can do it easily • Don’t provide FAQ on the website • Don’t repeat yourself
    59. Join us now! • Project website: www.xpud.org • Source code: github.com/penk/mkxpud • Forum: groups.google.com/group/pud-linux • Bug tracker: code.google.com/p/xpud • IRC channel: irc.freenode.net #xpud
    60. Thanks!
    61. LXDE • Extremely fast • Performing • Energy saving
    62. Smart Q7 as E-Reader http://www.youtube.com/watch?v=kc7OCbuwj8s
    63. PCManFM 2.0 Our core developer doesn’t love nurse
    64. PCManFM 2.0 • Extremely fast • GLIB/GIO • Remote Filesystem support(sftp, smbfs, ...) • As a Library (libfm)
    65. LXNM Let’s fly way up to the cloud
    66. LXNM • Network Manager • Specific Protocol for flying • Using external plugin/script to handle all of network connections
    67. LXNM Frontend • LXNM-Applet • Graphical User Interface in GTK+ • LXNM-Utils • Easy way to control all of network connections on the command line
    68. lxnetctl fred@Fred-Debian:~$ lxnetctl Usage: lxnetctl [interface] up [interface] down [interface] scan [interface] info [interface] stat [interface] connect [essid] [key] [protocol] [keymgmt] [group] [pairwise] [-bssid <bssid>] list [connection|modem] - list connections or devices(default:connection) [...]
    69. LXconf A solution to replace gconf
    70. Thanks!

    ×