1 คะแนน โดย GN⁺ 2024-05-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

แนะนำแพลตฟอร์มมัลติมีเดีย 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 ความคิดเห็น

 
GN⁺ 2024-05-09
ความคิดเห็นจาก 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 ซึ่งแม้จะไม่สมบูรณ์ แต่ก็เป็นเครื่องมือที่กระตุ้นความคิดสร้างสรรค์

  • เครื่องมือต่าง ๆ ดีขึ้นมากแล้ว แต่ก็รู้สึกว่าเราทำบางอย่างหล่นหายไประหว่างทาง