หนึ่งล้านช่องทำเครื่องหมาย
(onemillioncheckboxes.com)- One Million Checkboxes เป็นเว็บไซต์ที่สร้างประสบการณ์บนหน้าจอเดียวด้วย ช่องทำเครื่องหมาย 1,000,000 ช่อง และตอนนี้ทุกช่องถูกทำเครื่องหมายไว้แล้ว
- ข้อความด้านบน “we checked every box!” บอกให้รู้ทันทีว่าสถานะคือทำเครื่องหมายครบทั้งหมดแล้ว
- หลังจากทำครบแล้วก็ยัง “เล่นคนเดียว” ต่อได้ จึงไม่ใช่แค่หน้าผลลัพธ์แบบเรียบ ๆ แต่ยังคงมีปฏิสัมพันธ์อยู่
- จำนวนช่องที่ผู้ใช้ปัจจุบันทำเครื่องหมายไว้แสดงเป็น “You checked 0 boxes” ทำให้สถานะการทำครบทั้งหมดแยกจากความคืบหน้าส่วนบุคคล
- บนหน้าจอมีการทำงาน Jump! และรายการของช่องที่ถูกทำเครื่องหมายต่อเนื่องกัน ทำให้เห็นร่องรอยของการทดลองช่องทำเครื่องหมายขนาดใหญ่ได้โดยตรง
สถานะการทำเครื่องหมายครบทั้งหมด
- One Million Checkboxes แสดงว่า 1,000,000 boxes are ✅
- ข้อความ “🎉 we checked every box! 🎉” แสดงให้เห็นว่าช่องทำเครื่องหมายทั้งหมดถูกทำเครื่องหมายแล้ว
ยังเล่นต่อได้หลังทำครบ
- แม้จะทำเครื่องหมายครบทุกช่องแล้ว ก็ยังมีข้อความแนะนำว่า “but you can still play alone if you'd like”
- จำนวนที่ผู้ใช้ปัจจุบันทำไว้แสดงเป็น 0 boxes
องค์ประกอบที่เห็นบนหน้าจอ
- หน้าเว็บมีข้อความ Jump!
- ในเนื้อหามีรายการช่องทำเครื่องหมายที่อยู่ในสถานะถูกทำเครื่องหมายแสดงซ้ำ ๆ
ผู้สร้าง
- เว็บไซต์นี้ระบุว่าเป็นเว็บไซต์ที่สร้างโดย eieio
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
จากมุมมองนักพัฒนา มันดังเกินคาดไปมาก คิดว่า เซิร์ฟเวอร์คงต้องเหนื่อยพอสมควร ไปอีกพักหนึ่ง
มีคนถามว่าทำไมถึงสร้าง “เช็กบ็อกซ์หนึ่งล้านช่องที่ใครก็มาเช็กได้” คำตอบคือมันผุดขึ้นมาระหว่างคุยกันเมื่อวันศุกร์ที่แล้ว และรู้สึกขึ้นมาว่าต้องสร้างมันให้ได้ นี่คือ เหตุผลที่ดีที่สุด เลย :)
ตอนแรกผมคลิกอยู่ด้านบน แต่คนอื่นก็มาแก้สิ่งที่ผมทำไว้เรื่อย ๆ เลยคิดว่าทำไมพวกเราถึงร่วมมือกันเช็กให้ครบทุกช่องอย่างสามัคคีไม่ได้กันนะ
เลยคิดว่าถ้าลงไปข้างล่างน่าจะทะเลาะกันน้อยลง แล้วก็อยู่คนเดียวอยู่พักหนึ่ง งานมันน่าเบื่อและไร้ความหมาย แต่ก็สงบดี
แล้วผมก็เจอคนที่เช็กเหมือนผม แต่ยังไม่ถึง 5 วินาทีก็หายไป พอเลื่อนต่อไปเรื่อย ๆ และเช็กไปด้วย แล้วกลับขึ้นไปดูข้างบนเล็กน้อย ก็พบว่ามีช่องที่ถูกยกเลิกเช็กแบบสุ่มโผล่มา ทั้งที่ไม่เห็นใครยกเลิกเลย เหมือนมี ผียกเลิกเช็ก อยู่
เลื่อนเท่าไรก็ไม่มีอะไรที่แยกแยะได้ มีแต่ดินแดนรกร้างไร้ความหมาย มันคือความโกลาหลล้วน ๆ
คงไม่ใช่แค่พวกเราหรอก น่าจะมีหลายคนที่ตั้งใจเช็กทีละแถว หรือทำตามแพตเทิร์นสม่ำเสมอแบบอื่น ๆ เพื่อปลอบก็อบลินในหัวที่ตะโกนเรียกร้องระเบียบ
ถ้าเข้าหน้าเว็บมาแล้วทุกช่องถูกเช็กไว้หมด ผมคงรู้สึกว่าเสร็จสมบูรณ์และจากไปโดยปล่อยให้มันอยู่ในสภาพสมบูรณ์แบบนั้น แต่ยากจริง ๆ ที่จะเข้าใจคนบ้าที่จะทำลายความงามนั้นเพื่อเขียนคำว่า “boobs” ;)
ผมลอง
$$('input[type=checkbox]').forEach(elt => elt.click());แล้วมีคำเตือน "CHILL LOL" เด้งขึ้นมา เว็บสนุกดีแค่เปิดเบราว์เซอร์ด้วย
chromiumเข้าไปที่หน้าเว็บ หาinput[type=checkbox]ทั้งหมดแล้วคลิกก็พอถึงอย่างนั้นผมก็แอบภูมิใจที่ไม่ได้รันสคริปต์ แต่ใช้นิ้วกดรัว ๆ จนขึ้นคำเตือน “CHILL” ได้
42["toggle...ตรงผ่าน WebSocket แน่นอนว่าถ้าไม่ใช่เพื่อยกเลิกเช็ก แต่ต้องการเลี่ยงการสลับสถานะ ก่อนอื่นก็ต้องตรวจดูว่าช่องไหนถูกเช็กอยู่ก่อนdocument.querySelectorAll("input[type=checkbox]").forEach(i => { i.checked = false; });ดูเหมือนจะทำงานได้ชั่วครู่ และไม่มีคำเตือนขึ้นด้วยทุกช่องควรถูกเช็ก ขอให้คนที่กำลังยกเลิกเช็กลองคิดดูใหม่ แล้วมาอยู่ ฝ่ายเช็ก กันเถอะ
สคริปต์ JS ง่าย ๆ คงทำให้เร็วขึ้นได้ 2–5 เท่า แต่คิดว่าน่าจะมี rate limit และไม่เข้ากับจิตวิญญาณของสิ่งแปลก ๆ นี้ด้วย
ทำให้นึกถึง Curiosity ของ Peter Molyneux: https://en.wikipedia.org/wiki/Curiosity%3A_What%27s_Inside_t...
คำพูดที่ชอบ: “น่าพึงพอใจสุด ๆ เหมือน MMO บับเบิลกันกระแทก”, “ของเล่นขยุกขยิกสำหรับคนทั้งโลก”, “ยอดเยี่ยม! เซิร์ฟเวอร์ WebSocket น่าจะกำลัง brrr อยู่แน่ ๆ”
https://x.com/itseieio/status/1805986839058079896
ผมทำ สคริปต์ผู้ใช้สำหรับอัตโนมัติการเช็ก สำหรับ Tampermonkey ขึ้นมา มันค้นหาเช็กบ็อกซ์ทั้งหมดที่
https://onemillioncheckboxes.com/เช็กช่องที่ยังไม่ถูกเช็ก และใช้MutationObserverเพื่อรันซ้ำทุกครั้งที่ DOM เปลี่ยนrequestAnimationFrameหรือหาเฉพาะช่องที่ยังไม่ถูกเช็กด้วยquerySelectorAll('input[type="checkbox"]:not(:checked)')หรือไม่เรียกcheckAllCheckboxesทุกครั้งที่มีการเปลี่ยนแปลงจะดีกว่าหรือจะใช้
querySelector('input[type="checkbox"]:not(:checked)')หาไปทีละช่อง แล้วจัดการในลูปแบบwhile(true)ก็ได้ผมคิดว่าตารางเช็กบ็อกซ์ควรถูกล็อกความกว้างไว้แน่นอน เห็นอยู่ว่าคนพยายามวาดรูป แต่บนหน้าจอผมมัน ดูเบี้ยว
แน่นอนว่ามันอาจเป็นไอเดียโง่ ๆ ก็ได้ แต่ผมอยากลองดู
การจัดเรียงใหม่ก็ใช้เวลาเหมือนกัน เลยไม่ง่ายที่จะปรับขนาดหน้าต่างแล้วดูแบบเรียลไทม์ว่าคนอื่นกำลังทำอะไรอยู่
คนจำนวนมากใช้ความกว้างหน้าจอใกล้เคียงกัน ดังนั้นจำนวนคอมบิเนชันจริง ๆ ก็ไม่ได้มากอย่างที่คิด
งานเจ๋งมาก ผมอิจฉานิด ๆ เพราะอยากลองทำอะไรที่ต้องสเกลอย่างรวดเร็วพร้อมเห็นว่าการทดลองแบบนี้มีคนใช้มากแค่ไหน แต่หัวผมไหม้เกรียมกับเรื่องไร้สาระของบริษัทไปแล้ว และ ความคิดสร้างสรรค์อยู่ในห้องใต้ดิน
ยังจะหาบริษัทที่ทำงานได้โดยไม่ต้องเสียเวลา 90% ไปกับประชุมและเอกสารได้จากที่ไหนกันนะ
อาจเป็นเพราะคลิกเยอะเกินไป ตอนนี้สิ่งที่อยู่ในหัวเลยไหลออกมาที่นี่ แทนที่จะตายอย่างเงียบ ๆ ด้วยความเจ็บปวด :D
คำตอบคือ ถ้ามันไม่ใช่คำตอบสำหรับคุณ มันก็ไม่ใช่ คนมีสองประเภท คนที่งานไม่ครอบงำจิตใจ กับคนที่ถูกมันครอบงำ ถ้าถูกครอบงำแล้ว ก็ยากที่จะทำอย่างอื่นโดยไม่ปล่อยปละงาน
งานส่วนใหญ่คือประชุมและเอกสาร 90% โดยคร่าว ๆ แล้วนั่นแทบจะเป็นนิยามของงานประจำเลย สตาร์ตอัปเป็นข้อยกเว้น แต่ฝั่งนั้นครอบงำจิตใจแน่นอน
ความคิดสร้างสรรค์ของผมก็อยู่ในห้องใต้ดินมาประมาณหนึ่งปีแล้ว มีช่วงแบบนั้นอยู่ อย่าไปฝืนสู้ ลองพยายามมีความสุขจะดีกว่า จากประสบการณ์ของผม นั่นเป็นทางเดียวที่จะได้ความคิดสร้างสรรค์กลับมา
การยกเลิกเช็กกล่องทั้งหมดนี้เป็น งานที่ไม่มีใครเห็นคุณค่า