ท่านผู้ใช้ทั้งหลายคงได้เห็นความเปลี่ยนแปลงของการแสดงผลเมื่อเราเรียกดูรูปภาพใน Facebook กันไปแล้วนะครับ ซึ่ง Facebook ก็ได้เปิดเผยที่มา แนวคิด และการสร้างระบบ Photo Viewer นี้ไว้ใน Facebook Engineering ซึ่งผมอ่านดูแล้วเห็นว่าน่าสนใจ และน่าจะแปลมาให้ได้อ่านกัน โดยมีรายละเอียดอย่างย่อดังต่อไปนี้ครับ
เกริ่นนำ
- Photo เป็นระบบหลักระบบหนึ่งของ Facebook ซึ่งเป็นส่วนที่มีโค้ดที่เก่าแก่ตั้งแต่ยุคแรก ๆ และก็แก้ไขต่อเติมกันเรื่อยมา ไม่ได้ยกเครื่องกันเสียที
- มีปริมาณการอัพโหลดรูปภาพมากกว่า 100 ล้านภาพต่อวัน
- หลังจากที่ได้ปรับเปลี่ยนระบบ Photo ใหม่แล้ว มีผู้ใช้เปิดดูรูปมากขึ้นกว่าเดิม 5% ซึ่งเท่ากับการเพิ่มขึ้นประมาณ 1,000 ล้านภาพต่อวัน
ปัญหาของระบบเก่า
- การโหลดภาพทำได้ช้า และในหลาย ๆ ครั้งก็ทำให้เครื่องหรือเบราว์เซอร์ค้างไปเลย
- การเปิดดูรูปจากหน้ารวมข่าว (News Feed) ทำให้เเบราว์เซอร์เปิดแท็บเพิ่มหรือเปิดเป็นหน้าใหม่ ทำให้หน้าที่ดูอยู่เดิมหายไป ซึ่งผู้ใช้ส่วนใหญ่ต้องการกลับไปยังหน้าเดิมที่อ่านค้างไว้หลังจากดูรูปเสร็จ
- การอ่านคอมเม้นต์ใต้รูปลำบากเกินไป โดยขั้นตอนที่ทำคือ ดูรูป เลื่อนลงเพื่อดูหัวข้อของรูปและคอมเม้นต์ เลื่อนกลับขึ้นมาเพื่อเปลี่ยนรูป และก็ทำซ้ำเช่นเดิมกับรูปต่อไป
- จาวาสคริปต์ที่ใช้ในการโหลดและเก็บรูปบนเครื่องชั่วคราว (cache) นั้นหนัก ซับซ้อน อันเป็นผลมาจากการเปลี่ยนแปลงต่อเติมที่สะสมมานาน เพื่อให้ทันกับความเปลี่ยนแปลงของเทคโนลียีของเบราว์เซอร์ที่เปลี่ยนไป
- จุดมุ่งหมายหลักของการเปลี่ยนแปลงคือ ทำให้ใช้งานได้ง่ายขึ้นทั้งในส่วนของการดูรูป คอมเม้นต์ การใส่แท็ก และการกด like
ทดลองออกแบบ
ในขั้นนี้เป็นการเล่าที่มาที่ไปว่ากว่าจะได้หน้าตา Photo ตัวใหม่นี้ ได้ผ่านการทดลองออกแบบอะไรมาบ้าง และแต่ละแบบมีปัญหาอย่างไร และเค้าแก้ปัญหาอย่างไร รายละเอียดโดยสรุปมีดังนี้ครับ
- ในช่วงแรก เริ่มต้นด้วยการออกแบบให้การดูรูปมีลักษณะเป็น pop-up (รูปแรกในต้นฉบับ) ซึ่งแก้ปัญหาการเปลี่ยนหน้าของเบราว์เซอร์ และโค้ดที่เขียนค่อนข้างเบา ไม่ซับซ้อนมากนัก อย่างไรก็ตามปัญหาที่ยังมีอยู่ก็คือ ไม่มีที่สำหรับแสดงหัวเรื่องของภาพ คอมเม้นต์ และแท็ก
- ดังนั้นจึงออกแบบให้เป็น pop-up ทั้งหน้า เหมือนกับเป็นหน้าใหม่อีกชั้นซ้อนขึ้นมาบนหน้าจอเดิม (ต้นฉบับใช้คำว่า lightbox, รูปที่ 2 ในต้นฉบับ) ซึ่งได้เนื้อที่เพิ่มขึ้นมามาก ทำให้ดูภาพได้เต็มขนาดมากขึ้น และมีพื้นที่สำหรับหัวเรื่อง คอมเม้นต์ และแท็กด้วย
- lightbox ดังกล่าว จะมีลักษณะโปร่งแสงและมีโทนสีดำ ซึ่งแสดงให้เห็นการแยกชั้นจากหน้าเดิมชัดเจน และขับให้ภาพดูสวยขึ้น
- อย่างไรก็ตาม ผู้พัฒนาพบว่าตัวอักษรต่าง ๆ ใต้ภาพนั้นไม่เข้ากับพื้นโทนสีดำ จึงทำให้พื้นบริเวณด้านล่างนี้เป็นสีขาวแทน สุดท้ายก็เลยมีลักษณะเป็นทูโทนอย่างที่เห็นในปัจจุบัน (รูปที่ 3 ของต้นฉบับ)
- สำหรับรูปที่ใหญ่มาก ๆ ระบบจะปรับขนาดความละเอียดให้เข้ากับหน้าจอที่ใช้ เพื่อที่ผู้ใช้จะได้ไม่ต้องลำบากเลื่อนไปมา
สรุปความต้องการจริงของระบบ
จากที่มาที่ไปที่ได้อธิบายไปแล้ว เค้าจึงได้ความต้องการของระบบใหม่มาเป็นดังนี้ครับ
- มีการกันเนื้อที่ไว้อย่างน้อย 100 พิกเซลใต้ภาพสำหรับหัวข้อของภาพและคอมเม้นต์
- ชั้นการแสดงภาพ lightbox จะแสดงซ้อนบนหน้าเดิม และสามารถเลื่อนไปมาได้หากจำเป็น แต่หน้าเว็บเดิมด้านล่างนั้น จะต้องไม่มีการเปลี่ยนแปลง
- จะต้องสามารถเพิ่มความสามารถใหม่ ๆ ในอนาคตได้โดยที่ไม่ต้องเปลี่ยนแปลง API ของระบบ
- รองรับการทำงานบนเบราว์เซอร์ต่าง ๆ ได้ โดยอาจย้อนไปถึง IE6
- ใช้จาวาสคริปต์ให้น้อยที่สุดเท่าที่จะเป็นไปได้
รายละเอียดเพิ่มเติมทางเทคนิค
- เค้ามีโค้ดบางส่วนมาให้ดูพร้อมคำอธิบายด้วยครับ ผู้ที่สนใจเข้าไปดูได้เองที่ต้นฉบับเลยครับ ผมขอข้ามส่วนนี้ไปครับ
- การโหลดภาพ หัวข้อ และคอมเม้นต์จะโหลดแยกกัน ทำให้ลดเวลาการโหลดต่อการเรียก AJAX แต่ละครั้งลงได้พอสมควร
- แต่ละครั้งที่ผู้ใช้เปลี่ยนรูป โปรแกรมจะดูว่าเปลี่ยนไปทิศทางไหน (รูปก่อนหน้าหรือรูปถัดไป) แล้วจะโหลดรูปถัดไปในทิศทางนั้นอีก 5 รูปมาเก็บไว้ที่เครื่องเลย
- ผลลัพท์ที่ได้ก็คือ โค้ดที่เบา ไม่ซับซ้อน ทำงานได้เร็ว ตอบสนองกับผู้ใช้ได้ดีขึ้น และข้อผิดพลาดน้อยลง
ที่มา - Facebook Engineering's Notes
Comments
มีใครใช้ FFixer บ้าง?
แบบใหม่ของ FB เองนี่ผมยังไม่ชินเลย แต่ก็ดีกว่าของเก่า
ผมใช้ ขาดไม่ได้เลยด้วย
ลายเซ็นยาวเกินไปครับ
จำได้ว่า ที่ย้ายค่ายมาอยู่กับ Facebook ก็เพราะว่ารูป คลิ๊กพรีวิว ไวกว่าคู่แข่ง นี่จะเอาไวกว่าเดิมอีก
โดยรวมใช้ได้แล้วครับ แก้นิดเดียวตรงคำว่า "โค้ด" อักษรต่ำไม่มีไม้ตรีครับ
^
^
that's just my two cents.
ผมไม่มีปัญหากับตัวคำนะครับ แต่พอมาเป็นประโยคอาจจะต้องอธิบายให้ชัดว่า "เค้า" นี่คือใครกันแน่
แก้ละครับ ขอบคุณครับ
@ Virusfowl
I'm not a dev. not yet a user.
ผมไม่อยากจะอ่าน blognone ก็ตรงนี้แหละครับ อ่านๆกำลังสนุกอยู่ดีๆ ก็มีคนมาแก้คำผิดอยู่ร่ำไป
ผมไม่ได้จะว่าคุณนะครับ อันนี้ความเห็นส่วนตัว ผมก็รู้อะแหละว่าการสะกดถูก การใช้ภาษาที่ถูกต้องจะทำให้ข้อมูลกลายเป็น reference ที่ดี ^^ แต่เคร่งไปแล้วมีคนมาติบ่อยๆก็ไม่น่าอ่านอะครับ
อันนี้ช่วยไม่ได้ครับ ภายใต้แนวคิดการเปิดให้ทุกคนเขียนข่าวได้ คอมเมนต์แนวนี้จะอยู่กับเราไปอีกนาน
ถ้าไม่อยากให้มีคอมเมนต์แก้ ทางเดียวคือเขียนแบบไม่ต้องแก้ แล้วส่งเข้ามาเยอะๆ ครับ คอมเมนต์แนวนี้จะหายไปเอง
lewcpe.com, @wasonliw
ในทางกลับกัน คนอ่านที่สะดุดกับ "จุดผิดในบทความ" ก็มีเยอะครับ ซึ่งแนวทางที่เราเลือกก็คือรักษามาตรฐานการสะกดคำให้ทัดเทียมกับสื่อหลักทั่วไป
ตรงนี้คุณมีทางเลือกดังนี้
ปุ่ม toggle มีใช้ให้เป็นประโยชน์ครับ :)
May the Force Close be with you. || @nuttyi
แนวคิดดี design แย่
May the Force Close be with you. || @nuttyi
+1024 ไปเลย!
ชื่อ : Not Available at this Moment (N/A)
เค้าเรียกสีโทน block ป่ะ? เป็น trend เสื้อผ้า ดูยังไงก็ไม่สวยไอ้ ดำกับขาวๆ นี่
สุดยอดแห่งความน่ารำคาญ = ="
ต้องหา Addon มาปิดโดยไว
อันที่จริงน่าจะให้เลือกใช้ได้นะ
ชื่อ : Not Available at this Moment (N/A)
คนใกล้ตัวผมก็บ่นเป็นหมีกินผึ้งเหมือนกันครับ บอกว่าไม่ชอบอย่างแรงเพราะ
ART!
"With the first link, the chain is forged. The first speech censured, the first thought forbidden, the first freedom denied, chains us all irrevocably."
อยากกด Like ข้อที่ 3 ๕๕๕
ถ้า ART แบบไม่ขี้เกียจก็ปิดได้นะครับ
ประกาศ!! ใครรำคาญระบบดูรูปบน Facebook แบบใหม่(Lightbox) สามารถปิดการใช้งานได้โดยลง Greasemonkey (สำหรับ Firefox) และลง Facebook Lightbox Killer ตามลิ้งข้างล่าง
Greasemonkey
https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/
Facebook Lightbox Killer
http://userscripts.org/scripts/show/97159
มีคนกด like จำนวนมาก ฮ่าๆๆ
ชื่อ : Not Available at this Moment (N/A)
Art ใช้ Chrome ครับ ง่ายกว่าเดิมอีก search Facebook Lightbox Killer ใน extension กดติดตั้ง จบ!
ปล. Art ฝากขอบคุณมานะครับ XD
"With the first link, the chain is forged. The first speech censured, the first thought forbidden, the first freedom denied, chains us all irrevocably."
จริงๆถ้าขี้เกียจปิดที่มุมบน ก็กด esc แทนได้นะครับ
น่าจะสะดวกขึ้นอีกหน่อย
กดอะไรด้านข้างที่ไม่ใช่ lightbox มันก็ทำให้หายไปแล้วแล้วครับ
แต่เรื่องสีถ้าเป็นคนที่ชอบถ่ายรูปจะสังเกตได้ว่าเวบถ่าบรูปส่วนใหญ่
พื้นหลังเป็นโทนเทาและดำ ซึ่งทำให้รูปเด่นขึ้น สีดูเข้มขึ้น รูปสวยขึ้นโดยไม่ต้องทำอะไร
จริงๆแล้ว เท่าที่ผมฟังเธอพูด ข้อ 1,2 เป็นแค่ข้ออ้าง เหตุผลจริงมีแค่ข้อ 3 ครับ
ปล. Art มาอ่านเจอด้วย เจ็บตัวเลย T^T
"With the first link, the chain is forged. The first speech censured, the first thought forbidden, the first freedom denied, chains us all irrevocably."
55+ ระวังเจ็บตัวรอบที่สองนะครับ
แอบชอบแบบ 2 แหะ
ผมใช้ Chrome ชอบใช้ Extensions Facebook Photo Zoom มากกว่า
ผมก็ใช้ครับ
ว่าแต่ ไอ้การดูภาพแบบใหม่เนี่ยผมได้ใช้มาไม่ต่ำกว่าสองเดือนแล้ว ใครเป้นบ้าง ?
ใช้ตัวนี้เช่นกัน (ทั้ง chrome, firefox) สะดวกกว่า เร็วกว่า..
จะเอาให้ถึง IE6 เลยเหรอครับ?
I need healing.
มันใช้ดีแต่ยังไม่สวย
ปกติเวลาจะปิด จะคลิกข้างนอกแฮะ - -"
สีโทนมืดแล้วมันยังไงๆ ไม่รู้
ผมก็คลิกข้างนอกกรอบดำๆ เหมือนกัน
เหมือนกัน
สงสัยว่าจะก๊อบลิงค์ของหน้านั้นยังไง แบบเวลาจะส่งให้เพื่อนดูทาง msn อ่ะ
Address มันก็เปลี่ยนครับ
kurtumm
อ๋อ ขอบคุณครับ
อยากให้สีดำๆด้านหลังเป็นแบบอื่นได้ไหมอะ ไม่ชอบเลยดำๆนั้น
เวลาดูสาวชอบดูสาวขาวๆ Sex Sex เวลาดู Notebook ชอบแบบ"ถึกๆดำๆ"
Twitter : @Zerntrino
G+ : Zerntrino Plus
Infrastructure ดี, แต่ Usability ไม่โดนใจผู้ใช้ว่างั้น (ผมก็ไม่ค่อยชอบนะ)
รู้สึกมีปัญหากับ Opera mobile ใช้ไม่ได้ ไม่รู้จะทำยังไง
ได้แต่กดดูรูป แล้วกดรีเฟรชหน้าอีกที มันถึงจะไปหน้าดูรูปแบบเดิมให้
ใช้ลำบากกว่าเดิมอีก
อีกหนึ่งเสียงว่าดีไซน์ไม่โดนใจจริงๆ ภาพในต้นฉบับ แบบที่สามดูดีนะครับ พื้นหลังสีขาว ดูเหมือน facebook ดี พื้นดำนี่ ดูแปลกแยกไปหน่อย
อยากได้แบบเดิม!
^
^
that's just my two cents.
+1
ตอนนี้ทำได้แค่ เวลาจะดูรูปอย่ากดที่รูปครับ ให้ Open in a new tab ไปเลย 55+ ไม่ก็ ctrl+left click ไปพร้รอมกันทีเดียวเยอะๆ
ไม่ชอบเหมือนกันเลย
เลื่อนไปดูข้างบน ข้างใต้คำว่า ART ตัวใหญ่ๆดูครับ XD
ชื่อ : Not Available at this Moment (N/A)
อีกหน่อยเดี๋ยวก็ชินครับ ใหม่ๆก็เงี้ยแหละ อิอิ
โอ้ น่าสนใจ มีประโยชน์มากเลยครับ
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
ยังใช้แบบเดิมได้อยู่นะครับ New Tab สิ
[Mac] command + click
บน Windows น่าจะได้เหมือนๆกัน มั้ง? : )
มันเน้น ส่วนสีดำมากเกินไป ไม่เอา ไม่ชอบ ยังดีที่มี app kill ส่วนตัวใช้ mouse กลาง เปิด tab เสมอ เวลาดูรูป
สิ่งที่ไม่เคยสัมผัสก็เห็นว่ายุ่งยาก แต่ได้ทดลองใช้แล้วจะชินกับมันไปเอง
ผมว่าของใหม่โหลดรูปช้ากว่าเดิม และช่อง Comment ไม่เด่นเลยยยยย
:: DigiKin8 ::
ผมไม่ชอบ lightbox อย่างรุนแรง โหลดหนืด
แอบสังเกตรูปแรกมีปุ่ม Like กับ Share จะแชร์ไปไหนอีกหว่า ?
จริงๆเอาแบบแรกแล้วเปลี่ยนเป็นปุ่ม Like กับ Comment น่าจะสวยกว่า
อยากให้อัพรูปใหญ่ๆได้
อัพได้นะครับ ตอนอัพก็กดติ้กเป็น High resolution และเวลาดูรูปมันก็จะใหญ่เท่าที่ใหญ่ได้บนจอนั่นแหละ แต่ด้านล่างภาพตรงที่มีให้กด Share,Tag จะมีให้กดว่า Download in High Resolution
ชื่อ : Not Available at this Moment (N/A)
ไม่ชอบเหมือนกัน เพราะมีปัญหากับการ scroll เลื่อนขึ้นลงโดยใช้เม้าส์ ปกติจะเม้าส์กดปุ่มกลางแล้วเลื่อนลง แต่ lightbox ทำไม่ได้
ผมว่าเป็นดีไซน์ที่ไม่ได้เรื่องเลยน่ะครับ
พื้นหลังควรจะเป็นสีขาวเหมือนเดิมมากว่า แล้วถ้าอยากโชว์รูปใหญ่จริงๆ ค่อยกดแล้วให้กลายเป็น lightbox
บล็อกของผม: http://sikachu.com
จำได้ว่า FB เคยประกาศไม่สนับสนุน IE6 ไปแล้วไม่ใช่รึ?
เทคโนโลยีไม่ผิด คนใช้มันในทางที่ผิดนั่นแหละที่ผิด!?!
นึกข้อเสีย ได้ แล้ว ถ้าไม่นับหน้าตา
คือ เวลามีคน comment แล้วมันเด้ง notify ที่ข้างล่างของจอ กดเข้าไปมันเด้งรูปขึ้น เผอลืมกดนอกจอ รูปหายไป จะกดดูอีกที ก็ต้องไป กดดู notify ด้านบน
Drag & Drop เวลาเซฟรูปเหมือนเมื่อก่อนไม่ได้
ผมชอบนะ เข้าท่าดี ตอนที่เปลี่ยนหน้า profile ใหม่คนก็บ่นเยอะ ตอนนี้ก็ซาไปหมดแล้ว (มั้ง ?)
twitter.com/exfictz
ผมว่ามันก็ดีนะ เวลาอยากดูรูปก็กดได้เลย แล้วก็ปิด กลับมาอยู่ที่เดิม
เสียอย่างเดียว ใช้ https แล้วมันจะแว๊บขึ้นมาแป๊บเดียว แล้วมันก็ส่งไปหน้าเก่า ไม่รู้ทำไม