06 December 2011

"Why Android UI is so lag?" Explained.

ผมเป็นคนนึงที่รู้สึกขัดใจกับ UI (User Interface) ของ Android OS ถึงกระตุก ไม่ลื่นไหลเหมือน iOS หรือ Windows Phone ได้ถึงเพียงนี้ มันเป็นต้นเหตุของความไม่ประทับใจทั้งปวงที่ผมมีต่อมือถือ Android และผมมักจะบ่นให้เพื่อนที่ใช้ Android ฟังเสมอๆ

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

คนแรกคือ  อยู่ในทีมเขียน Framework ออกมาบอกรายละเอียดทางด้านเทคนิก (เทคนิกจ๋ามากๆ ถ้าไม่ได้ศึกษาด้านนี้มาระดับหนึ่งอาจจะงงได้) ผมอ่านแค่คร่าวๆ
https://plus.google.com/105051985738280261832/posts/2FXDCz8x93s

คนที่สองคือ  เป็นอดีตเด็กฝึกงาน (Intern) อยู่ในทีม Android ไม่มีลงเรื่องทางเทคนิกมาก ใครไม่ได้เรียนทางคอมฯ แนะนำให้อ่านอันนี้นะ มีอธิบายถึงทางแก้ไขด้วย
https://plus.google.com/100838276097451809262/posts/VDkV9XaJRGS

สรุปสาเหตุหลัก ได้คร่าวๆ แบ่งเป็นสี่ข้อ

  1. UI Process - ของ Android จะทำงานใน Normal Priority แถมเป็น Thread แบบปกติเทียบเท่ากับ App หรือการทำงานส่วนอื่นๆ เมื่อเปรียบเทียบกับ iOS ที่ทำงานแบบ Real-time Priority ใน UI Thread เฉพาะ ซึ่งจะทำงานได้เร็วกว่ามาก แต่เมื่อผู้ใช้ทำงานกับ UI การทำงานส่วนอื่นๆ เช่น การเรนเดอร์เว็บเพจก็จะหยุดเพื่อมาทำการเรนเดอร์ ซึ่งตรงข้ามกับ Android ที่จะทำงานหลายๆ อย่างไปพร้อมกันได้ แบบ "พอใช้" (ซึ่งก็หมายถึงกระตุกนั่นแหละ -*-)
  2. Hardware Acceleration - เมื่อก่อนสามารถเรียกให้ทำงานได้แค่ Native App UI อันนี้แก้ไขแล้วใน Android 4.0 Ice Cream Sandwich
  3. Garbage Collection (GC) - อันนี้เป็นปัญหาด้านประสิทธิภาพที่ Dalvik VM ซึ่ง Android รันอยู่ ในบางสถานการณ์ GC ก็จะทำงาน เช่นใน Photo Gallery ทำให้การแสดงผลหยุดชะงัก ทำให้ต้องจำกัดการแสดงผลไว้ที่ 30fps จาก 60fps
  4. UI Views - Android จะต้องโหลด UI View ใหม่ทุกครั้งที่ทำการเรียกใช้ ตรงข้ามกับ iOS ที่เก็บทุก views ไว้ในหน่วยความจำตั้งแต่แรก (อันนี้เข้าใจว่าเป็นผลมาจากประสิทธิภาพการจัดการหน่วยความจำของ byte code ของ Android ที่ไม่ดีเท่ากับ native code ของ iOS, WP และอื่นๆ)
โชคดีที่สามข้อหลังสามารถแก้ไขได้ หรือมีวิธีอ้อมที่พอจะบรรเทาได้ แต่มันก็ไม่มีทางที่จะทำให้ UI ใช้งานได้ไหลลื่นเท่า iOS/WP เพราะตัว UI ของ Android ถูกเขียนขึ้นมาเพื่อแข่งกับ BB ก่อน แต่พอ iPhone เปิดตัวมา ทำให้ต้องใส่ Touch UI เพิ่มเข้าไป โดยที่ไม่ได้เขียนขึ้นมาใหม่ ทำให้การใช้งานมีปัญหาอย่างที่เห็นกัน

