เด็กโข่งทำป้าย Digital Signage ตอนที่ 4 ตอนจบ

เมื่อวันเสาร์ที่ผ่านมานึกสนุกก็เลยไปดู TV ที่เป็น Smart TV เพราะอยากรู้ว่า Smart TV มันเป็นยังไง จะติดตั้งโปรแกรมเข้าไปได้ยังไง แล้วจะเอา Synapse ไปติดตั้งได้มั๊ย หลังจากเดินดูอยู่ครึ่งวันก็พบว่าผมไม่ได้คำตอบจากคนขายมากนัก ส่วนใหญ่ก็บอกว่าก็เข้า LG Store หรือ Samsung Hub แล้วก็สั่งติดตั้ง ถ้าอยากรู้ต้องซื้อไปลองเอาเอง แต่ว่า Smart TV นี่ราคาหลายหมื่นนอกจากราคาแพงแล้วจอยังใหญ่เกินกว่าที่ผมจะแบกคนเดียวไหว และถ้าจะต้องใช้ LG Store หรือ Samsung Hub จริงผมคงเลิกที่จะซื้อ Smart TV เพราะเอามาก็ไม่รู้จะดูอะไร เอาเป็นว่าซื้อจอคอมพิวเตอร์ละกันเอาแบบที่รองรับ Full HD ได้ เสียบกับช่องอะไรก็ได้ไม่ว่าจะเป็น HDMI, D-Sub และ DVI ก็เลยไปสอยจอ LG LED 23EA63 มาตัวนึง พร้อมกับ Android Mini PC MK808 และ Air Mouse
หลังจากที่เสียบเจ้า MK808 ก็พบว่า ROM ที่ติดมาเป็น Android 4.1.1 ซึ่งไม่ตรงกับ Stock ROM เข้าใจว่าทางร้านคงจะอัพเกรดให้ แต่ที่น่าเสียดายคือไม่ได้ Root เครื่องมาไม่งั้นได้เล่นอะไรสนุกๆ อีกเยอะ หลังจากได้จอ Full HD และ MK808 มาแล้วก็เลยได้ทดสอบ Synapse Digital Signage แบบเต็มๆ หลังจากที่ทดสอบบน Asus Transformer มาเกือบ 1 สัปดาห์ ผลปรากฏว่า resolution มันผิด T_T ตอนที่ทดสอบบน Asus Tranformer เป็นหน้าจอขนาด 1280×800 ไม่ใช่หน้าจอขนาด 720p อย่างที่ผมเข้าใจ ทำให้การแสดงผลบนจอ Full HD มันแปลก เพราะสัดส่วนมันเกินไป 80 pixel อีกอย่างการ Scale บน App ตั้งค่าไว้เป็นแบบ Center ทำให้ภาพมันดูไม่เต็มจอ ต่อให้หด Navigation Bar แล้วก็ตาม อ้อ MK808 ที่ผมซื้อมามี Feature ซ่อน Navigation Bar มาให้ด้วย ก็ไม่จำเป็นต้อง Root หรือติดตั้งโปรแกรมเพิ่มเติม แหมถ้ายัด App Full! Screen จะดีมากเลยล่ะ เอ้ามาดูกันว่าหน้าตาบนจอ 1080p เป็นยังไง

หน้าแรกหลังลง App จะมี Overlay Instruction แบบสวยๆ

หลังจากกดผ่านมาแล้ว App จะดึง default image มาแสดง เพราะตั้งค่า data store เป็น image slideshow

คลิกที่นาฬิกาจะเปิดหน้าต่าง setting ขึ้นมาตั้งค่ากันตามใจชอบ

ถ้ากำหนด data store เป็น website ก็จะเปิดหน้าเว็บขึ้นมา ภาพตัวอย่างเป็น Gecko Board

