1 คะแนน โดย GN⁺ 2024-04-08 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • PumpkinOS คือ การนำ PalmOS มาสร้างใหม่ ที่ทำงานบนสถาปัตยกรรมสมัยใหม่ เช่น x86, ARM และสามารถรันแอปพลิเคชัน m68K PalmOS ได้โดยไม่ต้องใช้ PalmOS ROM
  • แอปเริ่มต้นคือ Launcher ส่วน Preferences มีแผนจะรวมตัวเลือกการตั้งค่าไว้ในอนาคต และ Command ยังเป็น command shell เชิงทดลอง
  • รีลีสนี้มีแอป PIM ของ PalmOS 4 ตัว ได้แก่ AddressBook, MemoPad, ToDoList, DateBook โดยนำซอร์สโค้ดที่เคยแจกจ่ายใน PalmOS SDK มาปรับให้คอมไพล์บน PumpkinOS ได้
  • เรคคอร์ดของ AddressBook และ MemoPad ดูเหมือนจะเข้ากันได้กับแอปคู่กันบน PalmOS แต่เรคคอร์ดของ ToDoList และ DateBook เข้ากันไม่ได้เนื่องจาก ความแตกต่างของ word size และ endianness
  • โปรเจกต์ทั้งหมดยังอยู่ใน ขั้นทดลอง ฟีเจอร์บางส่วนยังไม่ได้ทดสอบเลย และบิลด์ Emscripten ก็อาจมีปัญหา เช่น software rendering, การใช้ CPU สูง และเบราว์เซอร์ค้าง

เป้าหมายและขอบเขตของ PumpkinOS

  • PumpkinOS คือโปรเจกต์ที่นำ PalmOS มาสร้างใหม่บนสถาปัตยกรรมสมัยใหม่
    • สถาปัตยกรรมเป้าหมายได้แก่ x86, ARM เป็นต้น
    • ต่างจากอีมูเลเตอร์ PalmOS ทั่วไปตรงที่ ไม่ต้องใช้ PalmOS ROM
    • สามารถรันแอปพลิเคชัน m68K PalmOS ได้
  • รวมบทความที่กล่าวถึงหลายแง่มุมของ PumpkinOS สามารถดูได้ที่ หมวด PalmOS บน WordPress

แอปพลิเคชันพื้นฐานและสถานะปัจจุบัน

  • Launcher คือแอปที่รันเป็นตัวแรกเมื่อ PumpkinOS เริ่มทำงาน
    • แสดงพาเนลสำหรับเปิดแอปพลิเคชันอื่น
  • Preferences มีแผนระยะยาวที่จะรวมตัวเลือกการตั้งค่าของ PumpkinOS ไว้
  • Command คือ command shell และยังอยู่ในขั้นทดลอง

แอป PalmOS PIM ที่รวมมา

  • รีลีสนี้มีแอป PIM ของ PalmOS 4 ตัว
    • AddressBook
    • MemoPad
    • ToDoList
    • DateBook
  • ซอร์สโค้ดของแอปเหล่านี้เป็นโค้ดที่เคยแจกจ่ายใน PalmOS SDK อย่างน้อยหนึ่งชุด และถูกปรับให้คอมไพล์บน PumpkinOS ได้อย่างถูกต้อง
  • ความเข้ากันได้ของเรคคอร์ดแตกต่างกันไปตามแต่ละแอป
    • เรคคอร์ดที่สร้างใน AddressBook และ MemoPad ดูเหมือนจะเข้ากันได้กับแอปคู่กันบน PalmOS
    • เรคคอร์ดที่สร้างใน ToDoList และ DateBook เข้ากันไม่ได้เนื่องจาก ความแตกต่างของ word size และ endianness
  • ขอบเขตการทดสอบยังจำกัด
    • ทดสอบเพียงระดับที่สามารถสร้างและแก้ไขเรคคอร์ดได้ไม่กี่รายการ
    • ยังมีพฤติกรรมผิดปกติบางอย่าง
    • ฟีเจอร์บางส่วนยังไม่ได้ทดสอบเลย
  • เป้าหมายในตอนนี้คือการแสดงภาพล่วงหน้าว่า PumpkinOS จะเป็นอย่างไรในอนาคต