ทางเดียวที่จะแก้ไขอาการนี้ได้แบบถาวรคือการรื้อ code ส่วน UI ออกมาเขียนใหม่ทั้งหมด ซึ่งจะเกิดปัญหาตามมาหลายอย่าง 

การพัฒนาส่วนอื่นๆ ต้องหยุดชะงัก, ต้องสร้าง compatibility mode ขึ้นมาสนับสนุน App เก่าทั้งหมด และนักพัฒนาต้องเขียน App ตัวเองใหม่เพื่อใช้งาน UI ใหม่

ยังไงก็ตาม ผมเชื่อว่าการแก้ปัญหานี้ ไม่ว่าจะใช้เวลานานแค่ไหน แต่สุดท้ายแล้วจะทำให้ผมมอง Android ในแง่บวกอีกครั้ง

แถมรีวิว Android 4.0 ICS รุ่นล่าสุดมาให้ดูด้วย เผื่อสงสัยว่าดีขึ้นขนาดไหนแล้ว

เทียบกับ Android 1.5 Cupcake


ปล. สเปกของสองเครื่องต่างกันเยอะมากๆๆๆ (Samsung Galaxy Nexus กับ HTC Magic) อาจจะเปรียบเทียบได้ไม่ดีเท่าไหร่ แต่เอาให้เห็นคร่าวๆ ว่า hardware ต่างกันขนาดนี้ กระตุกต่างกันแค่ไหน


07 July 2011

ปิดหู ปิดตา แต่ก็ยังคิด

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

ผมนึกถึง จีน vs. อเมริกา ที่เรียกว่าเป็นสองขั้วอำนาจแบบกลายๆ โดยจีนแทนที่สหภาพโซเวียตที่ล่มสลายไป รัฐบาลจีนนั้นทำการปิดกั้นสื่อ และการแสดงออกของประชาชนอย่างจริงจัง ส่วนอเมริกานั้นตรงกันข้าม (แท้จริงแล้วก็มีบ้าง แต่เทียบกับจีนก็ถือว่าน้อยมาก) คำถามคือ แล้วทำไมประชาชนของทั้งสองชนชาติถึงยังสามารถคงความเป็นประเทศไว้อยู่ได้ ทั้งที่ทางฝั่งจีน ก็ควรจะมีการปฏิวัติเกิดขึ้น แน่นอนว่าเคยเกิดมาแล้วที่จตุรัสเทียนอันเหมิน ส่วนสหรัฐอเมริกาก็ควรจะแตกเป็นประเทศเล็กประเทศน้อยไปแล้ว ด้วยความที่ประชาชนควรจะมีความเห็นแตกต่างกันแทบจะนับไม่ถ้วน

คำถามนั้นน่าสนใจหาคำตอบมาก เพราะคงจะเกี่ยวพันทั้งทางด้านการเมือง การปกครอง เศรษฐกิจ ระบบสังคม ศาสนา วัฒนธรรม แต่แน่นอนว่ามันลึกซึ้งเกินไป (ฮา) หันกลับมามองที่ประเทศไทยแทนดีกว่า ใกล้ตัว

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

สถานการณ์แบบนี้ผมคิดว่ามันจะยิ่งทำให้เกิดการพัฒนากระบวนการคิดแบบที่ไม่ฟังความเห็นต่าง จนไปถึงขั้นเกิดความขัดแย้งในระดับใหญ่ แบบที่เกิดขึ้นกับกีฬาสีในประเทศขณะนี้

อย่างนี้ควรจะเรียกว่าประเทศนี้ปกครองด้วยระบอบประชาธิปไตยได้หรือไม่? ในเมื่อสิทธิขั้นพื้นฐานในการเสพสื่อยังไม่มี!

01 July 2011

On the Verge of Destruction!

ผู้ชายคนนี้เค้าเล่นเบส cover เพลงของ X Japan ครับ


Sadistic Desire



เล่นแค่เบสนะ แต่ทำไมมันมันส์ได้ขนาดนี้!


紅 (Kurenai)



สุดยอด!!! มือเบสจริงๆ อย่าง ไทจิ หรือ ฮีท ยังเล่นได้ไม่เท่านี้เลย

