What's Palm?

   มาพูดกันก่อน แบบที่ยังไม่ได้รู้จักมันเลย palm มันก็เหมือนเป็น computer เล็กๆ เหรอ? มันคล้ายๆ notebook แต่พกพาง่ายกว่าเหรอ? จริงๆแล้ว Palm ถึงแม้จะเป็น computer ประเภทหนึ่ง แต่จุดประสงค์ของมันค่อนข้างจะแตกต่างกับ PC notebook หรือแม้แต่กระทั่ง tablet PC ที่เขียนหน้าจอได้เหมือนกัน สิ่งที่ palm เป็นนั้นคือ PDA - Personal Digital Assistant นั้นเอง มันคือผู้ช่วยของเรา... มันจะช่วยเราได้ดีแค่ไหน ก็ขึ้นอยู่กับว่าเราเข้าใจมันแค่ไหนด้วย ถ้าไม่พยายามเข้าใจมัน ผู้ช่วยคนนี้ก็จะงอแง โวยวาย ซึ่งอาจจะทำให้กลายเป็นภาระของเราไป.. แทนที่จะเป็นผู้ช่วยเรานั้นเอง.. ! ซึ่ง PDA นั้นก็ไม่ได้หมายความถึงแค่ Palm เท่านั้น ยังมี PocketPC, Linux, หรือแม้กระทั่งโทรศัพท์ที่เก่งๆ นั่นเอง Palm เป็นแค่ส่วนหนึ่ง แต่ทำไมถึงต้องเป็น palm หล่ะ??



Why Palm?

Palm มีอะไรดีหล่ะ? ทำไมต้องเลือก palm ทั้งๆที่มี PDA ด้วยกันหลาย platform ทาง PalmSource เค้าว่าไว้ว่า
"The Palm OS software grew into this role because of its focus on the unique needs of mobile data. Rather than trying to squeeze all the features of a personal computer into a tiny package, Palm Powered devices are designed specifically for managing mobile information, communications, and entertainment. This gives Palm Powered devices big advantages in flexibility, ease of use, data protection, and compatibility."
   ซึ่งมันก็คือ Palm มีจุดประสงค์ที่ต่างกับ PDA ตัวอื่นนั้นเอง Palm พัฒนามาจาก Organizer สู่ระบบ digital เพื่อให้ใช้งานได้สะดวกขึ้น ต่างกับ PocketPC ที่เป็นเหมือนการลดฟังก์ชั่นของ PC (จริงๆก็ Windows OS) เพื่อให้เล็กลง พกพาสะดวกขึ้น และจะเน้นในส่วนของ entertain... หรือจะทาง Linux ก็ยังจับจุดได้ไม่ค่อยแน่นอนเพราะว่าขึ้นกับผู้พัฒนา distribution ที่ต่างกันความคิดก็ต่างกัน ส่วนทาง Symbian เค้าก็จะยึดแน่นที่ฐานตัวเองคือ Mobile Phone ที่พัฒนาเข้าสู่ความเป็น PDA มากขึ้น ดังนั้น จากจุดเริ่มที่แตกต่างกันนั้น ทำให้ความชัดเจนของจุดประสงค์แต่ละ platform ค่อนข้างจะต่างกันพอสมควร แต่เมื่อถึงจุดนี้... ปัจจุบัน ความแตกต่างเริ่มลดลง เพราะแต่ละ platform เริ่มต้องการจะขยายตลาดของตัวเอง ให้มีความสามารถเหมือนกับคู่แข่งเลยทำให้มีความเหลื่อมล้ำ แต่..สุดท้ายจุดแข็งก็ยังเหมือนเดิมนั่นเอง

   มาว่ากันเฉพาะ Palm .. จุดเด่น จุดแข็งที่สุดก็คือ Organizer นั้นเอง ด้วยความสะดวก ง่าย และยืดหยุ่นของระบบที่พัฒนาจากสมุด Organizer มาเป็น Palm ซักตัวนั้นทำให้ออกมาได้เป็นชุด PIM - Personal Information Management ที่ลงตัว โดยประกอบด้วย Datebook, Address, ToDo, Memopad, Notepad และที่ขาดไม่ได้ก็คือ Calc นั่นเอง ส่วน Calc หรือเครื่องคิดเลขนั้นไม่ได้อยู่ในชุด PIM ก็จริง แต่มันเป็นส่วนหนึ่งของ Organizer นั้นเองครับ
build-in programs
   ชุด PIM นั้นเป็นโปรแกรม build-in หลักของ Palm นะครับ ซึ่งจริงๆแล้วจะมีอีกก็คือ

    • Calc
    • Expense - บันทึกรายจ่าย
    • Hotsync - สำหรับการเชื่อมต่อกับ computer
    • Prefs - เป็นส่วนการปรับแต่งค่าทั้งหมด
   ที่กล่าวมาจะเป็นโปรแกรมหลักที่ palm ทุกรุ่นทุกเครื่องจะต้องมีเป็นอย่างน้อยครับ แต่นั้นก็ไม่ใช่ประเด็น เพราะว่าเราจะพูดกันถึงการทำงานของโปรแกรม PIM กันครับ ใน PIM นั้นจะประกอบด้วย
    • Datebook หรือ Calendar
    • Address หรือ Contact
    • Todo หรือ Tasks
    • Memopad หรือ Memos
    • Notepad
