Ubuntu One ประกาศเปิดตัว Mobile App สำหรับ iOS ทำให้ผู้ใช้อุปกรณ์อย่าง iPhone สามารถดูและจัดการไฟล์ เพลง ภาพ และเอกสารใน Ubuntu One ได้ App ยังสามารถอัพโหลดและดาวน์โหลดไฟล์จาก Ubuntu One ได้

สำหรับท่านที่สนใจสามารถดาวน์โหลด App ได้ฟรีจาก App Store

ที่มา – H-Online

ผมพยายามหา package manager เจ๋งๆ มาใช้งานทั้งตัว package และตัวโปรแกรมที่ทำหน้าที่ sync และ update package บนเครื่อง server และเครื่อง desktop ได้ซึ่งตอนนี้ผมจับ 4 distro หลักคือ openSolaris, Debian, Ubuntu และ Fedora เอาเป็นว่ายุบรวมเหลือเพียง 2 package manager ละกันครับ ซึ่งลักษณะการ fetch package คล้ายคลึงกันคือ การสร้าง database repo (meta data ของ package ที่มีอยู่ใน repo server ที่เราเลือกเอาไว้) อยู่ในเครื่องเรา กับไม่ได้สร้าง database repo ในเครื่องเรา วิธีการสังเกตง่ายๆ คือ การค้นหาหรือติดตั้งโปรแกรมที่เคยติดตั้งไปแล้ว (กรณีที่เก็บ package เป็น archive ไว้) package manager จะติดตั้งหรือค้าหาได้ทันที ไม่จำเป็นต้องเชื่อมต่อ internet เพื่อเข้าไป fetch ของ database repository อีกรอบหนึ่ง

ซึ่ง aptitude เป็น package manager ที่ชอบเก็บ database repo ข้อดีก้อคือกรณีเกิดการ broken database บน repo server เราสามารถใช้ repo database ในเครื่องเราสืบค้นข้อมูล package ได้ ซึ่งแตกต่างจาก yum ซึ่งพบใน fedora และ delivered distro ของ fedora เจ้าโปรแกรม yum เป็นส่วนเสริมในการจัดการ package rpm ซึ่ง yum ไม่เก็บข้อมูล repo database ในเครื่องเรา เวลาติดตั้งหรือค้นหา package ต้อง fetch หาจาก repo server ซึ่งค่อนข้างจะมีน้อยและกระจัดกระจาย ด้วยการจัดการ repo database แบบนี้ทำให้ yum ก้อมีข้อดีอย่างหนึ่งคือเราจะได้ข้อมูล package ที่สดใหม่อยู่ตลอดเวลา และรู้ว่าอะไรควรจะอัพเดทหรือไม่อัพเดท แต่ข้อเสียคือมันต้องใช้ internet คลอดเวลาค้นหา package ที่เราจำชื่อไม่ค่อยจะได้ อันนี้ผมเป็นบ่อยเพราะผมชอบค้นใน repo มากกว่าการนั่งเดาชื่อ package หรือชื่อโปรแกรมที่ผมจะติดตั้ง ซึ่งกรณีเกิด broken repo database บน repo server ก้อเตรียมทำใจได้เลยครับ เพราะจะ fetch อะไรไม่ได้และก้อต้องจำใจใช้ โปรแกรมเก่าๆ ต่อไป

เอาล่ะแล้วจะมี package manager ที่ผมชอบบ้างมั๊ย เท่าที่ลองเล่น หลายๆ distro รวมถึง opemSolaris ด้วยแล้วก้อมีจุดดีจุดเด่นแตกต่างกัน ด้วยลักษณะการจัดการ repo server และข้อมูล meta data ที่เก็บด้วย แต่ผมมีโครงสร้าง meta data ที่น่าสนใจอยุ่ตัวหนึ่งลองมาดูกันมั๊ยครับ

<dict>
    <key>bundleIdentifier</key>
    <string>com.nullriver.iphone.Launcher</string>
    <key>name</key>
    <string>Launcher</string>
    <key>version</key>
    <string>0.2</string>
    <key>location</key>
    <string>http://iphone.nullriver.com/zips/Launcher-0.2.zip</string>
    <key>size</key>
    <string>14581</string>
    <key>description</key>
    <string>A simple third party application launcher.</string>
    <key>scripts</key>
    <dict>
        <key>preflight</key>
        <array>
            <array>
                <string>If</string>
                <array>
                    <array>
                        <string>InstalledPackage</string>
                        <string>com.kroo.mobilelauncher</string>
                    </array>
                </array>
                <array>
                    <array>
                        <string>AbortOperation</string>
                        <string>Please uninstall MobileLauncher first.</string>
                    </array>
                </array>
            </array>
        </array>
        <key>install</key>
        <array>
            <array>
                <string>CopyPath</string>
                <string>Launcher.app</string>
                <string>/Applications/Launcher.app</string>
            </array>
            <array>
                <string>CopyPath</string>
                <string>DisplayOrder.plist</string>
                <string>/System/Library/CoreServices/SpringBoard.app/DisplayOrder.plist</string>
            </array>
        </array>
        <key>uninstall</key>
        <array>
            <array>
                <string>RemovePath</string>
                <string>/Applications/Launcher.app</string>
            </array>
        </array>
    </dict>