ไลเซนส์

  • PumpkinOS ใช้ไลเซนส์ GPL v3
  • ไดเรกทอรี license มีข้อมูลไลเซนส์แยกของคอมโพเนนต์ต่าง ๆ ที่ใช้ใน PumpkinOS
  • มีการแจ้งให้บอกหากพบข้อมูลไลเซนส์ที่ตกหล่นหรือไม่ถูกต้อง

วิธีบิลด์

  • PumpkinOS ต้อง บิลด์จากซอร์ส
    • ไม่จำเป็นต้องใช้ IDE
    • สามารถบิลด์จาก command line ได้
  • Windows, Linux, WSL2

    • บน Windows 64 บิต สามารถใช้ MSYS2 ได้
    • ติดตั้งแพ็กเกจเพิ่มเติมในเทอร์มินัล MINGW64
    pacman -S gcc binutils make git
    
    • บนระบบปฏิบัติการที่ใช้ Linux 64 บิต ต้องมี gcc, binutils, make, git
    • บน Linux ต้องติดตั้ง แพ็กเกจพัฒนา SDL2 ด้วย
    • บนตระกูล Debian ใช้คำสั่งต่อไปนี้
    sudo apt install gcc binutils make git libsdl2-dev
    
    • บน Windows 11 และ Windows 10 รุ่นใหม่ สามารถบิลด์บน WSL2 ได้เช่นกัน
    • ในเทอร์มินัล WSL2 ให้ทำตามคำแนะนำการบิลด์สำหรับ Linux
  • ขั้นตอนบิลด์ทั่วไป

    • โคลนรีโพสitory
    git clone https://github.com/migueletto/PumpkinOS.git
    
    • ย้ายไปยังไดเรกทอรีซอร์สแล้วรัน make
    cd PumpkinOS/src
    make
    
    • หากบิลด์สำเร็จ จะได้ผลลัพธ์ต่อไปนี้
    • ไฟล์รันได้ pumpkin ในไดเรกทอรีราก
    • ไลบรารีไดนามิกในไดเรกทอรี bin
    • ไฟล์ PRC ในไดเรกทอรี vfs/app_install

บิลด์ Emscripten และการรันบนเว็บ

  • สามารถบิลด์ด้วย Emscripten ได้ในเชิงทดลอง
    • วิธีติดตั้ง Emscripten อยู่นอกขอบเขตของ README
cd PumpkinOS/src
make OSNAME=Emscripten
  • คำสั่งนี้จะสร้าง pumpkin.zip ในโฟลเดอร์ src/emscripten
    • ไฟล์ zip นี้มีไฟล์ที่จำเป็นสำหรับนำ PumpkinOS ไป deploy บนเว็บเซิร์ฟเวอร์
  • หากใช้เว็บเซิร์ฟเวอร์ apache2 มาตรฐานบน Linux ขั้นตอนตัวอย่างมีดังนี้
    • สร้างโฟลเดอร์ /var/www/html/pumpkin
    • แตกไฟล์ zip ลงในโฟลเดอร์นั้น
    • เปิดเบราว์เซอร์ไปที่ /pumpkin/pumpkin.html บนเซิร์ฟเวอร์ local ก็อาจแสดง PumpkinOS ได้
  • อีกวิธีคือรันเว็บเซิร์ฟเวอร์ Python จากไดเรกทอรีซอร์สของ Emscripten
cd PumpkinOS/src/emscripten
python3 -m http.server 8080
  • บิลด์นี้ยังเป็นเชิงทดลองอย่างมากและมีข้อจำกัดหลายอย่าง
    • ขึ้นอยู่กับระบบปฏิบัติการ เบราว์เซอร์ และสถานะการรวมกับ GPU อาจ fallback ไปเป็น software rendering โดยไม่คาดคิด
    • อาจเกิดการใช้ CPU สูงและเบราว์เซอร์ค้าง
    • หากรันเบราว์เซอร์ใน private mode แอปพลิเคชันจะไม่ทำงาน
    • หากเข้าถึงจากเซิร์ฟเวอร์ที่ไม่ใช่ localhost ด้วย HTTP แทน HTTPS จะโหลดไม่ได้

