Decker: การรื้อฟื้น HyperCard ด้วยกราฟิก 1 บิต
(beyondloom.com)แนะนำแพลตฟอร์มมัลติมีเดีย Decker
- Decker เป็นแพลตฟอร์มมัลติมีเดียสำหรับสร้างและแชร์เอกสารแบบโต้ตอบที่รวมเสียง ภาพ ไฮเปอร์เท็กซ์ และการทำงานของสคริปต์
- สามารถลองใช้งานได้ทันทีบนเว็บเบราว์เซอร์
- สร้างขึ้นบนมรดกของ HyperCard และสุนทรียะแบบภาพของ MacOS ยุคคลาสสิก
- ยังคงรักษาความเรียบง่ายและความง่ายในการเรียนรู้แบบที่ HyperCard เคยมอบให้ พร้อมเพิ่มการปรับปรุงด้านการใช้งานทั้งแบบละเอียดและชัดเจนมากมาย เช่น ประวัติการเลิกทำแบบลึก การรองรับล้อเลื่อนเมาส์และทัชสกรีน การนำทางด้วยคีย์บอร์ดที่ทันสมัยขึ้น และงานแก้ไขจำนวนมาก
สิ่งที่ทำได้ด้วย Decker
- ใครก็ใช้ Decker เพื่อทำ E-Zine จัดระเบียบบันทึก สร้างงานพรีเซนเทชัน ทำเกมผจญภัย หรือวาดพิกเซลอาร์ต 1 บิตเล่น ๆ ได้
- สุนทรียะโดยรวมแบบ "ditherpunk" ให้ความรู้สึกอบอุ่น ชวนให้นึกถึงอดีตเล็กน้อย และมอบข้อจำกัดเชิงสร้างสรรค์ที่สนุกและมีเอกลักษณ์
- ในฐานะเครื่องมือทำต้นแบบ Decker สนับสนุนให้ผู้ใช้สเก็ตช์ไอเดียและยอมรับแนวทางที่ยังไม่สมบูรณ์
- เด็คที่เสร็จแล้วจะถูกบันทึกเป็นเอกสาร .html แบบสแตนด์อโลน ซึ่งรันได้ด้วยตัวเองในเว็บเบราว์เซอร์ และแชร์ได้ทุกที่ที่สามารถโฮสต์หรือฝังเว็บเพจได้
- Decker ทำงานแบบเนทีฟได้บน MacOS, Windows และ Linux ด้วย
แนะนำภาษาเขียนสคริปต์ Lil
- สำหรับโปรเจ็กต์ที่ซับซ้อนขึ้น Decker มีภาษาเขียนสคริปต์ใหม่ชื่อ Lil ให้ใช้งาน
- Lil ได้รับอิทธิพลอย่างมากจาก Lua ซึ่งเป็นภาษาคำสั่งที่ใช้ฝังในเครื่องมือและเกมเอนจินอย่างแพร่หลาย และ Q ซึ่งเป็นภาษาฟังก์ชันในตระกูล APL ที่ใช้ร่วมกับฐานข้อมูลอนุกรมเวลา
- Lil เรียนรู้ง่าย และยังคงแนวทางดั้งเดิมมากพอที่จะไม่ทำให้ผู้ที่มีประสบการณ์เขียนโปรแกรมอยู่แล้วรู้สึกขัดใจ แต่ก็มีลูกเล่นที่น่าสนุกอย่างเลขคณิต scalar-vector แบบปริยาย และภาษาคิวรีคล้าย SQL ที่รวมมาในตัว
- ใช้ Lil เพียงไม่กี่บรรทัดก็จัดการงานได้มากมาย
ฟีเจอร์ต่าง ๆ ของ Decker
- Decker มีวิดเจ็ตแบบโต้ตอบในตัวสำหรับสร้างอินเทอร์เฟซ และมีความสามารถในการนิยามวิดเจ็ตใหม่
- วิดเจ็ตและนิยามแบบกำหนดเองสามารถคัดลอกและวางผ่านคลิปบอร์ดของระบบได้ และแชร์ได้ทุกที่ที่สามารถแชร์หรือบันทึกข้อความได้
- ทุกเด็คคือชุดเครื่องมือของชิ้นส่วนที่นำกลับมาใช้ซ้ำในโปรเจ็กต์อื่นได้
- Decker เป็นมิตรกับบรรทัดคำสั่ง เมื่อบิลด์จากซอร์สจะมาพร้อมกับ Lilt ซึ่งเป็นอินเทอร์พรีเตอร์แบบสแตนด์อโลนของ Lil ที่สามารถอ่าน เขียน จัดการ และแม้แต่รันเอกสาร Decker แบบ "headless" ได้
- Lilt มีการพึ่งพาน้อยกว่า Decker เองมาก จึงสามารถคอมไพล์เป็น APE ข้ามแพลตฟอร์มที่รันได้จริง ทำให้เขียนเชลล์สคริปต์ที่รันได้ทุกที่
- ยังมีอินเทอร์พรีเตอร์ Lil ที่ทำงานบน POSIX AWK ด้วย
- เด็คถูกบันทึกในรูปแบบข้อความแบบเน้นทีละบรรทัด ซึ่งทำงานร่วมกับเครื่องมือควบคุมซอร์สแบบดั้งเดิมอย่าง Git และ SVN ได้ดี
ตัวอย่างการใช้งานและโมดูลของ Decker
- ในส่วน "Examples" มีการแนะนำโปรเจ็กต์ตัวอย่างหลากหลายที่ใช้ Decker
- ทัวร์แนะนำ Decker, 5GUIs, อินเทอร์พรีเตอร์ CHIP-8, All About Draggable, All About Sound, เกมพัซเซิลผลักบล็อก Sokoban เป็นต้น
- ในส่วน "Modules" มีการแนะนำโมดูลปลั๊กอินหลากหลายสำหรับ Decker
- Plot: กราฟอย่างง่ายสำหรับ Decker
- Zazz: ตัวช่วยทำแอนิเมชันสำหรับ Decker
- Ease: ฟังก์ชัน easing สำหรับ Decker
- Dialogizer: โมดัลวิชวลโนเวลสำหรับ Decker
- Puppeteer: แอนิเมชันสไปรต์วิชวลโนเวลสำหรับ Decker
เอกสารและทรัพยากรเพิ่มเติม
- มีเอกสารหลากหลาย เช่น คู่มืออ้างอิง Decker, รูปแบบเอกสาร Decker, ภาษาโปรแกรม Lil เป็นต้น
- ยังมีสื่อสำหรับเรียนรู้ Lil เช่น เรียนภาษา Lil ใน 10 นาที, Lil Playground, การ์ดอ้างอิงด่วนของ Lil
- สามารถเข้าถึงซอร์สโค้ดและตัวติดตามบั๊กได้บน GitHub
- Decker เป็นซอฟต์แวร์เสรีและโอเพนซอร์สภายใต้สัญญาอนุญาต MIT
- มีไบนารีรีลีสเป็นระยะสำหรับ MacOS และ Windows บน Itch.io
- หน้า Itch ยังมีฟอรัมชุมชนสำหรับพูดคุยเกี่ยวกับ Decker และแชร์โปรเจ็กต์ที่สร้างด้วย Decker
ความเห็นของ GN⁺
-
การนำ Decker ไปอิมพลีเมนต์ด้วย POSIX AWK เป็นความพยายามที่น่าสนใจมาก AWK เป็นภาษาเขียนสคริปต์ที่เชี่ยวชาญด้านการประมวลผลข้อความ จึงดูเป็นภาษาพื้นฐานที่เหมาะกับการอิมพลีเมนต์ภาษาเขียนสคริปต์อย่าง Lil การทำเช่นนี้น่าจะช่วยให้พอร์ตและรันได้ง่ายบนหลายแพลตฟอร์ม
-
การเลือกใช้รูปแบบบันทึกของ Decker เป็นข้อความแบบแยกบรรทัดดูเป็นการตัดสินใจที่ฉลาดมาก ฟอร์แมตแบบข้อความเข้ากันได้ดีกับ VCS อย่าง Git ทำให้จัดการเวอร์ชันได้ง่าย และยังติดตามการเปลี่ยนแปลงด้วย diff ได้ด้วย ส่วนฟอร์แมตไบนารีมีข้อเสียคือเสียหายง่ายและจัดการเวอร์ชันได้ยาก
-
ปรัชญาการออกแบบของ Lil น่าสนใจ มีการบอกว่าได้รับอิทธิพลจาก Lua และ Q โดย Lua ถูกใช้แพร่หลายในการเขียนสคริปต์สำหรับเกม ส่วน Q เป็นภาษาในสาย APL ที่เด่นเรื่องการคิวรีฐานข้อมูล จึงดูเหมือนเป็นการผสมข้อดีของทั้งสองภาษาให้เกิดเป็นลักษณะเฉพาะของ Lil โดยเฉพาะการคำนวณ scalar-vector และไวยากรณ์คิวรีในตัว ซึ่งเป็นความสามารถที่พบได้ยากในภาษาเดิม ๆ
-
ขอบเขตการใช้งานดูหลากหลายมาก ทั้ง E-Zine บันทึก งานพรีเซนเทชัน เกมผจญภัย และพิกเซลอาร์ต จึงน่าจะใช้ได้ในหลายด้านตั้งแต่แอปที่ซับซ้อนไปจนถึงเอกสารง่าย ๆ แต่เพราะมีความอเนกประสงค์เช่นนี้ ก็อาจมีฟีเจอร์สู้เครื่องมือที่ออกแบบมาเฉพาะทางในแต่ละด้านไม่ได้
-
UI สไตล์ Classic Mac OS ส่วนตัวแล้วน่าชอบ แต่สำหรับผู้ใช้สมัยใหม่ก็อาจรู้สึกย้อนยุคเกินไป ถ้ามีระบบสกินเพื่อรองรับธีมที่ดูทันสมัยก็น่าจะดี และสำหรับผู้ใช้ Windows หรือ Linux อินเทอร์เฟซลักษณะนี้อาจดูไม่คุ้นเคยด้วย
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
หากขยับจากกราฟิก 1-bit ไปเป็น 2-bit เพียงเล็กน้อย ความอ่านง่ายของภาพถ่ายอาจดีขึ้นอย่างมาก ตัวอย่างเช่น solar.lowtechmagazine.com ใช้สีได้สูงสุด 6 สีและสร้างสุนทรียะที่ยอดเยี่ยม
มีความสงสัยเกี่ยวกับแนวทางการแพ็กเกจของ Decker ว่ากำลังพิจารณาวิธีแบบ Redbean หรือไม่ เช่น รวม Lua, SQLite ฯลฯ ไว้ในไฟล์เดียว แตกเป็น zip ใส่โค้ด HTML และ Lua แล้วเปลี่ยนชื่อไฟล์เพื่อแจกจ่าย
Decker เคยถูกแนะนำบน HN มาแล้วหลายครั้ง ก่อนหน้านี้ 3 เดือนเคยได้ 191 คะแนน 36 ความเห็น และเมื่อ 2 ปีก่อนได้ 215 คะแนน 88 ความเห็น
มีการแนะนำให้ลองใช้ Decker ด้วยตัวเอง พร้อมลิงก์ไปยังเว็บไซต์เดโม
มีความเห็นว่า Decker ทำให้นึกถึงความทรงจำอันหอมหวานในวัยเด็ก และถ้ามีฟังก์ชัน pinch zoom บนมือถือก็น่าจะดี
ข้อเสียใหญ่ที่สุดของ HyperCard คือไม่รองรับสีในตอนที่ Mac เริ่มใช้สี ตอนเรียนมัธยม Mac ที่โรงเรียนล้วนเป็นจอสีแล้ว แต่ HyperCard ยังไม่รองรับ
มีคนเล่าว่าจำได้ว่าเคยใช้ระบบนำทางข้อมูลกระสวยอวกาศของ NASA ที่ทำด้วย HyperCard และ laserdisc ที่โรงเรียน ตอนนั้นไม่ได้รู้สึกประทับใจมากนัก แต่ก็เป็นประสบการณ์ที่เจ๋ง
Decker ดูคล้าย HyperCard ในแง่ที่เป็นกราฟิก 1-bit แต่การใช้งานค่อนข้างต่างกัน ต้องเรียนรู้ภาษา "Lil" ที่มีเอกลักษณ์เฉพาะ และยังขาดฟังก์ชันอำนวยความสะดวกหลายอย่างของ HyperCard/MacPaint จึงอาจไม่ตรงกับที่คาดหวัง นักวาดที่ชอบ HyperCard ยังสามารถใช้ HyperCard ต่อในเบราว์เซอร์ได้ด้วย Infinite Mac
มีความเห็นว่า Decker สนุกดี และยังแนะนำ Wyldcard ที่รองรับการเขียนสคริปต์ด้วย HyperTalk
มีคนสงสัยว่าทำไม Apple หรือ MS ไม่พยายามทำเครื่องมือพัฒนาแนวสบาย ๆ แบบนี้มากกว่านี้ แม้ VB และ Python จะดี แต่ก็น่าจะมีเครื่องมือที่เหมาะกับการทำแอปเล็ก ๆ ได้มากกว่านี้
มีความรักต่อ HyperCard อยู่มาก แม้จะไม่ได้อยู่ในยุคนั้น แต่ดูเหมือนมันเปิดโอกาสให้คนสร้างเครื่องมือเล็ก ๆ ที่มีประโยชน์ได้ และน่าจะใช้งานได้หลากหลายกว่าสเปรดชีตในอีกแบบหนึ่ง
มีคนสงสัยว่าสำหรับคนที่เคยอยู่ในยุคนั้น เครื่องมือสมัยใหม่ตัวไหนที่ถ่ายทอดอารมณ์แบบนั้นได้ คนรุ่นที่อายุน้อยกว่านิดหน่อยมักมีความคิดถึง Delphi/VB และ Flash ซึ่งแม้จะไม่สมบูรณ์ แต่ก็เป็นเครื่องมือที่กระตุ้นความคิดสร้างสรรค์
เครื่องมือต่าง ๆ ดีขึ้นมากแล้ว แต่ก็รู้สึกว่าเราทำบางอย่างหล่นหายไประหว่างทาง