ปิดโฆษณา

ในการกล่าวปราศรัยครั้งล่าสุดที่ WWDC ในปี 2011 สตีฟจ็อบส์ได้เปิดตัวบริการที่ยังคงสร้างความหวาดกลัวให้กับนักพัฒนาจำนวนมาก ไม่ใช่ใครอื่นนอกจาก iCloud ผู้สืบทอดตำแหน่งต่อจาก MobileMe ที่มีปัญหา อย่างไรก็ตาม แม้แต่ iCloud ก็ยังไม่มีข้อผิดพลาด และนักพัฒนาก็กำลังจลาจล...

Steve Jobs สาธิต iCloud ครั้งแรกในเดือนมิถุนายน 2011 บริการดังกล่าวเปิดตัวในอีกสี่เดือนต่อมา และขณะนี้ได้เปิดให้บริการมาประมาณหนึ่งปีครึ่งแล้ว โดยผิวเผิน การบริการที่ค่อนข้างราบรื่นซึ่งตามคำพูดของผู้มีวิสัยทัศน์ในตำนาน "แค่ใช้ได้ผล" (หรืออย่างน้อยก็ควร) แต่ภายในเป็นกลไกเปลี่ยวที่มักจะทำในสิ่งที่ต้องการ และผู้พัฒนาไม่มีอาวุธที่มีประสิทธิภาพในการต่อต้าน มัน.

"ทุกอย่างเกิดขึ้นโดยอัตโนมัติ และการเชื่อมต่อแอพของคุณกับระบบจัดเก็บข้อมูล iCloud เป็นเรื่องง่ายมาก" จ็อบส์กล่าวในขณะนั้น เมื่อนักพัฒนาจำคำพูดของเขาได้ตอนนี้ พวกเขาอาจจะต้องขนแปรง “iCloud ไม่ได้ผลสำหรับเรา เราใช้เวลาไปกับมันมากจริงๆ แต่การซิงค์ iCloud และ Core Data มีปัญหาเหล่านี้ซึ่งเราไม่สามารถแก้ไขได้” เขายอมรับ หัวหน้าสตูดิโอ Black Pixel ซึ่งรับผิดชอบเช่น NetNewsWire โปรแกรมอ่าน RSS ที่รู้จักกันดี สำหรับเธอ iCloud ควรเป็นโซลูชันที่เหมาะสำหรับการซิงโครไนซ์โดยเฉพาะในช่วงเวลาที่ Google กำลังจะปิด Google Reader แต่การเดิมพันบริการของ Apple ไม่ได้ผล

ไม่มีอะไรทำงาน

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

[do action=”quote”]ฉันไม่สามารถนับนักพัฒนาทั้งหมดที่ประสบปัญหาและยอมแพ้ในที่สุด[/do]

"ฉันเขียนโค้ด iCloud ใหม่หลายครั้งโดยหวังว่าจะพบวิธีแก้ปัญหาที่ใช้งานได้" เขาเขียน นักพัฒนา Michael Göbel อย่างไรก็ตาม เขายังไม่พบวิธีแก้ปัญหา ดังนั้นเขาจึงยังไม่สามารถทำการตลาดแอปพลิเคชันของเขาหรือทำบน App Store ได้ “ฉันไม่สามารถนับนักพัฒนาและบริษัททั้งหมดที่ประสบปัญหาแบบเดียวกับที่ฉันทำและยอมแพ้ในที่สุด หลังจากสูญเสียข้อมูลผู้ใช้ไปหลายแสนคน พวกเขาก็ละทิ้ง iCloud ไปโดยสิ้นเชิง”