อ้อเกือบลืมไปว่าสามารถตั้งค่าเป็น Launcher ใหม่ได้ด้วย แทน Launcher เก่าไปเลย เหมาะสำหรับผู้ที่ต้องการนำไปใช้งานแบบไม่ต้องกลัวลืมว่าจะต้องหา Air Mouse มาคลิกเพื่อเปิดโปรแกรม สรุปกันหน่อย

  • ใช้ Android Stick อย่าง MK808
  • ติดตั้ง App Full!Screen เพื่อบังคับให้ซ่อน Navigation Bar
  • ติดตั้ง Synapse และตั้งค่าให้เป็น default launcher
  • คัดลอกไฟล์ภาพใส่ SD Card แล้วเปลี่ยน image path ใหม่ หรือ
  • เลือก data sourcr เป็น website แล้วตั้งค่า URL ที่คุณต้องการ

เพียงเท่านี้คุณก็จะได้จอ Digital Signage แล้ว แค่เสียบปลั๊กทุกอย่างทำงานก็เรียบร้อย ง่ายมั๊ยครับ อ้อเกือบลืมไปไม่มี จอฟ้า หรือ Error Dialog มากวนใจด้วย 🙂

เด็กโข่งทำป้าย Digital Signage ตอนที่ 3

ตั้งใจว่าจะทำ Synapse Lite จำกัดความสามารถไว้แต่ไปๆ มาๆ นั่งทำ feature เพิ่มขึ้นเรื่อยๆ ตอนนี้ตั้งใจทำ Language Support ให้ได้หลายภาษาเท่าที่จะทำได้ จะมีภาษาดังนี้

  • ภาษาอังกฤษ
  • ภาษาไทย
  • ภาษาลาว
  • ภาษาเวียดนาม

เดี๋ยวรอดูว่ามีประเทศไหนเอาไปเล่นบ้าง แล้วค่อยทำภาษานั้นๆ เพิ่ม สำหรับ feature อื่นๆ คงเก็บเอาไว้ใช้กับเวอร์ชั่นขาย ผมไม่อยากขายผ่านเว็บหรือขายไฟล์ APK อยากให้โหลดจาก Play Store แล้วเอาไป Activate เอาเอง ตอนนี้กำลังหาวิธีที่ดีที่สุดอยู่ครับ 🙂
สำหรับวิธีการเล่นก็ง่ายมาก ดาวน์โหลด App ได้ที่ Google Play Store  ติดตั้งลงบน Android Box หรือ Android Stick เสียบเข้ากับ TV LCD ความละเอียดหน้าจอต่ำสุดที่ 720p เมื่อเปิด App ขึ้นมาตัว App จะตรวจสอบข้อมูลภาพ (ค่าปริยายอยู่ที่แสดงภาพ) ใน External Storage ซึ่งเปิดครั้งแรดจะไม่มีข้อมูล App จะคัดลอกตัวอย่างภาพไปยัง External Storage ที่ไดเรคทอรี /sdcard/Synapse พร้อมตั้งค่า App เบื้องต้นให้
จากนั้นจะมีหน้าจอ Instruction Overlay ขึ้นมาอธิบายว่ามีอะไรบ้าง ให้คลิกที่หน้าจอ 1 ครั้ง ก็จะแสดงผลภาพตัวอย่าง หากต้องการตั้งค่าใหม่ให้คลิกที่นาฬิกา จะเข้าสู่หน้าตั้งค่า App หากต้องการเปลี่ยนรูปภาพการแสดงผลก็คัดลอกภาพไปยังไดเรคทอรี /sdcard/Synapse หากต้องการแสดงผลเว็บไซต์แทนรูปภาพ ก็เลือกกำหนด Data Source ใหม่ และกำหนด URL เว็บไซต์ที่ต้องการได้ อ้อ สำหรับซอร์สโค้ดอยู่ที่ GitHub เหมือนเดิมครับ
Get it on Google Play

เด็กโข่งทำป้าย Digital Signage ตอนที่ 2

