ว่าด้วย iOS 7 “Developer Beta”

[update 29/06] เพิ่มกรณีตัวอย่างของแอพที่เจ๊ง และเพิ่มบทส่งท้ายจากการเขียนเพิ่มเติมของคุณ Prem Sichanugrist ผ่านทาง Facebook


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

แล้วมันมีเรื่องอะไรให้ผมต้องเขียนถึงล่ะครับ ก็ในเมื่อมันเป็นเรื่องปกติ๊ปกติขนาดนั้น?

เรื่องของเรื่องก็คือ เมื่อไม่นานมานี้ Apple ได้ประกาศ iOS รุ่นใหม่ คือ iOS 7 ซึ่งมีการเปลี่ยนแปลงแบบล้างบางในเรื่องการออกแบบและการใช้งานหลายๆ อย่าง ซึ่งเป็นการเปลี่ยนแปลงใหญ่ขนาดที่ทาง Apple เองบอกว่า “ใหญ่ที่สุดตั้งแต่ออกไอโฟนมา” เลยทีเดียว และแน่นอนว่าก็เช่นเดียวกับการเปลี่ยนแปลงทุกครั้ง Apple ก็จะออกรุ่นทดลองใช้มาให้ทดลองใช้ก่อน

แน่นอนว่าการประกาศรุ่นใหม่แบบนี้ และการเน้นว่าเป็นการเปลี่ยนแปลงที่ใหญ่ที่สุดตั้งแต่มีมา รวมถึงการโชว์ความสามารถต่างๆ กลางเวที WWDC หรือการที่มีคนนั้นคนนี้เขียนถึง … มันย่อมกระตุกต่อมอยากรู้อยากเห็น อยากมีก่อนคนอื่น อยากลองใช้ อยากลองดู อยากเท่ อยาก ฯลฯ อยากสารพัดอยากของหลายๆ คนแน่นอน ก็เลยต้องรีบหามาลองเล่นกัน

ซึ่งผลก็คือเสียงวิจารณ์แบบ “ห่วย” “ใช้แอพหลายตัวแทบไม่ได้เลย” “เปิดตัวนั้นก็แครช เปิดตัวนี้ก็ค้าง” “เครื่องร้อนมาก” “แบตหมดเร็ว” “Apple ห่วยขนาดนี้เลยเหรอ” ฯลฯ … หลายคนพยายามบอกว่าก็มันยังเป็น Beta หรือรุ่นทดลองใช้อยู่ แต่ก็มักจะมีคนแย้งเสมอๆ ว่า “Beta ก็ต้องค่อนข้างสมบูรณ์แล้วนะ ไม่งั้นจะออกมาให้ทดลองใช้ทำไม ต้องการอะไรเหรอ” ทำนองนี้ค่อนข้างจะเยอะ

ก็…. มันไม่ใช่ “Beta” ปกติน่ะสิครับ …..


dev_beta.png

ครับ มันคือ “Developer Beta” ไม่ใช่ Public Beta หรือ Consumer Beta แล้วมันหมายความว่ายังไงล่ะ?

Developer Beta แปลตรงๆ ตัวล่ะครับ ว่านี่คือ​ “รุ่นทดลองสำหรับคนพัฒนาโปรแกรม” ดังนั้นจะมีสิ่งที่จำเป็นสำหรับคนพัฒนาโปรแกรมใช้งาน ก็คือ การรองรับการทำงานของ API หรือ SDK ใหม่ๆ โดยเฉพาะตัวที่มันเปลี่ยนไปจากเดิมหรือตัวที่มันเพิ่มขึ้นมาจากของเดิม

ที่บ่นๆ ว่า “โปรแกรมตัวนั้นตัวนี้แครช ตัวนั้นตัวนี้ค้าง” หรือแม้แต่ “โปรแกรมตัวนั้นตัวนี้หน้าตาเจ๊ง เละหมด” นั่นแหละครับ คนพัฒนาโปรแกรมเหล่านั้นจำเป็นที่จะต้องมีตัวทดสอบ จะได้แก้ปัญหาเหล่านี้แต่เนิ่นๆ โปรแกรมของพวกเขาจะได้ไม่ค้าง ไม่แครช ไม่เจ๊ง ไม่เละ เมื่อ iOS 7 จริงๆ มันออกมา

