"ความสำเร็จเป็นผลของการผสมผสานกันอย่างลงตัวของโชคและฝีมือ"
รำลึกความหลัง 7 ปีที่แล้วกับจุดเริ่มต้นของชีวิตสู่โลก "แอนดรอยด์"
17 Apr 2015 14:36   [5473 views]

จดบันทึกความหลังที่สารภาพว่า "ลืมไปแล้ว" กับประตูบานแรกสู่โลกแอนดรอยด์ที่ตอนนี้กลายเป็นส่วนสำคัญในชีวิตประจำวันของเราไปเรียบร้อย พอนึกได้ก็เลยรีบไปค้นข้อมูลเก่าๆที่เคยทำไว้แล้วก็รู้สึกว่า ... แก่แล้วเหมือนกันนะเรา 555

เลยแอบเอามาจดบันทึกไว้ลงบล็อก ณ ที่นี้ ... =)

มือถือแอนดรอยด์เครื่องแรก

Android รุ่นแรกที่โลกวางขายมีชื่อว่า T-Mobile G1 วางขายตอนปลายปี 2008 และนึกมาตลอดว่ามันเป็นมือถือแอนดรอยด์รุ่นแรกที่เรามีโอกาสได้เล่น ซึ่งเป็นจุดเริ่มต้นของเว็บ DroidSans (ที่จะกล่าวถึงต่อไป)

_MG_0290

แต่เพิ่งระลึกได้เมื่อเช้านี้เองว่า Android รุ่นแรกที่เราเล่นไม่ใช่ T-Mobile G1 แต่มันมีชื่อว่า Nokia N810 เล่นตอนเดือนพฤษภาคม 2008 ก่อน G1 วางขายสี่เดือน ...

N810Androidm5

เรื่องของเรื่องคือตอนนั้น Android เป็นมือถือ Open Source ตัวแรกๆ และยังเป็นเลขเวอร์ชั่นก่อนจะเป็น Cupcake อยู่เลย รหัสเวอร์ชั่นว่า m3 และ m5

ซึ่งตอนนั้นเป็นช่วงที่ยังไม่มีมือถือออกมาสักเครื่อง รุ่นเดียวที่คนในกูเกิ้ลถือคือมือถือที่ลอกมาจาก BlackBerry ตัวนี้

google-android-prototype-487x500

ผู้คนเลยดั้นด้นพยายามจัดแจงแฮค Android ลงมือถือเพื่อเล่นกัน และเราก็เป็นหนึ่งในนั้น เข้าร่วมทีมพัฒนา Android สำหรับ Nokia N810 ซึ่งเป็นมือถือฮาร์ดแวร์ระดับท็อปของตอนนั้น (ลืมไปแล้วนะเนี่ย จำไม่ได้แล้วด้วยว่า Repository อยู่ไหน)

AndroidN810Team

สุดท้ายหลังจากพยายามแฮคโน่นแฮคนี่กันสักพักก็ทำให้ Android รันบน N810 ได้อย่างราบรื่น ฟังก์ชั่นต่างๆทำงานได้เกือบครบรวมถึงทัชสกรีน สามารถ Dual Boot ใช้ได้ทั้ง Maemo และ Android

หลังจากนั้นก็แอบยัดภาษาไทยเข้าไปเล่นๆ

403_1

เป็นอันเสร็จพิธี แต่ก็อย่างที่เห็น มันยังเป็นแอนดรอยด์รุ่นแรกๆ แรกมากๆ คนต่างๆอาจจะไม่เคยเห็นหน้าตาแบบนี้ด้วยซ้ำ เรื่องการใช้งานจริงก็เลยตัดทิ้งไปได้ แค่แฮคเพื่อลองเล่นกันเฉยๆ แต่ก็แหละ นี่ถือเป็นมือถือแอนดรอยด์รุ่นแรกของเรา เริ่มต้นก้าวแรกด้วยการแก้ Kernel แล้วคอมไพล์มาลงมือถือจริง และตอนนั้นยังเขียนโปรแกรมบนแอนดรอยด์แทบไม่เป็น แหะๆ

T-Mobile G1 กับจุดกำเนิดของโปรเจค DroidSans

หลังจากนั้นไม่กี่เดือนก็มีโอกาสสอย T-Mobile G1 มา ซึ่งวันนั้น Android 1.0 ออกแล้ว หน้าตาเปลี่ยนจากลอก BlackBerry เป็นลอก iPhone แทน

androidsdk1.0rc2released

และด้วยความหงุดหงิดเรื่องไม่มีฟอนต์ภาษาไทย ทีม DroidSans รุ่นแรกซึ่งเป็นโปรแกรมเมอร์ล้วนๆก็เลยตั้งเว็บ DroidSans มาเพื่อจุดประสงค์ "ทำฟอนต์ไทยกันเถอะ" (เป็นที่มาของชื่อเว็บ DroidSans มันเป็นชื่อฟอนต์ของแอนดรอยด์ยุคแรกนั่นเอง)

ก็จัดแจงทำฟอนต์ภาษาไทยกันใหญ่โตด้วยการช่วยกันคัดลอกแล้วส่งมารวมกัน เรียกว่าโปรเจคใหญ่มาก ณ ตอนนั้น หลังจากนั้นก็ลองยัดลงในรอมดูก็พบว่ามีปัญหาสระลอยอะไรต่างๆมากมาย รวมถึงมีปัญหาเรื่องตัดคำภาษาไทยด้วย สุดท้ายเลยไม่ได้หยุดแค่ทำฟอนต์ ต้องแก้รอมและเพิ่มระบบตัดคำภาษาไทยและระบบแก้สระลอยเข้าไปด้วย