ปัญหาที่ใหญ่ที่สุดของ Apple กับ iCloud คือการซิงโครไนซ์ฐานข้อมูล (Core Data) ข้อมูลอีกสองประเภทที่สามารถซิงค์ผ่านคลาวด์ของ Apple - การตั้งค่าและไฟล์ - ทำงานภายในขอบเขตโดยไม่มีปัญหาใด ๆ อย่างไรก็ตาม Core Data มีพฤติกรรมที่คาดเดาไม่ได้โดยสิ้นเชิง เป็นเฟรมเวิร์กระดับสูงที่ช่วยให้คุณสามารถซิงโครไนซ์ฐานข้อมูลหลาย ๆ อันระหว่างอุปกรณ์ต่างๆ "iCloud สัญญาว่าจะแก้ไขปัญหาการซิงโครไนซ์ฐานข้อมูลทั้งหมดด้วยการรองรับ Core Data แต่มันก็ไม่ได้ผล" หนึ่งในนักพัฒนาที่โดดเด่นที่ไม่ประสงค์ออกนามเพื่อรักษาความสัมพันธ์อันดีกับ Apple กล่าว

ในเวลาเดียวกัน Apple เพิกเฉยต่อปัญหาเหล่านี้โดยสิ้นเชิง iCloud ยังคงโฆษณาว่าเป็นวิธีแก้ปัญหาง่ายๆ และผู้ใช้ต้องการมันจากนักพัฒนา แม้ว่านักพัฒนาจะพยายามอย่างเต็มที่แล้ว แต่ข้อมูลของผู้ใช้ก็หายไปอย่างควบคุมไม่ได้และอุปกรณ์ก็หยุดการซิงโครไนซ์ "ปัญหาเหล่านี้มักใช้เวลาหลายชั่วโมงในการแก้ไข และปัญหาบางอย่างอาจทำให้บัญชีของคุณเสียหายอย่างถาวร" นักพัฒนาชั้นนำอีกรายหนึ่งหันมาสนใจ Apple และเสริมว่า: “นอกจากนี้ AppleCare ไม่สามารถแก้ไขปัญหาเหล่านี้กับลูกค้าได้”

“เราประสบปัญหากับการผสมผสานระหว่าง Core Data และ iCloud ตลอดเวลา ระบบทั้งหมดนี้คาดเดาไม่ได้ และนักพัฒนามักมีตัวเลือกที่จำกัดในการมีอิทธิพลต่อการทำงานของระบบ" อธิบายสตูดิโอพัฒนาเช็ก สัมผัสศิลปะซึ่งยืนยันกับเราว่าเนื่องจากปัญหาที่เกิดขึ้นอย่างต่อเนื่อง ทางบริษัทจึงละทิ้งโซลูชันนี้และดำเนินการด้วยตนเอง โดยจะใช้การซิงโครไนซ์ไฟล์แทนการซิงโครไนซ์ฐานข้อมูลเช่นนี้ จากนั้นเขาจะสามารถใช้ iCloud สำหรับสิ่งนี้ได้เนื่องจากการซิงโครไนซ์ไฟล์จะเกิดขึ้นผ่านมันโดยไม่มีปัญหาใด ๆ ท้ายที่สุดสิ่งนี้ได้รับการยืนยันจากนักพัฒนาจาก Jumsoft: "ไม่ต้องสงสัยเลยว่า iCloud เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการจัดเก็บไฟล์โดยตรง" อย่างไรก็ตาม น่าเสียดายที่ Jumsoft ต้องการ Core Data สำหรับแอปพลิเคชัน Money ที่มีชื่อเสียง และนี่คืออุปสรรคที่ทำให้สะดุด

[do action="quote"]iCloud และ Core Data คือฝันร้ายที่สุดของนักพัฒนาทุกคน[/do]

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

ปัญหาทั้งหมดเกี่ยวกับ iCloud จบลงด้วยความไม่พอใจของผู้ใช้แอพที่สูญเสียข้อมูล ในขณะที่นักพัฒนามักจะดูอย่างช่วยไม่ได้ "ผู้ใช้บ่นกับฉันและให้คะแนนแอปหนึ่งดาว" เขาบ่น ในฟอรัมของ Apple นักพัฒนา Brian Arnold ซึ่งยังไม่ได้รับคำอธิบายจาก Apple เกี่ยวกับวิธีแก้ปัญหาที่คล้ายกัน หรือเหตุใดจึงเกิดขึ้นเลย และฟอรัมเต็มไปด้วยข้อร้องเรียนเกี่ยวกับการซิงโครไนซ์ iCloud