เมื่อ 2 เดือนที่แล้วมีไอเดียการทำโซลูชั่นเกี่ยวกับ Digital Signage ซึ่งได้เขียน Blog ไป แต่ไม่มีเวลาทำก็เลยไม่ได้ทำ เนื่องจากมีงานเผา Slide สอน Andorid Mobile App Development ช่วงต้นเดือนมีนาคม ก็เลยทำให้โครงการนี้ค้างคามานานก็เกือบปลายเดือนเมาายนแล้วก็ได้เริ่มโครงการมานิดเดียว วันนี้มาเล่าความคืบหน้ากันหน่อย หลังจากที่ออกแบบคร่าวๆ จาก Blog ครั้งที่แล้ว รู้สึกว่าจะใช้เวลานานไปหน่อยในการทำเพราะองค์ประกอบที่ออกแบบคร่าวๆ ไว้มันเยอะไปหน่อย คงทำไม่เสร็จใน 1 สัปดาห์แน่นอน ผมก็เลยแบ่ง App ออกเป็น 2 รุ่น คือรุ่น Lite และรุ่น Full ง่ายมั๊ย ;P ซึ่งตอนนี้พัฒนารุ่น Lite เตรียมที่จะออก Lite Beta ได้แล้ว
อ้อลืมบอกจะทำ App มันก็ต้องมีชื่อใช่มั๊ย จะตั้งชื่อว่า Ezy Digital Signage เดี๋ยวก็จะโดน Google Play Store แบน App อ้อผมโดน Google Play Store แบน App ด้วยล่ะ รู้สึกภูมิใจมากมาย 🙂 คิดเล่นๆ ก็เลยใช้ชื่อว่า SYNAPSE ใช้ตัวอักษรในภาษา Albanian ไม่รู้ว่าตัวอะไรลืมละ เห็นมันสวยดี ในรุ่น Lite นี้มีคุณสมบัติง่ายๆ ดังนี้

  • ใช้ข้อมูลรูปภาพ, ข้อมูลจากเว็บไซต์ เลือกเอาอย่างใดอย่างหนึ่ง
  • ระบุที่เก็บรูปภาพ
  • ระบุที่อยู่เว็บไซต์ (ใช้บริการจาก Geckoboard หรือ Duckboard ได้หากไม่อยากทำเว็บ)
  • มีตัวอักษรวิ่งและนาฬิกา
  • ปรับสีตัวอักษรวิ่งและนาฬิกา
  • ปรับสีพื้นหลังอักษรวิ่งและนาฬิกา

วิธีการใช้งานก็ง่ายๆ ครับ หากล่อง Android Stick มาเสียบไว้ที่จอ TV ใหญ่ๆ

Android Mini TV MK808

จากนั้นติดตั้งโปรแกรม Full! Screen เพื่อบังคับให้ Navigation Bar หายไป แล้วก็ตั้งค่า SYNAPSE Lite เพื่อทำเป็น Digital Signage ได้แล้ว ดูภาพตัวอย่าง

ทำเล่นพอสนุกสนาน 🙂  ครั้งหน้าเราจะเชื่อมต่อกับ REST API เพื่อดึง content จาก Cloud Storage กันครับ เก็บไว้เป็นรุ่น Full ละกันนะ

มาเรียน OpenShift Platform as a Service กัน

ผมเปิดคอร์ส Android ที่ ClassStart.org เอาเอกสารการสอนและวิดีโอขึ้นไปหมดแล้ว แต่คิดว่าน่าจะมีข้อมูลเพิ่มเติมอีกหน่อยแต่คงทะยอยทำขึ้นไปเรื่อยๆ ช่วงก่อนสงกรานต์มีผู้ใหญ่ท่านนึงมาจุดประกายเรื่อง OpenShift ไว้ก็เลยทำ Slide + Video การใช้งาน OpenShift เพิ่มเติมเป็นเนื้อหาพิเศษที่ ClassStart.org แต่ไม่ได้เป็นคอร์สแยก คิดว่าจะทำเป็นคอร์สแยกในอีก 1-2 เดือนข้างหน้า (นานไปมั๊ย) สำหรับผู้ที่สนใจก็สามารถเข้าไปเรียนได้ครับ อ้อ สำหรับท่านที่ไม่สะดวกก็สามารถดู Slide ข้างล่างได้ครับ

 
ส่วนวิดีโอ Tutorial จะเป็น Video ใบ้ ใช้ประกอบกับ Slide ในแต่ละส่วนมีดังนี้

 

นักพัฒนาในดวงใจ