การรัน การติดตั้ง และการดีบัก

  • บน Windows 64 บิต ให้รัน pumpkin.bat
  • บน Linux หรือ WSL2 ให้รัน pumpkin.sh
  • เมื่อรันแล้ว PumpkinOS จะเปิดขึ้นในหน้าต่างใหม่
  • ตอนรัน PRC ทั้งหมดใน vfs/app_install จะถูกลบและขยายไปยังโฟลเดอร์ใน vfs/app_storage
  • ในขั้นปัจจุบันโดยรวมยังเป็น เชิงทดลอง จึงอาจมีปัญหาหลายอย่าง
  • ไม่ว่ารันสำเร็จหรือไม่ จะมีไฟล์ pumpkin.log ถูกสร้างในไดเรกทอรีราก
    • หากมีปัญหา ให้ตรวจสอบบรรทัดที่ระบุด้วย "E" ในคอลัมน์ที่สามของไฟล์นี้
    • มีการแจ้งว่าสามารถรับคำถามและไฟล์ log ได้
  • PumpkinOS รองรับ Drag & Drop
    • เมื่อลากไฟล์ PRC ของ PalmOS ไปวางบนหน้าต่าง ไฟล์จะถูกติดตั้งและแสดงใน Launcher
    • หรือจะคัดลอก PRC ไปยังไดเรกทอรี vfs/app_install โดยตรง แล้วเริ่ม PumpkinOS ใหม่ก็ได้
  • หากต้องการ สามารถดีบักด้วย gdb บน Windows, Linux, WSL2 ได้
    • บน Windows ให้เปลี่ยนบรรทัดสุดท้ายของ pumpkin.bat เป็นดังนี้
gdb.exe --args .\pumpkin.exe -d 1 -f pumpkin.log -s libscriptlua .\script\pumpkin.lua
  • บน Linux และ WSL2 ให้เปลี่ยนบรรทัดสุดท้ายของ pumpkin.sh เป็นดังนี้
