ความเดิมตอนแรก มาต่อตอนที่สองกันเลย สำหรับตอนนี้ผมได้เข้าห้องแยกของแต่ละเทคโนโลยีเฉพาะทางอีก 4 ห้อง
Android
ห้องแรกสุดเป็นเรื่อง Android ของ Mike Jennings คนเดิมที่เปิดตัว Android Phone ไปเมื่อคราวก่อน
สื่อประกอบการบรรยาย มีทั้งสไลด์และวิดีโอ
เนื้อหาที่พูดไม่มีอะไรใหม่นัก เป็นเรื่องพื้นฐานว่าทำไมกูเกิลถึงทำ Android ซึ่งคำตอบคือกูเกิลต้องการแพลตฟอร์มมือถือแบบเปิดจริงๆ ที่ทุกคนสามารถนำไปใช้ได้
- ค่ายมือถือหรือผู้ให้บริการมือถือ สามารถนำไปปรับแต่งได้ตามต้องการ แถมฟรี
- นักพัฒนาสามารถสร้างแอพพลิเคชันได้อิสระ ไม่ต้องขออนุมัติจากแอปเปิลเพื่อลง App Store และอนุญาตให้แก้ทุกส่วนของ Android เช่น ไม่ชอบใจหน้าจอโทรออกที่เป็นเลข 1-9 อยากทำหน้าปัดหมุนแทน ก็สามารถทำได้เลย
- เจ้าของเครื่องก็เล่นกับโทรศัพท์ของตัวเองได้อิสระ อยากลงอะไรก็ตามสะดวก
สถาปัตยกรรมทางเทคนิคของ Android อ่านในตอนก่อน Android Developer Challenge - โอกาสทองของเด็กไทย ท่ีเปลี่ยนไปชัดเจนจาก Android เวอร์ชันแรกๆ คือ XMPP โดนตัดออกไปด้วยเหตุผลด้านประสิทธิภาพ อย่างไรก็ตาม Jennings บอกว่าถ้าคุณอยากได้ XMPP ก็เขียนใส่เข้าไปเองได้เลย
กูเกิลบอกว่าการพัฒนาโปรแกรมบน Android นั้นทำได้ง่ายและทรงพลัง
- เขียน UI ด้วยภาษาแบบ markup (เหมือน HTML/XUL/XAML)
- ตัวแพลตฟอร์มออกแบบมาให้สร้างแอพพลิเคชันจริงๆ บนมือถือ กูเกิลใช้คำล้อแอปเปิลว่า "Not just Ajax on phone"
- สนับสนุน API และโปรโทคอลหลายชนิด เช่น JSON, GData, XML-RPC เป็นต้น
- ไม่มีระบบ certificate เหมือนกับ Symbian ที่ต้องเสียเงิน
Mike Jennings ย้ำว่าการลงโปรแกรมบน Android สามารถทำได้หลายวิธิี ไม่จำกัดเฉพาะ App Store เหมือนของ iPhone อาจจะเป็นดาวน์โหลดผ่านเบราว์เซอร์ของ Android, ส่งทาง USB หรือ SD card ก็ได้
ส่วนนำเสนอของ Jennings จบเร็วมาก ที่เหลืออีกเกือบชั่วโมงเป็นการตอบคำถาม ซึ่งคนถามแต่ละคนยิงคำถามกันโหดมาก (Jennings บอกว่าโหดที่สุดที่เคยเจอ) ผมเองก็แจมไปด้วย 2-3 คำถาม คัดเอาคำตอบมาแบบสรุปๆ
- Mike Jennings ไม่ตอบคำถามในเชิงธุรกิจทั้งหมด บอกว่าเขาไม่ได้รับอนุญาตให้พูด ทำให้ข้อสงสัยหลายอันไม่เคลียร์
- มีคนถามว่า ผู้ให้บริการมือถือมีแนวโน้มจะผูกมัดไม่ให้เจ้าของเครื่องทำโน่นนี่ ไม่เปิดจริงอย่างที่กูเกิลต้องการ แบบนี้จะทำอย่างไร Jennings ตอบว่าวิธีคิดมันต่างกัน และกูเกิลจะพยายามเปลี่ยน
- กูเกิลกำลังทำระบบ App Marketplace ตามข่าวเดิมที่ออกมา และหวังว่าคนจะมาใช้ แต่ไม่ห้ามการตั้ง App Marketplace เองของนักพัฒนา
- เบราว์เซอร์บน Android ไม่ใช่ Chrome แต่มีแนวคิดบางอย่างใกล้เคียงกัน และใช้ WebKit เหมือนกัน
- คำถามเรื่องความปลอดภัยเป็นเรื่องที่คนถามกันมาก กรณีที่มีโปรแกรมบนมือถืออาจจะโทรออกอัตโนมัติหรือถ่ายภาพเรากลับไปยังคนทำ จะป้องกันอย่างไร คำตอบคือหลังการติดตั้งโปรแกรมเสร็จ Android จะถามผู้ใช้ว่า โปรแกรมนี้ต้องการสิทธิ์อะไรบ้าง และเราสามารถเลือกอนุญาตได้
- มีคำถามต่อว่าการอนุญาตเป็นสิทธิ์ๆ ไป จะยากเกินไปสำหรับผู้ใช้ระดับทั่วไปหรือไม่ Mike Jennings ตอบไม่ได้ อารมณ์ว่าไม่ได้รู้ทั้งหมดใน Android
- นักพัฒนามีสิทธิ์แก้ไขตัวซอร์สของ Android และนำไปแจกจ่ายได้อย่างไม่จำกัด แต่ถ้าอยากใช้ชื่อ Android จะต้องผ่านกระบวนการทดสอบมาตรฐาน ซึ่งจะออกตามมาทีหลัง
- คุณ @chanwit/cblue ฝากคำถามมาทาง Twitter ว่าเวอร์ชวลแมชีน Dalvik จะเปิดซอร์สโค้ดหรือไม่ คำตอบคือ เปิดในอนาคต
- Android จะสนับสนุน pushmail
- เอา Android ไปรันบนอุปกรณ์ฝังตัวแบบอื่นที่ไม่ใช่มือถือได้หรือไม่ คำตอบคือ ทำไมจะไม่ได้ล่ะ
ปิดท้ายด้วย เจ้าหุ่น Android ของจริง
App Engine
สไดล์
วิดีโอ
session นี้เล่าถึง App Engine ในภาพรวม ไม่ค่อยมีอะไรใหม่นัก
- คำถามยอดฮิตคือภาษาอื่นๆ นอกจาก Python คำตอบคือ บอกไม่ได้
- เงื่อนไขในการใช้งาน (Service License Agreement - SLA) ของ App Engine ยังไม่มี ทำให้การนำไปใช้จริงยังเกิดยาก
- ในเร็วๆ นี้จะเปิดให้ดาวน์โหลดผลลัพธ์ทีละหลายๆ ไฟล์ (bulk download) ตอนนี้ยังมีแต่อัพโหลด
Google Visualization API
session นี้ผมนั่งอยู่ไกลมากๆ ไม่มีภาพสไลด์ มีแต่วิดีโอที่กูเกิลถ่ายไว้เอง
เชื่อว่าหลายคนคงเคยเล่น Google Chart API กันมาแล้ว อันนี้เป็นภาคต่อ Google Visualization API จะช่วยให้เราทำ visualization แบบเดียวกับ Google Finance ที่มีกราฟแสดงหุ้น หรือ gadget ใน iGoogle ได้ วิธีการแสดงผลมีหลายชนิดมาก ทั้งใช้แผนที่จาก Google Maps มาประกอบ หรือถ้าเป็นตาราง spreadsheet ก็สามารถทำ pivot table ได้ (ดูตัวอย่าง ง่ายกว่า)
ปัจจุบัน Google Visualization API ยังสนับสนุนเฉพาะข้อมูลที่อยู่ใน Google Spreadsheet
V8
เอนจินสำหรับจาวาสคริปต์ที่ร้อนแรงที่สุดในตอนนี้ คนพูดคาดว่าเป็นทีมของกูเกิลในเดนมาร์กตามข่าวของ Chrome
สไลด์
วิดีโอ
session นี้พูดถึงเหตุผลที่กูเกิลต้องพัฒนาเอนจินจาวาสคริปต์ขึ้นมาเอง ซึ่งก็คือเอนจินเดิมๆ มีปัญหาเรื่องประสิทธิภาพ ไม่เพียงพอต่อความต้องการของกูเกิล ส่วนเทคนิคที่นำมาใช้เร่งความเร็วก็เป็นเทคนิคในวงการเวอร์ชวลแมชีนและคอมไพเลอร์ (บางอันผมก็ฟังไม่เข้าใจนัก) ถ้าดูในสไลด์หรือวิดีโอ เทคนิคสำคัญคือการสร้างคลาสจำลอง (hidden class - จาวาสคริปต์ไม่มีคลาส) เพื่อเวลาที่สร้างตัวแปรลักษณะเดียวกัน จะได้ไม่ต้องจองหน่วยความจำหรือประมวลผลใหม่
- V8 จะแปลงโค้ดจาวาสคริปต์ออกมาเป็นไบนารีเลย ไม่มีภาษาคั่นระหว่างกลางแบบไบต์โค้ดหรือ CIL
- ขั้นตอนการทำงานของเอนจินจาวาสคริปต์แบ่งเป็น 2 ส่วน คือการอ่านโค้ด (parsing) กับการแปลงโค้ด (compiling) ในขั้นแรกนั้นเอนจินทุกตัวทำงานได้เร็วเท่ากัน แต่ V8 ไปเน้นการเร่งความเร็วในส่วนหลัง
- ปัจจุบัน V8 สามารถคอมไพล์โค้ดออกมาได้ 2 แบบ 2 สถาปัตยกรรม คือ x86 และ ARM (เดาได้ว่ามันลงไปอยู่ในมือถือแน่)
- V8 สำหรับแมคและลินุกซ์เสร็จแล้ว แต่ที่ Chrome ยังใช้ได้เฉพาะวินโดวส์ เป็นเพราะระบบส่วนอื่นๆ ยังไม่เสร็จ
- V8 สนับสนุน JavaScript 1.5 (ECMAScript 3) เท่ากับ SquirrelFish/JavaScriptCore ต่างกับ SpiderMonkey/TraceMonkey ที่สนับสนุน JavaScript มาถึง 1.8 แล้ว (แต่มีเฉพาะ Firefox ตัวเดียวที่สนับสนุนเวอร์ชันใหม่ๆ)
ในงานนี้ยังมีห้องอื่นที่น่าสนใจอีกมาก แต่ด้วยข้อจำกัดด้านเวลาผมเลยเลือกฟังได้แค่ 4 ห้อง ถ้าสนใจหัวข้ออื่นอย่างเช่น Google Maps, Gears, OpenSocial, Google Data API ลองดูวิดีโอได้จาก YouTube เป็นของกูเกิลถ่ายเองทั้งหมด ภาพชัดเสียงดี ตัดสไลด์ประกอบเป็นระยะ แถมมีเวอร์ชันความละเอียดสูงอีกด้วย
on

