"ประสบการณ์เป็นครูที่ดีที่สุด"
Ubuntu for Phone กับอนาคตที่ลำบาก
4 Jan 2013 15:10   [17073 views]

ถือเป็นข่าวใหญ่โตไม่น้อยเมื่อเมื่อคืนก่อนทางทีมพัฒนา Ubuntu ดิสโทรของ Linux ที่ได้รับความนิยมมาก ส่ง Virtual Keynote ออกมาเปิดตัว Ubuntu for phones หรือ Ubuntu ที่ถูกพัฒนามาเพื่อโทรศัพท์มือถือ ตั้งตัวเป็น OS ใหม่ที่พร้อมสู้ฟัดกับทุกเจ้าในตลาดไม่ว่าจะเป็น iOS, Android, Windows Phone, BB10, Firefox OS ฯลฯ ทำเอาคืนนั้นแทบไม่ได้หลับไม่ได้นอน นั่งศึกษาหาข้อมูลเจ้าตัวนี้ยันเกือบเช้า เพื่อหา Potential ของเจ้าตัวนี้ เลยขอมาเล่าให้ฟังละกันว่าเราเจออะไรมาบ้าง


Ubuntu for phones

ก่อนอื่นขอเล่าถึงเจ้า OS ใหม่นี้ก่อน ถึงแม้ Keynote จะยาวตั้ง 21 นาที แต่เนื้อหาจริงๆแล้วยังน้อยมาก เป็นน้ำไป 80% เพราะมันเป็นแค่การ "เตรียมเปิดตัวอย่างเป็นทางการ" ในงาน CES ที่จะถึงนี้ แต่ก็ขอพูดถึงเท่าที่ไปจับต้องมาได้ละกันนะ ก่อนอื่นก็เปิดด้วย Keynote ยาว 21 นาทีที่ว่าก่อนเลย สำหรับใครที่จะฟังเรื่องมือถือ ขอให้กดไปที่นาทีที่ 06:30


Look and Feel เดียวกับ Desktop

ใครใช้ Ubuntu อยู่ ก็คงรู้สึกทันทีว่า Look and Feel มันช่างเหมือนกับบน Desktop เสียจริงๆ ซึ่งนี่เป็น Strategy ที่ทำให้ฐานลูกค้ากลุ่มที่ใช้ Ubuntu อยู่รู้สึกว่ามันไม่ใช่สิ่งใหม่ที่ต้องเรียนรู้อย่างยากลำบาก ไม่ต้องแปลกใจเลยที่ผู้ใช้ Ubuntu ทุกคนเห็นการเปิดตัวนี้แล้วบอกว่า "อยากได้มาก" Strategy นี้ก็เหมือนกับที่ iOS และ Windows Phone ทำนั่นเอง


Gesture Gesture Gesture

OS บร้านี้เหมือน MeeGo ไม่มีผิดตรงที่ไม่ง้อปุ่มและทุกอย่างในโลกต้องใช้ Gesture ต้องเรียนรู้นิดหน่อยในการลากนิ้วมือไปมาเพื่อใช้งาน ได้แก่

- Swipe จากจอฝั่งซ้ายเพื่อเปิดส่วนของ Favorite Apps ขึ้นมา

- Swipe จากขอบจอฝั่งขวาเพื่อ Back ไปยังแอพฯก่อนหน้า

- Swipe จากขอบจอด้านบนเพื่อเปิดส่วนของ Messages ซึ่งจริงๆมันคือ Notifications นั่นแหละ เหมือนแอนดรอยด์และ iOS นั่นเอง

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

- Swipe จากขอบจอด้านล่างเป็นการเปิดเมนูสั่งงานของแอพฯนั้นๆ

- ปัดจากซ้ายไปขวาจนสุดจอ จะเปิดหน้าแอพฯที่เปิดอยู่ (ถ้าไม่สุดจะขึ้น Favorites Apps มา จะซ้ำซ้อนอะไรกันนักกันหนา)

ทำให้การใช้งานตอนแรกอาจจะมึนนิดหน่อย แต่ก็ไม่ยากมากหรอก(มั้ง)