3015085809_2fd1099d45

Mission ของการแก้ไข Source ของรอมจึงสำเร็จไป แต่พอพยายามเอาฟอนต์และ Source Code ขึ้น Repo ของแอนดรอยด์ ก็พบว่าทีมแอนดรอยด์ตอนนั้นกังวลว่าส่วนที่เราเพิ่มเข้าไปจะทำให้ระบบโดยรวมช้าลง (เพราะไป Hook ส่วนของการวาดตัวอักษร) ซึ่งตอนนั้น CPU ทุก Clock สำคัญมาก ไม่ได้เร็วเหมือนทุกวันนี้ สุดท้ายทีมแอนดรอยด์ก็เลยตัดสินใจไม่ยอม Merge รวม ... น่าเศร้านัก เลยทำได้แค่แจกไฟล์ so ที่แก้ไขแล้วให้กับ Community เอาไปใช้กันเอง

ระบบแสดงผลเสร็จแล้ว ก็เลยแอบเพิ่มระบบสลับภาษาสำหรับพิมพ์เข้าไปเพิ่มด้วยใน Core ของแอนดรอยด์รุ่นแรกๆ (ก่อนที่ระบบ IME จะมีเข้ามาใน Android รุ่นถัดๆไป)

3015085805_07c4c658ca

ซึ่งแน่นอน ... เผอิญเค้ามีแพลนสำหรับ IME ของเค้าเองอยู่แล้ว Source Code ส่วนที่เพิ่มจึงถูกปัดตกไปอีกเช่นกัน ...

หลังจากนั้น Mission ส่วนของการทำให้ Android สนับสนุนภาษาไทยก็เป็นอันเสร็จ Modify แอนดรอยด์ตัวหลักไม่ได้ก็อาศัยแจกฟอนต์และไป Work กับ Manufacturer ให้ฝังฟอนต์ไทยเข้าไปแทน ซึ่งก็ได้ผลลัพธ์ออกมาดีทีเดียว ก่อนที่สุดท้ายแอนดรอยด์จะมีฟอนต์ไทยในระบบอย่างเป็นทางการเป็นปีๆหลังจากนั้น

ส่วน DroidSans ก็เปลี่ยนเป็นเว็บข่าวสารเกี่ยวกับแอนดรอยด์ไป

แฮค T-Mobile G1 เล่นกระจุยกระจาย

T-Mobile G1 ที่ได้มาตอนแรกนี่เรียกว่าทำเห้อะไรแทบไม่ได้เลย ตามประสาโปรแกรมเมอร์อ่าเนอะ ก็เลยแฮคโน่นนี่ไปหลายอย่างเหมือนกัน อย่างเช่นทำให้มันหมุนจอได้ (แต่ก่อนหมุนไม่ได้นะ)

แก้ไข Boot Screen

และสุดท้ายก็เกิดมาเป็นแอพฯ DroidSans Tweak Tools ในที่สุดเพื่อให้คนโหลดไป Modify มือถือของตัวเองได้ ไม่ว่าจะเป็นการเปิด/ปิด Auto Rotate จนไปถึงเปิด/ปิด Transition/Animation (ซึ่งแอนดรอยด์ซ่อนไว้ในตอนนั้น) และแฮคแอบเปลี่ยนรหัสประเทศเพื่อหลอกระบบว่าเปิดจากเมกาเป็นต้น

droidsanstweaktoolslite01

จากนั้นแอนดรอยด์ก็ค่อยๆพัฒนาขึ้น ความจำเป็นในการแฮคระบบจึงค่อยๆหายไป และสุดท้ายก็เลิกพัฒนางานเรื่องแฮคระบบไปในที่สุดและย้ายมาทำแอพฯบนแอนดรอยด์อย่างเต็มตัวแทน =)

และเนื่องจากติดตามแอนดรอยด์มาตั้งแต่รุ่นก่อนจะมาเป็น Cupcake เลย ก็เลยเห็นความเป็นมาตลอดทาง ... เคยสงสัยมั้ยว่าทำไมแอนดรอยด์ถึงออกแบบให้มีปุ่ม Menu + Home + Back แบบนี้? ก่อนที่จะถูกเอาออกไปตอน Android 4.4 เป็นต้นมา

11036039_10205789429111107_6283569460512004617_o

มันมีเหตุผลอยู่นะ ลองเดาๆกันดูว่าทำไม เดี๋ยวบล็อกหน้าจะมาเล่าให้ฟังครับว่าทำไม =)

จบละกับ Blog ระลึกความหลัง ... แก่แล้วสินะเรา ToT

บทความที่เกี่ยวข้อง

Mar 19, 2015, 00:11
4955 views
Google Play ใช้คนร่วมตรวจแอพฯก่อนขึ้น Store แอพฯจะคุณภาพดีขึ้นหรือไม่? เปลี่ยนไปหรือเหมือนเดิม?
Dec 13, 2014, 14:48
10641 views
[Tips] วิธีง่ายๆในการเพิ่มความเร็วการ Build แอพฯบน Android Studio
0 Comment(s)
Loading