ผมว่า SLA
gudgee Mon, 22/09/2008 - 10:02
ผมว่า SLA ของ app engine เป็นเรื่องด่วนที่ต้องทำเหมือนกันนะ
ผมคุยกับห
mk Mon, 22/09/2008 - 14:37
In reply to ผมว่า SLA by gudgee
ผมคุยกับหลายๆ คนก็ได้อารมณ์ประมาณกันว่า App Engine ยังเป็นเหมือนห้องทดลองขนาดใหญ่ของกูเกิลอยู่ ยังไม่เหมาะกับการเอางานจริงไปรัน เพราะติดเงื่อนไขโน่นนี่มากมาย เช่น ขนาดไฟล์ เวลาที่รัน ไลบรารี ภาษา รวมถึง SLA แถมยังพังเป็นระยะๆ คงต้องรออีกสักพักกว่าจะนิ่ง หรือไม่อย่างนั้นก็ใช้ S3/EC2 ไปก่อน
SLA
javaboom Tue, 23/09/2008 - 12:01
In reply to ผมคุยกับห by mk
SLA เป็นเรื่องคำมั่นสัญญา เห็นด้วยครับว่า App Engine ยังเป็นห้องทดลองอยู่ ถ้าเริ่มใช้ SLA แล้วทำไม่ได้ตามสัญญาคนก็หมดความเลื่อมใส แถมโดนค่าปรับสำหรับลูกค้า Premium ด้วย ที่ผ่านมา Gmail กับ Google Apps ก็ล่มมาแล้วครับ ดังนั้น Google เลยต้องระวังในเรื่องคำมั่นสัญญา
Sivadon Chaisiri (JavaBoom)
http://javaboom.wordpress.com
อยากไปฟัง
khajochi Mon, 22/09/2008 - 11:53
อยากไปฟัง่ง คงต้องนั่งดูจาก youtube แทน
V8 กับ visual api น่าสนใจดีครับ
---
Khajochi Blog : It's not a Bug ... It's a Feature