บทความนี้เป็นสรุปรวบยอดของ 3 เหตุการณ์เกี่ยวกับ Android ในรอบสัปดาห์นี้
ผมจะทยอยเล่ารายละเอียดของ Android และปิดท้ายว่าทำไมเราควรส่งโปรแกรมเข้าแข่ง Android Developer Challenge
Android คือแพลตฟอร์มใหม่สำหรับโทรศัพท์มือถือและอุปกรณ์พกพา ซึ่งประกอบด้วยระบบปฏิบัติการ ไลบรารี เฟรมเวิร์ค และซอฟต์แวร์อื่นๆ ที่จำเป็นในการพัฒนา มันเทียบเท่ากับ Windows Moble, Palm OS, Symbian, OpenMoko และ Maemo ของโนเกีย โดยจับตลาดมือถือรุ่นใหม่ๆ ความสามารถสูงๆ (ซึ่งเกิดจากการกระตุ้นตลาดของ iPhone) โดยกลุ่มมือถือเหล่านี้จะทยอยวางตลาดในปีหน้า
ถึงจะเป็นแพลตฟอร์มใหม่ซิงๆ แต่ Android ก็ใช้องค์ประกอบที่เป็นโอเพนซอร์สหลายอย่าง เช่น Linux Kernel, SSL, OpenGL, FreeType, SQLite, WebKit และเขียนไลบรารี+เฟรมเวิร์คของตัวเองเพิ่มเติม ซึ่งทั้งหมดจะโอเพนซอร์ส (ใช้ Apache License) ลองดูภาพประกอบ
ภาษาที่ใช้พัฒนาเป็นจาวา แต่เอามาเฉพาะภาษา (Java programming language) ไม่ได้ใช้แพลตฟอร์มของซันเลย โดย Android มีรันไทม์ของตัวเองชื่อว่า Dalvik ซึ่งแทนที่เราจะคอมไพล์เป็นไบต์โค้ด ก็ใช้ฟอร์แมต Dalvik Executable (.dex) แทน การสร้าง GUI ใช้เป็นไฟล์ XML (สไตล์เดียวกับ XAML หรือ XUL)
ไลบรารีที่มีให้เรียกก็เป็นของ Android ทั้งหมด (import android.*) ไม่เกี่ยวกับ J2ME เลย อารมณ์ว่ายืม syntax ของจาวามาใช้เฉยๆ (ตัวอย่างโค้ด) แต่อย่างอื่นกูเกิลทำเองเกือบหมด
เครื่องมือพัฒนา Android ก็ไม่ใช่อื่นไกล มีปลั๊กอินสำหรับ Eclipse ตามสมัยนิยม (ชื่อ Android Development Tools - ADT) ใช้ Apache Ant สำหรับ build สำหรับส่วนของ SDK นั้นก็ให้เครื่องมือมาครบ ทั้งตัวดีบั๊กสารพัดชนิด และ emulator ของ GPhone สำหรับรันแอพพลิเคชันทดสอบ (เพราะตอนนี้ยังไม่มีเครื่องจริงๆ ให้ลองอยู่ดี)
สำหรับรายละเอียดทางเทคนิคของ Android แนะนำให้ดูวิดีโอ 3 ตอนบน YouTube ซึ่งพูดโดยวิศวกรของ Android เอง
สำหรับ SDK และรายละเอียดอื่นๆ ดูได้จากเว็บโครงการของ Android มีเนื้อหาละเอียด พวก Tutorial และ Reference ก็ขึ้นหมดแล้ว
ตอบง่ายๆ เลยว่า "กูเกิล" ครับ
ปัจจุบันนี้ด้วยอิทธิพลทั้งด้านเทคโนโลยีและการเงินของกูเกิลนั้นน่ากลัวมากอยู่แล้ว กูเกิลตัดสินใจใช้ยุทธศาสตร์การสร้างสภาวะแวดล้อม (ecosystem) ของ Gphone ขึ้นมาแทนการสร้างอุปกรณ์ Gphone ของตัวเอง ยกหน้าที่การพัฒนาฮาร์ดแวร์ให้กับพันธมิตร และหน้าที่ในการพัฒนาแอพพลิเคชันให้กับนักพัฒนาภายนอก โดยเปิด API ของตัวระบบอย่างเต็มที่ ตามโมเดลโอเพนซอร์ส
พันธมิตร 34 รายของกูเกิลรวมตัวกันชื่อ Open Handset Alliance เรามาดูกันว่ากูเกิลชวนใครมาได้บ้าง
อย่างแรกสุดคือผู้ผลิตตัวเครื่องมือถือ
จะเห็นว่ากูเกิลได้ผู้ผลิตมือถือรายใหญ่มา 3 ราย คือ Motorola (อันดับ 2) Samsung (อันดับ 3) และ LG (อันดับ 5) ขาดแต่ Nokia กับ Sony Ericsson เท่านั้น ทั้งสามรายนี้มีส่วนแบ่งตลาดปัจจุบันรวมกัน 34.8% ของตลาดโลก (ตัวเลข Q207 จาก Gartner) ก็พอสู้กับ Nokia ซึ่งมีส่วนแบ่งตลาดอยู่ 36.9%
(Nokia เป็นผู้สนับสนุนหลักของแพลตฟอร์ม Symbian แต่ก็แอบไปทำ Maemo เป็นทางเลือกไว้แล้ว ปัจจุบัน Maemo ถูกใช้ใน Internet Tablet อย่างพวก N770, N800 ซึ่งคาดว่าจะเป็นฐานสำคัญของมือถือ Nokia ในอนาคต)
ถึงแม้เราจะไม่มีอะไรการันตีว่าบริษัทเหล่านี้จะผลิตมือถือที่ใช้ Android ทั้งหมดในอนาคต แต่ด้วยชื่อชั้นขนาดนี้ ก็รับประกันว่าปีหน้าเราจะเห็นมือถือ Android ในท้องตลาด (กระแสหลัก) แน่นอน
อันดับถัดมาคือผู้ผลิตชิ้นส่วนฮาร์ดแวร์
ตามรายชื่อนี้มีพี่เบิ้มมากันหมด ดังนั้นรับประกันได้ว่า Android จะไม่มีปัญหาขาดแคลนไดรเวอร์อุปกรณ์แน่นอน
ฮาร์ดแวร์พร้อมแล้ว เรามาดูว่ามีผู้ให้บริการเครือข่ายหรือโอเปอเรเตอร์เจ้าไหนมาร่วมแจมบ้าง (ข้อมูลตัวเลขจาก Wikipedia)
รายใหญ่ที่ขาดไปก็มีแค่ Vodafone, Orange, AT&T เท่านั้น ที่น่าสังเกตคือโอเปอเรเตอร์จากญี่ปุ่นมาถึงสองราย แถมเป็นสองรายใหญ่ และรูปแบบการผลิตเครื่องมือถือในญี่ปุ่นคือโอเปอเรเตอร์เป็นคนกำหนดสเปกเครื่อง
นอกจากสามหมวดหลักแล้วก็ยังมีบริษัทซอฟต์แวร์อื่นๆ ที่พอคุ้นหน่อยก็เช่น eBay และ Wind River ตรงนี้คงไม่ต้องลงรายละเอียดนะครับ
บริษัทพวกนี้คงไม่ผลักดัน Android สุดตัวชนิดร่วมเป็นร่วมตายกับกูเกิล หลายค่ายอย่าง Motorola ก็มีแพลตฟอร์มลินุกซ์เป็นของตัวเองเอาไว้กันเหนียว แต่ด้วยชื่อชั้นของบริษัทที่ยกมา ก็น่าจะพอเป็นปัจจัยหนุนให้เรามั่นใจว่า Android จะประสบความสำเร็จได้บ้าง ที่เหลือก็ขึ้นกับฝีมือของกูเกิลแล้ว
นอกจากพันธมิตรระดับใหญ่แล้ว อีกสาเหตุหนึ่งที่ผมคิดว่า Android ได้เปรียบก็คือการเป็นแพลตฟอร์มรุ่นใหม่ที่มารอรับการเปลี่ยนยุคอีกครั้งของมือถือ (หลัง iPhone) ซึ่งมือถือรุ่นใหม่ๆ จะมีลักษณะเป็น personal internet device มากขึ้น หน้าจอใหญ่ขึ้น มีระบบอินพุตดีขึ้น ความจุมากขึ้น ฯลฯ ตรงนี้จะเหนือกว่าแพลตฟอร์มเก่าๆ อย่าง Symbian, Palm OS และ Windows Mobile (ที่พอฟัดเหวี่ยงได้ก็คือ OS X ของ iPhone ซึ่งเราก็พยากรณ์ได้ว่าแอปเปิลจะยังใช้ระบบทำเองคนเดียวต่อไปอีกนาน)
ถ้าใครอ่านมาถึงตรงนี้แล้วอยากเห็นหน้าตาของ Android ก็ดูได้จากวิดีโอ ซึ่ง Sergey Brin ลงทุนมาเป็นพรีเซนเตอร์เอง
อย่างไรก็ตาม Android เป็นแพลตฟอร์มใหม่ทั้งตัว ยังไม่มีใครเคยได้ใช้ Android เลย และมีโปรแกรมที่สร้างบน Android น้อยมาก ซึ่งตรงนี้เป็นจุดชี้เป็นชี้ตายว่าแพลตฟอร์มนั้นจะประสบความสำเร็จแค่ไหน
กูเกิลไม่สามารถใช้วิธีสร้างโทรศัพท์ที่คนต้องการเยอะๆ แบบ iPhone ได้ แต่สิ่งที่กูเกิลทำได้ก็คือเอาเงินทุ่มครับ และรอบนี้จำนวนเงินที่ทุ่มออกมาคือ 10 ล้านเหรียญ
และที่ผมเขียนมาตั้งยาวนี้ เพื่อจูงใจว่าเรามาเขียนโปรแกรมชิง 10 ล้านเหรียญกันเถอะ!!!
กูเกิลเปิดตัวการแข่งขัน Android Developer Challenge พร้อมกับการออก SDK โดยแบ่งเป็น 2 ระยะ คือ Android Developer Challenge I กับ II ในช่วงแรกที่ยังไม่มีเครื่องโทรศัพท์จริงๆ ออกมา เราจะสนใจกันแต่ Android Developer Challenge I ก่อน ส่วน II จะตามมาในครึ่งหลังของปี 2008
กติกาง่ายๆ เขียนโปรแกรมอะไรก็ได้บน Android เข้าส่งประกวด หมดเขตวันที่ 3 มีนาคม 2008 สำหรับทีมที่ดีที่สุด 50 ทีม รับไปก่อนเลย 25,000 ดอลลาร์ (เกือบ 8 แสนบาท)
จากนั้นทีมที่เข้ารอบก็เอาเงินไปพัฒนาต่อจนถึงเดือนพฤษภาคมแล้วมาตัดสินกันอีกครั้ง เงินรางวัลรอบนี้คือ 275,000 และ 100,000 ดอลลาร์ตามลำดับ (รางวัลละ 10 ทีม) คิดเป็นเงินไทยก็ 8 ล้านกับ 3 ล้าน
ผมเช็คกฎการแข่งขันแล้ว ใครๆ ก็สามารถส่งได้ ไม่จำกัดเฉพาะสหรัฐ คนไทยส่งได้แน่นอน ส่งกี่ชิ้นก็ได้ และไม่ต้องยกโปรแกรมให้กับกูเกิลด้วย นั่นแปลว่าทำมาแล้วดังก็ขายต่อได้ถ้าต้องการ
ทีนี้กลับมายังจุดเริ่มต้น ว่าทำไมเราควรเข้าแข่งขัน Android Developer Challenge
กลยุทธ์สำหรับการแข่งขัน
Applications will be evaluated on how well they use Android's capabilities to deliver a better mobile experience for users.
เรื่องข่าวคราวความเคลื่อนไหวก็ไม่ต้องเป็นห่วง Blognone จะทยอยนำมาเสนอเรื่อยๆ เมื่อมีข่าวใหญ่ควรรู้ หรือถ้าใครอยากจัดติว Android ก็มาประชาสัมพันธ์ได้เช่นกัน