สังเกตดูว่า Ubuntu for phones ถูกออกแบบมาให้แอพฯถูกเปิดจากด้านซ้าย และแอพฯเก่าๆจะถูกไปกองด้านขวา ทำให้ UX ของมันขัดกับคนอื่นเค้าที่ของเก่าอยู่ด้านซ้าย ของใหม่อยู่ด้านขวา ดังจะเห็นได้จาก Gesture ของการกด Back แทนที่จะปัดไปทางขวา กลับเลือกปัดไปทางซ้าย


และนี่คือวีดีโอที่สรุป Gesture และ UI คร่าวของเจ้า Ubuntu for phones แค่ 1 นาทีแต่ก็พอเห็นภาพคร่าวๆทั้งหมดแล้ว


Favorite Apps จากหน้าไหนก็ได้

หน้าตาจะคล้ายๆกับ Ubuntu บน Desktop ที่มีเมนู Favorite Apps อยู่ด้านซ้าย อันนี้สามารถ Swipe จากหน้าไหนก็ได้แม้แต่หน้า Lock Screen (ซึ่ง Mark บอกว่ามันไม่ใช่ Lock Screen มันคือ Welcome Screen ต่างหาก) มันก็จะเด้งปึ๋งงงออกมา พอเปิดแอพฯมันก็จะเด้งจากด้านซ้ายออกมานั่นเอง


Always Running

Ubuntu for phones ถูกออกแบบมาให้แอพฯทำงานเป็น Multi Tasking แอพฯที่เปิดอยู่สามารถอยู่ใน Background ตลอดเวลา แต่จนถึงตอนนี้ก็ยังไม่ทราบ Life Cycle ของมันว่าระบบมันจะฉลาดพอที่จะ Handle แอพฯจำนวนมากๆที่เปิดอยู่ได้อย่างไร ถ้าของแอนดรอยด์ มันจะเข้า State "หยุดทำงานชั่วคราว" แล้วก็อาจจะถูกฆ่าทิ้งเมื่อไหร่ก็ได้ถ้าแรมหมด แต่เหมือนของ Ubuntu for phones จะไม่ใช่อย่างงั้น ซึ่งตรงนี้เป็นประเด็นสำคัญเหมือนกัน เนื่องจากมันเกี่ยวข้องโดยตรงกับเรื่องแบต


Home Screen

Ubuntu มี Home Screen อยู่สี่หน้าให้ปัดไปปัดมาเหมือน MeeGo ได้แก่

Apps - รวมแอพฯทั้งหลายที่เปิดอยู่ ที่เปิดบ่อย และแอพฯทั้งหมด

People - รวม Contact ต่างๆจากทุกที่ ไม่ว่าจะเป็น Contact, Twitter, Facebook คอนเซ็ปต์คล้ายๆ People Hub ของ Microsoft เลย

Videos - รวมวีดีโอทั้งหลาย

Music - รวมเพลงทั้งหลาย

ซึ่งเราสามารถกดไปดูหน้ารวมได้จากการกดที่ Favorite Apps ปุ่มล่างสุด ไอคอนรูป Ubuntu อีกด้วย

จริงๆหน้า Home รวมตรงนี้มันถูกออกแบบมาเพื่อให้เข้าถึงแอพฯที่อาจจะมีจำนวนมหาศาลและเอาไปกองไว้ใน Favorite Apps ไม่พอ


Search คือ Key Feature

Ubuntu บนคอมพ์ก็เน้นเรื่องการ Search มาสักพักแล้ว จึงไม่แปลกใจที่ Ubuntu บนมือถือก็จะเน้นเรื่องการ Search แบบสุดๆเหมือนกัน โปรดสังเกตรูปด้านบนส่วนของ Home Screen ดีๆ จะเห็นว่ามุมซ้ายบนจะเขียนว่า "Search" ทุกหน้า นั่นก็เพราะเค้าอยากให้เอะอะอะไรก็ Search นั่นเอง

ซึ่งถ้ามองเป็น UX ที่จะ Search หาของในเครื่อง ส่วนตัวรู้สึกว่ามันไม่เหมาะกับมือถือ เพราะการพิมพ์มันไม่ได้ง่ายอย่างงั้น มันเป็นสิ่งที่เหมาะกับคอมพ์ที่มี Keyboard มากกว่า แต่มันอาจจะดีก็ได้ ขึ้นอยู่กับการเตรียม Content ของแพลตฟอร์มนี้ว่าจะทำออกมาได้ดีแค่ไหน


ใช้ Kernel และ Driver เดียวกับ Android

Kernel และ Driver อยู่ในสัญญาอนุญาตแบบ Open Source ทำให้ Ubuntu เลยสามารถดึงเอาทั้งสองส่วนมาจาก Android ที่พัฒนาไปไกลและสนับสนุน Hardware หลากหลายมาใช้ใน Core ของตัวเองได้ เป็น Strategy ที่ปกติของโลก Linux ไม่แปลกใจอะไร แต่เป็นเรื่องที่ดี


การพัฒนาแอพฯบน Ubuntu for phone

ประโยคที่ได้ยินจาก Mark Shuttleworth ผู้ก่อตั้ง Ubuntu แล้วรู้สึกว่าเค้าเข้าใจอะไรๆดีนะ ไม่ใช่แค่จะโฆษณาไปวันๆ คือ


On the one hand we know the way HTML5 give your wide range of apps on many devices

We also know that native app give the best experience


แล้วเค้าก็พูดชัดเจนเลยว่า HTML5 หนะมันง่าย แต่มีข้อจำกัดเยอะ ในขณะที่ Native App เข้าถึงอะไรได้ๆเยอะกว่า และประสิทธิภาพดีกว่ามาก (ถึงเค้าจะไม่พูดว่ามันยากกว่า แต่ก็สามารถแปลจาก Context ได้ตามนั้น)


สรุปแล้ว การเขียนแอพฯบน Ubuntu for phone สามารถทำได้สองวิธีคือ

1) HTML5 - ก็ HTML5 ครับ ไม่รู้จะพูดอะไร

2) Qt - อิงตามมาตรฐาน Qt 5 ทำ UI ด้วย QML บนไลบรารี่ QtQuick 2.0 ซึ่งเป็นมาตรฐานของ QML เลย ไม่ใช่ทำเป็นไลบรารี่พิเศษอย่าง Cascade ของ BB10 แต่เนื่องจาก Qt ถูกออกแบบมากลางๆ QtQuick 2.0 ก็ยังขาด Component ที่จำเป็นต่อการเขียนโปรแกรมบนแพลตฟอร์มเฉพาะ (ยกตัวอย่างเช่น Popup) จึงมีไลบรารี่เพิ่มเติมให้มาปวดหัวอีกเช่นเคย อยู่ใน Package Ubuntu.Components


แต่ดูแล้ว เหมือน Mark จะเน้น HTML5 มากกว่าอยู่ดี ตามสภาพการณ์ของความง่าย ซึ่งน่าสังเกตว่าทุก OS ที่เน้นมาทางนี้ จะถึงจุดจบในไม่ช้าทุกตัวไป แค่ตัวนี้ดีกว่าหน่อยที่ไม่สปอยล์แล้วบอกว่า HTML5 คือทุกอย่าง หากแต่มีทางเลือกให้อย่างชัดเจน


Qt บน Ubuntu กับ Cross Platform?

เจาะลงเรื่อง Qt สักนิดนึง อย่างที่บอก มันถูกออกแบบมาให้เขียนด้วย Qt5 โดยใช้ QML ในการทำ UI บนมาตรฐาน QtQuick 2.0 พร้อมกับความสามารถมาตรฐานของ Qt ครบถ้วนไม่ว่าจะเป็นการเชื่อมต่อกับส่วนของภาษา C และการเขียน Script ด้วย JavaScript ดังนั้นหากคุณมีแอพฯที่เขียนด้วย QtQuick 2.0 แล้วหละก็ คุณสามารถ Port มาได้ตรงๆเลย แต่ถ้าคุณต้องการใช้ Component เฉพาะที่เหมาะสมกับการเขียนโปรแกรมบน Ubuntu แล้วหละก็ คุณต้องใช้ Component พิเศษในแพคเกจ Ubuntu.Components เอามาเขียน ซึ่งนี่อาจจะต้องเป็นการบ้านของคนที่ Port แอพฯมาลง