นักพัฒนาบางคนหมดความอดทนกับ iCloud แล้วและไม่น่าแปลกใจเลย "iCloud และ Core Data คือฝันร้ายที่สุดของนักพัฒนาทุกคน" กล่าวว่า Verge นักพัฒนาที่ไม่ระบุชื่อ "มันน่าหงุดหงิด น่าโมโหในบางครั้ง และคุ้มค่ากับการแก้ไขปัญหาไม่รู้จบ"

แอปเปิ้ลเงียบไป เขาข้ามปัญหาไปเอง

บางทีจึงไม่น่าแปลกใจที่ปัญหาของ Apple กับ iCloud จะผ่านไปราวกับว่าไม่มีอะไรเกิดขึ้น Apple ไม่ได้ใช้ Core Data ที่เป็นปัญหาในแอปพลิเคชันของตน จริงๆ แล้วมี iCloud สองอัน อันหนึ่งขับเคลื่อนบริการของ Apple และอีกอันหนึ่งที่มอบให้กับนักพัฒนา แอพและบริการต่างๆ เช่น iMessage, เมล, ข้อมูลสำรอง iCloud, iTunes, Photo Stream และอื่นๆ สร้างขึ้นจากเทคโนโลยีที่แตกต่างอย่างสิ้นเชิงจากที่นักพัฒนาบุคคลที่สามมีให้บริการโดยสิ้นเชิง นั่นคือสิ่งที่มีปัญหาอยู่ตลอดเวลา แอปพลิเคชันจากชุด iWork (Keynote, Pages, Numbers) ใช้ API เดียวกันกับแอปพลิเคชันบุคคลที่สาม แต่เพื่อการซิงโครไนซ์เอกสารที่ง่ายกว่ามากเท่านั้น ซึ่ง Apple ให้ความใส่ใจอย่างยิ่งในการทำงาน เมื่อพวกเขาปล่อยให้ iCloud และ Core Data เข้าไปในแอพของพวกเขาในคูเปอร์ติโน พวกเขาไม่ได้มีความเชื่อถือได้ดีไปกว่านักพัฒนาบุคคลที่สาม แอปพลิเคชัน Trailers ซึ่งใช้ Core Data สำหรับการซิงโครไนซ์ ใช้งานได้จริง และผู้ใช้จะสูญเสียบันทึกบางส่วนเป็นประจำ

อย่างไรก็ตาม ด้วย Trailers ซึ่งไม่ได้รับความนิยมมากนัก ปัญหาเหล่านี้จึงค่อนข้างจะเสียไปได้ง่าย แต่แล้วนักพัฒนาแอพพลิเคชั่นที่ได้รับความนิยมสูงสุดควรบอกอะไรผู้ใช้ที่ต้องพึ่งพา Core Data ที่มีปัญหาใน iCloud แต่มักไม่สามารถรับประกันได้ว่าฟังก์ชั่นประเภทใดที่ Apple โฆษณาในโฆษณาอยู่ตลอดเวลา Apple จะไม่ช่วยพวกเขาอย่างแน่นอน “ใครจาก Apple สามารถแสดงความคิดเห็นเกี่ยวกับสถานการณ์นี้ได้หรือไม่” เขาถาม ไม่ประสบความสำเร็จในฟอรัม Justin Driscoll ผู้พัฒนาซึ่งถูกบังคับให้ปิดแอพที่กำลังจะมาถึงเนื่องจาก iCloud ที่ไม่น่าเชื่อถือ

