งาน WWDC ของแอปเปิลในครั้งนี้ สำหรับนักพัฒนาโปรแกรมแล้ว สิ่งที่น่าสนใจมากไปกว่า OS X Lion หรือแม้แต่ iOS 5 ก็คือการเปิดตัว iCloud โดยเฉพาะนาทีที่สตีฟ จ็อบส์ประกาศว่าจะเปิด API สำหรับบริการ iCloud ให้กับนักพัฒนาโปรแกรมได้ใช้งานด้วย
มีเหตุผลอะไรที่แอปเปิลต้องสร้าง Data Center ที่ใหญ่โตขนาดนั้นเพียงเพื่อรองรับโปรแกรมเพียง 9 โปรแกรมที่จ็อบส์ประกาศออกไป นั่นเป็นเพราะแอปเปิลได้เปิดให้ทุกโปรแกรมที่ทำงานอยู่บนอุปกรณ์ iOS สามารถใช้งาน iCloud API ได้ทั้งหมด เราสามารถเขียนโปรแกรมให้ Sync ไฟล์ทั้งหมดได้เหมือนกับที่จ๊อปส์โชว์โปรแกรม Keynote เก็บเซฟของเกมส์ พอร์ตหุ้น รูปที่เพิ่งแต่งเสร็จ ไฟล์ทุกชนิดที่ใช้ในโปรแกรม ทั้งหมดสามารถที่จะไปเก็บไว้บน iCloud ได้นั่นเอง
iCloud API คืออะไร เป็นอย่างไร ทำอะไรได้บ้าง เราลองมาดูกัน
รู้จักกับ iCloud และ iCloud API
ข้อควรรู้เบื้องต้นเกี่ยวกับบริการ iCloud ของแอปเปิลมีดังนี้
- เป็นบริการสำหรับจัดเก็บข้อมูล ให้บริการโดยแอปเปิล
- ข้อมูลนั้นจะต้องเป็นข้อมูลของผู้ใช้ หรือ User Data
- ต่างจากบริการ Cloud ของบริษัทอื่นๆ ตรงที่ iCloud API จะต้องเรียกใช้งานจากโปรแกรมที่ลงบน อุปกรณ์ iOS เราไม่สามารถเขียนโปรแกรมจากที่อื่นเข้ามาเรียกใช้งานได้
- เป็นบริการฟรี ผู้ใช้แต่ละคนจะมีพื้นที่จัดเก็บข้อมูล 5GB (คาดว่าจะสามารถจ่ายเงินเพื่อเพิ่มเนื้อที่ได้ในอนาคต)
พื้นที่ 5GB นี้แชร์ร่วมกันหมดสำหรับทุกโปรแกรม - ตามเอกสารของแอปเปิล ผู้ใช้สามารถเข้ามาลบไฟล์ต่างๆ ใน iCloud ได้เอง คาดว่าน่าจะมีหน้าเว็บสำหรับจัดการข้อมูลเองได้
- iCloud Service จะทำงานเป็น Background Process บนอุปกรณ์ iOS สามารถเปิด/ปิดได้
- ใช้งานเฉพาะบน iOS 5 ขึ้นไปเท่านั้น
บริการ iCloud จะแบ่งการเก็บข้อมูลของเราเป็น 2 ประเภท
- ไฟล์เอกสารต่างๆ (Document Storage) ไม่ว่าจะเป็นรูป วิดีโอ ไฟล์พรีเซ็นเทชั่น ไฟล์ PDF ทั้งหมดถือว่าเป็นไฟล์เอกสาร ขนาดของไฟล์ไม่จำกัด
- สถานะของโปรแกรม (Key-Value Data Storage) เช่น ตอนนี้เราเล่นเกมส์ Angry Bird ไปถึงด่านที่ 5 มีนกเหลืออยู่ 2 ตัว และหมูที่ยังไม่ตายอีก 1 ตัว เป็นต้น ขนาดของข้อมูลต้องไม่เกิน 10 กิโลไบต์
การทำงานของ iCloud Service
บน iOS 5 จะมีบริการใหม่ที่ชื่อ iCloud Service มีหน้าที่คอยจัดการเรื่องการรับและส่งข้อมูลระหว่างอุปกรณ์ iOS กับเซิร์ฟเวอร์คลาวด์ของแอปเปิล มีขั้นตอนการทำงานดังนี้
- โปรแกรมที่เรียกใช้ iCloud API จะไม่ได้ติดต่อกับเซิร์ฟเวอร์ของแอปเปิลโดยตรงอย่างที่หลายคนเข้าใจกัน
- ตรงกันข้าม เมื่อเราเรียกใช้ iCloud API ไฟล์เอกสารจะถูกนำไปจัดเก็บใน directory พิเศษ (local system-managed directory)
- ซึ่ง directory นี้จะเป็นที่รวมไฟล์ของทุกโปรแกรมที่ต้องการส่งขึ้นไปที่ iCloud
- เมื่อถึงเวลาที่เหมาะสม iCloud Service จะเข้ามาจัดการส่งไฟล์ขึ้นไปบนคลาวด์ให้เองโดยอัตโนมัติ
- iCloud Service จะแจ้งเตือนมายังโปรแกรม เมื่อเกิดการเปลี่ยนแปลงใดๆ กับไฟล์ เช่นมีเวอร์ชันที่ใหม่กว่าอยู่บนคลาวด์ หรือผู้ใช้เข้าไปลบไฟล์นี้ออกไปจากคลาวด์
ในมุมของนักพัฒนาโปรแกรมแล้ว เป็นเรื่องดีที่เราไม่ต้องไปยุ่งเกี่ยวกับการรับส่งข้อมูลไปบนคลาวด์เซิร์ฟเวอร์แต่อย่างใด รวมไปถึงการเข้ารหัส, ระบบความปลอดภัย, ปัญหา Fail Over, ปัญหาพื้นที่เต็ม ฯลฯ เพราะทั้งหมดนี้ iCloud จะจัดการให้
สิ่งที่นักพัฒนาโปรแกรมต้องสนใจ คือการ Sync ข้อมูล แน่นอนว่าเราจะต้องเจอปัญหาเรื่องของเวอร์ชันของไฟล์ไม่ตรงกัน (File-Version Conflicts) เช่นนาย A และนาย B อาจจะแก้เอกสารเดียวกันอยู่ แต่อาจจะมีเครื่องของคนใดคนหนึ่งที่ไม่ได้ต่ออินเทอร์เน็ตเอาไว้ เมื่อถึงเวลาที่ iCloud Service ทำงาน แน่นอนว่าเวอร์ชันของไฟล์เอกสารจะต้อง Conflict กัน เป็นต้น
ข้อแนะนำอีกอย่างหนึ่งคือโปรแกรมควรจะเป็น Universal App คือโปรแกรมเดียวสามารถใช้งานได้ทั้ง iPhone และ iPad เช่นเดียวกับโปรแกรมของแอปเปิลอย่าง Keynote หรือ iBook เป็นต้น
ทำไมต้องเก็บข้อมูลบนคลาวด์ ?
แล้วทำไมเราจะไม่เก็บข้อมูลบนคลาวด์ล่ะ ? (Why Not ?)
แน่นอนว่าถ้าทุกโปรแกรมจัดเก็บข้อมูลไว้บนคลาวด์ ผู้ใช้ก็จะได้ประโยชน์มาก ลองนึกภาพนาทีที่เราซื้อ iPhone 5 หรือ iPad 3 มาใหม่ ใส่ Username+Password เสร็จแล้วก็สามารถเล่น Angry Bird ต่อจากด่านที่เล่นค้างอยู่ได้เลย, เปิดไฟล์พรีเซ็นเทชั่นเดิม เข้าไปคุยกับเพื่อนต่อใน WhatsApp หรือแม้แต่เปิดหน้าเว็บเข้าไปจัดการกับเอกสารต่างๆ บน iCloud ด้วยตัวเองก็ยังได้
ในมุมมองเจ้าของโปรแกรม การเก็บข้อมูลไว้บนคลาวด์ก็เป็นเทรนด์ที่หลายโปรแกรมพยายามทำกันอยู่ ตัวอย่างเช่น Photoshop Express หรือ Instgram ที่ให้ผู้ใช้ตกแต่งรูปถ่ายแล้วโอนข้อมูลไปเก็บไว้บนคลาวด์ของตัวเอง iCloud ช่วยให้นักพัฒนาสะดวกมากขึ้น ลดภาระด้านการจัดการเซิร์ฟเวอร์ และช่วยให้ผู้ใช้อยู่กับโปรแกรมของเราไปนานๆ
ยุทธศาสตร์คลาวด์ของแอปเปิล
แอปเปิลพยายามผลักดันอย่างมากให้นักพัฒนาปรับปรุงโปรแกรมเพื่อใช้บริการ iCloud (เป็นหัวข้อแรกสุดและกินเนื้อที่กว่าครึ่งบนเอกสาร iOS 5) ซึ่งถ้าหากว่าแอปเปิลสามารถทำได้สำเร็จ จะทำให้แอปเปิลถือครองข้อมูลของผู้ใช้แทบจะทั้งหมด ไม่ใช่เพียงแค่รูปภาพ วิดีโอ หรือเพลงเท่านั้น แต่เป็นข้อมูลของทุกโปรแกรมที่อยู่บนอุปกรณ์ iOS
ซึ่งในมุมของผู้ใช้ การที่จะย้ายค่ายเปลี่ยนไปใช้แฟรตฟอร์มอื่นอย่าง Android หรือ Windows Phone ก็จะเ็ป็นเรื่องยากขึ้นเรื่อยๆ ทำให้ในอนาคตผู้ใช้อาจจะต้องเลือกค่ายมากขึ้นกว่าในปัจจุบัน การที่แอปเปิลมีโปรแกรมอยู่ใน App Store มากถึง 500,000 โปรแกรมเป็นจุดที่ได้เปรียบมาก
ยุทธศาสตร์คลาวด์ของแอปเปิลคือเน้นไปที่โปรแกรม (Native Application) ส่วนคลาวด์ของกูเกิลนั้นเน้นไปที่โปรแกรมบนเว็บ (Web Application) ซึ่งก็มีข้อดีข้อเสียต่างกันไป อย่างไรก็ดี นี่เป็นเพียงการเริ่มต้นของยุคคลาวด์ เราคงต้องมองดูกันต่อไปยาวๆ ว่าที่สุดแล้วใครจะเป็นผู้ชนะในสงครามนี้
ที่มา - Khajochi Blog, รูปจาก Engadget, Apple iCloud
อยากทราบข้อดีข้อเสียของ
vevysang Thu, 06/09/2011 - 15:28
อยากทราบข้อดีข้อเสียของ การเน้นไปที่โปรแกรม กับ เน้นโปรแกรมบนเว็บ
ว่าต่างกันอย่างไรบ้างครับ
ถ้าโปรแกรมบนเว็บเรา
mapkung14 Thu, 06/09/2011 - 15:38
In reply to อยากทราบข้อดีข้อเสียของ by vevysang
ถ้าโปรแกรมบนเว็บเรา ก็ต้องต่ออินเตอร์เน็ตทุกครั้งที่ใช้ครับ แต่โปรแกรมธรรมดาไม่ต้อง
แต่เว็บได้เปรียบกว่าตรงรันได้ทุกแพลตฟอร์ม
ผมก็รู้นิดหน่อยอ่ะนะครับ
ineng Thu, 06/09/2011 - 15:40
In reply to อยากทราบข้อดีข้อเสียของ by vevysang
ผมก็รู้นิดหน่อยอ่ะนะครับ ยกตัวอย่างเช่น Web app เนี่ยมันก็จะเล่นได้หลากหลาย platform กว่าเช่น google doc จะเอาไปเล่นบนไหนก็ได้ที่มี web browser แต่ว่าลูกเล่น ความสวยงามลื่นไหลและความสะดวกในการใช้งาน ก็คงจะสู้ native app ที่ทำมาเฉพาะบน device ไม่ได้
เข้าข่ายลองแล้วต้องรักเลยสินะ
yongzaa Thu, 06/09/2011 - 15:36
เข้าข่ายลองแล้วต้องรักเลยสินะ เพราะเปลี่ยน Platform ทีนึง จะเป็นเรื่องยุ่งมาก
เข้าใจ iCloud
Pinery Thu, 06/09/2011 - 15:47
เข้าใจ iCloud มากขึ้นเลย
ขอบคุณสำหรับบทความครับ :)
ชอบ Photo stream ของ iCloud
Zatang Thu, 06/09/2011 - 16:02
ชอบ Photo stream ของ iCloud มาก จัดการอัตโนมัติไม่ต้องคอยโหลดรูปลงคอมหรือไป Device อื่นเอง และเราเลือกเก็บรูปที่อยากเก็บถาวรที่ iDevice ใดๆ ได้เลย
ผมว่า Apple ฉลาดในการออก Product มาก เพราะไม่ค่อยทำให้ Product ทับกัน คือคนเดียวต้องใช้หรืออยากใช้หลาย Product ของ Apple
และ iCloud (+ iOS 5) ทำให้ชีวิตคนที่มีอุปกรณ์ Apple หลายชิ้นสบายขึ้นเยอะ มีอุปกรณ์หลายอย่าง จะทำอะไรที่อุปกรณ์ไหนก็ได้ ตามแต่สะดวก จะ iPhone ระหว่างเดินทาง iPad ที่บ้าน หรือ Mac ที่ทำงาน ทำที่ไหนแล้วไปทำต่อที่อย่างอื่นได้ บางคนมีครบเลยตั้งแต่ iPod iPhone iPad ยัน Macbook
เป็นบทความที่น่าสนใจครับ
paween_a Thu, 06/09/2011 - 17:04
เป็นบทความที่น่าสนใจครับ ขอบคุณครับ
The prophet said "it just
pizzicato Thu, 06/09/2011 - 17:06
The prophet said "it just works" : D
เพิ่งดู Keynote จบ รู้สึกว่า
Bluetus Thu, 06/09/2011 - 17:14
เพิ่งดู Keynote จบ รู้สึกว่า iClound ยิ่งใหญ่มากเลยเฮะ...
ไม่ใช่อะไรที่แปลกใหม่สำหรับเท
tumragame.com Thu, 06/09/2011 - 17:15
ไม่ใช่อะไรที่แปลกใหม่สำหรับเทคโนโลยี แต่เป็นอีกบริการทางเลือกใหม่สำหรับผู้ที่ใช้และจะคิดใช้ apple
ไม่ใช่อะไรที่แปลกใหม่สำหรับเท
tumragame.com Thu, 06/09/2011 - 17:15
ไม่ใช่อะไรที่แปลกใหม่สำหรับเทคโนโลยี แต่เป็นอีกบริการทางเลือกใหม่สำหรับผู้ที่ใช้และจะคิดใช้ apple
EDGE
UltimaWeapon Thu, 06/09/2011 - 17:30
EDGE ในไทยจะทำให้หลายๆบริการเกี่ยวกับ Cloud เป็นไปไม่ได้ เพราะมันช้าเกินจะทน เช่น Music Streaming
+1 คับ
perkung7 Thu, 06/09/2011 - 18:02
In reply to EDGE by UltimaWeapon
+1 คับ ช้าไม่ว่าหลุดบ่อยอีกตะหาก O_๐
แต่ไอคลาวอาจจะโดนไม่หนักแฮะ
Nics Thu, 06/09/2011 - 20:36
In reply to EDGE by UltimaWeapon
แต่ไอคลาวอาจจะโดนไม่หนักแฮะ เพราะดูเหมือนจะใช้เน็ตไม่เยอะเท่าไหร่(ม้ั้ง) ยกเว้นใครถ่ายวีดีโอก็อาเมนครับ :p
บทความดีมากเลยครับ
shyyonk Thu, 06/09/2011 - 17:46
บทความดีมากเลยครับ อ่านง่ายด้วย ถ้าทุกอย่างเก็บบนคลาวด์หมดก็จะเริ่มคล้าย native app ของ android มากขึ้นนะ แต่ได้ทุกแอพเลยนี่ iCloud เจ๋งกว่าอีก
เมือวันที่ 7 มานี่ผมไปงาน
toooooooon Thu, 06/09/2011 - 18:15
เมือวันที่ 7 มานี่ผมไปงาน Open Source มา
สังคมที่นั่น พยายามจะเอาตัวออกห่างอะไรก็ตามที่ต้องผูกมัด
ปัญหาการเข้าไปอยู่แล้วเหมือนเสพติด เมื่อใช้ไปนานๆแล้วไม่สามารถถอนตัวได้
เจอป๋า จ๊อบเข้าไป โอ้วววววว
ผมเป็นคนนึงที่เวลาทำงานจะ
pizzicato Thu, 06/09/2011 - 18:36
In reply to เมือวันที่ 7 มานี่ผมไปงาน by toooooooon
ผมเป็นคนนึงที่เวลาทำงานจะ Open Source มากครับ แต่เรื่องการจัดการการใช้ชีวิตประจำวันของผม ผมยกให้แอปเปิล --> มันง่ายดีคับ อะไรๆ ก็ง่ายๆ
โดนลุงเป่ามนต์อีกแล้ว 555+
nessuchan Thu, 06/09/2011 - 19:40
โดนลุงเป่ามนต์อีกแล้ว 555+
Cloud ไม่ใหม่
Zatang Thu, 06/09/2011 - 19:49
Cloud ไม่ใหม่ แต่การทำอะไรให้มันง่ายสำหรับ user นี่แนวทางของ apple จริงๆ แต่แน่นอนว่าปรับเปลี่ยนหรือ customize ตามใจอาจจะยาก หากหลวมตัวเสพย์ติดแล้วยากจะถอนตัว
ถูกครับ มันไม่แปลกเลย
Bizard Thu, 06/09/2011 - 22:47
In reply to Cloud ไม่ใหม่ by Zatang
ถูกครับ มันไม่แปลกเลย แต่ว่ามันต่างจากเจ้าอื่นตรงที่ว่าใช้ง่ายมาก
ชอบคอนเซป Minimalist ของบริษัทนี้จริงๆ
Double post เป็นครั้งแรก ><
Zatang Thu, 06/09/2011 - 19:51
Double post เป็นครั้งแรก ><
ดีใจด้วยครับ
Pinery Thu, 06/09/2011 - 21:30
In reply to Double post เป็นครั้งแรก >< by Zatang
ดีใจด้วยครับ คุณคือหนึ่งในนั้นแล้ว >.<
รอดูการใช้งานจริง อิอ
pines Thu, 06/09/2011 - 21:25
รอดูการใช้งานจริง อิอ
ไม่ต้องรอดูแล้วครับ ตอนนี้บน
looghmoo Thu, 06/09/2011 - 23:49
In reply to รอดูการใช้งานจริง อิอ by pines
ไม่ต้องรอดูแล้วครับ ตอนนี้บน iOS 4.3 ก็ใช้งานได้แล้วในส่วนของการซิงค์ App, Book และ Music อัตโนมัติ
จากการใช้งานของผม เท่kที่ใช้มาสองวัน ผ่าน WIFI ของ 3bb ช่วยให้ชีวิติง่ายขึ้นจริงๆ
ใครๆ ที่เคยบ่นว่าทำอะไรๆ ก็ต้องซิงค์กับไอจูน ตอนนี้น่าจะเลิกบ่นได้แล้ว 55+
อ่านแล้วเข้าใจเลยว่า Apple
amdo Thu, 06/09/2011 - 21:29
อ่านแล้วเข้าใจเลยว่า Apple ลงทุนสร้าง data center เพื่ออะไร
อยู่ดีๆ คนใช้ iOS จะมาประเคนข้อมูลต่างๆ และเอาไปวิเคราะห์พฤติกรรมการใช้ได้ตรงๆ
งานนี้ Google คงเครียดไม่น้อย เพราะกระหายข้อมูลผู้ใช้เหมือนกันทั้งคู่
ระบบ cloud ของแมค
moojiw Thu, 06/09/2011 - 23:57
ระบบ cloud ของแมค ที่จริงไม่ใช่ระบบใหม่อะไรเลยครับ
คนใช้่ mac pro macbook ipod iphone เคยสัมผัสมาก่อนแบบไม่รู้ตัว
ผมเองเพิ่งมาค้นพบ ตอนเคลม iphone 4 นี่แหละครับ
ผมเป็นคนที่ใช้งานโดยต่อกับ itune บน mac ตลอด ไม่ได้คิดอะไรมากครับ
มารู้ตอนที่ iphone 4 เสียส่งเคลม ตอนนั้นในใจคิดไปว่า รูป ข้อความ เกมที่เล่นค้างไว้ สงสัยหายหมด สงสัยต้องมาเล่นใหม่หมด แต่เวลาได้เครื่องมา ผมต่อ itune ใส่ apple id แล้ว restore
ปรากฎว่า มันกลับมาหมดเลยครับ กลับมาแบบไม่ธรรมดา?
ยังไง?
กลับมาหมดแม้กระทั่ง ไฟล์บนยูทูป เล่นถึงนาทีที่เท่าไหร่ มันก็เล่นต่อจากตรงนั้น ไฟล์วีดีโอสุดท้ายที่ดู มันเล่นต่อ เช่น ก่อน backup เล่นถึงนาทีที่ 5.13 เวลาเปลี่ยนเครื่อง แล้ว restore from backup ไฟล์วีดีโอนั้นจะเล่นต่อ เป็น 5.14
ไฟล์เกมที่เล่นค้างไว้ ด่านกลับมาหมด แม้กระทั่ง sms ที่พิมพ์ค้างไว้มันก็มา
เหมือน ไมมีอะไรเกิดขึ้น !!!
เพียงแต่ server นี้่มันคือ itune เป็น host ครับ
แต่ icloud มันแค่เปลี่ยนจาก local เป็น internet นอกนั้น concept เหมือนเดิมทุกอย่าง
ปล.หลาย comment คิดสั้นจัง เรื่อง 3g ไม่มี cloud ไม่เกิด
iphone มันเชื่อมผ่าน wifi ได้นิครับ
อันนั้นเค้าเรียก Backup ครับ
bongikairu Fri, 06/10/2011 - 00:13
In reply to ระบบ cloud ของแมค by moojiw
อันนั้นเค้าเรียก Backup ครับ ซึ่ง iCloud ก็มีส่วนที่ทำงาน Backup แบบนี้เหมือนกัน ซึ่งถ้าเราต้องการให้ Backup ไปที่ iCloud แทน iTunes ก็สามารถเข้าไปเปิดได้ครับ
.
Bluetus Fri, 06/10/2011 - 01:02
In reply to อันนั้นเค้าเรียก Backup ครับ by bongikairu
.
อันนั้น Back Up เข้า iTunes
Bluetus Fri, 06/10/2011 - 01:04
In reply to ระบบ cloud ของแมค by moojiw
อันนั้น Back Up เข้า iTunes ครับ แต่ตอนใน iClould ก้าวไปอีกขั้น Back Up ไว้บนเมฆ
ดังนั้นแม้แต่ PC หรือ Mac หายไป ก็สามารถเรียกข้อมูลได้จาก Clound ได้เลย
เฮ้ย = ="
errin Fri, 06/10/2011 - 21:22
In reply to ระบบ cloud ของแมค by moojiw
เฮ้ย = ="
moojiw ขอบคุณที่มาเล่าให้ฟัง
menu_dot Fri, 06/10/2011 - 00:11
moojiw ขอบคุณที่มาเล่าให้ฟัง
ขอบคุณครับ
c4rking Fri, 06/10/2011 - 09:56
ขอบคุณครับ
ใครๆก็ไป cloud กันหมด
hikid Fri, 06/10/2011 - 11:39
ใครๆก็ไป cloud กันหมด แต่ละเจ้าตีความไม่เหมือนกัน แต่บ้านเรา 3G กากนี่สิมันจะไปรอดไหมในบ้านเรา
cloud by wifi ครับ
xeroes Fri, 06/10/2011 - 17:26
In reply to ใครๆก็ไป cloud กันหมด by hikid
cloud by wifi ครับ
cloud by wifi ครับ
xeroes Fri, 06/10/2011 - 17:26
In reply to ใครๆก็ไป cloud กันหมด by hikid
cloud by wifi ครับ