ในแง่ของ Cross Platform อย่างที่หลายๆคนคงทราบกันดีว่า Qt เป็น Cross Platform Language ที่ทรงพลังมาก เพราะมันทำงานแบบ Native ไม่ใช่เหมือนพวก PhoneGap ที่พึ่ง HTML5 สำหรับ Qt บน Ubuntu นี้ต้องชื่นชมที่เค้าเลือกจะทำบน Standard ของ QtQuick มันทำให้นักพัฒนาทำงานง่ายขึ้นมาก สามารถเอาโค้ดเดียวกันนี้ไปรันบนแพลตฟอร์มอื่นๆได้เลย เช่น Jolla แต่พวกที่แปลกแยกออกไปอย่าง BB10 ก็จะใช้งานไม่ได้


อย่างไรก็ตาม อุปสรรคแรกของการ Port คือ UI ที่ต่างกันโดยลิบลับของมือถือและ Desktop คุณอาจจะทำ Core ของแอพฯด้านหลังเหมือนกันได้ก็จริง แต่ส่วนของ UI คุณต้องทำใหม่หมด และนี่คือโจทย์ที่ยากลำบากที่สุดในการทำแอพฯให้สนับสนุนทั้งมือถือและ Desktop ครับ


All in One

การเปิดตัว Ubuntu for phones นี้จริงๆแล้วอาจจะดูเหมือนตัว Phone เป็นพระเอก แต่ Concept ที่นาย Mark ออกมา Present นั้นจริงๆมันคือการทำ Converged Device หรือการรวมทุก Device เข้าด้วยกันกลายเป็น OS เดียว ทั้ง Desktop, TV, มือถือ และ Tablet ซึ่งมันดีตรงที่ Manage ง่ายขึ้น แต่มันก็นำมาซึ่งปัญหา Fragmentation ที่ทุกคนเข็ดขยาดกันอีกด้วย


การดีลกับ Fragmentation

Fragmentation ที่เกิดบน Ubuntu ตอนนี้มีอยู่สองแง่ได้แก่

Software - การที่ Canonical เลือกจะทำ Converged Device สิ่งที่ต้องเตรียมรับมือคือการที่ต้องเขียนโปรแกรมให้สนับสนุนหน้าจอต่างๆ หากคุณคิดจะทำแอพฯคุณต้องแบ่ง MVC Layer ให้ดี แบ่งฝ่าย Business Layer และ Presentation Layer ให้ขาดออกจากกัน มิฉะนั้นคุณจะทำให้มันสนับสนุนทุกหน้าจอไม่ได้เลย เพราะอันนี้มันไม่ใช่ Fragmentation แบบเดียวกับที่แอนดรอยด์เจอบนมือถือ หากแต่มันคือการ "ข้ามประเภทของอุปกรณ์เป้าหมาย" เลย จะเหมือนกับว่าถ้าจะทำแอพฯให้ iPhone และ iPad ต้องออกแบบใหม่นั่นแหละ

Hardware - Mark ออกมาพูดชัดเจนว่า Ubuntu for phone จะสนับสนุนทั้ง ARM และ x86 หากใครจะทำแอพฯบนนี้ก็คงต้องคำนึงว่าโค้ดของคุณต้องคอมไพล์ลงทั้งสอง Architecture อย่าได้ลงไปลึกระดับ Architecture Specific เป็นอันขาด ไม่งั้นจะเสียโอกาสมากมาย แต่อันนี้ไม่ค่อยน่ากังวลเพราะโดยทั่วไปคนจะไม่ลงไประดับนั้นอยู่แล้ว อีกทั้ง Qt ยังสามารถคอมไพล์ให้ลงทั้ง ARM และ x86 ได้อย่างปกติสุข จึงคิดว่า Hardware ไม่น่าจะใช่ปัญหาเท่าไหร่


เท่าที่ดูตอนนี้ Software Fragmentation น่าจะสร้างปัญหาให้แพลตฟอร์มนี้พอสมควร สิ่งที่ต้องรอดูคือทีม Canonical จะออกมาให้ความรู้เรื่องการแก้ปัญหาตรงนี้อย่างไร หากวันเปิดตัวก็มี Guideline มาแล้ว มันก็จะไม่ใช่ปัญหาเท่าไหร่นัก เท่าที่ศึกษามาตอนนี้เหมือน Canonical จะเตรียมไว้เรียบร้อยแล้วด้วย ด้วยการเปิดหน่วยขึ้นมาอีกหน่วยเป็น gu ไม่ใช่กู แต่เป็น Grid Unit ที่จะสเกล Component ต่างๆไปตามรูปแบบของเครื่อง

