Thursday, June 17, 2010

I have Deep Linking

...or something of the sort.

เริ่มจาก Portfolio หน้าตาเชยที่มักถูกหยิบยกมาเป็นประเด็นปัญหา Usability กับการโชว์ภาพตัวอย่างที่ไม่อาจบ่งบอกอะไรเกี่ยวกับชิ้นงานได้

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

ปัญหาที่มักพบกับพอร์ตแนวนี้ก็คือการซูมเอาเพียงเสี้ยวหนึ่งของชิ้นงานขึ้นมาโชว์เป็นภาพตัวอย่าง ซึ่งผู้ชมจะไม่อาจรู้ได้ว่ามันคืออะไรจนกว่าจะคลิกเข้าไปดู ในตอนแรกก็ได้ใส่คำอธิบายประกอบภาพในช่วง Mouse Over เพื่อดักปัญหาเหล่านี้เอาไว้ แต่ซักพักก็ได้เพิ่มส่วนของ Filter เก๋ๆ เข้าไปเกาะกระแส Ajax ถึงแม้มันจะไม่ใช่ก็ตาม

ปัญหาที่เจอกับ Filter ที่ทำขึ้นมานั้นก็ปรากฏขึ้้นตอนเอาพอร์ตไปพรีเซ็นต์ มักจะมีการเลือกหัวข้อ Filter ทิ้งไว้ แล้วคลิกเข้าไปดูชิ้นงาน พอคลิก Back กลับออกมานั้น Filter ก็เด้งกลับเป็น All เสียแล้ว

วันก่อนว่างๆ ก็เลยทำการเพิ่มส่วนของ Hash (ภาษาไทย: ลิงค์ในหน้าเดียวกัน) เข้าท้าย URL เป็นการทำ Deep Linking เพื่อจดจำสถานะของ Filter เอาไว้ (ตัวอย่าง: _portfolio.t#print จะขึ้นเฉพาะงานสิ่งพิมพ์) ก็ยังเกิดปัญหาเพราะว่าไม่เคยเขียน jQuery แล้วก็ยังไม่อยากเอามาใช้ ก็เลยไม่มีตัวตรวจสอบการเปลี่ยนแปลงของ Hash ที่สำเร็จรูป นอกจากจะเขียน Timer ไว้คอยตรวจสอบเป็นระยะๆ ซึ่งฟังดูสิ้นเปลืองทรัพยากรโดยใช่เหตุ

โชคดีไปเจอ onhashchange (Definition ใหม่ล่าสุด) ซึ่งไว้ใช้ในกรณีเปลี่ยนค่า Hash (ตามชื่อนั้นเอง) โป๊ะเช๊ะ ไม่ต้องไปใช้ jQuery ละ เพราะเว็บเองไม่มีอะไรหวือหวาอย่างอื่นให้ได้ใช้มันเลย ติดแค่ว่าคำสั่งอันนี้ใหม่มาก ใช้ได้เฉพาะใน Browser เวอร์ชั่นล่าสุด ซึ่ง ณ วันนี้ ถ้าทำการ Auto Update ไปเรียบร้อยแล้วก็ไม่น่ามีปัญหาใดๆ ถือว่ายอมรับได้เพราะเป็น Feature ที่ไม่เคยมีมาก่อน ใครไม่ได้รับความสะดวกสบายในตรงนี้ ก็คงไม่คิดว่าพลาดอะไรไปหรอก และที่สำคัญ มันเป็นเว็บพอร์ตที่เฉพาะกลุ่มจริงๆ

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

ก็เลยได้ฟังก์ชั่นเก๋ๆ ในแบบฉบับของเว็บ Ajax ที่เค้ากำลังฮิตทำกัน สำหรับเว็บที่จริงๆ แล้วไม่ได้ใช้ Ajax

ปล. เว็บภาคเวอร์ชั่นล่าสุดที่ทำไปนั้น อายุสั้นจริงๆ เพียงหนึ่งปีก็จะโดนรื้อเสียแล้ว (ถ้าเว็บมันไม่แนวเกินไป ก็คงเรียบเกินไปแล้วล่ะ) แต่จะมีใครซักกี่คนรู้ว่าเว็บนี้มีแบบ Style Sheets สำหรับพิมพ์ด้วยนะ เพียงคลิก Print หน้าก็จะถูกจัดวางอย่างสวยงาม เหมาะแก่การอ่านเลยทีเดียว ตามไปดูกันได้ใน _portfolio.t เพราะไม่รู้เว็บจริงจะ Live ไปนานอีกแค่ไหน

No comments:

Post a Comment