แต่ละโปรแกรมก็มีหน้าที่ที่แยกจากกันโดยอิสระ ต่างมีจุดประสงค์ที่แตกต่างกันไปครับ ซึ่งจริงๆแล้วก็ขึ้นกับการประยุกต์การใช้งานของผู้ใช้แต่ละคน ดังนั้นเราจึงมาเปรียบเทียบกับ Platform อื่นเพื่อให้เห็นจุดเด่นของ PIM ของ Palm กัน
   จุดเด่นของ PIM ของ palm คือ ความง่าย ความสะดวก ในการใช้งานครับ ลองมองกันเล่นๆครับ palm เครื่องแรกในปี 1996 ซึ่งใช้ชุด PIM "datebook, address, todo, memopad" นั้น ก็ยังใช้จนถึงทุกวันนี้ โดยมีการเปลี่ยนแปลงที่เห็นชัดเจนเพียงแค่ categories ที่เพิ่มขึ้นมา ตอนนี้ปี 2005 เวลาก็เกือบๆ 10 ปีนะครับ ความเก่าของชุด PIM ตัวนี้กลับไม่ได้เป็นตัวที่ทำให้ palm ดูแย่ลง แต่กลับยังเป็นจุดแข็งของ palm อยู่ได้แสดงว่ามันคงต้องมีอะไรดีแน่ๆ ที่ทำให้อยู่ได้ถึงขนาดนี้โดยแทบไม่เปลี่ยนแปลง ซึ่งขัดกับ software duty cycle อย่างแรงหน่ะครับ ลองมาดูการเปรียบเทียบกัน
   จะมาเริ่มดูกันในส่วนของ Datebook หรือ Calendar ครับ ถ้าต้องการเพิ่ม event เวลา 10:00am เป็นเวลา 1 ชม. ในวันนี้

• ใน datebook แล้วสำหรับ palm จะต้องกดปุ่ม datebook เพื่อให้เข้า day view จากนั้นก็ tap ที่ 10:00 แล้วเขียนได้ทันที หรือ เขียนเลข "10" "a" แล้วขีด enter จากนั้นก็เริ่มเขียนใน event ได้ทันที ซึ่งก็เรียบร้อยแล้ว

• ส่วน calendar ใน PocketPC นั้น วิธีที่เร็วที่สุดคือ tap ที่ 10:00 | เขียน subject | แล้วขีด enter
การเพิ่ม event ในเวลาที่ไม่ปกตินั้น เช่นเราต้องการเพิ่ม event ในเวลา 11:40am นั้น จะแตกต่างกันดังนี้

   จะสังเกตว่าจะมีขั้นตอนที่ไม่ค่อยต่างกันนัก แต่ถ้าเป็นเวลาที่ไม่ปกติ (ซึ่งคือไม่สามารถ tap ได้นั้น) ซึ่ง PocketPC นั้นจะมีขั้นตอนมากกว่า ซึ่งคือต้องมา tap เพิ่มที่ช่อง start แล้วจึงเขียนเวลาอีกทีนึงนั้นเอง
   ส่วนในเรื่องการแก้ไขข้อมูลที่มีอยู่แล้วนั้น สำหรับ palm นั้นสามารถ tap ไปที่ event แล้วแก้ไขได้ทันที... ผิดกับ PocketPC ที่จะต้องกดที่ event | กด edit แล้วค่อยมาทำการแก้ไข

   สิ่งที่เห็นได้ชัดเจนคือความสะดวกที่เกิดขึ้นกับ Palm ซึ่งเหมือนกับเลียนแบบกับสมุด organizer จริงๆ ที่เปิดมาแล้วก็แก้ได้ทันทีที่เห็นนั้นเอง
   ประเด็นที่เห็นชัดอีกอย่างหนึ่งคือ ถ้ามี event ที่ยาวพอสมควร จะทำให้เมื่อแก้ไขใน PocketPC ไม่สามารถแก้ไขได้อย่างสะดวกเพราะ subject field นั้นมีขนาดเพียงไม่กี่ตัวอักษรและบรรทัดเดียว โดย PocketPC นั้นไม่สามารถสร้าง event หลายบรรทัดได้อีกด้วย สิ่งที่แปลกมากที่ event ของ PocketPC นั้นจะไม่จำกัดจำนวนตัวอักษร ซึ่ง Palm นั้นจะจำกัดตัวอักษรอยู่ที่ 255 ตัวอักษร (ซึ่งในกรณีที่ต้องการใส่รายละเอียดมากกว่านั้นจะต้องใส่ใน note ซึ่งจะเก็บเพิ่มได้อีก 4kB, 32kB นั้นเอง[4kB สำหรับชุด PIM เก่า และ 32kB สำหรับชุด PIM ใหม่ครับ]) แต่การเอื้ออำนวยในการดู event นั้นไม่ได้เอื้ออำนวยในดูข้อมูลมากๆ เลย -_-' เพราะจะขึ้นอยู่กับระยะเวลาของ event นั้นๆเท่านั้น
   สำหรับ OS อื่นอย่างเช่น Symbian หรือ Linux นั้นยังไม่กล่าวถึงเพราะประสิทธิภาพและความนิยมในจุดของ PDA จะค่อนข้างแตกต่างกับทั้ง Palm และ PocketPC อยู่พอสมควร
   ในกรณีที่ต้องการดู event ทั้งหมดของวันแล้วจะเป็นดังรูป (โดยจะให้มีรายละเอียดเหมือนกันทั้ง 2 platform)

   ในส่วนของ symbian นั้นจะขอเพียงยกตัวอย่างรูปให้ดูนะครับ เนื่องจากไม่สะดวกที่จะจัดทำเองครับ อิอิ

   จะเห็นได้ว่าสำหรับ Palm แล้วจะไม่มีอุปสรรคในเรื่องของความยาวของ event แต่สำหรับ PocketPC หรือ Symbian แล้วจะไม่สามารถมองเห็นรายละเอียดได้ทั้งหมดได้
   มาดูการเปรียบเทียบในส่วน Address หรือ contact กันครับ สำหรับ palm แล้วเมื่อต้องการจะหารายชื่อใน contact นั้นสามารถกดปุ่ม address ซ้ำๆ จะทำให้เปลี่ยน category ไปเรื่อยๆ จากนั้นให้กดปุ่มลง (จะเป็นการเปลี่ยนหน้า) และสามารถกดปุ่มกลางเพื่อเป็นการเลือกแต่ละรายชื่อได้ตามรูป