Laptop: 1gu = 8px

Laptop จอ Retina: 1gu = 16px

Smart phones: 1gu = 18px

เรื่องฟอนต์ก็มีเตรียมไว้ให้เป็น 5 ขนาด

และแน่นอน หน่วย gu และ Font Size เหล่านี้ เป็นสิ่งที่ถูกสร้างขึ้นมาใน Ubuntu เท่านั้น ไม่ใช่มาตรฐาน QtQuick จึงขอให้ใช้อย่างระวังและรอบคอบ [อ้างอิง]


การพยายามปั้น Ubuntu One เข้าสู่มือถือ

Ubuntu One หรือระบบ Cloud Storage คล้ายๆ Dropbox ที่ Ubuntu สร้างขึ้นมา แต่เหมือนได้รับความนิยมเพียงกลุ่มเล็กๆ แต่ด้วยการที่ Ubuntu กำลังจะถูกผลักมาลงมือถือ Ubuntu One จึงเป็นอีกจุดที่ถูกผลักให้ผู้ใช้ทุกคนได้ใช้กัน เพื่อแชร์ข้อมูลระหว่างอุปกรณ์ต่างๆ โดยเบื้องต้นจะมีเนื้อที่ให้ใช้ฟรี 5GB ซึ่งถือว่าเยอะนะ


อันนี้เป็นการขายพ่วงเล็ก เพราะถ้า Ubuntu for phones เกิด Ubuntu One ก็จะเกิดไปด้วย


Ecosystem กับสิ่งที่ต้องพิสูจน์

ระบบ Store ของ Ubuntu ก็มีพร้อมอยู่แล้ว นามว่า Ubuntu Software Centre เป็น App Store ที่ก่อนหน้านี้มีไว้แจกจ่ายแอพฯสำหรับ Desktop และต่อจากนี้มันจะมีไว้แจกจ่ายแอพฯสำหรับมือถือด้วย !

Ecosystem นี้จะเป็นหนึ่งในปัจจัยหลักที่ตัดสินชะตาของเจ้า OS ตัวนี้ เพราะถามว่า OS จะเกิดได้ต้องมีใครเป็นหลัก? ผู้ใช้หรอ เปล่าครับ ต้องมีผู้ผลิตต่างหาก หากลองมองดู iOS, Android, Windows Phone และ BB10 จะพบว่ามันมีเหตุผลในการเกิดของมันอยู่คือ ผู้ผลิตล้วนมีเหตุผลต้องใช้มัน

iOS ต้องใช้เพราะ Apple ผลิต OS เอง สร้าง Hardware เอง

Android ต้องใช้เพราะ Ecosystem มันดี และผู้ผลิตสามารถ Customize ทุกอย่างได้เอง

Windows Phone ต้องใช้เพราะโนเกียไม่มีทางออกอื่นแล้ว

BB10 ต้องใช้เพราะ RIM ไม่มีทางออกอื่นแล้ว


แล้วเหตุผลสำหรับผู้ผลิตที่จะเลือกใช้ Ubuntu for phones คืออะไรเล่า? ผู้ผลิตจะได้อะไรจากการเอา OS ตัวนี้ไปผลิต? แน่นอน ต้องคาดหวังการขายดิบขายดี แล้วจะขายดีได้ยังไงถ้า Ecosystem ยังทำออกมาไม่สำเร็จ


นี่คือสิ่งที่ Ubuntu ต้องพิสูจน์ออกมาให้เห็นภายใน 1 ปี มิฉะนั้นถึงจะมีผู้ผลิตเอาไปใช้ ก็จะถอยหลังกลับไปเหมือนเดิมอยู่ดี


เหตุผลที่ Ubuntu อยู่รอดจนถึงทุกวันนี้ เอามาใช้กับมือถือไม่ได้