</dict>

ข้างบนเป็นกรณีศึกษาของผมคือ plist ของ Nullriver Installer บน iPhone นะครับ เจ้า Nullriver Installer นี้ฮิตมากเพราะทำงานคล้ายๆ กับ synaptic คือติดโปรแกรมผ่านทาง internet ได้อ้อถ้ามีเครื่องใน office ก้อติดผ่าน wifi ได้ครับ เจ๋งมั๊ย และที่สำคัญไฟล์ package ที่เอามาติดตั้งไม่จำเป็นต้องอยู่ที่เครื่อง repository ก้อได้ (ตัวหนา) คือเครื่อง repo server ที่อยู่ใน office เป็นเพียง meta data (repo database) เท่านั้น จะติดตั้งก้อวิ่งไป download package เพื่อเอามาติดตั้งอีกที แต่ Nullriver Installer ไม่ได้ทำงานแค่นี้มันยังสามารถเก็บ repo database ในเครื่อง iPhone ด้วย นั่นหมายความว่าคุณสามารถ browse repo ได้โดยไม่ต้องเชื่อมต่อ internet อันนี้สิครับเจ๋งจริง แต่ด้วยความที่โครงสร้างของตัว repo server และ package list (plist) สามารถสร้างและแก้ไขได้ง่าย ทำให้เกิดธุรกิจทำ repo ของ iPhone โดยใช้โครงสร้าง repo ของ Nullriver เยอะมาก ปัญหาที่ตามมาคือ package ซ้ำซ้อนกันไงครับ เอาล่ะปัญหานี้กำลังถูกแก้ไขโดยโครงการ AppTapp ของ Nullriver นั่นแหละครับ ซึ่งอาจแฝงการตลาดเข้าไปด้วยก้อได้อันนี้ผมไม่ทราบนะครับ :) ว่าจะมีหรือเปล่า แต่ที่แน่นอนคือ Nullriver Installer หรือ AppTpp ในอนาคตเป็นที่น่าจับตามองครับ สำหรับ package manager บน android ผมยังไม่ได้ดูเลยครับว่าเป็นยังไง ใครพอจะทราบก้อบอกเล่าแลกเปลี่ยนความรู้กันได้ครับ :)

 

คงจะไม่ใช่เรื่องยากเกินไปเสียแล้ว สำหรับ คอนเซ็ปต์ที่จะให้ iPhone ทำงานทุกอย่างในบ้าน เพราะนี่เป็นหนึ่งในไมล์สโตนที่ iPhone น่าจะทำได้ โดยคอนเซ็ปต์นี้เห็นได้ชัดเจนมากขึ้น เมื่อมีทีมนักพัฒนาโอเพ่นซอร์สระดับเก๋ากำลังเปลี่ยนให้เครื่องใช้ต่าง ๆ ในบ้านสามารรถควบคุมผ่านทาง iPhone และ iPod touch ได้ โดยโครงการดังกล่าวนี้อยู่ภายใต้ชื่อ OpenRemote ซึ่งได้นักพัฒนาอย่าง Marc Fleury ซึ่งเป็นหนึ่งในผู้เริ่มต้น JBoss มาเป็นผู้พัฒนา โดยกลุ่มงาน OpenRemote นั้นเพิ่งจะเปิดเผยว่ามีการพัฒนาต้นแบบแบบ end-to-end ขึ้นมา โดยใช้ซอฟต์แวร์ iPhone Native Console ในการทำงาน เพื่อส่งคำสั่งต่าง ๆ ไปยังชุด OpenRemote Box (ORB) ผ่านทางเครือข่าย Wi-Fi ซึ่ง ORB ก็จะเปลี่ยนแปลงคำสั่งดังกล่าวนั้นให้เป็นชุดคำสั่งเพื่อสั่งงานระบบต่าง ๆ ภายในบ้านโดยอัตโนมัติ โดยในชุดต้นแบบนั้นจะใช้ระบบอินฟราเรดก่อน ส่วนการสนับสนุน X10 และ KNX จะตามมาในภายหลัง

ซึ่งแน่นอนว่าเพียงแค่อินฟราเรดก็จะช่วยให้เราเหมือนมีมือในการกดรีโมทสั่งงานเครื่องใช้ต่าง ๆ ได้เป็นอย่างดี แต่เมื่อทำงานร่วมกับ X10 ได้ก็จะสามารถสั่งงานระบบกล้องวงจรปิด, ระบบรักษาความปลอดภัย รวมทั้งระบบแสงสว่างได้ไม่ยากนัก แต่ถึงอย่างไรในโปรแกรม OpenRemote นั้นเป็นเพียงแค่จุดเริ่มต้นที่จุดประกายบอกว่าคอนเซ็ปต์ในการสั่งงานอุปกรณ์ภายในบ้านโดยอัตโนมัตินั้นเป็นเรื่องที่เกิดขึ้นได้ และเกิดขึ้นจริงแล้ว ซึ่งประเด็นก็คือทิศทางในการพัฒนาว่าจะเป็นไปได้จริงในเชิงธุรกิจหรือไม่เท่านั้นเอง

 

ขอบคุณข้อมูลจาก
นิตยสาร PC WORLD ฉบับเดือนเมษายน 2552