ได้โอกาส Blog เกี่ยวกับ นักพัฒนาและบริษัทที่ทำ Mobile App ที่ผมชื่นชอบบ้าง

  • Byte & Beta ทำ App เกี่ยวกับสื่อการเรียนรู้ App คำนวนโน่นนี่
  • Mawika ทำ App สไตล์วัยรุ่น คำคมโดนๆ
  • AppStain ทำ App เกี่ยวกับราคาน้ำมัน ราคาทอง
  • Streamming Mob ทำ App เกี่ยวกับดูหุ้น
  • Code Mobiles ทำ App Utility ผมเรียกว่า App CM
  • Hua Lampong ทำ Molome ไง
  • TouchSi ทำ App พุทธวจนะ
  • Metamedia ทำ App Longdo Map
  • T-La-9 ทำ App สวดมนต์
  • Nom Nom Nom ทำ Game ผมชอบ Game จากบริษััทนี้มาก

เดี๋ยวนึกออกจะมาเพิ่มอีกรอบ

กลัวการแต่งงาน

ผมยอมรับว่า

  • ผมกลัวการแต่งงาน
  • ผมกลัวการมีครอบครัว
  • ผมกลัวว่าคนที่ผมรักจะแปรงร่างกลายเป็นอีกคนหลังแต่งงานแล้ว
  • ผมกลัวการมีชีวิตในแบบที่ขาดอิสระภาพ ไม่มีสิทธิ์ที่จะทำอะไรใดๆ ทั้งสิ้น
  • ผมกลัวว่าจะต้องกลายเป็นซอมบี้หลังแต่งงานแล้ว
  • ผมคิดว่าการแต่งงานหรือการมีครอบครัวมันเป็นเรื่องน่ากลัวมาก

ผมว่ามันอาจจะเป็นอาการผิดปกติทางจิตอย่างนึง เรียกว่า Gamophobia ผมอาจจะต้องพบจิตแพทย์หรือใครสักคน

งบประมาณ

เมื่อสัปดาห์ที่ผ่านมาได้เข้าประชุมกับผู้บริหารของสำนักงานฯ ซึ่งได้ส่งสัญญาณมาว่าจะไม่มีงบประมาณที่เกี่ยวข้องกับโอเพนซอร์สแล้ว เพราะอีก 2-3 ปีข้างหน้าก็จะเปิด AEC แล้ว ในช่วง 10 ปี ที่ผ่านมาการกระตุ้นกลุ่มผู้ใช้ในเกิดความตระหนักในเรื่องซอฟต์แวร์โอเพนซอร์ส ไม่ค่อยประสบผลสำเร็จ และผู้ใหญ่ระดับสูงไม่ค่อยเห็นด้วยนัก ก็เลยได้การบ้านกลับมาคิดว่าอยากทำอะไรให้อุตสาหกรรมซอฟต์แวร์เดินหน้าฝ่า AEC ต่อไปได้ จะโอเพนซอร์สหรือไม่โอเพนซอร์สก็ลองไปคิดดู
สำหรับผมเองเลิกคิดเรื่องการสนับสนุนการใช้ซอฟต์แวร์โอเพนซอร์สในกลุ่มผู้ใช้ไปนานแล้ว เพราะไม่ว่าอย่างไร ความคุ้นเคย ความสะดวกสะบาย ก็เป็นที่ชื่นชอบของคนส่วนใหญ่ หากต้องมาใช้งานซอฟต์แวร์ที่ไม่คุ้นเคยการต่อต้านย่อมเกิด การต่อต้านจะไม่เกิดเมื่อองค์กรมีนโยบายที่ชัดเจน ต้องการลดต้นทุนซอฟต์แวร์ลงจริงๆ ช่วงปี 2009 กระแสของ Cloud เริ่มมาแรงทั้ง IaaS และ SaaS การเปิดตัว Google Apps การพัฒนาซอฟต์แวร์แบบ SaaS ทำให้เกิดโมเดลธุรกิจแบบ Pay as You Go กระแสการใช้ SaaS เน้นการจ่ายที่น้อยลง ซึ่งได้ผลลัพท์ที่ดี ดังนั้นเรื่องโอเพนซอร์สน่าจะวนกลับไปเป็นเรื่องหลังบ้านที่คนทั่วไปไม่ต้องรับรู้น่าจะดีที่สุด การสนับสนุนให้นักพัฒนาต่อยอดความสามารถจากซอฟต์แวร์โอเพนซอร์สจะเป็นต้นทุนที่ดีในการเริ่มทำผลิตภัณฑ์และบริการ จะช่วยลดเวลาในการเข้าสู่ตลาดได้อย่างรวดเร็ว หากใช้โมเดลในการพัฒนาซอฟต์แวร์แบบโอเพนซอร์สก็จะยิ่งเกิดประโยชน์มหาศาล
ไม่มีงบแล้วจะทำอย่างไร? ในปี 2010 ผมโดนให้ออกจากสำนักงานฯ ไปเร่ร่อนอยู่ 3 เดือน เรื่องจากปัญหาเรื่องงบประมาณ ซึ่งเป็นปัญหาที่ลามมาจากปัญหาการเมืองภายใน พอกลับเข้ามาทำงานอีกครั้งในปี 2011 ฝ่ายโอเพนซอร์สก็โดนยุบเนื่องจากการปรับโครงสร้างองค์กร มีนโยบายไม่ให้วิจัยและพัฒนาซอฟต์แวร์โอเพนซอร์สอย่างระบบปฏิบัติการ Suriyan และชุดซอฟต์แวร์โอเพนซอร์ส Chantra ก็บอกเป็นนัยแล้วว่า การสนับสนุนการใช้งานซอฟต์แวร์โอเพนซอร์สคงไม่มีแล้ว ให้เตรียมกดสวิตท์พาราชูตได้ จากหลายๆ เหตุการณ์ที่ผ่านมาทำให้ผมไม่ค่อยแคร์เรื่องเหล่านี้เท่าไร เรียกได้ว่าเข้าใจ มีเริ่มก็ต้องมีเลิก เป็นเรื่องธรรมดา สำหรับคนที่ติดตามจาก thaiopensource.org, บล็อกของผมที่นี่ และสื่อโซเชียลมีเดียต่างๆ ก็คงได้รับประโยชน์จากข้อมูลข่าวสาร, How-To และบทความต่างๆ ไม่มากก็น้อย อนาคตจะเป็นอย่างไรก็คงต้องรอดูกันต่อไปครับ