ในระหว่างปี Apple ไม่ได้ช่วยเหลือนักพัฒนา ดังนั้นทุกคนจึงหวังว่าบางสิ่งบางอย่างจะได้รับการแก้ไขอย่างน้อยในงาน WWDC ปีที่แล้ว เช่น การประชุมที่มีไว้สำหรับนักพัฒนา แต่ที่นี่ Apple ก็ไม่ได้ให้ความช่วยเหลือมากนักภายใต้แรงกดดันมหาศาลของนักพัฒนา ตัวอย่างเช่น เขาได้จัดเตรียมโค้ดตัวอย่างที่สามารถใช้เพื่อซิงโครไนซ์ข้อมูลหลักได้ แต่ก็ยังไม่สมบูรณ์นัก อีกครั้งไม่มีความช่วยเหลือที่สำคัญ นอกจากนี้ วิศวกรของ Apple ยังเรียกร้องให้นักพัฒนารอ iOS 6 "การย้ายจาก iOS 5 มาเป็น iOS 6 ทำให้สิ่งต่างๆ ดีขึ้น XNUMX%" ได้รับการยืนยันจากนักพัฒนาที่ไม่มีชื่อ "แต่ก็ยังห่างไกลจากอุดมคติ" จากแหล่งข้อมูลอื่น Apple มีพนักงานเพียงสี่คนที่ดูแล Core Data ในปีที่แล้ว ซึ่งแสดงให้เห็นชัดเจนว่า Apple ไม่สนใจในด้านนี้ อย่างไรก็ตาม บริษัทปฏิเสธที่จะแสดงความคิดเห็นเกี่ยวกับข้อมูลนี้

ลาก่อนและผ้าพันคอ

หลังจากที่กล่าวถึงความผันผวนทั้งหมดแล้ว ก็ไม่น่าแปลกใจที่นักพัฒนาหลายคนปฏิเสธ iCloud แม้ว่าอาจจะรู้สึกหนักใจก็ตาม ในที่สุด iCloud ก็ควรจะนำมาซึ่งสิ่งที่นักพัฒนาปรารถนา - โซลูชันง่ายๆ ที่ช่วยให้มั่นใจได้ว่าฐานข้อมูลที่เหมือนกันและการซิงโครไนซ์อย่างต่อเนื่องบนอุปกรณ์ตั้งแต่สองเครื่องขึ้นไป น่าเสียดายที่ความเป็นจริงแตกต่างออกไป “เมื่อเราดู iCloud และ Core Data เป็นโซลูชันสำหรับแอพของเรา เราก็ตระหนักว่าเราไม่สามารถใช้งานได้เพราะไม่มีอะไรจะทำงาน” ผู้พัฒนาแอปพลิเคชั่น iPhone และ Mac ที่ขายดีที่สุดบางส่วนกล่าว

อีกสาเหตุหนึ่งที่ทำให้ iCloud ไม่ละทิ้งง่ายๆ ก็คือความจริงที่ว่า Apple สังเกตเห็นแอปพลิเคชันที่ใช้บริการของตน (iCloud, Game Center) และเพิกเฉยต่อแอปพลิเคชันที่ไม่มี Apple ใน App Store โดยสิ้นเชิง iCloud ยังเป็นโซลูชันที่ดีจากมุมมองทางการตลาด

ตัวอย่างเช่น Dropbox ได้รับการเสนอให้เป็นทางเลือกที่เป็นไปได้ แต่มันไม่เป็นมิตรกับผู้ใช้อีกต่อไป ในอีกด้านหนึ่ง ผู้ใช้จะต้องตั้งค่าบัญชีอื่น (iCloud จะใช้งานได้โดยอัตโนมัติเมื่อซื้ออุปกรณ์ใหม่) และในทางกลับกัน จำเป็นต้องได้รับอนุมัติก่อนที่แอปพลิเคชันจะสามารถทำงานได้ ซึ่งก็จะล้มเหลวด้วย iCloud เช่นกัน และสุดท้าย Dropbox นำเสนอการซิงโครไนซ์เอกสาร ซึ่งไม่ใช่สิ่งที่นักพัฒนากำลังมองหา พวกเขาต้องการประสานฐานข้อมูล "Dropbox ซึ่งมีการใช้งานมากที่สุดในขณะนี้ ได้พิสูจน์ตัวเองแล้วในเรื่องการซิงโครไนซ์ข้อมูล แต่เมื่อพูดถึงการซิงโครไนซ์ฐานข้อมูล เราต้องพึ่งพา iCloud" ยอมรับ Roman Maštalíř จาก Touch Art

