2 คะแนน โดย GN⁺ 2023-08-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Macintosh ถูกมองว่าเป็นคอมพิวเตอร์ที่เร็วเพราะไมโครโปรเซสเซอร์ 68000 แต่ในการใช้งานจริง ฟลอปปีดิสก์ กลับเป็นคอขวดด้านความเร็ว
  • จุดที่ Steve Jobs มองว่าเป็นปัญหาเป็นพิเศษคือ เวลาในการบูต ซึ่งต่อเนื่องตั้งแต่เปิดเครื่อง การทดสอบหน่วยความจำ การเริ่มต้นระบบปฏิบัติการ ไปจนถึงการโหลด Finder
  • Jobs กดดัน Larry Kenyon ว่าถ้าลดเวลาบูตได้ 10 วินาที ผู้ใช้ 5 ล้านคนจะประหยัดเวลาได้วันละ 50 ล้านวินาที และตลอด 1 ปีก็เทียบได้กับช่วงชีวิตของคนหลายสิบคน
  • ทีมมีแรงจูงใจในการปรับปรุงประสิทธิภาพซอฟต์แวร์อยู่แล้ว จึงไม่ชัดเจนว่าการคำนวณนี้ส่งผลจริงมากแค่ไหน
  • ผลลัพธ์คือไม่กี่เดือนต่อมา ทีม Macintosh ก็ ลดเวลาบูตลงได้มากกว่า 10 วินาที และวิธีโน้มน้าวแบบฉบับ Jobs ก็กลายเป็นเกร็ดเล่าขำๆ

คอขวดของ Macintosh คือฟลอปปีดิสก์

  • ทีม Macintosh มองว่า 68000 microprocessor เร็วกว่า Apple II ในทางปฏิบัติถึง 10 เท่า จึงคิดว่าเป็นคอมพิวเตอร์ที่เร็ว
  • แต่เพราะ RAM มีจำกัด จึงต้องอ่านข้อมูลจากฟลอปปีบ่อยครั้ง และในส่วนนี้ก็ไม่ได้เร็วกว่า Apple II
  • เมื่อแอปพลิเคชันจริงเริ่มทำงาน ฟลอปปีดิสก์ จึงปรากฏชัดว่าเป็นคอขวดหลัก

Steve Jobs จับตาเวลาในการบูตอย่างไม่ลดละ

  • หนึ่งในสิ่งที่ Jobs ไม่พอใจมากที่สุดคือ เวลาในการบูต ตอนเปิด Mac ครั้งแรก
    • การทดสอบหน่วยความจำ
    • การเริ่มต้นระบบปฏิบัติการ
    • การโหลด Finder
  • กระบวนการนี้อาจใช้เวลาหลายนาที หรือมากกว่านั้น
  • Jobs เรียกร้องกับ Larry Kenyon ผู้รับผิดชอบดิสก์ไดรเวอร์และระบบไฟล์ ว่าการบูตของ Macintosh ช้าเกินไปและต้องทำให้เร็วขึ้น

การคำนวณแบบ “ลด 10 วินาที เท่ากับช่วยชีวิตคน”

  • Larry Kenyon พยายามอธิบายจุดที่พอจะปรับปรุงได้ แต่ Jobs ไม่ได้สนใจคำอธิบายนั้น
  • Jobs ตั้งสมมติฐานว่าอีกไม่กี่ปีจะมีคน 5 ล้านคน บูต Macintosh อย่างน้อยวันละครั้ง
  • ถ้าลดเวลาบูตได้ 10 วินาที ก็จะประหยัดเวลาได้วันละ 50 ล้านวินาที และตลอด 1 ปีก็เทียบได้กับช่วงชีวิตของคนหลายสิบคน
  • ดังนั้นการทำให้บูตเร็วขึ้น 10 วินาทีจึงมีคุณค่าราวกับ “ช่วยชีวิตคนหลายสิบคน”

ผลลัพธ์ที่เกิดขึ้นจริง

  • เดิมทีทีมก็อยากทำให้ซอฟต์แวร์เร็วที่สุดเท่าที่เป็นไปได้อยู่แล้ว จึงไม่แน่ชัดว่าการโน้มน้าวของ Jobs มีผลมากเพียงใด
  • แต่รูปแบบการโน้มน้าวนั้นก็ถูกมองว่า ชวนขำ มากพอสมควรในทีม
  • หลังจากนั้นไม่กี่เดือน เวลาในการบูตของ Macintosh ก็ สั้นลงจริงมากกว่า 10 วินาที