หมดพลัง

ช่วงเกือบๆ 3 อาทิตย์ที่ผ่านมาผมพยายามเค้นสมองเรื่องการพัฒนา Mobile Application บน Android ก็ต้องเตรียม Presentation ตัวอย่าง App และวิดีโอ Tutorial เพื่อเตรียมไปสอนที่มหาวิทยาลัยราชภัฏพระนครศรีอยุธยา ในช่วงเดือนมิถุนายน แต่เนื่องจากไม่มี Material เหล่านี้เลย ก็ต้องทำกันใหม่หมด ทำให้ต้องทำงาน 3 อย่างพร้อมกัน และด้วยความนึกสนุกก็เลยไปเปิดคอร์สออนไลน์ที่ ClassStart.org ทำให้ผมต้องเร่งทำ Material ข้างต้นให้เร็วขึ้น เพราะเดี๋ยวจะไม่ทันเปิดคอร์สที่ ClassStart.org เอาเป็นว่าเป็น 3 อาทิตย์ที่ทรหดมาก วันนี้เป็นวันสุดท้ายที่จะต้องทำให้เสร็จ ซึ่งช้ากว่ากำหนด 1 สัปดาห์ ผลลัพท์ที่ได้คือ

  • Presentation : Android Mobile App Development จำนวน 8 ตอน
  •  Video Tutorial สอนทำ Workshop จำนวน 60 เรื่อง
  • Source Code เฉลย Workshop เป็น Web Service จำนวน 6 ตัว เป็น Mobile App อีก 47 ตัว
  • คอร์สออนไลน์ที่ ClassStart.org ตอนนี้มีคนลงทะเบียน 65 คน

เครื่องไม้เครื่องมือทั้งหมดที่ใช้ ได้แก่

  • Google Drive
  • Youtube
  • GitHub
  • Git
  • GEdit
  • GIMP
  • Inkscape
  • Shutter
  • Chrome
  • OpenShot
  • Eclipse PDT
  • Eclipse ADT
  • XAMPP
  • Screen capture with Gnome 3