12 May 2011

(ลิข)สิทธิ์อยู่ที่ใคร?


ก่อนออกจากออฟฟิศวันนี้ ก็มีโอกาสถกกับพี่ Graphic designer กับหัวหน้าเรื่องลิขสิทธิ์ของภาพถ่ายมาครับ น่าสนใจเลยเอามา note ลงบล็อก

มันเริ่มจากว่า วันนี้เป็นหัวหน้าช่วยพี่ designer เลือกรูปจากเว็บไซต์ gettyimages ซึ่งเป็นเว็บคลังรูปภาพสำหรับการนำไปใช้เชิงธุรกิจโดยเฉพาะ (หลายๆ คนน่าจะเคยเห็นรูปพร้อมเครดิตในเว็บไซต์ข่าว) สิ่งที่ผมสะดุดตามากก็คือราคาของรูปภาพ $49 สำหรับรูปขนาดเล็ก ที่เห็นรู้สึกจะประมาณ 400 pixel ไม่น่าเชื่อว่ารูปภาพนักกีฬายิมนาสติกจะแพงถึงขนาดนี้ เลยถามหัวหน้าว่าทำไมมันถึงแพงนัก? ก็ได้รับคำตอบว่าเว็บนี้เค้าจ่ายค่าลิขสิทธิ์ให้นายแบบในภาพ เราจึงต้องจ่ายเพื่อนำภาพนั้นมาใช้


รูปภาพประกอบจาก Flickr โดย chi3ell55


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

หัวหน้าก็ยกตัวอย่างขึ้นมาเสริมว่า เมื่อก่อนเค้าเคยทำงานบริษัทด้าน Graphic Art แล้วที่บริษัทจะกำชับมากว่าห้ามไม่ใช้ใช้ logo หรือ ส่วนใดส่วนหนึ่งของ logo สินค้าต่างๆ เพราะอาจจะโดนฟ้องได้ สิ่งที่หัวหน้ายกตัวอย่างยิ่งทำให้ผมแปลกใจหนักขึ้นไปอีก คนที่ฟ้องเราคือเจ้าของ logo นั้นๆ นี่ ไม่ใช่คนที่ออกแบบ เพราะบริษัทก็ได้ซื้อ (จ้างให้ออกแบบ) logo นั้นมาอีกต่อแล้ว

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

สรุป ถ้าเราจะซื้อรูปภาพซักรูปนึงเพื่อนำมาใช้ในงานของเรา (รวมถึงอย่างอื่นด้วย) เงินที่เราจ่ายให้ไปนั้นจะไปอยู่ที่คนที่ถือครองลิขสิทธิ์ ไม่ได้หมายถึงตัวต้น (source?) ของลิขสิทธิ์นั้น

ปมที่ผมคิดอยู่ก็คือ ถ้าอยู่ดีๆ มีคนมาถ่ายภาพเรา เรา (ในฐานะเจ้าของลิขสิทธิ์ในหน้าตา) ก็สามารถเก็บเงินค่าลิขสิทธิ์จากคนๆ นั้นได้ แน่นอนว่าสามารถบังคับให้เค้าลบรูปของเราออกได้เช่นกัน ถ้าหากเค้าไม่ยอมจ่าย

ไม่ยักกะเคยเห็นใครทำ...สิทธิ์ของเราแท้ๆ

ปล. วันนี้ได้รู้จักเว็บ craigslist.com เว็บไซต์ประกาศขายทุกอย่าง ขายตัวก็มี...ขายตัวให้กับรักแท้...

03 April 2011

5 Days with my Mozart



ซื้อ HTC Mozart มา 5 วันแล้วครับ จริงๆ อยากซื้อ Dell Venue Pro มากกว่า แต่ Dell ไม่ยอมเอาเข้ามาขายในไทยซักที เลยทนไม่ไหว จัด Mozart มาแทน

เข้าเรื่องเลยดีกว่า อยากจะมาเล่าข้อดี ข้อด้อย ของเจ้า Mozart รวมถึง Windows Phone 7 ด้วย เผื่อใครนึกครึ้มอยากลองของใหม่จะได้เอามาประกอบการตัดสินใจ

