ต่อจากการรีวิว AppUp ซึ่งเป็นตลาดกลางขายแอพลิเคชั่นจากอินเทลในบทความที่แล้ว เราได้รู้จักกับ AppUp ในฝั่งของผู้ใช้กันไปแล้ว ว่าจะสามารถซื้อหรือดาวน์โหลดแอพลิเคชั่นฟรีได้อย่างไรบ้าง ในตอนนี้ผมจะมาแนะนำ AppUp จากมุมมองของนักพัฒนากันบ้าง โดยบทความนี้ยังไม่ลงโค้ด หรือแนะนำการพัฒนาแต่เป็นการแนะนำสถาปัตยกรรมกันก่อน แล้วค่อยมีบทความแนะนำการลงมือโค้ดกันในบทความต่อๆ ไป
AppUp ของอินเทลเป็นหน้าร้านขายแอพลิเคชั่นที่สร้างขึ้นมาโดยมีแนวคิดพื้นฐานว่าคอมพิวเตอร์ x86 ที่ใช้ Atom นั้นเป็นอุปกรณ์ที่ต่างไปจากพีซีปรกติ ทำให้ต้องการแอพลิเคชั่นที่ออกแบบมาเฉพาะ เช่น รองรับหน้าจอขนาดเล็ก ความละเอียดต่ำกว่าพีซี, ระวังการประมวลผลมากๆ ที่จะทำให้แบตเตอรี่หมดเร็ว, ติดตั้งได้ง่ายกว่าการลงซอฟต์แวร์ทั่วไป
ซอฟต์แวร์ตามแนวทางนี้มีแนวโน้มว่าจะทำให้การออกแบบกลายเป็นการออกแบบซอฟต์แวร์ที่ง่ายๆ มีฟังก์ชั่นการทำงานเฉพาะ และเช่นเดียวกับซอฟต์แวร์ในโทรศัพท์มือถือที่ราคามักจะไม่สูงนัก การขายแบบใส่กล่องตามร้านจึงกลายเป็นเรื่องยากสำหรับการขายซอฟต์แวร์ในกลุ่มนี้ อีกทั้งการวางขายออนไลน์ก็จะมีต้นทุนเรื่องการเก็บเงิน และการป้องกันการละเมิดลิขสิทธิ์อีกมาก
AppUp ของอินเทลเสนอแนวทางการแก้ปัญหาเหล่านี้ โดยอินเทลจะจัดการ การกระจายซอฟต์แวร์ไปยังผู้ใช้, เก็บเงิน, บริการตรวจสอบสิทธิ์การใช้งาน, รายงานเมื่อซอฟต์แวร์มีปัญหากลับมายังผู้พัฒนา, และจัดการอัพเดตซอฟต์แวร์ไปยังผู้ใช้
คำถามแรกๆ ที่นักพัฒนาหลายคนถามกัน คือทำไมเราจึงควรสนใจ AppUp ที่เข้ามาทีหลังและตัวตลาดยังไม่เติบโตเต็มที่นัก ผมเองก็เคยคุยกับทางอินเทลในประเด็นนี้และได้คำตอบมาดังนี้
อินเทลเข้ามาเป็นตัวกลางให้กับนักพัฒนาและผู้ใช้ทั่วไป ผ่านทาง AppUp Center ที่เชื่อมผู้ใช้เข้ากับอินเทล ส่วนในฟากนักพัฒนานั้นก็มี AppUp SDK ที่เป็นไลบราลีที่นักพัฒนาต้องรวมเข้าไปเป็นส่วนหนึ่งของแอพลิเคชั่นที่จะวางตลาด และ AppUp Dashboard ในเว็บของอินเทลที่ช่วยเก็บสถิติการใช้งาน และรายงานปัญหาเมื่อซอฟต์แวร์ของเราไปแคลชในเครื่องของผู้ใช้
ความสามารถเหล่านี้อินเทลทำผ่านทาง service ตัวหนึ่งที่ติดตั้งไปพร้อมๆ กับ AppUp Center นั่นคือ ADP Service ที่จะทำหน้าที่หลักเป็น licensing service แบบเดียวกับที่เคยมีในซอฟต์แวร์ราคาแพงมากๆ ก่อนหน้านี้ ตัว SDK ที่อินเทลให้เรามาจริงๆ แล้วก็คือไลบรารีที่ทำหน้าที่เชื่อมต่อกับ ADP Service นั่นเอง
ตัว SDK นี้จะมาในรูปแบบของ C/C++ lib ให้เราไปลิงก์เข้ากับแอพลิเคชั่น ส่วนไลบราลีนี้คุยกับ ADP Service อย่างไรจะไม่เปิดเผย และต่างกันออกไปในแต่ละระบบปฎิบัติการ แต่ฟังก์ชั่นจะแบ่งออกเป็นสี่กลุ่มคือ เปิด/ปิด การเชื่อมต่อกับ ADP Service, ขอตรวจสอบสิทธิ์การใช้งาน, บันทึกเวลาเริ่มใช้งาน, และรายงานเพิ่มเติมเมื่อแอพลิเคชั่นแคลช ผมยกตัวอย่างชื่อฟังก์ชั่นในส่วน ภาษา C จากไฟล์ adpcore.h ในตัว SDK
จะเห็นว่าฟังก์ชั่นในช่วงแรกนี้จะยังไม่มากนัก อย่างไรก็ตาม AppUp ในตอนนี้ยังอยู่ในสถานะเบต้า และมีแนวโน้มว่ายังมีการพัฒนาไปอีกมาก และส่วนสำคัญที่สุดคงเป็นส่วนของการเช็คสิทธิการใช้งานที่จะลดกระบวนการใส่คีย์ในซอฟต์แวร์ หรือการป้องกันอื่นๆ ที่เคยเป็นเรื่องปวดหัวสำหรับนักพัฒนารายย่อย โดยหากขายผ่าน AppUp ก็ให้ ADP Service จัดการเรื่องนี้ไป
นอกจากส่วนของการให้บริการนักพัฒนาแล้ว กระบวนการรับแอพลิเคชั่นขึ้น AppUp Center นั้นจะมีการตรวจสอบว่าแอพลิเคชั่นสามารถรองรับกรณีต่างๆ เช่น ไม่สามารถติดต่อกับ ADP Service ได้ หรือแอพลิเคชั่นไม่ได้รับอนุญาตให้รันได้อย่างถูกต้องหรือไม่ โดยในตัว SDK จะมีโปรแกรมที่ชื่อว่า ATDS ที่จำลองการทำงานของ ADP service ในรูปแบบต่างๆ ให้
นอกจากในส่วนของการใช้ SDK อย่างถูกต้องตามข้อกำหนดแล้ว AppUp ยังระบุว่าการแพ็คซอฟต์แวร์จะต้องเป็นไปตามข้อกำหนด โดยในส่วนนี้จะต่างกันไปตามแพลตฟอร์ม ในส่วนนี้ควรตรวจสอบเอกสาร Validation Process ล่วงหน้าก่อนส่งแอพลิเคชั่นขึ้นหน้าเว็บ เช่นกรณีของวินโดวส์จะมีเงื่อนไขการแพ็คซอฟต์แวร์ดังนี้
เงื่อนไขเหล่านี้จะต่างกันไปในแต่ละแพลตฟอร์ม เช่น Adobe AIR นั้นง่ายมากคือส่งไฟล์ .AIR ไปยัง AppUp ได้เลย แต่มีเงื่อนไขว่า .AIR นั้นต้องได้รับการ sign จาก CA ที่ทาง Adobe เชื่อถือคือ Thatwe, Verisign, GlobalSign, และ ChosenSecurity ซึ่งส่วนนี้จะมีค่าใช้จ่ายค่อนข้างแพง (ต่ำสุด 199 ดอลลาร์ต่อปี) ข้อจำกัดของ AIR นั้นเกิดขึ้นเพราะเป็นเงื่อนไขของทาง Adobe เอง
ส่วนระบบปฎิบัติการอื่นๆ ที่ AppUp จะรองรับในอนาคตนั้น จะมีกระบวนการแพ็คต่างกันไป บางรุ่นต้องการ .deb บางรุ่นต้องการ .rpm ถ้าใครอยากศึกษาเผื่ออนาคตว่าจะขายแอพลิเคชั่นบน MeeGo แล้วก็ได้เวลาศึกษากระบวนการของโอเพนซอร์สกันไว้บ้าง
ถึงตอนนี้ที่เหลือคงเป็นเรื่องของการลองลงมือเขียนโปรแกรมสักตัว แล้วลองส่งโปรแกรมเข้าไปตรวจสอบและแจกจ่ายกันแล้ว ถ้าใครเริ่มพัฒนาหรือลองส่งแอพลิเคชั่นเข้าไปแล้วก็มาเล่าให้ฟังกันด้วยครับ
ที่มาภาพ - สไลด์งาน OSCON 2010 หัวข้อ “Introduction to Developing MeeGo Applications and Taking Advantage of the Intel Atom Developer Program & Intel’s AppUp Center”
ข่าวและบทความหมวด - Intel AppUp Center ได้รับการสนับสนุนจากอินเทล เพื่อประชาสัมพันธ์โครงการ Intel Atom Developer Program ให้กับนักพัฒนาในประเทศไทย