gdb --args ./pumpkin -d 1 -f pumpkin.log -s libscriptlua ./script/pumpkin.lua

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

 
GN⁺ 2024-04-08
ความคิดเห็นจาก Hacker News
  • ไปที่ Computer History Museum ใน Mountain View แล้วเห็น Palm Pilot อยู่ในตู้จัดแสดง ทำให้รู้สึกแก่ขึ้นมาทันที
    การเอาของที่เป็นส่วนสำคัญในชีวิตผมเมื่อแค่ราว 30 ปีก่อน ไปจัดแสดงเหมือนเป็นวัตถุที่ขุดพบจากซากอารยธรรมโบราณ ควรเป็นเรื่องผิดกฎหมายได้แล้ว ไม่ยุติธรรมเลย

    • ผมยังมี PalmPilot เครื่องเดิมอยู่ในกล่องบนห้องใต้หลังคาอยู่เลย แค่การมีอยู่ของมันก็เป็นบทเรียนชีวิตครั้งใหญ่แล้ว
      ตอนนั้นผมขอให้หัวหน้าซื้อให้ และเขาก็ซื้อให้จริง ๆ แต่หัวหน้าพูดว่า “ตอนนี้คุณมีอะไรที่ใช้จัดระเบียบชีวิตกับโปรเจกต์ของตัวเองอยู่ไหม? ถ้าไม่มี PalmPilot ก็คงช่วยไม่ได้เหมือนกัน”
      ซึ่งเป็นคำพูดที่ถูกจริง ๆ
    • ไม่กี่เดือนก่อนเห็นโพสต์ใน Reddit ที่มีคนบอกว่าเจอ Game Boy เก่าของคุณปู่
    • ที่ Computer History Museum ยังมี Dreamcast จัดแสดงอยู่ด้วย อันนั้นทำให้รู้สึกสะเทือนใจกว่ามาก
      ยังมีมุมหนึ่งในสมองเหมือนบาดแผลค้างคาตั้งแต่วัยรุ่น ที่ยังรอให้ Dreamcast กลับมารุ่งอีกครั้งแบบยิ่งใหญ่อยู่
    • ที่ Science Museum ใน London มีห้องจัดแสดงที่รวบรวมโทรศัพท์มือถือ คอมพิวเตอร์ และคอนโซลไว้
      การไปกับคู่ของผมแล้วชี้ทีละเครื่องว่าอันไหนบ้างที่เราเคยเป็นเจ้าของ สนุกมาก และได้เห็นอีกครั้งก็เพลินจริง ๆ
    • ผมยังมี Visor ที่ติดโมดูล VisorPhone อยู่เลย มองได้ว่าเป็นสมาร์ตโฟนจอสัมผัสล้วนเครื่องแรกที่มาก่อน iPhone 5 ปี :)
      มันใหญ่ เทอะทะ และค่อนข้างไม่ practical แต่ประสบการณ์ที่ผสานกับ Palm Desktop ได้สมบูรณ์นั้นลื่นไหลมาก ภายหลังผมใช้ jPilot บน Linux
  • โปรเจกต์ PumpkinOS น่าทึ่งจริง ๆ นึกไม่ออกเลยว่าต้องใช้ความพยายามมากแค่ไหนในการทำให้เข้ากันได้กับ system call ทั้งหมดที่แอป Palm ทั่วไปคาดหวัง
    ผมจำได้ว่า Palm ทำอะไรค่อนข้างแปลกกับการจัดการหน่วยความจำ ข้อมูลที่ใหญ่ขึ้นมาหน่อยต้องใส่ไว้ในบล็อกหน่วยความจำพิเศษที่ OS สามารถย้ายตำแหน่งได้ตามใจ และถ้าต้องการให้มันคงที่ระหว่างเข้าถึง ก็ต้องล็อก handle ของบล็อกนั้นไว้
    การทำสิ่งเหล่านั้นใน PumpkinOS น่าจะทั้งยากและสนุก ผมเคยทำเกมเล็ก ๆ สำหรับ Palm OS และตอนนั้นเฝ้ารอ OS เวอร์ชันถัดไปที่จะทำให้พัฒนาโปรแกรมด้วย Palm OS Development Suite ที่เพิ่งออกใหม่ได้จริง ๆ
    มันยังเป็น OS ยุคสุดท้าย ๆ ที่แอปมี central event loop ด้วย ทุกวันนี้ UI framework จัดการแทนหมดแล้ว สมัยนี้ง่ายกว่าก็จริง แต่ผมก็ยังคิดถึงวิธีแบบนั้น

    • ถ้าใช้ Win32 API โดยตรง Windows ก็ยังเป็นแบบนั้นอยู่
      GUI toolkit ทุกตัวที่เคยถูกสร้างขึ้น สุดท้ายก็มีโครงสร้างแบบนั้น แต่ใน toolkit สมัยใหม่ส่วนใหญ่ queue กับ loop นี้ถูกซ่อนอยู่ภายใน จนจะเดาได้ว่ามีอยู่ก็ต่อเมื่อดู debugger stack หรือมีอะไร crash เท่านั้น
    • วิธีแบบนั้น Windows 16 บิต หรือ classic Mac OS ก็น่าจะคล้ายกันไม่ใช่หรือ
      ถ้าจะทำ multitasking บนระบบที่ไม่มี MMU ผมว่าน่าจะแทบจำเป็นต้องทำ heap compaction ระหว่างรันอยู่เลย
    • ฮาร์ดแวร์สมัยใหม่มี RAM ระดับกิกะไบต์ การทำแบบนั้นจึงง่ายมากเมื่อเทียบกับ 2MB ของ Palm Pilot III
      แค่ใช้ malloc ไปเลย ไม่ต้องย้ายหน่วยความจำ และทำให้การล็อกกับปลดล็อกบล็อกแบบนั้นเป็นการทำงานที่ไม่ทำอะไร
      ถ้ามี OS call ที่ตรวจสอบสถานะล็อก ก็ต้องเก็บไว้ที่ไหนสักแห่ง แต่ก็ไม่ยาก การทำให้เหมือนวิธีสมัยนั้นจริง ๆ ก็ไม่ได้ยากเท่าไหร่ เพียงแต่ทำให้ฝั่งที่ใช้งานซับซ้อนขึ้นเท่านั้น
    • ข้อดีของฮาร์ดแวร์สมัยใหม่คือแทบไม่ถูกจำกัดด้วยหน่วยความจำ
      จะใช้ก้อนหน่วยความจำใหญ่แค่ไหนก็ได้เพื่อ implement API ที่ซับซ้อน และความจุอย่าง 128MB RAM ตอนนี้ถือว่าเล็กมาก
    • ผมชอบเกมบน Palm มาก เกม มือถือ ยุคนั้นดีที่สุดแล้ว เกมสมัยใหม่เทียบไม่ติดเลย
  • มีอีกโปรเจกต์ที่น่าดูด้วยคือ rePalm เป็นโปรเจกต์ที่รัน PalmOS บนไมโครคอนโทรลเลอร์ ARM อย่าง RP2040: http://dmitry.gr/?r=05.Projects&proj=27.%20rePalm

    • ยังมีการอภิปรายบน HN เกี่ยวกับ PumpkinOS ก่อนหน้านี้ด้วย
      PumpkinOS / 3 ปีก่อน | 52 ความคิดเห็น
      https://news.ycombinator.com/item?id=28466858
      การอภิปรายเกี่ยวกับ rePalm:
      PalmOS on Raspberry Pi, โพสต์โดย Tijdreiziger เมื่อ 10 กันยายน 2021, 169 คะแนน | 86 ความคิดเห็น
      https://news.ycombinator.com/item?id=28487817
  • แค่คิดว่าจะเสียเวลาไปหลายชั่วโมงกับ Space Trader ก็เริ่มตื่นเต้นแล้ว
    ตอนมัธยมต้นผมมี Palm Vx และมีความทรงจำดี ๆ ว่าแอบเล่นเกมนี้ใต้โต๊ะระหว่างเรียน

    • ผมเคยทำงานร่วมกับ Peter Spronck ทำคอนเทนต์เพิ่มเติมช่วงท้าย ๆ และเควสต์บางส่วนของ Space Trader เช่น The Scarab เป็นต้น
      คิดถึงช่วงเวลานั้นจัง
    • ในโรงรถผมมี Palm Vx อยู่สองเครื่อง ผมก็ชอบเกมนั้นมากเหมือนกัน
  • อ่านหัวข้อนี้แล้วหัวใจเต้นแรงเลย อยากให้ทำให้รันบน Android ได้ จะได้ “แทนที่” โทรศัพท์หลักและย้อนกลับไปสู่ยุคที่ดีกว่า

    • ผมยังคิดถึง แอปปฏิทินและรายชื่อผู้ติดต่อ ของ Palm อยู่เลย
      ผมใช้ Palm มาจนถึง Centro และหลังจากนั้นก็ยังหาแอปรายชื่อ/ปฏิทินที่ถูกใจเท่าเวอร์ชันของ Palm ไม่ได้เลย ไม่ก็ขาดฟังก์ชันพื้นฐานเรียบง่าย หรือไม่ UI ก็ซับซ้อนเกินจำเป็น
    • ถ้ารันทั้งหมดด้วย Wasm ก็จะรันแอป Palm ได้ทุกที่
      มันคงคล้ายกับที่ผู้คนเอาแอป DOS มารันในหน้าเว็บกันอย่างจริงจัง
    • ใช้ Graffiti ได้
      https://play.google.com/store/apps/details?id=com.access_com...
    • ใช้ SDL อยู่แล้ว การพอร์ตน่าจะง่าย
  • เมื่อก่อนผมเคยลงทุนโดยคิดว่าในที่สุด Palm จะสร้าง ของแบบ iPhone ออกมา
    น่าเสียดายที่ Palm ทำไม่ได้ และเมื่อ Apple ทำได้ Palm ก็จบลง

    • Palm มี ไลน์ Treo อยู่
      สุดท้ายแล้ว สิ่งที่ทำให้ Palm ล้มลงอาจมองได้ว่าเป็นความสำเร็จในช่วงแรกและระบบนิเวศเครื่องมือแชร์แวร์/ฟรีแวร์ขนาดใหญ่
      Palm OS เริ่มเผยให้เห็นอายุของมันแล้ว เพราะเป็น OS แบบเธรดเดียว อยู่ประจำใน RAM และไม่มีหน่วยความจำเสมือน จึงจำเป็นต้องลองทำอะไรใหม่ ๆ แต่ถ้าทำอย่างนั้นก็หลีกเลี่ยงไม่ได้ที่จะทำให้แฟนเก่า ๆ ที่ใช้ไลบรารีซอฟต์แวร์เดิมรู้สึกถูกทอดทิ้ง
      ปัญหาไก่กับไข่นั้นไม่เคยแก้ได้สำเร็จ และการแยก OS กับฮาร์ดแวร์ การแยกบริษัทลูกอย่าง Handspring รวมถึงการควบรวมกลับเข้ามาใหม่ก็ไม่ได้ช่วยอะไร Cobalt OS ไม่เคยได้ถูกใส่ลงในอุปกรณ์จริง ส่วน Pre เป็นการเริ่มต้นใหม่ที่ทะเยอทะยาน แต่ต่อให้ออกมาเร็วกว่านี้ก็คงยากที่จะสู้กับ iPhone
    • หนึ่งในปัญหาใหญ่คือการที่ Palm ถูกแยกออกเป็นบริษัทซอฟต์แวร์ PalmSource และบริษัทฮาร์ดแวร์ Palm One
      PalmSource กำลังออกแบบ OS บนพื้นฐาน Linux ก่อนจะถูกซื้อกิจการและหายไป ส่วน Palm One เปลี่ยนชื่อกลับเป็น Palm แล้วทำสมาร์ทโฟนยุคแรกที่ใช้ PalmOS
      แต่ตอนนั้น PalmOS ก็ค่อนข้างเก่าแล้ว และอยู่ในสภาพที่รันแอป 16 บิตบน OS 32 บิต
      หลังจากนั้น Palm ทำ webOS แต่ก็ตัดสินใจด้านฮาร์ดแวร์แปลก ๆ และแข่งขันกับ iPhone กับ Android ไม่ได้ ถึงอย่างนั้นก็ยังน่าจะเป็นคู่แข่งได้มากกว่า Blackberry หรือ Nokia ที่ล้มเหลวในการเปลี่ยนผ่านไปสู่หน้าจอแบบ capacitive
      ปัญหาของ Palm คือมันมาช้าเกินไป แต่ถ้าไม่ถูกแยกออกแล้วไปทำภาคต่อของ PalmOS ก็คงพลาดกระแสสมาร์ทโฟนจอ capacitive อยู่ดี
    • ได้ยินมาว่าผู้ให้บริการเครือข่ายก็มีส่วนรับผิดชอบอยู่บ้าง ช่วงแรก ๆ ผู้ให้บริการไม่อยากแม้แต่จะรับ ไลน์ Treo ไปขาย หากไม่จำกัดสิ่งที่ Handspring สามารถทำได้กับ Treo
      Apple มี iPod และที่สำคัญกว่านั้นคือมีลูกค้า Apple สามารถพาลูกค้าเหล่านี้ไปหาผู้ให้บริการได้ จึงสามารถกำหนดอะไรได้มากกว่า
      ส่วนที่ผมพูดถึงใน https://www.youtube.com/watch?v=b9_Vh9h3Ohw อยู่ราวนาทีที่ 20
    • ผมใช้สมาร์ทโฟนสาย Handspring/Palm มาทั้งหมด: Visor + Visor Phone, Treo 270, Treo 600, Treo 650 และสุดท้ายถึง Palm Pré
      มันไม่ใช่ iPhone แต่ในฐานะเครื่องมือทำงาน มันมีประสิทธิภาพสูงมาก
    • เห็น ไลเซนส์ GPL ตรงนี้แล้วขำขึ้นมา คิดว่าคงพูดยากว่ามีความเสี่ยงด้านการนำไปทำเชิงพาณิชย์
  • ถ้าจะเอาสิ่งนี้ไปรันบนฮาร์ดแวร์มือถือยุคปัจจุบัน หรืออย่างน้อยฮาร์ดแวร์มือถือรุ่นก่อนหน้า ต้องใช้อะไรบ้าง?
    ด้วยความเรียบง่ายอย่างมหาศาลและอายุแบตเตอรี่ที่เหลือเชื่อ น่าจะทำสิ่งที่เราต้องการได้ส่วนใหญ่ บางทีอาจทำให้ PinePhone รู้สึกเหมือน Rolls Royce ได้เลย

    • ตาม README ระบุว่ารันแบบเนทีฟบน ARM แต่ดูเหมือนจะใกล้เคียงโปรแกรมมากกว่า OS
      ถ้าเขียนโค้ด GUI ใหม่ให้เข้ากับเฟรมเวิร์กของแต่ละแพลตฟอร์ม ก็น่าจะอัปเดตให้รันบน Android หรือ iOS ได้ แต่การทำให้เป็น OS ที่บูตได้ดูยากกว่า
      ผู้เขียนเคยเขียนบทความเมื่อปีก่อนเกี่ยวกับการทำให้เป็น OS ที่บูตได้โดยใช้เคอร์เนล x86 แบบขั้นต่ำกับ QEMU ดังนั้นก็น่าจะนำมาใช้ซ้ำกับอุปกรณ์ ARM ได้ [1]
      https://pmig96.wordpress.com/2023/02/24/pumpkinos-busybox-an...
    • อยากให้ระบบปฏิบัติการมือถือยุคใหม่ทุ่มเทกับ การปรับแต่งประสิทธิภาพและความเสถียร มากขึ้น
  • อีกอย่างที่น่าดูคู่กันคือ CloudpilotEmu อีมูเลเตอร์ Palm ที่รันในเบราว์เซอร์
    https://cloudpilot-emu.github.io/
    ตอนติดตั้งแล้วเล่น Vexed ได้อีกครั้ง ผมมีความสุขมากจริง ๆ

    • Cloudpilot น่าทึ่งมาก เป็นหนึ่งใน PWA ที่ประณีตที่สุดเท่าที่ผมรู้จัก
      ไม่เคยได้ยินชื่อ Vexed แต่สำหรับผม ดีใจมากที่ Space Trader กลับมา
  • ผมเป็นลูกค้า Sprint ตั้งแต่ยุคโทรศัพท์ Palm เริ่มต้น
    จนถึงเมื่อ 2 ปีก่อนก็ยังใช้ Treo จอสีเป็นโทรศัพท์อยู่ และ คีย์บอร์ดจริง ของมันใช้ดีมาก เพราะนิ้วผมผิดรูปอยู่นิดหน่อย ทำให้ใช้ทัชสกรีนลำบาก
    การควบรวมกับ T-Mobile ทำให้ส่วนสื่อสารไร้สายใช้ไม่ได้ และเสียดายมากที่มันหายไป

    • ฟังดูเหมือนคนที่ผมเคยทำงานด้วยเลย
      ตอนที่ iPhone ออกมาได้ราว 6 เดือนและมือถือ Android ก็เริ่มปรากฏ เขาเคยบอกว่า Pre คือ “iPhone killer”
      หลังจากโชว์ฟีเจอร์ของ Pre ที่เมื่อเทียบแล้วไม่ได้วิเศษอะไรนักให้ผู้ใช้ iPhone คนแรกของแผนกดู เขาก็บอกว่าผู้ใช้ Palm หลายล้านคนจะพิสูจน์ให้ผมเห็น
      แล้วก็พิสูจน์ให้เห็นจริง ๆ
  • เป็นเรื่องดีที่โปรเจกต์นี้มีอยู่ เพราะช่วยยืดอายุซอฟต์แวร์ที่คงไม่มีโอกาสถูกรันอีกแล้ว
    แต่สงสัยว่านี่เป็นเพราะ ความคิดถึง หรือเป็นความจำเป็น/ความต้องการจริง ๆ ต่อซอฟต์แวร์นั้นกันแน่
    มีเรื่องเล่ามากมายเกี่ยวกับการคิดถึง Palm, Blackberry, Psion แต่จริง ๆ แล้วเราอยากกลับไปแบบเดิมแม้ใช้นอกเหนือจากงานเฉพาะทางหรือไม่? ผมรู้ว่า IMAX ต้องใช้อีมูเลเตอร์ Palm เพื่อรันส่วนหนึ่งของสแต็ก
    ตอนมองหา Psion 5 แบบ “สมัยใหม่” ผมเห็นว่าทีมที่เกี่ยวข้องบางส่วนทำ Gemini PDA บนพื้นฐาน Android ออกมา ผู้รีวิวบางคนมองจุดนี้เป็นข้อเสียอย่างชัดเจน
    ถ้ามีระบบปฏิบัติการ EPOC ใหม่ที่รองรับการเชื่อมต่อสมัยใหม่ สำหรับคนกลุ่มนี้คงดูเหมือนความสำเร็จแน่ ๆ แต่พอคิดดูแล้ว ผมน่าจะเอา Linux ไปรันบนนั้นเป็นหลัก ถ้าหาสินค้าใหม่ที่มีคีย์บอร์ดอังกฤษอยู่ในสต็อกได้
    แต่จริง ๆ แล้วเราต้องการสิ่งนั้นหรือเปล่า? ตลอดกว่า 20 ปีที่ผ่านมามีความก้าวหน้ามากมาย และถ้าให้คนส่วนใหญ่ใช้ PalmOS แทน Android หรือ iOS เป็นเครื่องประจำวัน ก็คงหงุดหงิดจนเอามาคืนภายในหนึ่งสัปดาห์
    ฟีเจอร์ชี้ขาด อะไรที่จะทำให้การตัดสินนี้ผิดไป?

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