ข้อดี
- เร็วส์ เร็วมาก น่าจะพอๆ กับ iPhone 4 รวมถึงการตอบสนองต่อนิ้วที่ดีมากๆ เช่นกัน
- ฝัง Facebook เข้ามาในระบบเลย รู้สึกติด Facebook ขึ้นมา 300%
- ขนาดเครื่องพอดีมือ จับได้กระชับ นิ้วโป้งพอจะเอื้อมถึงขอบจอด้านบนได้
- จอ SLCD
- เสียง ถือว่าใช้ได้ แต่ลำโพงอยู่ข้างหลัง เวลาดูวิดีโอแล้วจะไม่ค่อยชัดเท่าไหร่ ต้องเสียบหูฟังแทน
- Live Tiles ใช้งานง่ายมาก ง่ายขนาดที่ว่าไม่ต้องสอนแม่ให้เล่นเลย (ตอนเอา iPod ให้ลองยังต้องบอกนิดๆ หน่อยๆ)
- Panorama View มันคือจุดสูงสุดของ App UI! สุดยอดมาก
- Toast Notification น่ารำคาญน้อยกว่าของ iOS และให้รายละเอียดมากกว่าของ Android
- Office Mobile ใช้งานได้ดีเหมือนสมัย WM6.5
- คีย์บอร์ด (ยกเว้นภาษาไทย) ตอบสนองได้ไวดี ไม่มีหน่วง และระบบเดาคำดีมาก ไม่น่ารำคาญเหมือน iOS

ข้อด้อย
- คีย์บอร์ดภาษาไทย เป็นตัวที่ hTC ลงมาให้ การจัดเรียงตัวอักษรพยายามจะให้คล้ายแบบมาตรฐาน (Kedmanee) แต่ยังแย่กว่ามาก เพราะมีคีย์ 3 ระดับ (normal, shift, upper shift) พิมพ์ค่อนข้างลำบาก
- (อัพเดท) สนับสนุนการอ่านภาษาไทยก็จริง แต่ยังตัดคำไทยไม่ได้
- ซื้อ App + Game ไม่ได้ เพราะยังไม่สนับสนุนบัตรเครดิตในประเทศไทย
(อัพเดท: ซื้อ app ได้แล้ว โดยใช้ที่อยู่ปลอม ตอนนี้ผมอยู่ New York ฮ่าฮ่า)
- (อัพเดท) เกมค่อนข้างแพงกว่า Mobile platform อื่น ยิ่งมีแปะหัวว่า Xbox Live นะ ราคาคูณ 2
- Universal Search ตอนนี้ยังเป็นแค่ Bing ในหน้าหลัก + IE ถ้าอยู่ใน People Hub ก็จะค้นหาในนั้น ถ้าเข้า store ก็จะค้นหาใน store เรียกได้ว่าแยกกันของ App ใคร App มัน สับสนเล็กน้อยในตอนแรก
- App หลายตัวยังไม่มีตัวเลือกให้ลบ Cache เปลืองที่พอสมควร
- หน้าเมนู App ยังจัดลำดับเองไม่ได้ บังคับเรียงตามตัวอักษรเท่านั้น
- Multitasking/ Fast App-switching จริงๆ แล้วก็ไม่ได้รู้สึกสำคัญอะไร แต่มีก็สะดวกกว่าไม่มีแหละ

- (อัพเดท) Bing ค้าหาเป็นภาษาไทย กากมาก ถึง มากที่สุด

ผมอาจจะมาเพิ่มเรื่อยๆ เพราะยังไช้งานไม่ได้ลึกซึ้งเท่าไหร่ แต่โดยรวมแล้วก็พอใจกับ WP7 ตัวแรก
ให้คะแนน 7/10
เหลือแค่รอ Microsoft ประเทศไทย เพิ่มการสนับสนุนให้กับคีย์บอร์ด

ปล. รูปภาพจาก htc.com

27 March 2011

Windows 8 for tablet?