ถามว่าทำไม Ubuntu ถึงอยู่รอดจนถึงทุกวันนี้ เพราะถ้าพูดถึงคอมพิวเตอร์แล้ว มันถูกขายมาเพื่อให้ลง OS เองได้ ดังนั้น Ubuntu for Desktop จึงไม่ต้องง้อผู้ผลิตและก็เกิดได้อย่างทุกวันนี้ แต่สำหรับมือถือแล้ว มันยังไม่ถึงวันที่ผู้ผลิตจะขายเครื่องเปล่าแล้วให้ลง OS เอง ไม่งั้นเงื่อนไขเรื่องประกันคงยาวขึ้นอีก 10 หน้า ดังนั้นการที่ Ubuntu for Desktop ได้ดี ไม่ได้แปลว่า Ubuntu for Phone จะได้ดีครับ


Ubuntu for phone จะไปอยู่ที่ไหน

สิ่งที่ผมเห็นด้วยคือ เจ้า OS นี้แม่มโคดน่าใช้เลยหวะ แต่จากประสบการณ์ที่ผ่านมาตลอดเกือบสิบปี OS ที่ดีและน่าใช้ไม่ได้เป็น OS ที่ประสบความสำเร็จเสมอไป เพราะหากมันทำกำไรไม่ได้ ก็จะไม่มีใครเอาไปใช้จริง และบอกตามตรง หลังจากศึกษาข้อมูลมาเยอะแล้ว ยังหาเหตุผลดีๆที่ผู้ผลิตจะเอา OS นี้ไปใช้ไม่ได้ หากคิดว่ามันคือทางออกสำหรับผู้ผลิตที่จะเบือนหน้าหนีแอนดรอยด์แล้วหละก็ มันไม่ใช่ เพราะการ Fork แอนดรอยด์ออกมาจะตอบโจทย์มากกว่า เพราะมีแอพฯอยู่เป็นแสนตัวที่พร้อมจะทำงานบน Platform ใหม่ ผมจึงสรุปความคิดของตัวเองตอนนี้ได้ว่า "อนาคตลำบาก" แล้วหละสำหรับ Platform ตัวนี้ แต่จริงๆมันก็เร็วเกินไปที่จะสรุปนะ ยังไม่เปิดตัวเลย แค่ยังมองเห็นช่องทางแบบใสๆไม่เจอ


ที่เห็นลางๆคือช่วงแรก Ubuntu for phones จะถูกแฮคไปลง Hardware โน่นนี่ ยกตัวอย่างเช่นมือถือแอนดรอยด์ เพื่อ "เล่น" แต่ก็ไม่เกิน 1 ใน 100,000 เครื่องหรอกที่จะทำแบบนั้น แล้วก็อีกทางคือเอาไปลงบอร์ดต่างๆเช่น Rasberry Pi เพื่อทำงานด้าน Hardware แต่ยังไม่เห็นช่องทางที่มันจะมาโลดแล่นอยู่บนมือถืออย่างเต็มตัว


ทางออกที่ Ubuntu อาจจะต้องดิ้นรนทำคือ ต้องทำมือถือของตัวเองออกวางขายพร้อม Ecosystem พร้อมสรรพแบบเดียวกับที่ Amazon ทำ แต่ที่ต่างกันคือ Amazon เหมือนจะมีความพร้อมด้าน Ecosystem มากกว่ามาก Ubuntu ต้องรีบเร่งทำตรงนี้ให้ไว เพราะถ้าทำดีๆมันอาจจะเป็น OS ที่ประสบความสำเร็จมากอีกตัวหนึ่งก็เป็นได้ แต่จะ Success แบบกว้างๆเหมือนแอนดรอยด์คงไม่ได้ คิดว่าเป็นได้อย่างมากก็แค่แบบที่ Amazon เป็นอยู่ตอนนี้ครับ นั่นคือจุดสูงสุดของมันที่เนยคิดว่ามันไปถึงได้


ยังไงรอมันเปิดตัวที่งาน CES อีกทีละกันครับว่า Canonical จะมีทีเด็ดอะไรให้เราว้าวกันอีก ไม่แน่ มันอาจจะมีอะไรเจ๋งๆที่เรายังไม่รู้อีกก็ได้


ข้อมูลเพิ่มเติม Ubuntu

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

Apr 24, 2013, 19:41
7314 views
ประสบการณ์พัฒนาแอพฯบน Windows Phone ภาคปฏิบัติ
Mar 13, 2013, 01:25
15659 views
ประตูรถไฟฟ้าเปิดกลางราง เคสตัวอย่าง User & Engineer
0 Comment(s)
Loading