Tuesday nerD
สัปดาห์นี้เอาข้อมูลมาแปะไว้กันลืม
เนื่องจากเมื่อวานมีน้องคนนึงมาถามเรื่องการทำธีมสำหรับไอโฟน
ก็เลยฉุกคิดขึ้นมาได้ว่า iPhone 4 หน้าจอมันละเอียดมากขึ้น
หากทำธีม แก้ไอคอน มันจะต้องเปลี่ยนขนาดไอคอน หรือทำอะไรบ้าง
เรื่องแบบนี้ อาจไม่ต้องไปค้นหาข้อมูลมากมายนัก
ก็ลองแกะแอพมาตรวจสอบเสียเลย
โดยหยิบเอาแอพ iMovie มาแกะ
iMovie นั้นระบุ requirement ไว้ว่าสำหรับ iPhone 4 และ iOS 4.0 ขึ้นไป
ถ้าไม่นับเรื่องการแฮคพยายามติดตั้งลงใน iPhone 3G/3GS ที่เป็น iOS 4.0
แอพนี้ก็น่าจะเป็นตัวแทนสำหรับการศึกษาได้ดี
ซึ่งจริงๆ อาจใช้วิธี jailbreak iPhone 4 แล้วหยิบเอา built-in app มาแกะก็ได้
แต่ว่าแมวดื้อเองยังไม่ได้ซื้อ iPhone 4 ก็เลยไม่สามารถนำมาศึกษาได้
จากการแกะไฟล์ออกมาพบว่า
• กราฟฟิคต่างๆ ของแอพนั้นยังคงเป็นไฟล์ png อยู่เช่นเคย
เมื่อนำไฟล์ออกมาแล้ว ต้องทำการ fix png แบบเดียวกับ iOS ก่อนหน้านี้
ไม่เช่นนั้นจะไม่สามารถเปิดด้วยโปรแกรมดูรูป หรือตกแต่งรูปได้
• หลังจาก fix png แล้ว
หากนำไปเปิดด้วยโปรแกรมดูรูปต่างๆ จะพบว่าสีนั้นไม่เหมือนบนหน้าจอไอโฟน
ซึ่งก็เป็นเรื่อง color channel เช่นเดิม
หากใช้โปรแกรม photoshop ก็สามารถเปลี่ยน channel mixer red/blue สลับกัน
ก็จะได้สีที่เหมือนกับบนหน้าจอไอโฟน
• กราฟฟิคต่างๆ จะมีอยู่ด้วยกันสองขนาด
โดยสังเกตจากชื่อไฟล์
ยกตัวอย่างเช่นไฟล์ไอคอน
จะมีชื่อเป็น icon.png และ icon@2x.png
ซึ่งยังไม่แน่ใจว่า iOS จะจัดการเองทั้งหมดหรือเปล่า
ในการเลือก icon เพื่อการแสดงผลเอง
(ยังไม่ได้ศึกษา)
เบื้องต้นไฟล์ icon.png
จะมีคุณสมบัติเช่น iOS ก่อนหน้านี้
มีขนาด 57 x 57 พิกเซล
เวลาทำธีม อาจทำไอคอนได้ใหญ่ถึง 65 x 65 พิกเซล
ส่วนไฟล์ icon@2x.png
มีขนาด 114 x 114 พิกเซล
เดาว่า.. เวลาทำธีม อาจทำไอคอนได้ใหญ่ถึง 120 x 120 พิกเซล
คำถามต่อไปก็คือ
เราต้องทำไอคอนทั้งสองขนาด ในทุกๆ แอพที่เราต้องการเปลี่ยนไอคอนเลยหรือไม่
อันนี้ก็ยังไม่ได้ศึกษาอีกเช่นเดียวกัน
(เพราะยังไม่มี iOS 4 ใช้งานกับเค้า)
ฮือ..ฮือ..เศร้า
ซึ่งก็คงต้องดูว่า winterboard บน iOS 4 นั้นทำงานอย่างไร
มีการเลือกไฟล์ไอคอนโดยอัตโนมัติหรือไม่
หรือว่ากำหนดเป็นไฟล์ไป
แต่เบื้องต้น ทำไฟล์ใหญ่ไว้ก่อน ย่อให้เล็กน่าจะง่ายกว่า
มา คอนเฟิร์มว่า icon@2x.png นั่น iOS 4 จะเป็นคนจัดการเองค่ะ
รวมถึง ทุกๆ Image file ที่เหลือภายใน App ด้วยค่ะ ใช้วิธีเดียวกันหมดเลยค่า
แอบย่องมาดูคนคุยกันดึกๆ 😕
ขอบคุณน้องเม่นมากครับ กำลังจะนอน ต้องลุกขึ้นมาต่อเลย ค้างคาใจ ฮ่าๆๆ
ในส่วนของการแสดงผลของ iOS 4 ไม่น่าจะมีอะไรเกินคาดเดาสักเท่าไหร่ มีติดที่รายละเอียดปลีกย่อยอยู่บ้างเล็กน้อย เช่นการแสดงผลบน iOS 4 สำหรับ iPhone 3G/3GS และ iOS 4 สำหรับ iPhone 4 ซึ่งแน่นอนว่า resolution ไม่เท่ากันแน่ๆ ซึ่ง “เดาต่อ” อีกว่า iOS 4 สำหรับ iPhone 3G/3GS จะดึงเอา icon.png ขึ้นมาแสดงผล ส่วน iOS 4 สำหรับ iPhone 4 จะดึงเอา icon@2x.png ขึ้นมาแสดงผล
คำถาม: บน iPhone 4 หากแอพไหนมีแค่ icon.png แต่ไม่มี icon@2x.png ก็จะดึงเอา icon.png ขึ้นมาแสดงผล?? หรือในทำนองกลับกัน บน iPhone 3G/3GS หากแอพไหนมี icon@2x.png ก็จะดึงขึ้นมาแสดงผล แต่จะจัดการปรับขนาดให้เองโดยอัตโนมัติ??
ประเด็นที่คิดตามมา ก็คือเรื่องการเปลี่ยนธีมโดยใช้ winterboard ครับ โดยมองเฉพาะมุมของนักพัฒนาธีมนะครับ ว่าเราควรพัฒนาธีมให้เป็นสำหรับ iPhone 3G/3GS แยกจาก iPhone 4 ไปเลย หรือว่าควรจะทำรวมเป็นธีมเดียวกันไป ในกรณีที่ทำแยกกันไปเลย ก็คงจบตรงนั้น แค่มีขั้นตอนเพิ่มขึ้นมาเล็กน้อย (สำหรับนักพัฒนาธีม) แต่ไม่ต้องคิดอะไรมาก
หากแต่ทำเป็นธีมเดียว..
สำหรับธีม iPhone 4 ถ้าเป็นแอพใหม่ๆ ที่ตัวแอพเองทำมาทั้ง icon.png และ icon@2x.png ก็ไม่น่าจะยุ่งยากอะไร เราเพียงทำไอคอนที่เป็น icon@2x.png ก็น่าจะพอ winterboard ก็จะจัดการที่เหลือให้เอง แต่ถ้าเป็นแอพที่ไม่ได้ทำไอคอนใหม่ มีเพียงแค่ icon.png เราควร
1.ทำเป็น icon.png
เพื่อให้ winterboard เข้าไปจัดการแทนที่ไฟล์เดิม เพราะไหนๆ ถ้าไม่มี icon@2x.png มันก็หยิบเอา icon.png ขึ้นมาแสดงผลอยู่แล้ว
2.ทำเป็น icon@2x.png
ก็ไหนๆ มันไม่มี ก็ทำเพิ่มใส่เข้าไปเลยแล้วกัน แล้วจะมีปัญหาในการทำงานไหม เนื่องจากแอพไม่ได้ทำ icon@2x.png มาตั้งแต่แรก
ความแตกต่างย่อมมีไม่มากก็น้อย นอกเหนือจากเรื่องการทำงาน หากจะมองไปถึงธีมสำหรับ iPad อีกที่ไอคอนมีขนาดไอคอน 72×72 พิกเซล และเมื่อมองใน theme scene เราจะพบว่ามีหลายๆ ธีมที่ทำแบบครบเซต คือมีไอคอนแอพต่างๆ เป็นร้อย หากต้องทำไอคอนเป็น 2-3 เวอร์ชัน สำหรับ iPhone/iPhone4/iPad (ในแพคเกจเดียว) ก็อาจไม่เหมาะสมสำหรับ user ที่ต้องโหลดผ่าน repository
อย่างไรก็ตาม ล้วนเป็นแต่การคาดเดา เพราะไม่มีทั้ง iOS 4 และ iPhone 4 รวมถึงยังไม่ทราบการทำงานของ winterboard (ซึ่งอาจจะฉลาดกว่าที่เราคิดก็ได้)
😛 😛
สำหรับการทำธีมเม่นคิดว่าทำทั้งสองขนาดดีกว่าค่ะ เพราะว่าในกรณี เครื่องรุ่นเก่าถึงจะมี icon@2x.png แต่ก็ไม่ได้หยิบมาใช้งานนะคะ (เท่าที่เม่นจำได้) ถึงจะเป็นธีมแฮก หรืออะไรก็ตามก็น่าจะนำพื้นฐานของแอปเปิ้ลไปต่อยอดนะคะ
ปล. ลืมไปเลยว่ามาคอมเม้นท์ดึกไปหน่อย แต่ปกติเม่นอ่าน feed ก่อนนอนหน่ะค่ะ เจอประเด็นนี้เลยอดมาแจมไม่ได้
ขอบคุณน้องเม่นอีกรอบครับ ช่วงนี้เฉยๆ กับ iOS 4 + iPhone 4 แล้ว รอนานไปหมดความตื่นเต้นอยากจะศึกษาหรือเล่นอะไรแล้ว ฮ่าๆๆ หันไปบ้าถ่ายรูปอยู่ 🙄