ที่บอกว่า “Beta 2 มันเจ๊งกว่า Beta 1 อีก แครชบ่อยกว่าอีก” นี่ก็เป็นเรื่องปกติที่เกิดขึ้นได้ เมื่อเราดูวัตถุประสงค์ของ Developer Beta ก็คือ การรองรับ API ใหม่และ SDK ใหม่ เพื่อให้ทดสอบโปรแกรมบน iOS 7 ได้มากขึ้น ดังนั้นจุดสนใจในการออกอัพเดทก็คือสิ่งเหล่านั้นก่อน ไม่ต้องสนใจว่า Mail.app ของเครื่องมันจะแครชหรือไม่แครช เพราะเราไม่ใช่คนทำ Mail.app อันนั้นเป็นหน้าที่ของคนทำ Mail.app จะต้องแคร์ เราแคร์แค่ว่ามันเอาไปทดสอบโปรแกรมเราได้มากขึ้น API มีบั๊กน้อยลง การทำงานของ SDK มันดีขึ้น เท่านั้นพอแล้ว

เรื่องความร้อน เรื่องการกินแบต ก็เป็นอีกเรื่องหนึ่งที่เป็นปกติของรุ่น Developer Beta ที่ผมเข้าใจว่าตอนนี้ยังไม่ได้รีดประสิทธิภาพตรงนี้แต่อย่างใด ยังคงไม่ได้ถูกสร้างมาแบบ Optimize สำหรับเรื่องนี้เลย ตรงกันข้ามครับ มันถูกสร้างมาให้ “เหลือข้อมูลสำหรับตรวจสอบพฤติกรรมของแอพและระบบ” มากที่สุด ดังนั้นมันจะต้องกินแบตเป็นเรื่องปกติ เพราะข้อมูลตรงนี้จะช่วยให้ทางคนทำ iOS รีดประสิทธิภาพของมันได้สูงสุด อะไรทำนองนั้น

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

แต่ผมก็ต้องใช้ Developer Beta กับเครื่องที่วางไว้ในออฟฟิศครับ อย่างน้อยๆ ผมจะต้องแก้แอพพลิเคชั่นเป็นสิบตัว บางตัวแก้น้อยหน่อย ก็ต้องทำกราฟิกส์ใหม่เป็นบางส่วน บางตัวแก้มากหน่อย อาจต้องรื้อเขียนใหม่เลย เพราะ API เก่ามันถูก “ยกเลิกการใช้งาน”​​ (นั่นคือ ใช้งานมาได้ตลอด ตั้งแต่ iOS 3, 4 แต่พอมาเป็น 7 ปุ๊บ เจ๊งทันที … ดีหน่อยก็โปรแกรมไม่แครช แต่มันไม่ทำงานเลย แย่หน่อยก็แครชพังไปเลย) … ที่หนักที่สุด ก็คือ “ต้องล้างบาง แก้กันใหม่หมด ออกแบบการใช้งานใหม่หมด”

ขอยกตัวอย่างแอพที่ทีมงานเป็นคนออกแบบและพัฒนาหน่อย แอพตัวนี้เป็นตัวแรกที่ลองเปิดเลย ด้วยความกลัวว่า “งานใหญ่” จะเข้า … ก็ยังโชคดีที่งานเข้าเหมือนกัน แต่เป็นงานไม่ใหญ่เท่าไหร่ แค่ต้อง “รื้อการจัดวางใหม่ทุกหน้าที่มีภาษาไทย” (ตายล่ะ ภาษาไทยทุกหน้าเลย)

ตัวอย่างแอพที่จะต้องแก้ไขเล็กน้อย เพราะ Font ภาษาไทยแบบ Default เปลี่ยน ทำให้ Spacing ทุกอย่างเปลี่ยนหมด สิ่งที่เคยออกแบบมาแล้วพอดีเป๊ะ ก็อาจจะขาดๆ เกินๆ ได้เยอะ เช่นกรณี “กรุณารอสักครู่” นี้เป็นต้น


rdsmarttax.jpg
แอพ RD Smart Tax ที่มีปัญหาเรื่องภาษาไทยเพราะ Spacing เปลี่ยน

