Intel

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

AppUp ของอินเทลเป็นหน้าร้านขายแอพลิเคชั่นที่สร้างขึ้นมาโดยมีแนวคิดพื้นฐานว่าคอมพิวเตอร์ x86 ที่ใช้ Atom นั้นเป็นอุปกรณ์ที่ต่างไปจากพีซีปรกติ ทำให้ต้องการแอพลิเคชั่นที่ออกแบบมาเฉพาะ เช่น รองรับหน้าจอขนาดเล็ก ความละเอียดต่ำกว่าพีซี, ระวังการประมวลผลมากๆ ที่จะทำให้แบตเตอรี่หมดเร็ว, ติดตั้งได้ง่ายกว่าการลงซอฟต์แวร์ทั่วไป

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

AppUp ของอินเทลเสนอแนวทางการแก้ปัญหาเหล่านี้ โดยอินเทลจะจัดการ การกระจายซอฟต์แวร์ไปยังผู้ใช้, เก็บเงิน, บริการตรวจสอบสิทธิ์การใช้งาน, รายงานเมื่อซอฟต์แวร์มีปัญหากลับมายังผู้พัฒนา, และจัดการอัพเดตซอฟต์แวร์ไปยังผู้ใช้

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

  1. ปริมาณเน็ตบุ๊กในตลาดมีปริมาณสูงมาก และยอดขายยังเติบโตต่อเนื่อง
  2. อินเทลได้ทำความตกลงกับช่องจำหน่ายเน็ตบุ๊กทางขนาดใหญ่ๆ เช่น BestBuy เพื่อติดตั้ง AppUp ให้กับเน็ตบุ๊กทุกเครื่องที่ขายผ่านช่องทางเหล่านี้ นอกจากนี้ฝั่งผู้ผลิตเองก็ได้รับการติดต่อจากอินเทลให้ติดตั้ง AppUp จากโรงงานเพิ่มขึ้นเรื่อยๆ
  3. ปริมาณแอพลิเคชั่นยังมีจำนวนไม่มาก (หลักพัน) เรายังสามารถแทรกตัวเป็นจุดเด่นได้ง่าย
  4. อินเทลเองมีโครงการสนับสนุนต่างๆ เพื่อสนับสนุนพัฒนาแอพลิเคชั่นใน AppUp จำนวนมาก โอกาสที่จะได้รางวัลจากโครงการเหล่านั้นก็มากเป็นเงาตามตัว รวมถึงค่าสมัครช่วงนี้เองก็ฟรีทั้งหมด
  5. เนื่องจากตัว 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

  • ADP_RET_CODE ADP_Initialize / ADP_RET_CODE ADP_Close เป็นส่วนเปิดและปิดการเชื่อมต่อกับ ADP Service
  • ADP_RET_CODE ADP_IsAuthorized เป็นการขอตรวจสอบสิทธิของผู้ใช้ที่ล็อกอินอยู่ใน AppUp Center ว่ามีสิทธิใช้แอพลิเคชั่นของเราหรือไม่
  • ADP_RET_CODE ADP_IsAppAuthorized เป็นส่วนตรวจสอบสิทธิของโมดูลอื่นๆ ที่แอพลิเคชั่นของเรานำมาใช้ ส่วนนี้เป็นจุดเด่นของ AppUp ที่เราสามารถขายโมดูลโดยขอส่วนแบ่งรายได้จากแอพลิเคชั่นที่นำโมดูลของเราไปใช้ และเราสามารถขายโมดูลให้กับนักพัฒนาอื่นๆ ได้เช่นกัน
  • ADP_RET_CODE ADP_ReportCrash เป็นการส่งรายงานปัญหาไปยังหน้า Dashboard ใน AppUp แม้คอมพิวเตอร์จะไม่ได้ออนไลน์อยู่ โดยตัว ADP Service จะทำหน้าที่นำส่งข้อมูลนี้ต่อไป โดยมันจะเพิ่มข้อมูลอื่นๆ เช่น OS และเวลารายงาน อย่างไรก็ตาม หากแอพลิเคชั่นแคลชไปเองโดยไม่ได้เรียกฟังก์ชั่นนี้ก็จะไม่มีการรายงาน
  • ADP_RET_CODE ADP_ApplicationBeginEvent / ADP_RET_CODE ADP_ApplicationEndEvent เป็นการบันทึกเวลาเริ่มใช้งานแอพลิเคชั่นเพื่อเก็บเป็นสถิติการใช้งาน

จะเห็นว่าฟังก์ชั่นในช่วงแรกนี้จะยังไม่มากนัก อย่างไรก็ตาม AppUp ในตอนนี้ยังอยู่ในสถานะเบต้า และมีแนวโน้มว่ายังมีการพัฒนาไปอีกมาก และส่วนสำคัญที่สุดคงเป็นส่วนของการเช็คสิทธิการใช้งานที่จะลดกระบวนการใส่คีย์ในซอฟต์แวร์ หรือการป้องกันอื่นๆ ที่เคยเป็นเรื่องปวดหัวสำหรับนักพัฒนารายย่อย โดยหากขายผ่าน AppUp ก็ให้ ADP Service จัดการเรื่องนี้ไป

นอกจากส่วนของการให้บริการนักพัฒนาแล้ว กระบวนการรับแอพลิเคชั่นขึ้น AppUp Center นั้นจะมีการตรวจสอบว่าแอพลิเคชั่นสามารถรองรับกรณีต่างๆ เช่น ไม่สามารถติดต่อกับ ADP Service ได้ หรือแอพลิเคชั่นไม่ได้รับอนุญาตให้รันได้อย่างถูกต้องหรือไม่ โดยในตัว SDK จะมีโปรแกรมที่ชื่อว่า ATDS ที่จำลองการทำงานของ ADP service ในรูปแบบต่างๆ ให้

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

  • ตัวติดตั้งต้องเป็นไฟล์ MSI
  • ต้องติดตั้งโดยไม่ต้องถามอะไรผู้ใช้เพิ่มเติมอีก
  • ต้องได้ไฟล์ executable ไฟล์เดียว ห้ามลงครั้งเดียวแล้วมีโปรแกรมให้เลือกหลายๆ ตัวแบบแอพลิเคชั่นวินโดวส์เดิมๆ
  • อย่าใช้ argument นอกรูปแบบที่กำหนด
  • ตรวจสอบไลบรารีเพิ่มเติมที่ต้องการก่อนรันเสมอ

เงื่อนไขเหล่านี้จะต่างกันไปในแต่ละแพลตฟอร์ม เช่น 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 ให้กับนักพัฒนาในประเทศไทย

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand