อ้างอิง: Road to Mac OS X Leopard: Dock 1.6 โดย Prince McLean
Dock ถือว่าเป็นส่วนหนึ่งของ Interface หลักใน Mac OS X (และ Desktop อีกหลายตัว) ซึ่งตัว Dock นี้วัตถุประสงค์หลักของมันก็คือไว้เก็บ Application ที่ใช้บ่อยๆ (ย้ำ บ่อยๆ) หรือว่าใช้เป็นงานหลัก เพื่อให้เข้าถึงง่ายและเรียกใช้ได้เร็ว แต่ว่าหลายๆ คนกลับเอาโน่นเอานี่ใส่ไว้เยอะแยะมากมายมหาศาล (โดยเฉพาะโปรแกรมในชุด iLife หลายตัวที่อาจจะแทบไม่ได้ใช้ หรือว่าใช้นานๆ ครั้ง) ทำให้ Dock มันรก และไม่สะดวกในการใช้งาน
จริงๆ แล้วในปัจจุบันก็ค่อนข้างที่จะ controversial มากพอควร ว่าจริงๆ แล้วการใช้งาน Dock ในลักษณะแบบนั้นนี่จะเหมาะสมดีจริงๆ หรือเปล่า เพราะว่าจริงๆ แล้วมันทำให้มีการเลื่อน mouse เยอะพอดู (แต่ว่าก็ยังน้อยกว่าการค้นจาก Application folder หรือ Start Menu) และถ้าเราเป็นคนมักมากก็คงจะเอาโปรแกรมโน้นนี้ไปใส่ไว้ใน Dock เกือบหมด ซึ่งทำให้การใช้งาน Dock มีความสะดวกน้อยลง (เพราะว่า icon เล็กลง การหาเสียเวลามากขึ้น) … ยิ่งถ้าเป็น QuickLaunch ของ Windows ด้วยยิ่งไปกันใหญ่ เพราะว่ามันไปแย่งที่อยู่กันเองกับ Taskbar
Controversial ที่ผมว่านี้ ส่วนหนึ่งก็คือ Dock ไม่ได้เหมาะสมเท่าไหร่ในฐานะของ Application Launcher หรือเปล่า เพราะว่าเวลาเราจำโปรแกรม ส่วนหนึ่งเราจะจำเป็นชื่อ และหลายครั้งที่เราใช้งานคอมพิวเตอร์ มือของเราจะอยู่ที่ keyboard ไม่ใช่ mouse ทำให้มีคนพัฒนาโปรแกรมในลักษณะ Application Launcher ที่เรียก shortcut (มักจะเป็นการกดปุ่มบน keyboard สองปุ่มหรือว่าสามปุ่มพร้อมกัน) แล้วพิมพ์ชื่อโปรแกรมลงไปมากกว่า เช่น QuickSilver บน Mac OS X เป็นต้น
บทความที่ผม link มาด้านบน มีเรื่องวิวัฒนาการของ Dock ตั้งแต่เริ่มต้นใน RISCOS เป็น NeXT เป็น Newton เป็น … และมาลงเอยด้วย Mac OS X และครอบคลุมถึง feature ใหม่ๆ ใน Mac OS X 10.5 Leopard ด้วย (เช่น Stacks) เป็นบทความที่ยาว 3 หน้า แต่ว่าเป็นเรื่องวิวัฒนาการของ Dock หน้าเดียว นอกนั้นเป็น Dock ใน Leopard
Stacks สำหรับ Dock ใน OS X 10.5 นี่เท่าที่อ่าน (ยังไม่ได้สัมผัส) ก็น่าจะเข้าท่าทีเดียว แต่ว่าจะทำให้การใช้งานง่ายขึ้น หรือว่าเพิ่มความซับซ้อนในการใช้งาน (และ visual effect) โดยใช่เหตุ ก็ยังเป็นประเด็นที่จะต้องขอดูต่อไปก่อน
เสียดาย ที่บทความที่ว่า ไม่ได้พูดถึง Dock ใน Desktop Environment อื่นๆ เลย แต่ว่าก็ไม่เป็นไร เพราะว่าเค้าอยากจะเขียน focus ไปที่ Dock ของ OS X รุ่นใหม่ ก็เลยไม่ได้ focus ไปที่ตัวอื่น
เอาไว้ถ้ายังไงผมจะลองเขียนๆ ให้อ่านเองก็แล้วกันครับ (สัญญาอีกล่ะ) เหมือนกับที่เคยเขียนเรื่อง History of Modern Mac Operating Systems: Mac OS 8, 9 and X ไว้เมื่อนานมาแล้ว (จริงอยากจะขยายเป็นหนังสือ เรื่องประวัติ Modern OS ซักเล่ม แต่ว่าท่าทางจะยาว…… ข้อมูลมันเยอะมาก ยิ่งพวกสาย Linux, BSD เนี่ย เยอะสุดๆ)
ผมก็อ่านบทความนี้เหมือนกัน ไม่รู้เรียกบังเอิญรึเปล่า
บทความนี้ค่อนข้างโปร Apple (เป็นปกติ) เขียนชม paradigm การสลับตาม applications ของแมค (Cmd+Tab/`) และโจมตีการสลับตาม instance of apps ของวินโดวส์ ซึ่งจุดนี้ผมเห็นตรงข้าม ผมคิดว่าสมองคนเราจำ object เป็นชิ้นๆ ได้ง่ายกว่า ซึ่ง Apple เองก็กลับใช้ paradigm ตาม instance ใน Expose (แถมทำแย่ตรงที่ dialog บางอันกลับไม่โผล่ใน Expose)
ส่วน Stack ผมยังไม่ค่อยเชื่อว่าจะแก้ปัญหาได้เสียเท่าไร ยังคิดอยู่ว่ากรณีไฟล์มันเยอะมากๆ จะมีความสะดวกในการใช้งานอย่างไร อันนี้คงต้องรอใช้จริง
มันอาจจะเข้าท่าใน concept ของ temporary storage
แต่ว่าถ้าจะเป็น permanent เนี่ย ผมว่าอาจจะไม่ค่อย work เท่าไหร่ แต่ว่าถ้าเอาไปใช้สำหรับ secondary application อาจจะใช้ได้ทีเดียว (คือ เป็น application ที่ใช้บ่อยพอควร แต่ว่าไม่บ่อยขนาดจะเรียกว่า first-class)
แต่ว่ามันจะไปสู้ launcher ได้ยังไงล่ะ ถ้าแบบนั้น
ส่วนเรื่อง expose เห็นด้วยในเรื่องของ consistency นะ ว่า dialog บางอันมันไม่โผล่ มันน่าจะติดไปกับ windows ของ app ใน expose เลยนะ จะว่าไป
ขอแจมด้วยคนนะครับ
พอดีเมื่อกี้ใช้ short cut cmd+tab ในการเรียกปิดโปรแกรมที่เปิดขึ้นมาเยอะๆ เลยนึกถึงที่เคยเข้ามาอ่านเรื่องการสลับ paradigm ของแมคและวินโดว์
ส่วนใหญ่ผมใช้ short cut นี้ในการเรียกปิดโปรแกรม ถ้าเป็นอย่างนั้นแล้ว การโชว์ icon application ก็น่าจะเห็นได้ชัดกว่าการโชว์ application windows
และก็ชวนให้สงสัยว่า ถ้าสมมุติผมเปิด safari สักสิบวินโดว์ หรือโปรแกรมอื่นๆ หลายๆ วินโดว์ มันจะเลือกอันไหนขึ้นมาเป็น instance ในการโชว์ ทำให้คิดได้ว่า function ของการใช้ short cut cmd+tab กับ Expose มันต่างกัน Expose เราใช้เพื่อต้องการเข้าไปเลือก windows ที่ต้องการเลย เช่นการเลือกวินโดว์ที่ใช้ทำงาน ซึ่งอาจจะมีหลายวินโดว์ในหนึ่งโปรแกรม ส่วน cmd+tab มันถูกเรียกขึ้นมาเพื่อการสลับไปมาระหว่างโปรแกรมโดยไม่ได้เฉพาะเจาะจงการใช้งาน ว่าจะเปิด ปิด ทำงานต่อ เปิดไฟล์ใหม่ หรืออะไร (สำหรับผมเอาไว้เลือกปิดโปรแกรมด้วย cmd+q สะดวกที่สุดสำหรับผมแล้ว)