อีกตัวหนึ่ง ที่หลายคนรู้จักกันดี … ก็เป็นตัวอย่างแอพที่จะต้องแก้ Layout เช่นเดียวกัน เพราะขนาดของ User Interface Elements ต่างๆ กันเปลี่ยนไปเยอะ ดังนั้นแอพหลายต่อหลายตัวที่มีการทำกราฟิกส์เพิ่มเติมเพื่อเสริม Look & Feel และ “สั่งตัด” ให้เข้ากับ UI Elements เก่า (ซึ่งไม่เคยเปลี่ยนเลยตั้งแต่ออก iPhone มา มันก็สมเหตุผลอยู่ที่จะทำแบบนั้น) ก็จะงานเข้ากันยกใหญ่ เพราะว่าจะต้องรื้อกันเยอะมากมาย


fblayout.jpg
แอพ Facebook ที่มีปัญหากับ User Interface Layout เพราะการเปลี่ยน UI Elements

ผมอยากให้คนที่โหลด Developer Beta ไปใช้งานทั่วไปเข้าใจครับ ว่า Developer Beta มันคือ Developer Beta ไม่ใช่ Consumer Beta หรือ Public Beta มันมีปัญหาเยอะแยะมากมาย แต่นั่นเพราะว่ามันออกมาให้คนทำโปรแกรมใช้ทำโปรแกรมครับ เราแค่ต้องทดสอบโปรแกรม ทำโปรแกรมใหม่ แก้โปรแกรมกันเยอะครับ เราสนใจกันแค่นั้นจริงๆ … ใครใช้งานในชีวิตประจำวันก็ต้องทำใจยอมรับและเรียนรู้ที่จะอยู่กับปัญหาต่างๆ มากมายได้เอง ไม่ว่าจะเป็นการพกที่ชาร์จแบตพกพา หรือการพกอุปกรณ์ทำความเย็น หรือเลิกใช้แอพหลายตัวที่เคยใช้ประจำ ฯลฯ

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


หลังจากที่บทความนี้พิมพ์ไปแล้ว คุณ Prem Sichanugrist ได้นำไปแชร์ใน Facebook พร้อมเขียนเพิ่มในส่วนที่ผมเห็นว่าสำคัญมาก เลยขอ Quote ตรงๆ เลย เกี่ยวกับเรื่อง NDA

จะว่าไปนึกถึงอีกอย่างที่ อ. ไม่ได้พูดคือเรื่อง NDA หรือ Non-Disclosure Agreement (สัญญาห้ามเปิดเผยข้อมูล) ซึ่งก่อนที่จะดาวน์โหลด iOS 7 beta นี่ ทุกคนจะต้องยอมรับข้อตกลงนี้ ว่าจะไม่เปิดเผยข้อมูลฟีเจอร์ หรืออัพโหลดภาพหน้าจอ ก่อนที่ final version จะถูกเปิดตัว ซึ่งถ้าลองดูๆ แล้ว บล็อกเกอร์และคนดังในไทยดูไม่สนใจกันเลย เห็นทั้งทวีตถึง ทั้งถ่ายรูป ทั้งอัพภาพหน้าจออยู่บ่อยๆ เหมือนจะอวดว่าได้ใช้ OS ใหม่ ไม่เหมือนกับบล็อกเกอร์ต่างประเทศ ที่เคารพข้อตกลงอันนี้ และแทบจะไม่พูดถึงข้อมูลนอกเหนือจากที่ทาง Apple เปิดเผยออกมาบนเว็บไซต์ หรือในงาน WWDC เลย

ปล. จริงๆ ผมรับได้นะครับสำหรับการเขียนข่าวที่เป็นอารมณ์ “ข่าวรั่ว” ของทั้งเว็บไทยและเว็บต่างชาติ แต่ให้จบบนนั้นก็พอครับ ผมว่าถ้าทวีตประสบการณ์การใช้งานเป็นชีวิตประจำวันนี่ มันเกินไปหน่อย -_-”

นั่นแหละครับ ใช้ Developer Beta เรื่องมันเยอะ ถ้าไม่ใช่คนทำโปรแกรม ถ้าไม่มีโปรแกรมต้องทดสอบ ก็อย่าเพิ่งใช้ดีกว่าครับ