หรืออีกวิธีจะสามารถ tap ที่เบอร์โทรศัพท์บนหน้าจอเพื่อโทรออกได้ทันที
   ส่วนทาง PocketPC นั้นเมื่อต้องการหาสามารถ tap ที่ "#ab" "cde" .. เพื่อความรวดเร็วในการหาจากนั้นก็เลื่อนลงทีละตำแหน่งเพื่อดูต่อไป

   จะเห็นได้ว่าการทำงานของ palm นั้นสามารถใช้ 5-way navigator คุมการทำงานได้ทั้งหมด ซึ่งจะทำให้ความเร็วและความสะดวกมีมากกว่า แต่ฟังก์ชั่นการทำงานนั้นสามารถทำได้เหมือนกัน ส่วนการหารายชื่อนั้นทั้ง ppc และ palm นั้นสามารถหาได้ด้วยการ lookup หรือเขียนตัวอักษรตัวแรกของชื่อก็ได้เช่นกัน แต่ว่าสำหรับ PocketPC นั้นจะลำบากตรงที่ต้องเรียกพื้นที่ที่เขียนขึ้นมาหรือตั้งให้เขียนหน้าจอ (transcriber) ซึ่งจะมีการ lag เกิดขึ้นประมาณ 1 วินาที ทำให้ไม่ค่อย practical ในการใช้งานนัก
Design

   มาดูกันในส่วนของการออกแบบ palm นั้นจะเห็นกันได้ว่า ค่อนข้างจะไม่หวือหวา หรือเห็นความแตกต่างกันในแต่ละรุ่น (เฉพาะ palm และ palmOne) เพราะว่าการออกแบบนั้นจะเน้นการใช้งานมากกว่าที่จะคำนึงถึงความสวยงามของเครื่อง จะสังเกตได้จากการออกแบบของปุ่มต่างๆนั้นจะวางตัวไม่ค่อยต่างกันมากนัก แต่ก็ไม่ได้ทำให้รู้สึกขัดกับการใช้งาน palm นั้นจะพยายามออกแบบให้สามารถควบคุมการทำงานได้สะดวกด้วยมือเดียว ซึ่งทำให้ในการที่จะดูรายละเอียดของโปรแกรมต่างๆนั้นสามารถเข้าได้โดยใช้เพียงปุ่ม 5-way navigator และปุ่มมาตรฐานทั้ง 4 ได้โดยง่าย สังเกตจากปุ่มในแต่ละรุ่นจะสามารถกดได้อย่างสะดวก ซึ่งอาจจะเป็นผลเสียได้ในบางกรณี คือ อาจจะทำให้เวลาเก็บใส่ในระเป๋า หรือ case หนังก็อาจจะทำให้ปุ่มถูกกดได้ สำหรับ palm ส่วนใหญ่แล้วจะมี solution ในเรื่องนี้พอสมควรซึ่งก็คือ แผ่นปิด หรือ case ต่างๆ ในกรณีแผ่นปิดนั้นจะออกแบบมาที่ดูเหมือนกับว่าจะปกป้องจากการที่จะทำให้เกิดรอยไม่ได้ แต่จะเป็นการออกแบบเพื่อป้องกันปุ่มจากการกดอย่างไม่ได้ตั้งใจ และความสะดวกในการใช้งานเข้ามาทดแทน
   ส่วน Clie นั้นซึ่งก็เป็น Palm อีกสายหนึ่งจากการผลิตของ sony จะเห็นได้ว่าการออกแบบจะค่อนข้างเน้นไปทางสวยงามกว่าทาง palmOne แต่สิ่งที่ขาดไปในหลายๆรุ่นคือความสะดวกในการใช้งานจริงๆ ดังจะสังเกตได้ตั้งแต่พวก NX,NZ,UX หรือแม้กระทั่ง TH55 ก็ตาม แต่สิ่งที่มาทดแทนความสะดวกก็จะคือ feature ต่างๆที่เน้นไปทาง entertain และความสวยงาม ซึ่งก็อาจจะทำให้พอจะเกิดความแตกต่างที่บอกไม่ได้ว่าใครดีกว่าใครได้ เป็นเพียงทางเลือกอีกทางสำหรับความต้องการที่แตกต่างนั่นเอง
Compatibility
   สำหรับ palm แล้วตั้งแต่เริ่มมาได้มีการใช้ processor อยู่ 2 ตัวด้วยกันซึ่งตัวแรกคือ 68K processor และต่อมาได้เปลี่ยนไปใช้ ARM processor ทั้งหมด

    68K The term 68K processor refers to the family of Motorola 68000 processors.
    ARM The term ARM processor refers to the family of Advanced RISC Machine processors. An ARM processor is a type of 4-byte RISC processor, and is available from many sources.
   จึงทำให้มีปัญหาในเรื่องความเข้ากันได้ของโปรแกรม เมื่อใช้ต่าง processor กัน สำหรับ palm ปัญหาจะเกิดคือ เป็นการเรียกโปรแกรมของ 68k processor บน ARM processor โดย Palm OS นั้นจะมี Palm Application Compatibility Environment (PACE) ในการใช้งานโปรแกรมทุกๆตัว ซึ่ง PACE จะจำลองการทำงานของ processor ตระกูล 68K ที่ใช้ในเครื่องรุ่นก่อน (ซึ่งที่เห็นกันได้ชัดแจนคือ file ที่สร้างขึ้นเอง ชื่อ "[filename]_[CreatorID]_appl_a68k" ที่จะเห็นได้ในโปรแกรม file management) เพื่อจะทำให้สามารถใช้งานได้ทั้งโปรแกรมเก่าๆ ที่ยังน่าใช้อยู่ และโปรแกรมใหม่ได้อย่างสมบูรณ์ และ OS แต่ละตัวของ Palm ก็สามารถใช้ส่วนใหญ่โปรแกรมร่วมกันได้อย่างไม่มีปัญหา ต่างกับ OS อื่น ซึ่งเพียงแค่เปลี่ยน OS ส่วนใหญ่ก็ทำให้เกิดปัญหาในเรื่อง software ที่ใช้กันไม่ได้แล้ว

   จากรูปจะแสดงให้เห็นว่า PACE นั้นคือ ชั้นที่ทำให้โปรแกรม 68k-based และ PalmOS ที่ทำงานอยู่บน ARM-based ทำงานร่วมกันได้



Palm OS system
   ในระบบของ palm นั้น จะแตกต่างกับ PC ที่ใช้อยู่พอสมควรครับ ไม่ว่าจะเทียบกับ DOS, Windows, Linux หรือในระบบอื่นๆ อย่างแรกที่ทำให้รู้สึกแปลกมากสำหรับ Palm OS คือ ระบบการจัดการ file ของมัน โดยสิ่งที่ต้องปรับตัวจาก PC User (มันเป็นความรู้สึกที่ผมรู้สึกตอนใช้ palm ครั้งแรก) คือ
    1. การที่ไม่มี directory เอ.. แล้วจะจัดระบบไงหล่ะเนี่ย??
    2. palm จะมี file type แค่ 2 ประเภทคือ .prc และ .pdb อืม..แล้วจะรู้เรื่องมั้ยเนี่ย file ไหนทำอะไร
   มันเป็นข้อสงสัยจริงๆครับ ในตอนแรก เพราะจากเดิมที่อยู่ใน Windows OS นั้น การที่มี directory นั้นมันมีข้อดีตรงที่เป็นการแก้ไขข้อจำกัดในเรื่องจำนวน file ต่อ 1 directory ออกไปได้ แถมยังเป็นช่วยให้จัดการ file ได้เป็นระเบียบมากขึ้นอีก อืม มีแต่ข้อดีทั้งนั้นเลย แต่แล้วเมื่อมาเจอ palm ไม่มี... ไม่มี หายังไงก็ไม่มี directory แล้ว Palm เค้าจัดการ file ยังไงหล่ะ ใน palm นั้นจะมี file เพียงแค่ 2 ประเภทก็จะครอบคลุมทั้งหมด (และก็ใส่ file ชนิดอื่นๆไม่ได้ด้วยนะครับ) ทั้งๆที่ windows ยังมีเป็น 100 สกุลเลยมั้ง เพื่อจะแบ่งแยกการทำงานของแต่ละ file ให้เห็นได้ชัดเจนครับ
    .prc - Palm Resource Files
    .pdb - Palm Database Files
    จริงๆก็ยังมีอีกตัวนึงนะครับ ซึ่งคือ .pqa - Palm query application แต่สกุลนี้จะแทบไม่ได้เห็นแล้วหน่ะครับ เพราะว่าเป็น file database สำหรับ web clipping ซึ่ง palm ได้ปิดบริการในส่วนนี้ไปแล้วหน่ะครับ ถ้าใครได้ใช้ตั้งแต่สมัย Vx ยังรุ่งโรด ก็คงจะพอเคยเห็นกันบ้างหน่ะครับ
   มาดูกันดีกว่า ว่าสกุลพวกนี้มันคืออะไรกัน ที่เราควรจะรู้เป็นอย่างแรกคือ files ที่เป็น database นั้นจะมีเพียงแค่ .pdb และ .pqa เท่านั้นนะครับ ความแตกต่างของ Resource และ database file นั้นทั้งๆที่ก็เก็บข้อมูลเหมือนกัน ก็คือ database จะทำหน้าที่เก็บข้อมูลของโปรแกรม แต่ resource จะทำหน้าที่เก็บรหัสหรือข้อมูลเกี่ยวกับการแสดงผลของโปรแกรมเท่านั้น เราจะไม่สามารถบอกได้เลยว่า ไฟล์ต่างๆ มันคืออะไร หรือเป็นของโปรแกรมอะไร บน desktop (บน desktop สามารถเปลี่ยนชื่ออะไรก็ได้ แต่ใน palm นั้นจะไม่ได้ หรือได้ก็จะใช้ไม่ได้หน่ะครับ ซึ่งมันก็เป็นเหตุผลที่ว่า ชื่อเวลาเห็น มันจะเป็น ***.pat*hed.prc ***.cra*ked.prc หรือ ***.prc ธรรมดาถึงไม่มีผลหน่ะครับ) เพราะว่าเพียงแค่นี้ไม่ได้มีรายละเอียดอะไรเลยแม้แต่น้อย การที่จะบอกในรายละเอียดขนาดนั้นได้จะต้องมาดูในโครงสร้างของ file ซึ่งจะประกอบด้วย header และส่วนของ application-specific

   โดยส่วน header จะเป็นตัวแสดงรายละเอียดใน palm ทั้งหมดครับ ทั้งชื่อ, รายละเอียดโปรแกรม, creator ID และค่า attribute ทั้งหมด ดังนี้

   จะงงๆหน่อยนะครับ แต่ว่าการทำอย่างนี้ ก็เป็นเหมือนการแสดงสกุล file ใน windows หล่ะครับ เพียงแค่วิธีต่างกัน (มากอยู่ครับ) สำหรับระบบทั่วๆไปนั้น เช่น windows หรือ linux จะใช้ระบบ File Format ครับ โดยจะมีชื่อ file และนามสกุลเป็นตัวกำหนดทั้งหมดครับ แต่ใน palm นั้นจะใช้ระบบที่เรียกว่า Memory Format ครับ คือรูปแบบทั้งหมดจะอยู่ใน file ครับ นั่นก็หมายความว่าถ้าเทียบกันจริงๆแล้ว แต่ละ file ใน Palm นั้นจะมีข้อมูลมากกว่าครับ เพราะต้องรวม memory overhaed เพื่อแสดงตัวกำหนดต่างๆด้วยครับ ซึ่งถ้าใครเคยเรียนพวก microprocessor น่าจะเข้าใจได้ไม่ยากนักหน่ะครับ ถ้าใครเคยสังเกตนะครับ การลงโปรแกรม อย่างพวก ***.pat*hed.prc กับ ***.prc จะแตกต่างกันเมื่อลงในเครื่องและลงใน card ครับ ก็เพราะ header นี่แหละครับ เพราะ header ที่เหมือนกันทำให้ palm เข้าใจว่าเป็น file เดียวกันเลยจะมีเพียงแค่ตัวเดียวครับ แต่ถ้าลง card จะกลายเป็นว่าเห็นเป็น 2 ตัวเพราะว่าใน card นั้นการจัดเก็บข้อมูลจะมีลักษณะเหมือน desktop คือ มี directory และจะแบ่งแยกด้วยชื่อ-สกุลของ file หน่ะครับ ซึ่งในส่วนของโครงสร้างข้อมูลใน database และ resource นั้นก็จะแตกต่างกันเล็กน้อยครับ พูดเรื่องข้อจำกัดของมันนิดนึงครับ ในส่วนของ database นั้นสำหรับ palm แล้วรูปแบบมาตรฐานของข้อมูลที่แบ่งเป็น category นั้นจะแบ่งได้สูงสุดเพียงแค่ 16 category นะครับ เนื่องด้วยตัวแปรที่ใช้ในการกำหนดมันสูงสุดแค่นี้หน่ะครับ ซึ่งโปรแกรมที่ทำได้มากกว่านี้จะไม่ได้ใช้ database รูปแบบมาตรฐานหน่ะครับ
   ก็เพียงเท่านี้ก็น่าจะพอเข้าใจกันมากขึ้นนะครับ ว่า palm เค้าเข้าใจแต่ละ file กันได้อย่างไรหน่ะครับ แต่มันอาจจะงงมากไป สิ่งที่เราควรรู้จริงๆก็คือ Creator ตามรูปข้างบนนั้นเองครับ มันจะเป็นตัวที่ทำให้เราได้รู้ว่าโปรแกรมนั้นๆ มี database เป็นอะไรหน่ะครับ เช่น calendar จะมี creator เป็น PDat ครับ ซึ่งเรามาดูกันว่า file ที่มี creator เป็น PDat มีอะไรบ้าง เราจะลองใช้ฟังก์ชั่น filter ใน fileZ ดูนะครับ