1 ความคิดเห็น

 
GN⁺ 2023-08-22
ความคิดเห็นจาก Hacker News
  • เรื่องที่ได้ยินมาจากวิศวกรเก่าแก่คนหนึ่งของ Apple คือ ในยุค MacOS 8.x ข้อร้องเรียนใหญ่ที่สุดจากการสำรวจผู้ใช้คือ เวลาในการบูต
    ตอนนั้นใช้เวลาเฉลี่ยราว 45 วินาที แต่ระบบรองรับโหมดพักเครื่องอยู่แล้ว จึงถามกันว่าทำไมผู้คนถึงใส่ใจเวลาในการบูตนัก
    ปรากฏว่าผู้คนไม่ได้รีบูตแค่วันละครั้งหรือสัปดาห์ละครั้ง แต่รีบูตบ่อยเพราะ ความไม่เสถียร และในรีลีสใหม่ แม้จะปรับปรุงการบูตด้วย แต่ให้ความสำคัญกับการทำให้ระบบปฏิบัติการเสถียรมากกว่า
    ผลก็คือข้อร้องเรียนเรื่องเวลาในการบูตหายไป ไม่ใช่เพราะมันเร็วขึ้นอย่างมหาศาล แต่เพราะผู้ใช้ต้องรีบูตน้อยลงเอง นี่เป็นบทเรียนว่าต้องเข้าใจไม่เพียงว่าลูกค้าต้องการอะไร แต่ต้องเข้าใจด้วยว่าทำไมถึงต้องการ

    • เรื่องนั้นไม่จำเป็นต้องทำแบบสำรวจด้วยซ้ำ OS ในตอนนั้นไม่มี memory protection และตอนเริ่มระบบ ส่วนขยายจำนวนมากของ Apple และของ third-party มักจะไปแพตช์ระบบตามจุดต่าง ๆ
      กฎของการแพตช์ก็ไม่ชัดเจน เช่น อาจมี code path ที่จัดสรรหน่วยความจำอยู่ในแพตช์ของ system call ซึ่งเป็นสิ่งที่ไม่ควรทำ เพราะ memory manager ไม่ได้รองรับการ re-entry
      แถมยังมีโค้ดที่คอมไพล์ด้วย C compiler ในยุคนั้นทำงานอยู่ และเครื่องมือที่ช่วยป้องกัน การเขียนหน่วยความจำนอกขอบเขต ก็มีจำกัดมาก
    • ลูกค้าของ Apple เรียกร้อง ความเสถียร ที่ดีกว่ามาหลายปี และ Apple ก็พยายามแก้ปัญหาอย่างมีนัยสำคัญซ้ำแล้วซ้ำเล่า แต่ล้มเหลว
      MacOS 8 ก็เริ่มนำ memory protection แบบจำกัดมากมาใช้ แต่ในสถานการณ์จริงแทบไม่ได้ช่วยอะไร และในบริบทนี้ เรื่องนี้เป็นเรื่องของความสามารถและความเต็มใจขององค์กรในการหาเหตุผลเข้าข้างปัญหา
      ปัญหานี้เกือบทำให้ Apple ล้มตายทางธุรกิจ
    • ฟังดูเป็นไปได้ดี เวลาที่เสียไปเพราะ Quadra ค้างระหว่างสแกนด้วยความน่าจะเป็นสูง มากกว่าเวลาที่เสียไปกับการตั้งใจรีบูตเองมาก
    • Mac OS X ใช้เวลาตอนปิดเครื่อง
      เพื่อนคนหนึ่งโชว์ Mac OS X ให้ภรรยาดูเป็นครั้งแรก แล้วพอจะปิดเครื่อง ภรรยาก็ทำหน้าไม่พอใจแล้วบอกว่า “สิ่งที่ชอบใน Mac ก็คือมันปิดได้ทันทีนี่แหละ” เพื่อนจึงตอบว่า “งั้นก็คงต้องหาอย่างอื่นใน Mac OS ที่จะชอบแล้วละ”
    • มีกฎไม่เปลี่ยนแปลงของจักรวาลว่า คอมพิวเตอร์สำหรับผู้บริโภคจะต้อง บูตนานอย่างน้อย 30~45 วินาที เสมอ
      ถ้าตอนนี้เร็วกว่านั้น ก็แค่รออีกไม่กี่ปี เดี๋ยวนักพัฒนาจะปล่อย performance regression ออกมามากพอให้มันกลับขึ้นไปถึงระดับนั้นอีกครั้ง
  • เหมือนเคยได้ยินเรื่องนี้แล้วก็ลืมไป ตอนที่คุมทีมติดตั้ง ดาวน์โหลด และแพตช์ที่ Blizzard ผมมักบอกทีมว่า “มี 10 ล้านคน ดาวน์โหลดและติดตั้งแพตช์นี้ ถ้าเราทำให้พวกเขาใช้เวลาเพิ่มขึ้น 1 นาที ก็เท่ากับเรากำลังใช้ส่วนหนึ่งของอายุขัยมนุษย์ไปอีกก้อนหนึ่ง”
    ฟังดูเกินจริงและเชยไปหน่อย แต่ช่วยผลักดันให้เกิดการปรับปรุงได้
    ตัวชี้วัดที่ผลักดันสำคัญกว่านั้นคือ ความเร็วแสง ในยุคที่ติดตั้งจาก DVD ความเร็วรอบของดิสก์คือความเร็วแสงของสภาพแวดล้อมนั้น ดังนั้นต้องติดตั้งให้ใกล้เคียงความเร็วนั้นที่สุดเท่าที่ทำได้
    ต้องปรับปรุงความเร็วในการทำงานต่อไปจนกว่าจะชนขีดจำกัดทางกายภาพ เวลาเป็นสิ่งมีค่า และเราไม่อาจหาเพิ่มได้

    • อยากให้วิศวกรมากกว่านี้คิดแบบนี้ ในฐานะคนทำงานด้าน infrastructure นี่ก็เป็นเรื่องเล่าที่ผมบอกตัวเองเพื่อสร้างความชอบธรรมให้ที่ทางของตัวเองในโลก
      เวลา deploy การปรับปรุงประสิทธิภาพ infrastructure ครั้งใหญ่ สิ่งสำคัญไม่ใช่ความเร็วหรือค่าใช้จ่ายที่ประหยัดได้โดยตรง แต่คือ CO2 ในชั้นบรรยากาศที่ลดลง และเวลาของมนุษย์ที่กระจายอยู่ในคนนับล้านถูกนำไปใช้กับอย่างอื่นแทนการรอการตอบสนองจากคอมพิวเตอร์
      เราไม่ใช่หมอที่ช่วยชีวิตคนเป็นรายบุคคล แต่เราสามารถคืนส่วนหนึ่งของชีวิตให้ผู้คนได้ ซอฟต์แวร์บางตัวมีผู้ใช้หลายร้อยล้านหรือหลายพันล้านคน ดังนั้นการเปลี่ยนแปลงเล็ก ๆ ก็อาจประหยัดเวลาได้เทียบเท่าหลาย “ชีวิต”
    • สมัยก่อนตอนแฮ็กอะไรอย่างเซิร์ฟเวอร์อีมูเลเตอร์ที่เกี่ยวกับ WoW ผมสังเกตเห็นเสมอว่า Blizzard ใส่ใจกับเรื่องพวกนี้แค่ไหน
      ถ้าจำไม่ผิด การกระจายแพตช์แบบใช้ torrent ของ WoW และเกมอื่น ๆ ทำออกมาได้ดีมาก และยิ่งน่าทึ่งเป็นพิเศษในอุตสาหกรรมที่มีแรงกดดันสูง
    • ส่วนท้ายสำคัญมาก
      ผมเห็นวิศวกรจำนวนมากที่ถือได้ว่าทำงานหนัก แต่บ่อยครั้งกลับใช้เวลาน้อยมากในการทำความเข้าใจ ฮาร์ดแวร์ ที่ตัวเองรันอยู่ และสิ่งที่เป็นไปได้บนนั้น
      ในการถกเถียงเรื่องประสิทธิภาพ ผมได้ยินคำว่า “ช้า” หรือ “โอเค” บ่อยเกินไป แต่หลายครั้งกลับละเลยเครื่องพื้นฐานและขีดจำกัดที่เป็นไปได้โดยสิ้นเชิง
    • ในฐานะคนที่เคยเจอความหายนะช่วงแรก ๆ ของแพตช์และอัปเดต WoW มาก่อน ทุกวันนี้ผมมีแต่คำชมให้วิธีอัปเดตและกระจายไฟล์ของ WoW
      ฟีเจอร์ที่ชอบที่สุดคือการรองรับ การโหลดแบบค่อยเป็นค่อยไป WoW เป็นเกมขนาดมหึมา แต่สามารถเริ่มเล่นได้ด้วย asset เพียงบางส่วน และอาจลดระดับไปแสดง placeholder กับ asset คุณภาพต่ำ หรือข้ามบางพื้นที่ไปเลยก็ได้
      แม้ติดตั้งใหม่ทั้งหมด ก็เล่นได้ภายในไม่กี่นาที ผู้เล่นส่วนใหญ่มักมองว่าเป็นเรื่องปกติ แต่ผมรู้สึกขอบคุณ เพราะความพยายามที่ใช้ในการเปลี่ยนล้อรถไฟที่กำลังวิ่งอยู่ พร้อมส่งข้อมูลมหาศาลด้วยประสิทธิภาพสูงโดยแทบไม่มีปัญหา คงต้องมหาศาลแน่นอน
    • คำว่า “เวลาเป็นสิ่งมีค่าและเราไม่อาจหาเพิ่มได้” นั้นถูกต้อง แต่ในตัวอย่างนี้ เวลาที่ประหยัดได้จากการดาวน์โหลด สุดท้ายก็ถูกใช้ไปกับจุดประสงค์อันสูงส่งอย่างการเล่นวิดีโอเกม
      เลยสงสัยว่านั่นเป็นการใช้เวลาที่ดีกว่าการรอดาวน์โหลดขนาดนั้นจริงหรือไม่
  • Steve Jobs มักแต่งเรื่องขึ้นมาเพื่อจูงใจและผลักดันผู้คนอยู่เสมอ เป็นแนวทางแบบที่เรียกว่า สนามบิดเบือนความจริง
    ตามคำบอกเล่าของ Mike Slade ราวปี 1990 Jobs พยายามชวนเขาซึ่งตอนนั้นทำงานอยู่ที่ Microsoft ให้ย้ายไป NeXT ขณะนั้น Microsoft กำลังจะมี Windows 95 ที่จะดังถล่มทลาย ส่วน NeXT กำลังลำบากกับการขายคอมพิวเตอร์
    Jobs บอก Slade ว่าถ้าอยู่ที่ Seattle ความสามารถของเขาจะสูญเปล่า และ Silicon Valley คือศูนย์กลางของความตื่นเต้นและกิจกรรม เป็นที่ที่เขาจะเบ่งบานได้
    จากนั้นเขาก็อธิบาย Palo Alto ว่าเป็น “สถานที่พิเศษ” เหมือน Florence ในยุคเรอเนซองส์ของอิตาลี แล้วพูดอย่างเร่าร้อนแบบด้นสดว่า ที่นั่นเต็มไปด้วยคนมีความสามารถจนเดินไปตามถนนเดี๋ยวก็เจอนักวิชาการ เดี๋ยวก็เจอนักบินอวกาศ
    Slade บอกว่าเขาถูกคำบรรยายนั้นครอบงำจนตัดสินใจย้ายไป Palo Alto แต่หนึ่งปีต่อมา ระหว่างกินอาหารกับภรรยาที่ Il Fornaio ร้านอาหารอิตาเลียนเชนบน University Avenue ใน Palo Alto เขาพลิกไปดูหลังเมนูแล้วพบว่ามีข้อความและเรื่องเล่าแบบเดียวกันว่า “Palo Alto ก็เหมือน Florence ในยุคเรอเนซองส์…”
    สุดท้าย Jobs ก็ใช้ถ้อยคำบนเมนูของร้านอาหารเชนที่ตัวเองชอบ แถมเป็นคำโฆษณาไม่ค่อยดีนัก มาโน้มน้าวคนได้ Slade จึงนึกย้อนว่าเขาเป็น “นักคุยโวที่ไร้ยางอายจริง ๆ”
    https://www.cultofmac.com/573753/how-jobs-poached-a-microsof...

    • ถ้าคิดด้วยว่า Palo Alto จริง ๆ แล้วค่อนข้างน่าเบื่อ ก็ยิ่งเป็นเรื่องที่ตลกมาก
    • Palo Alto ในสายตา Steve Jobs คงเป็นที่ที่พิเศษจริง ๆ
      เมื่อหลายปีก่อนตอนทำงานที่นั่น สิ่งเดียวที่จำได้จากถนนใน Palo Alto คือ กลิ่นปัสสาวะ ที่แรงมากจากอุโมงค์ใต้ดินใต้ Caltrain Station
    • ดูเป็น เรื่องเล่าเชิงตำนาน อยู่หน่อย
      ไม่น่าเชื่อว่าวิศวกรมืออาชีพที่ฉลาด ซึ่งทำงานอยู่ในหนึ่งในบริษัทที่ใหญ่และมีชื่อเสียงที่สุดของโลกในเวลานั้น จะลาออกและย้ายชีวิตทั้งชีวิตไปอีกรัฐ เพียงเพราะนายจ้างที่อาจจะจ้างเขาพูดว่า “เชื่อผมสิ มันสุดยอดมาก”
      ถ้าจะตัดสินใจแบบนั้น อย่างน้อยก็น่าจะบินไปดูอพาร์ตเมนต์และไปเยี่ยมสำนักงานก่อน เรื่องนี้เจ๋งดี แต่แน่นอนว่าน่าจะมีบริบทมากกว่านั้น
    • เป็นเรื่องที่น่าสนุก แต่ยากจะเชื่อว่า Il Fornaio ซึ่งขายอาหารอิตาเลียนธรรมดา ๆ จะเป็นร้านโปรดที่สุดของ Jobs
      มันเป็นร้านที่ไปก็ต่อเมื่อร้านทางเลือกอื่นจองเต็มหมด หรือสายเกินกว่าจะขับรถไปไกลกว่านี้
    • ถึงจะเป็นเรื่องสนุก แต่ช่วงต้นยุค 90 Silicon Valley เป็นช่วงเวลาที่พิเศษจริง ๆ
      มันเป็นศูนย์กลางของโลกคอมพิวติ้ง และมีเหตุการณ์ที่ไปเจอผู้คนสุดทึ่งแบบสุ่ม ๆ ได้จริงตามที่อย่าง Fry’s ร้านอาหาร หรือบาร์
      คนรุ่นใหม่ทุกวันนี้ดูเหมือนจะไม่ค่อยเข้าใจว่า หลายอย่างรอบเทคโนโลยีในปัจจุบันมีรากมาจาก South Bay และ Peninsula ในยุค 90
  • โปรแกรมเมอร์และวิศวกรควรนำแนวคิดแบบนี้ไปใช้โดยรวม ปริมาณเวลารวมที่ผู้คนต้องรอซอฟต์แวร์ช้านั้นมหาศาล และทีมพัฒนาควรให้ ประสิทธิภาพ เป็นลำดับความสำคัญที่สูงขึ้น
    เราไม่ได้ตั้งใจเอาเวลาทั้งหมดที่เสียไปกับการรอซอฟต์แวร์และบริการที่ช้ามาบวกกัน แต่ในขณะนั้น มันทำให้รู้สึกอึดอัดและหงุดหงิดโดยไม่รู้ตัว ราวกับว่าระบบเป็นปฏิปักษ์กับเรา
    พอได้คิดอย่างมีสติแม้เพียงเล็กน้อย ก็จะรู้สึกดูแคลนวิศวกรและหัวหน้าโครงการที่เชื่อว่าสิ่งที่พวกเขาสร้างนั้นดีพอจะปล่อยออกมาแล้ว
    เมื่อคิดถึงพลังประมวลผลของคอมพิวเตอร์สมัยใหม่ การต้องรอหลายร้อยมิลลิวินาทีกับคำขอเล็กน้อย หรือรอนานกว่านั้นมากกับคำขอที่ซับซ้อนขึ้นนิดหน่อย เป็นหลักฐานที่แสดงถึง ความละเลยอย่างร้ายแรง ของโปรแกรมเมอร์

    • ผมเคยเขียนเรื่อง ADHD ไว้ที่อื่น แต่นี่เป็นเรื่องของตัวผมเองที่ขอไม่ระบุชื่อ
      คืนวันพฤหัสฯ แฟนสาวขอให้ช่วยจัดการ MacBook เครื่องเก่า มีแค่ไม่กี่ขั้นตอน เช่น ยกเลิกการเชื่อมโยงบัญชีที่ผูกกับฮาร์ดแวร์ หาวิธีลบคีย์เฟิร์มแวร์ที่ผมอาจเคยตั้งไว้ ติดตั้งใหม่ และอัปเดต
      แต่บางขั้นตอนหรือการรีสตาร์ตใช้เวลานานกว่าระดับไม่กี่วินาที และงานนี้ก็คอยล่อให้ผมวอกแวกตลอด จึงใช้เวลาไป 6 เดือน
      หลังหยุดทำไปหลายครั้ง พอวางมันไว้บนโต๊ะข้างคีย์บอร์ด ผมก็ทำเสร็จในเวลารวม 30 นาทีตลอดช่วง 6 ชั่วโมง ถือเป็นชัยชนะ
      ถ้ามีใครมามัดมือผมไว้กับแล็ปท็อปคงเสร็จเร็วกว่านี้ แต่ความทรมานจากการถูกบังคับให้จ้องหน้าจอว่าง ๆ แถบความคืบหน้า และสัญลักษณ์หมุนนั้นแทบจินตนาการไม่ออก
    • คอมพิวเตอร์ควรเป็นฝ่ายรอมนุษย์ ไม่ใช่มนุษย์รอคอมพิวเตอร์
      ยกเว้นกรณีอย่าง งานแบบแบตช์ ที่รันนาน ๆ
  • คอมพิวเตอร์ธรรมดา ๆ ยังเคย cold boot จากฮาร์ดดิสก์จานหมุน 5400rpm ได้ภายใน 30 วินาที จึงสงสัยว่าทำไม NVMe SSD รุ่นใหม่ถึงบูตภายใน 1 วินาทีไม่ได้

    • เพราะความซับซ้อนและขนาด
      Windows 95 เมื่อติดตั้งพร้อมฟีเจอร์ส่วนใหญ่มีขนาดราว 50MB และ Windows 2000 ก็ใส่ได้ในซีดีติดตั้งแผ่นเดียว
      ตอนนี้ตัวติดตั้ง Windows 10 ใส่ใน DVD ชั้นเดียวไม่ได้ด้วยซ้ำ และต้องล้มเลิกความคิดที่จะติดตั้งจากแฟลชไดรฟ์ USB แบบ FAT32 ด้วย เพราะ UEFI รุ่นเก่าบางตัวยังจัดการ exFAT ไม่ได้
      คอมพิวเตอร์ที่ผมรู้สึกว่าเร็วที่สุดที่เคยใช้ คือเครื่องที่บูต XP บน dual Pentium 3 866, Rambus และดิสก์ 15k U320 SCSI มันแทบจะเหมือน โทรจิต
    • เมื่อไม่นานมานี้ ผมใส่ NVMe SSD ลงใน Dell i5-4590 เครื่องเก่าได้ด้วย BIOS ที่แก้ไขแล้วและการ์ดอะแดปเตอร์ PCIE แล้วมันบูต Windows 10 ใหม่ ๆ ได้ภายในไม่กี่วินาที
      ดูเหมือนเป็นปัญหาเก่าแก่ที่ยิ่ง Windows สะสมของจุกจิกมากขึ้นเท่าไร เวลาบูตก็ยิ่งนานขึ้นเท่านั้น
    • ไอคอนสมัยก่อนเป็นขาวดำ 32x32 พร้อมมาสก์ แต่ตอนนี้เป็น 512x512 สี 48 บิต
      ฟอนต์ระบบเมื่อก่อนมีประมาณ 200 อักขระ แต่ตอนนี้บรรจุอักขระหลายหมื่นตัว
      ถ้าขยายเหตุผลนี้ไปยังทุกอย่าง ก็เห็นได้ค่อนข้างชัดว่ามีของให้โหลดมากขึ้นมาก
    • PC Windows 11 ของผมบูตประมาณ 20 วินาที โดยเกินครึ่งเป็น POST และหลังจากนั้นหน้าจอล็อกอินของ Windows ก็ขึ้นภายใน 5–10 วินาที
      เร็วพอจนไม่รบกวนใจ
    • NUC ของผมบูต Ubuntu ได้เป๊ะ ๆ ใน 3 วินาที รวม POST แล้ว
  • ถ้าต้องรอคอมพิวเตอร์ แปลว่ามันยังไม่เร็วพอ
    ตรรกะของ Steve ตรงนี้ถูกใช้กันอย่างแพร่หลายในวงการ และใกล้เคียงกับการ แบล็กเมลทางอารมณ์ เพราะพูดทำนองว่าถ้าล้มเหลวก็เป็นฆาตกร แต่ถึงอย่างนั้นก็ยังเป็นแนวคิดคลาสสิก

    • ยิ่งกว่านั้น มันอ่านได้ว่าเป็น แรงจูงใจ ที่ทำให้ผู้คนคิดว่างานของตัวเองส่งผลต่อชีวิตของคนอื่น
      มันง่ายมากที่จะโยนความรับผิดชอบของซอฟต์แวร์ที่ช้าไปให้ผู้ใช้ หรือโทษ PM หรือองค์กรที่ผลักดันฟีเจอร์และความเร็วในการพัฒนามากกว่าความเร็วของผลิตภัณฑ์
      คำขวัญของ Steve ตรงนี้หมายความว่าประสิทธิภาพของซอฟต์แวร์มีผลจริงต่อชีวิตประจำวัน และการชี้ให้เห็นเรื่องนั้นไม่ใช่การแบล็กเมลทางอารมณ์
    • ยังเชื่อมโยงกับเรื่องเล่าอีกเรื่องของ Jobs ด้วย
      หลังเปิดตัว iPad ว่ากันว่า Jobs ถือ iPad เข้าไปในการประชุมทีม Mac แล้วปลุก iPad ขึ้นมา ซึ่งเปิดติดทันที
      จากนั้นเขาปลุก Mac ขึ้นมา ปรากฏว่าต้องใช้เวลาตื่นจากโหมดพักเครื่อง และ Jobs ก็ถามทำนองว่า “ทำไมเครื่องนี้ถึงทำแบบนั้นไม่ได้?”
      ถ้าไม่มี iPad ที่แสดงให้เห็นว่ามันเป็นไปได้ ก็คงมีการถกเถียงกันต่อเรื่องความเร็วหน่วยความจำกับความเร็วดิสก์ และการพัก/ปลุกเครื่องที่เร็วขึ้นของ Mac ก็กลายเป็นแรงกดดันให้ Windows ต้องทำให้ดีขึ้นด้วย
  • ถ้าตรรกะนี้ถูกต้อง แล้ว แอนิเมชัน จำนวนมากที่มีอยู่ทั่ว UI ในปัจจุบันล่ะ จะว่าอย่างไร
    หลายครั้งมันเป็นเพียงการเสียเวลา นอกเหนือจากการทำให้ดูดีในช่วงไม่กี่สิบครั้งแรกที่เห็น
    ตัวสลับแอปในโทรศัพท์ที่ใช้อยู่ ถ้ามีแอนิเมชันจะใช้เวลา 0.5~1 วินาที แต่ถ้าปิดแอนิเมชันก็แทบจะสลับได้ทันที

    • แอนิเมชันมีประโยชน์จริงต่อ ประสบการณ์ผู้ใช้
      ถ้าหน้าจอเปลี่ยนเป็นเลย์เอาต์ที่ต่างไปโดยสิ้นเชิงในทันที จะต้องใช้เวลาในการประมวลผลทางสายตา แต่ถ้าองค์ประกอบต่าง ๆ เคลื่อนไปยังตำแหน่งใหม่แบบ interpolate เวลาประมวลผลนั้นก็จะลดลงเท่ากับความยาวของแอนิเมชัน
      โดยทั่วไปไม่ใช่ 0.5 หรือ 1 วินาที แต่ประมาณ 0.25 วินาที
      สำหรับคนที่ชอบความเร็วหรือผู้ใช้ขั้นสูง มันอาจเป็นสิ่งรบกวนได้ ก็ปิดไปได้ แต่ผู้ใช้เป้าหมายคือผู้ใช้ทั่วไป ไม่ใช่คนที่จำทุกซอกทุกมุมของ UI ได้ด้วย muscle memory
    • ไม่ใช่ทุกแอนิเมชันจะไร้ประโยชน์ อันที่จริง แอนิเมชันที่ไร้ประโยชน์ไม่มีที่ยืนใน UI
      แอนิเมชันบางอย่างสามารถซ้อนทับกับงานที่ต้องใช้เวลา ทำให้ผู้ใช้รู้สึกว่ามีการตอบสนอง ขณะเดียวกันก็ทำให้ต้องรอได้ เช่นกรณี iOS สลับไปยังแอปที่ถูก swap ลงดิสก์ไว้ ดูเหมือนจะเป็นแบบนี้ และเพราะมีเวลาโหลด แอนิเมชันจึงชดเชยความหน่วงบางส่วน
      ถ้าไม่มีแอนิเมชัน ผู้ใช้อาจคิดว่าตัวเองไม่ได้สั่งงานสำเร็จ แล้วพยายามป้อนคำสั่งซ้ำ ซึ่งนำไปสู่ความหงุดหงิด
      แอนิเมชันบางอย่างจำเป็นต่อการรักษาความรู้สึกทิศทางของผู้ใช้ในโฟลว์ของ UI เช่น แอนิเมชันย่อหน้าต่างจะพาหน้าต่างไปยังไอคอนที่ต้องกดเมื่อจะกู้คืน และช่วยแยกแยะระหว่างการปิดกับการย่อหน้าต่าง
      แอนิเมชันบางอย่างจำเป็นเพื่อให้ฟีดแบ็กที่เหมาะสมพร้อมคงความตอบสนองไว้ เช่น ถ้าเลื่อนรายการบนหน้าจอสัมผัสแล้วไม่มีแอนิเมชันสปริงที่ปลายรายการ ผู้ใช้จะไม่มีทางรู้ว่าแตะถึงปลายรายการแล้ว หรือหน้าจอสัมผัสค้างไป
    • ซอฟต์แวร์จำนวนมากยังใส่ ความหน่วงของอินพุต หรือการจำกัดความเร็วเข้ามาโดยไม่มีเหตุผลมากนัก
      UI ระบบของคอนโซลวิดีโอเกมและเมนูของบางเกมดูจะแย่เป็นพิเศษในเรื่องนี้
    • โทรศัพท์ราคาถูกมีเฟรมเรตแย่มาก จึงต้องทำให้แอนิเมชันยาวขึ้นเพื่อให้ดูนุ่มนวล
      ถ้าเป็นแอนิเมชันสั้น 200ms ที่ 25fps ก็มีแค่ 5 เฟรม จึงกระตุกและดูหยาบ
      ถ้าทำเป็น 1000ms ก็จะดูนุ่มนวลและสวย แต่ใช้งานจริงแล้วสิ้นหวัง
      อาจเป็นทางแก้ที่ไม่เป็นที่นิยม แต่ก็ใช้ iPhone ได้ ตัวสลับแอปทำงานได้เร็วเท่าการขยับนิ้ว และไม่มีปัญหาในการคง 60fps อย่างสม่ำเสมอ
    • เคยคิดว่าการติดตั้ง Plasma สองชุดของผมมีอะไรผิดปกติ เพราะโดยรวมมันอืด
      ไม่ได้ช้าจนใช้ไม่ได้ แต่รู้สึกได้ ปรากฏว่าเป็นเพราะ ความเร็วแอนิเมชัน ค่าเริ่มต้นตั้งไว้ต่ำเกินไป
      พอเพิ่มเป็นสองเท่า ทุกอย่างรู้สึกดีขึ้น 1,000 เท่า
  • Windows 11 ใช้เวลาบูตจาก HDD ประมาณ 12 นาที ลองจินตนาการว่าพยายามบูตจาก FDD ดูก็ได้
    หลังติดตั้ง Windows 11 แล้ว ถ้ารอให้ติดตั้งอัปเดตทั้งหมดจาก HDD จะใช้เวลาประมาณ 8 วัน

    • HDD ไม่ได้แย่ขนาดนั้น
      https://www.youtube.com/watch?v=MpNagBwWlNk
    • ไม่นานมานี้ผมพยายามทำระบบ dual boot แล้วทำพาร์ทิชันของ iMac ปี 2017 ที่มี Fusion drive พัง หลังจากนั้น Mac ก็ช้าลง
      ตั้งแต่เริ่มเปิดเครื่องจนพอใช้งานได้คงใช้เวลาราว 5 นาที และไม่ว่าอย่างไรก็นานพอสมควร
      สุดสัปดาห์ที่แล้วผมเบื่อความช้าเลยลองค้นดู พบว่ามีคำสั่ง diskutil resetFusion 0 สำหรับคืนพาร์ทิชันกลับเป็นค่าเริ่มต้น
      หลังรันคำสั่งนี้และติดตั้ง OS ใหม่ iMac ก็กลับมาเร็วพอสมควรอีกครั้ง ไม่ได้ยอดเยี่ยม แต่ดีกว่าเดิมมาก
      บทเรียนที่ได้คือ การทำ dual boot บน Fusion drive เป็นความคิดที่ไม่ดี

    • ผมไม่เคยเห็นเวลาบูตแบบนั้น แต่ก็แทบไม่ได้รีบูตอยู่แล้ว
      โดยปกติเครื่อง Windows 10 จะรีบูตทุกไม่กี่เดือน และแผนก IT ของเราก็เตรียม Windows PC ให้พร้อมได้ภายในประมาณหนึ่งชั่วโมง
      ดูเหมือนมีอะไรผิดปกติอย่างมาก แต่ผมไม่ใช่ผู้เชี่ยวชาญ IT
    • ดูเหมือนจะมี Telemetry มากมายมหาศาลที่ต้องเก็บรวบรวม
    • Windows 11 ของผมไม่เป็นแบบนั้น ใช้เวลา 3~4 นาที ถึงจะรู้สึกเหมือนหนึ่งชั่วโมงก็เถอะ
  • จำได้ว่าเคยเห็นบทความและการถกเถียงเกี่ยวกับ InterBase (ปัจจุบันคือ FireBase) มาก่อน เนื้อหาพูดถึงความสำคัญของโมเดลสตอเรจและการกู้คืนแบบ self-healing ในบางสถานการณ์ และตอนนั้นมีคำกล่าวอ้างแบบนี้
    “AFATDS ประกอบด้วยโค้ด Ada 935,000 บรรทัดที่รันบนเวิร์กสเตชัน HP RISC และ Light Weight Computer Units ของ Army” John Williams จาก Magnavox Electronic Systems Company ผู้รับเหมาหลักกล่าว
    “เราต้องการฐานข้อมูลเดียวที่สามารถขยายและทำงานได้ทั่วทั้งแพลตฟอร์ม Unix และ PC ผลิตภัณฑ์ต้องติดตั้งได้อย่างรวดเร็ว และต้องให้ความพร้อมใช้งานสูงโดยไม่ผูกขาดทรัพยากรของระบบ”
    “ระบบสนับสนุนการตัดสินใจลักษณะนี้ต้องการสถาปัตยกรรมแบบโมดูลาร์และยืดหยุ่น ซึ่งรองรับทั้งการประมวลผลแบบกระจายและฐานข้อมูลแบบกระจาย ดังนั้นเราจึงเลือก InterBase มันมีประสิทธิภาพเหนือกว่าผลิตภัณฑ์คู่แข่ง และทำให้เรามั่นใจได้ว่าน่าเชื่อถือแม้ในสถานการณ์ที่ชีวิตเป็นเดิมพัน”
    บริบทของการถกเถียงที่แน่ชัดคือ ในรถถังบางรุ่น เมื่อยิงปืนใหญ่หลักจะเกิด เหตุการณ์ EMP ภายใน ซึ่งอาจทำให้ระบบรีบูตได้ และจำเป็นต้องมีเวลาบูตใหม่และกู้คืนที่รวดเร็วมากเพื่อให้ยิงได้อีกครั้ง

  • อดคิดไม่ได้ว่าถ้า Steve รู้ว่าชีวิตของ ผู้คนหลายล้านคน จะสูญหายไปเพราะการเลื่อนหน้าจออย่างไม่สิ้นสุดบนแผ่นกระจกเล็ก ๆ เขาจะรู้สึกอย่างไร