ตลาดแท็บเล็ตกำลังร้อนระอุขึ้นมาทุกที แต่ละบริษัทก็แข่งกันเปิดตัว OS ที่ออกแบบมาสำหรับแท็บเล็ต ไม่ว่าจะเป็น Apple ที่เปิดตัวออกมาเป็นเจ้าแรก ตามมาด้วย RIM HP และ Google ก็แต่ละเจ้าก็พยายามจะแย่งชิ้นเค้กจากเจ้าตลาดอย่าง iPad เห็นจะมีแต่ยักษ์ใหญ่แห่งวงการไอทีอีกเจ้าที่ยังไม่เห็นทีท่าว่าจะขยับตัวเข้ามาลงแข่งในตลาดนี้เท่าใดนัก


ข่าวที่ออกมา จุดยืน Microsoft ต่อตลาดแท็บเล็ตค่อนข้างที่จะแตกต่างจากบริษัทอื่นๆ คือจะมองว่า แท็บเล็ต ควรจะเป็น โน้ตบุก "ขนาดย่อส่วน" ไม่ใช่ มือถือที่ขนาดใหญ่ขึ้น อย่างในงาน CES2011 ที่มีการโชว์ Windows 7 ที่ทำงานบน CPU ARM ซึ่งผมค่อนข้างจะเห็นด้วยกับแนวคิดนี้ของ Microsoft


แนวคิด โน้ตบุกขนาดย่อส่วนนี้ จุดดีคือ การใช้โปรแกรมร่วมกับ Windows บนพีซีที่มีนับล้านโปรแกรมได้เลย การสนับสนุนอุปกรณ์ต่อพ่วงต่างๆ ที่ Windows เองก็ทำได้ดีอยู่แล้ว สองจุดเด่นนี้เรียกได้ว่าเป็น Ultimate Killing Features เพราะ eco system ของ Windows นั้นใหญ่ที่สุดในตลาดผู้บริโภค

แต่การนำ Windows มาลงในแท็บเล็ตก็ใช่ว่าจะไม่มีข้อเสีย ที่สำคัญ มีเยอะเสียด้วย! อย่างแรกเลยคือ "ส่วนการแสดงผล" (UI) Windows นั้นถูกออกแบบมาเพื่อใช้กับ เมาส์ และคีย์บอร์ด ถึงแม้ใน Windows 7 จะเริ่มสนับสนุนการใช้งานโดยใช้นิ้วสัมผัสบ้าง แต่ปุ่มส่วนใหญ่ก็ยังเล็กเกินไปสำหรับการใช้งานด้วยนิ้ว ไหนยังจะต้องให้โปรแกรมแต่ละตัวออกแบบ UI ใหม่อีก ลงท้ายก็คงหนีไม่พ้นการออกแบบใหม่ยกชุด หรือไม่ก็ทำ UI ออกมาครอบสำหรับแท็บเล็ต


อย่างที่สองคือมัน "อ้วนมาก" แค่ติดตั้งลงไปในเครื่องก็กินพื้นที่ไปหลาย กิ๊กกะไบต์ แล้วโปรแกรมแต่ละตัวก็ใหญ่มาก สิ่งที่ตามมาก็คือ "มันหนัก" ตลอดมา Windows เป็น OS ที่จัดการด้านทรัำยากรของระบบได้ค่อนข้างแย่ มี services เบื้องหลังทำงานอยู่มากเกินความจำเป็น โปรแกรมเกือบทุกตัวต้องการ hardware ประสิทธิภาพสูง การกำหนดประสิทธิภาพขั้นต่ำของ hardware ที่จะนำมาใช้ก็ทำไม่ได้ เพราะจะกลายเป็นว่าไปทำลาย eco system ที่มี


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


กว่าที่เราจะได้เห็นตัวจริงของแท็บเล็ตที่ Microsoft จะเอามาลงสมรภูมิอันดุเดือดนี้ ก็ปีหน้าโน่น อาจจะช้าเกินไปหรือไม่ ก็ต้องรอดูว่า Microsoft จะแก้ปัญหา และแก้เกมได้ดีรึเปล่า ส่วนตอนนี้ผมก็รอ iPad 2 ต่อไปละครับ ฮ่าฮ่าฮ่า