จะสังเกตว่าจะมีอยู่ 4 file ที่เกี่ยวข้องกับเจ้า calendar นะครับ ดูจากสีนะครับ เราจะเห็นได้ว่า ถ้าเอามันออกมาที่ desktop เราจะเห็นมันเป็น .prc 2 files และ .pdb 2 files ดังนี้

    ๏ Calendar-PDat.prc และ Calendar-PDat_enUS.prc ซึ่งก็ตรงครับ เพราะ 2 files นี้เป็น code และก็ overlay นั่นเองครับ ก็ถูกต้องที่จะเป็น resource files
    ๏ ส่วนอีก 2 file นั้นก็จะเป็น database files ครับ
   ที่แยกออกมาให้ดูก็อยากจะแสดงให้เห็นว่า ไฟล์บน palm ที่เห็นบน desktop แม้จะ file เดียวกันนั้นก็ไม่สามารถจำแนก file ได้เลย เพราะถ้าลองเปลี่ยน database files อย่าง calendarDB-PDat.pdb เป็น calendar-PDat.prc เรายังไม่สามารถหลอก palm ได้เลยครับ (ไม่เชื่อลองดูได้ครับ ทำตามนี้เลยครับ แล้ว copy ทับเข้าไปเลยครับ มันก็ไม่ได้มีผลกับ Calendar-PDat.prc ในเครื่องเลย มันก็แค่จะไปทับ calendarDB-PDat ตามที่ควรจะเป็นอยู่ดีครับ) นี่แหละครับ เป็นความพิเศษของ palm ที่มันดูเหมือนจะไม่เข้ากับ sense เรานัก (ก็ใช้ Windows มาก่อนนี่นา) แต่มันเป็นการจัดการ file ที่เรียบง่ายแต่มีประสิทธิภาพสูงมากทีเดียวครับ เพราะความผิดพลาดที่อาจจะเกิดขึ้นนั้นยากมากครับ เพราะถ้าเป็น windows OS ทั้งหลาย ก็โดนทับไปแล้วแน่ๆครับ ถึงแม้จะไม่ใช่ file มันจริงๆก็เถอะครับ
   แล้วมาดูกันที่การลบโปรแกรมของ palm หน่อยครับ เนื่องจากการควบคุมจะใช้ creator ID เป็นหลักดังนั้นการที่จะลบอะไรก็จะเหมือนกับว่าแต่ละ file ที่ creator เดียวกันนั้นก็จะคือ 1 ชุดของโปรแกรมครับ รวมทั้งตัวโปรแกรมและ database ทั้งหมดครับ ดังรูปครับ ก็คือ Calendar ที่ยกตัวอย่างไปนั้นเองครับ

   จะเห็นได้ว่า calendar ใช้เนื้อที่ทั้งหมด 300kB ซึ่งคือประมาณ 185k+29k+86k นั้นเองครับ เพราะฉะนั้นก็มั่นใจได้ว่าการลบทางนี้เป็นการลบที่เหมาะสมแน่นอนครับ ^_^
   จากการลบทาง menu | delete นั้น มีหลายคนบอกว่าลบไม่หมดครับ ซึ่งจริงๆ เพราะว่ายังมีอีกส่วนครับ ที่เก็บข้อมูลของ calendar ไว้.. นั่นก็คือ preferences นั้นเองครับ จะประกอบด้วย 2 ส่วนด้วยกันคือ Saved preferences และ Unsaved preferences ครับ ในกรณีที่ record ใน preferences มี creator เดียวกันกับตัวโปรแกรมนั้นรับรองได้ครับ ว่าถูกลบจนหมดสิ้นครับ ซึ่งทำให้ความต้องการที่จะใช้โปรแกรมอย่างพวก Uninstall manager นั้นไม่มีครับ เพราะว่าการลบผ่านทาง menu | delete ใน palm launcher ก็ลบได้อย่างครบถ้วนครับ จะมีก็แต่พวกโปรแกรมที่มีหลาย creator ID ครับ เช่น doc to go ที่จะมีของทั้ง word to go, excel to go, sheet to go,... แยกกันไปตามแต่ละตัวเลยครับ จะทำให้ใน menu | delete นั้นมีหลายๆตัวแยกๆกันออกไปครับ ซึ่งคงต้องตามหากันให้หมดถึงจะลบได้ครบหล่ะครับ แต่จริงๆแล้วโปรแกรมพวกนี้จะมีไม่มากครับ และก็จะมีโปรแกรมสำหรับลบโปรแกรมของตัวเองให้ด้วยอยู่แล้วครับ ดังนั้นการลบด้วย palm launcher ก็ดูเป็นวิธีที่เหมาะสมที่สุดครับ

    • Saved preferences - จะเป็นตัวเก็บค่าสถานะทั้งหมดของระบบครับ เช่น ค่าที่ตั้งไว้พวก sound & alerts, theme เป็นต้น, เป็นตัวเก็บค่าเล็กๆน้อยๆต่างๆ ของโปรแกรม เช่น รหัสลงทะเบียน หรือ state สุดท้ายของโปรแกรมนั่นเองครับ
    • Unsaved preferences - จะเป็นตัวเก็บการจองไฟล์ของแต่ละโปรแกรมครับ เช่น ถ้าเป็น text ก็จะเข้า memos หน่ะครับ
   ทั้ง 2 ตัวนี้มีหน้าที่คล้ายกับ registry ใน windows มากๆครับแต่ด้วยโครงสร้างที่ง่ายกว่าทำให้เราแก้ไข และเข้าใจมันได้ง่ายขึ้นด้วยหน่ะครับ
   อีกส่วนที่อยากให้ทำความรู้จักคือ type ของ file ใน palm ครับ เป็นตัวแสดงถึงการทำงานของ file ใน palm ครับ เหมือนกับที่ windows แสดงด้วยนามสกุลครับ type นั้นจะเป็นตัวแสดงชนิดของ file นั้นๆหน่ะครับ ซึ่งจริงๆแล้วจะมีค่าเป็นอะไรก็จะขึ้นกับผู้ผลิตโปรแกรมนั้นๆครับ จึงทำให้มีหลากหลายแตกต่างออกไปด้วยครับ
   แต่..จะมีบางตัวครับที่จะเป็น type หลักๆครับ จะไม่ได้ขึ้นกับผู้ผลิตครับซึ่งคือ
    appl: อันนี้แสดง PRC database ให้เห็นว่าเป็นโปรแกรม
    panl: อันนี้เป็นโปรแกรมครับ แต่ว่าจะอยู่ใน Preference Panel ครับ
    data: ก็แสดงให้เป็นว่าเป็น database ครับ
    libr: ก็พวก library ของโปรแกรมต่างๆครับ
    ovly: อันนี้ก็พวก overlay ครับ
    จริงๆก็น่าจะมีอีกตัวครับ pqa: แต่ตอนนี้คงไม่มีแล้วมั้งครับ PQA database ครับ นั้นก็คือ web clipping หน่ะครับ
   ถ้าจะเทียบให้เห็นชัดๆกับ windows ก็จะเทียบได้ประมาณว่า