[do action="quote"]อยากบอก Apple ว่าพวกเขาแก้ไขทุกอย่างใน iOS 7 แล้ว แต่ก็ไม่เชื่อจริงๆ[/do]

อย่างไรก็ตาม นักพัฒนาแอปพลิเคชัน 2Do ไม่มีความอดทนเนื่องจากประสบการณ์เชิงลบมากมายกับ iCloud พวกเขาไม่ได้ลองใช้บริการของ Apple เลยและคิดวิธีแก้ปัญหาของตนเองขึ้นมาทันที “เราไม่ได้ใช้ iCloud เนื่องจากปัญหาทั้งหมด มันเป็นระบบที่ปิดมากซึ่งเราไม่สามารถควบคุมได้มากเท่าที่เราต้องการ” ผู้พัฒนา Fahad Gillani บอกเรา "เราเลือก Dropbox สำหรับการซิงโครไนซ์ อย่างไรก็ตาม เราไม่ได้ใช้การซิงโครไนซ์เอกสาร แต่เราได้เขียนโซลูชันการซิงโครไนซ์ของเราเองขึ้นมา"

Madfinger Games สตูดิโอเช็กอีกแห่งไม่มี iCloud ในเกมเช่นกัน อย่างไรก็ตาม ผู้สร้างเกมยอดนิยมอย่าง Dead Trigger และ Shadowgun ไม่ได้ใช้บริการของ Apple ด้วยเหตุผลที่แตกต่างกันเล็กน้อย "เรามีระบบบนคลาวด์สำหรับบันทึกตำแหน่งในเกม เพราะเราต้องการที่จะถ่ายโอนความคืบหน้าของเกมระหว่างแพลตฟอร์ม" David Kolečkář เปิดเผยกับเราว่าเนื่องจากการพัฒนาเกมสำหรับทั้ง iOS และ Android สำหรับ Madfinger Games ทำให้ iCloud ไม่เคยเป็นวิธีแก้ปัญหา

จะมีทางแก้ไขมั้ย?

เมื่อเวลาผ่านไป นักพัฒนาจำนวนมากค่อยๆ หมดความหวังว่า Apple จะสามารถหาวิธีแก้ปัญหาได้ ตัวอย่างเช่น WWDC ครั้งต่อไปกำลังจะมาถึง แต่เนื่องจาก Apple ไม่ได้สื่อสารกับนักพัฒนาเลยแม้แต่ตอนนี้ จึงไม่คาดว่าเขาควรจะมาที่ WWDC พร้อมอ้าแขนรับคำแนะนำและคำตอบมากมาย “สิ่งที่เราทำได้คือส่งรายงานข้อผิดพลาดไปยัง Apple ต่อไปและหวังว่าพวกเขาจะแก้ไขได้” คร่ำครวญถึงนักพัฒนา iOS ที่ไม่เปิดเผยชื่อ โดยอีกคนสะท้อนความรู้สึกของเขา: "ฉันอยากจะบอก Apple ว่าพวกเขาได้แก้ไขปัญหาทุกอย่างใน iOS 7 แล้ว และในที่สุด iCloud ก็สามารถใช้งานได้โดยไม่มีปัญหาหลังจากผ่านไปสองปี แต่ฉันไม่เชื่ออย่างนั้นจริงๆ" แต่มันจะเป็น iOS 7 ที่ควรเป็นธีมหลักของ WWDC ปีนี้ ดังนั้นอย่างน้อยนักพัฒนาก็สามารถหวังได้

หาก Apple ไม่ได้เสนอวิธีแก้ไขปัญหา iCloud ในระบบปฏิบัติการเวอร์ชันใหม่ ก็อาจเป็นเสมือนเล็บในโลงศพสำหรับบางโครงการ นักพัฒนารายหนึ่งซึ่งเป็นผู้สนับสนุน iCloud อย่างแข็งขันมาจนถึงปัจจุบันกล่าวว่า: “หาก Apple ไม่แก้ไขปัญหานี้ใน iOS 7 เราจะต้องละทิ้งการจัดส่ง”

แหล่งที่มา: TheVerge.คอม, เดอะเน็กซ์เว็บ.คอม
.