appl หรือ panl
<===>
.exe .com

libr
<===>
.dll

data
<===>
อันนี้หลากหลายไปนิดครับ .doc, .xls, .dat, .mpg, ... เพราะมันคือ ข้อมูลเกือบทั้งหมดหน่ะครับ

   ก็คงพอจะเห็นภาพมากขึ้นนะครับกับ file system ของ palm
ในส่วนการทำงานร่วมกับ memory card นั้น โครงสร้าง directory นั้นจะสร้างขึ้นโดยอัตโนมัติครับ ซึ่งจะประกอบดังนี้

    • /PALM/Launcher - เป็น directory ที่ไว้สำหรับเก็บโปรแกรมและ database ทั้งหมดครับ โดยโปรแกรมที่ปรากฎใน category ใน Palm Launcher ซึ่งในส่วนของ database นั้นจุะขึ้นกับแต่ละโปรแกรมว่ารองรับหรือไม่ด้วยครับ
    • /PALM/Programs - เป็นที่เก็บ database ของโปรแกรมต่างๆ ซึ่งจะขึ้นกับตัวโปรแกรมเองซึ่งจะมีการใช้งานแตกต่างกันออกไป เช่น CardBackup ก็จะเก็บข้อมูลที่ backup ไว้ที่ /PALM/Programs/jkCB/[ชื่อ backup set]
   หลังจากที่พอจะเข้าใจระบบจัดการของ palm กันแล้ว มาดูในเรื่อง function ที่น่าสนใจของ Palm OS กันครับ มาดูกันที่เรียกว่าน่าสนใจและทำให้ palm เป็น PDA ที่น่าสนใจกัน
    graffiti & graffiti area - อันนี้เป็นตัวหลัก ตัวชูโรงเลยหล่ะครับ เนื่องจากความง่ายของมันครับ มันไม่ได้เพียงแค่เขียนได้ a-z 0-1 เท่านั้น ยังสามารถ cut, copy, undo, paste ซึ่งแนะนำให้หาดูใน menu | edit | graffiti help ก็จะมีรายละเอียดทั้งหมดครับ หรือในโปรแกรม graffiti หรือ graffiti 2 หรือ quick tour ครับ จะมีวิธีและให้ลองเขียนด้วยครับ ถ้าคุ้นเคยแล้วจะเข้าใจครับ ว่า graffiti area ของ palm นั้นมีประโยชน์มาก ไม่ใช่แค่บริเวณที่เป็นส่วนเกินแต่อย่างใดครับ แต่จะเป็นพื้นที่ๆขาดไม่ได้ไปซะด้วยซ้ำครับ มันเป็นสิ่งหนึ่งที่ทำให้การใช้งานมันง่ายต่างกับพวก PocketPC หน่ะครับ

       ส่วน palm รุ่นใหม่ๆนั้น graffiti area นั้นจะ Virtual Graffiti ซึ่งจะสามารถหดลงเพื่อการแสดงผลที่มากขึ้น แต่ก็จะมี status bar ที่มีการปิด-เปิดการเขียน graffiti บนหน้าจอได้ ก็จะทำให้ความสะดวกในการใช้งานไม่ได้ลดลง
    shortcuts - จะเหมือนเป็นส่วนเติมเต็มให้กับการใช้งาน graffiti ให้สมบูรณ์มากขึ้นครับ โดยรายละเอียดดูได้จาก เรื่องราวเกี่ยวกับ Shortcuts โดยเด่นๆก็จะมีอย่างเช่น shortcuts + ds >> จะกลายเป็นวันที่ shortcuts + ts จะกลายเป็นเวลาขณะนั้น เป็นต้นหน่ะครับ ซึ่งทำให้เราสะดวกขึ้นมากทีเดียวครับ
    find - function นี้ดูจะเป็นมาตรฐานมากๆครับ เพราะว่าดูแล้วก็ใครๆเค้าก็มีกันครับ แต่ว่ามันเป็นสิ่งสำคัญที่ทำให้ PDA นั้นสร้างความแตกต่างกับ Organizer จริงๆครับ find ทำให้เราหาข้อมูลที่เก็บไว้เยอะๆได้อย่างรวดเร็ว สามารถหาเบอร์โทรศัพท์พร้อม e-mail ได้พร้อมๆกับในทีเดียว สามารถหาข้อมูลที่เก็บไว้ใน memos ได้อย่างทันใจแม้จะมีอยู่กี่หน้า มีอยู่กี่เรื่องก็ตาม อย่างที่ไม่สามารถทำได้กับสมุด organizer จริงๆ เลยต้องยกเป็น function ขาดไม่ได้ทีเดียวครับ สำหรับ palm แล้ว find นั้นก็จะเด่นกว่าระบบอื่นที่ความเร็ว ซึ่งก็เพราะระบบ file ที่ไม่ซับซ้อนของ palm นั้นเอง

       ในส่วนของ memory นั้น Palm OS จะแบ่ง memory ออกเป็น 2 ส่วนครับ ซึ่งก็คือ
      1. storage heap - จะเป็นในส่วนเก็บข้อมูล การทำงานก็เหมือนๆกับ Hard disk ของ Desktop หล่ะครับ
      2. dynamic heap - จะเป็นส่วนที่เป็นเหมือน RAM ของ Desktop จะทำให้หน้าที่เก็บข้อมูลที่ใช้ในการทำงานทั้งหมดครับ
       โดยส่วนใหญ่แล้วขนาดของ dynamic heap นั้นจะแปรตาม memory รวมครับคือ มี memory ในเครื่องเท่าใดก็จะมี dynamic heap เพิ่มขึ้นครับ แต่จะมีเพียงใน OS5 รุ่นแรกๆ เช่น T|T, T|2, zire71 ที่มี dynamic heap น้อยจนอาจจะทำให้เล่นเกมหรือโปรแกรมใหม่ๆไม่ค่อยได้หน่ะครับ โดยจะมี dynamic heap ไม่มากไปกว่า 800kB หน่ะครับ
       ก็ใช่ว่าระบบที่ทำให้ง่าย ไม่ซับซ้อนนั้นจะไม่มีข้อเสียนะครับ สิ่งหนึ่งที่ผมว่ามันขาดไปจริงๆก็คือ ขนาด stack เพียง 1kB เท่านั้น ซึ่งคือเราจะสามารถ copy text ใน memo หรือทีใดๆ ได้เพียงแค่ 1kB เท่านั้นในแต่ละครั้งที่จะไป paste หน่ะครับ มันเป็นข้อจำกัดที่ยังเหมือนกับใน OS ทุกๆตัวของ Palm หล่ะครับ

    How palm work?
       การทำงานของ palm ก็ไม่แตกต่างจาก PDA ทั่วไปซึ่งก็คือสามารถทำงานได้ทั้งตัวเดียวโดดๆ หรือจะทำงานร่วมกับ computer

    Standalone
       การทำงานในลักษณะนี้อาจจะจำเป็นที่จะต้องทำงานร่วมกับ Computer ในบางครั้งที่จะต้องการลงโปรแกรม หลังจากนั้นจะเป็นการใช้งานที่เหมือนสมุด organizer นั้นเอง เพราะการใส่ข้อมูลต่างๆใน palm นั้นทำได้สะดวก เมื่อเกิดความคุ้นเคย ไม่ว่าจะเป็น graffiti หรือการจิ้ม on-screen keyboard หรือจะต่อเชื่อมกับ external keyboard ก็ตาม ซึ่ง palm จะสามารถรองรับได้ทั้งภาษาหลักของ OS และภาษาอื่นในขณะเดียวกัน โดยการลงโปรแกรมเพิ่ม แต่ข้อจำกัดที่เกิดนั้นก็คือ palm ใช้รหัส ASCII ในการเข้าถึงตัวอักษรทำได้ palm นั้นจะสามารถรองรับภาษาที่แตกต่างกันไม่มากไปกว่า 2 ภาษาต่อ 1 ครั้งซึ่งในกรณีที่จะใช้มากกว่านี้จะต้องมีการปิดการทำงานของอีกหนึ่งภาษาก่อนที่จะเริ่มต้นภาษาใหม่ได้
    work with Computer
       สำหรับการรองรับการทำงานกับ computer นั้น palm จะเชื่อมต่อได้ใน 2 ลักษณะซึ่งก็คือ ผ่าน hotsync และผ่าน network

      • hotsync - จะเป็นการ synchronize ข้อมูลกับ computer ไม่ว่าจะเป็น PC หรือ Mac ซึ่งจำเป็นจะต้องลง Palm Desktop และ Hotsync manager เป็นตัวกลางในการส่งผ่านข้อมูล

      • network - จะเป็นการเชื่อมต่อในลักษณะของการสร้างเครือข่ายเกิดขึ้น ซึ่งอาจจะไว้ใช้ในการเชื่อมต่อ internet หรือในการค้นหาข้อมูลต่างๆก็ตาม ซึ่งโดยมากจะต้องการ 3rd party software เพื่อช่วยในการเชื่อมต่อให้สมบูรณ์ยิ่งขึ้น

         แต่จุดประสงค์หลักของการทำงานร่วมกับ computer นั้นจะเป็นในส่วนของการใส่ข้อมูลจำนวนมาก เพราะว่าการใส่ข้อมูลทาง computer ยังไงแล้วก็จะสะดวกกว่าการใส่ข้อมูลใน palm และยังสามารถทำความเร็วได้มากกว่าอีกด้วย
         มาพูดถึงการใช้งานในส่วนของ palm desktop ซึ่งเหมือนเป็นการนำข้อมูลของ PIM ทั้งหมดมาไว้ที่ computer นั้นเอง ในชุดโปรแกรม palm desktop จะประกอบด้วยส่วนหลักๆ 2 ส่วน ซึ่งก็คือ ตัวโปรแกรม palm desktop เองและ hotsync manager โดยการทำงานของ palm desktop นั้น ยังคงได้รับเอกลักษณ์ของ palm มาเต็มๆ ซึ่งก็คือความง่าย และสะดวกในการเข้าใจและใช้งาน เช่น ในส่วน calendar สามารถที่จะจิ้มลงไปในเวลาที่ต้องการและใส่ข้อมูลได้ทันทีเช่นเดียวกับใน palm และส่วนการทำงานอื่นๆ นั้น จะขึ้นกับ conduit ของแต่ละโปรแกรมนั่นเอง ส่วน hotsync manager นั้นจะเป็นการทำงานในส่วนของการเชื่อมต่อระหว่าง palm และ palm desktop โดยจะมี conduit แยกย่อยแต่ละโปรแกรม

      แล้วอนาคตของ Palm หล่ะ?
         PalmSource เค้าบอกไว้ว่า
      "Many people assume that the market for mobile data will develop like the market for PCs, that everyone will converge on a single one-size-fits-all design. But in reality the opposite is happening--as the market grows, devices are becoming more and more diverse. The reality is that the market for mobile data is more like the market for cars than PCs. Just as different people need and choose very different vehicles, different people and different companies will choose very different data devices, and customize them with different software programs. The Palm OS platform offers the best selection of hardware and software, while preserving the ease of use that launched the mobile data market in the first place."
         นั่นแหละครับ ผมว่า Palm OS หน่ะยังอยู่ได้อีกนานหล่ะครับ แต่ปัญหาเดียวก็คือ จะมัวแต่ไปแข่งตามตลาด จนลืมสิ่งดีๆที่มีจาก Palm OS รึป่าวเท่านั้นเอง...
         จบบทความนี้แล้วก็น่าจะทำให้ใช้ palm แบบเข้าใจมันมากขึ้นกว่าเดิม และก็สนุกกับการใช้งานมันมากขึ้นนะครับ
      ข้อมูลเพิ่มเติม: PalmSource