วันอังคารที่ 28 กุมภาพันธ์ พ.ศ. 2555

มีอะไรใน Android Developer Console

ผมตัดสินใจลงทะเบียนเพื่อเอา Mobile App ขึ้น Android Market เมื่อกลางเดือนกุมภาพันธ์ ซึ่งเวลาเอา App ขึ้น Market เราต้องใช้ Developer Console ครับ ในความคิดของผม Developer Console มันดูรกมาก และมีอะไรหลายอย่างที่เราต้องกรอกข้อมูล ภาพไอคอนโปรแกรม ภาพโฆษณาในหน้า Market ภาพหน้าจอโปรแกรม วิดีโอโปรโมท ฯลฯ ซึ่งดูยุ่งยากในช่วงแรกที่เอา App ขึ้น หลังจากนั้นต้องวางแผนเรื่องพวกนี้ตั้งแต่ออกแบบ App กันเลยทีเดียว แต่สำหรับสถิติในหน้า App แต่ละตัวดูเหมือนไม่ค่อยตั้งใจทำซักเท่าไร แต่ก็พอจะมีข้อมูลให้ได้รู้ว่ามี Device รุ่นไหน ใช้ Android รุ่นอะไร ประเทศอะไร ที่ดาวน์โหลด App ของเราไปบ้าง ซึ่งเป็นข้อมูลที่ดีมากทีเดียว สำหรับสถิติตัวเก่ามันดูแย่มาก (กองรวมกันเป็น Pie Chart ในหน้าเดียว) แต่เมื่อวานนี้ทีม Android Market ปรับปรุงหน้า Developer Console ใหม่ ค่อยดูหน้าตาดีหน่อย





สถิติมีข้อมูลที่ละเอียดพอที่จะสามารถปรับปรุง App ได้ให้เหมาะสมกับลูกค้าของคุณได้เลยครับ














วันจันทร์ที่ 27 กุมภาพันธ์ พ.ศ. 2555

ไปประชุมกลุ่ม Thai Cloud User Group มา

ผมแอบเปลี่ยนชื่อกลุ่มนี้เพราะชื่อกลุ่ม Thai Cloud Interest and Usage Group ใน Facebook มันอ่านแล้วดูวิชาการๆ เอาเป็นว่าไปคุยกันเรื่อง Cloud ก็แล้วครับ สำหรับประเด็นที่ไปร่วมออกความคิดเห็นและพูดคุยกันเป็นเรื่อง "จะให้บริการ Software as a Services ได้อย่างไร" มีเรื่องอะไรที่ต้องทำความเข้าใจบ้างและที่จะต้องเรียนรู้เพิ่มเติมมีอะไรบ้าง สรุปเพื่อเป็น Guide Line สำหรับผู้ประกอบการซอฟต์แวร์ที่อยากจะทำ SaaS กะเขาบ้างได้มั๊ย ผมเสนอ Out Line เชิงอบรมแบบคร่าวๆ โดยอาศัยตัวโครงการอบรมเครื่องมือโอเพนซอร์สเพื่อใช้ในการพัฒนาผลิตภัณฑ์และโซลูชั่นของ SIPA ไปเบื้องต้น ก็เป็นจุดเริ่มที่ดี สำหรับในที่ประชุมมีผู้เข้าร่วมหลากหลาย ทั้งคุณอ้น Infotronics, นู๋โบ๊ท อิน วันเดอร์แลนด์ และทีมงานจาก Software Park มาให้ความรู้เรื่อง Cloud Security เป็นอะไรที่สนุกมากครับ และคราวหน้าคงสนุกมากกว่านี้ครับ สำหรับท่านที่ใช้ Cloud หรือกำลังเริ่มต้นก็เชิญเข้าร่วมแก๊งนี้ได้ครับ




Blender short program #2 จัดการวัตถุเบื้องต้น

จากครั้งก่อนได้แนะนำให้รู้จัก Interface ของ Blender ไปแล้ว ในครั้งนี้จะมาแนะนำการจัดการกับ Model ใน Blender อย่างคร่าวๆ บ้าง



หน้าจอของ Blender ที่เราจะใช้งานเป็นหลักในการจัดการกับโมเดล 3มิติ จะเรียกว่า 3D View ที่หน้าจอนี้เราจะเห็นพื้นที่โล่งๆ มีโมเดลและวัตถุต่างๆ อยู่ภายใน



ที่ 3D View นี้ เราสามารถหมุนดูมุมมองต่างๆ ได้ โดยกดเมาส์ปุ่มกลางแล้วลาก เพื่อหมุนดูด้านต่างๆ ของโมเดลได้ตามต้องการ และหากเราต้องการดูรูปด้านต่างๆ โดยเฉพาะ เราสามารถใช้เมนูเพื่อเลือกดูมุม Top, Front, Back และอื่นๆ ได้อีกด้วย





เมื่อเปิด Blender ขึ้นมา เริ่มแรกเราจะมีวัตถุ Mesh อยู่ 1 ชิ้นที่เป็น Cube คำสั่งพื้นฐานที่เราจะใช้บ่อยที่สุดในการจัดการโมเดลก็คือ ย้าย, หมุน และปรับขนาด โดยปุ่มคำสั่งทั้งสามนี้จะอยู่ด้านล่าง





วิธีใช้งานคำสั่งคือ ให้คลิกขวาที่วัตถุที่ต้องการเพื่อเลือก จากนั้นคลิกที่คำสั่งด้านล่างว่าต้องการจะ ย้าย, หมุน หรือปรับขนาด เมื่อเลือกแล้ว ที่วัตถุจะมีสัญลักษณ์ขึ้นมา




คำสั่งย้ายจะมีสัญลักษณ์เป็นลูกศร




คำสั่งหมุนจะมีสัญลักษณ์เป็นวงกลม




คำสั่งปรับขนาดจะมีสัญลักษณ์เป็นเส้นมีสี่เหลี่ยมอยู่ตรงปลาย



การสั่งคำสั่ง ให้เรานำเมาส์ไปคลิกที่เส้นที่ต้องการค้างไว้ แล้วลาก โดยเส้นจะมีอยู่ 3สีด้วยกัน




  • น้ำเงิน หมายถึงแกน z

  • แดง หมายถึงแกน x

  • เขียว หมายถึงแกน y



ให้เราคลิกที่เส้นตามแกนที่ต้องการ แล้วลากเพื่อสั่งให้ ย้าย, หมุน หรือปรับขนาด



ทั้งหมดนี้ก็เป็นการใช้งานเบื้องต้นสำหรับการจัดการโมเดลใน Blender ครับ


วันอาทิตย์ที่ 26 กุมภาพันธ์ พ.ศ. 2555

มาเขียน Mobile HTML5 App กัน ตอน แสดงผลหน้าจอหลายขนาด

ผมมักจะเขียน HTML5 App แล้วทดสอบบน Tablet ซึ่งมีขนาดหน้าจอใหญ่โต 1280x720px ซึ่งมีพื้นที่เหลือเฟือในการแสดงผล แต่ถ้าหน้าจอเล็กๆ อย่าง 320px, 480px, 640px ล่ะจะทำอย่างไร? ซึ่งแน่นอนว่าการแสดงผล อย่างเช่น ภาพ ขนาดตัวอักษร ฯลฯ จะไม่เหมาะสม ตัวอย่างเช่น





จากภาพจะเห็นว่าเราอ่านการ์ตูน I am Petdo! ได้แค่ครึ่งเดียว ทีนี้ทำยังไงดี วิธีง่ายๆ คือการใช้ความสามารถของ CSS3 ครับ ใน CSS3 จะมีคำสั่งพิเศษชื่อว่า media ซึ่งคำสั่งนี้ใช้เพื่อกำหนดความเหมาะสมของ CSS ในแต่เหตุการณ์ เช่น หน้าจอมีขนาดเล็กบ้าง ใหญ่บ้าง เป็นต้น ทีนี้เราก็มากำหนด CSS ให้ I am Petdo! กันใหม่ เพิ่มคำสั่ง media เข้าไปดังนี้



@media screen and (min-width: 320px) {
img.imagefield {
width:280px;
height:auto;
}
}

@media screen and (min-width: 480px) {
img.imagefield {
width:400px;
height:auto;
}
}

@media screen and (min-width: 800px) {
img.imagefield {
width:563px;
height:auto;
}
}



จากโค้ดข้างต้น หากหน้าจอมีขนาดเล็ก 320px ให้ ภาพที่ใช้ class imagefield มีขนาดความกว้าง 280px ตามลำดับ เท่านี้คุณก็จะได้หน้าจอการแสดงผลที่ดูดีขึ้น ดังนี้







ลองเอาไปประยุกต์ใช้กันดูได้ครับ อ้อและอีกอย่างนึง อย่าลืมกด Like ให้ ThaiOpenSource นะครับ


วันพฤหัสบดีที่ 23 กุมภาพันธ์ พ.ศ. 2555

กิจกรรม Disc 2 Disc แผ่นเปล่าแลกแผ่นโอเพนซอร์ส

เนื่องจากสำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (องค์การมหาชน) ได้หยุดการสนับสนุนปั๊มแผ่น DVD ซอฟต์แวร์โอเพนซอร์สแล้ว ทำให้ท่านที่ขอแผ่น DVD ไม่ว่าจะเป็น Suriyan, Chantra จะได้แผ่น DVD-R ไม่มีปกกลับไปแทน ทางทีมงาน thaiopensource.org จึงมีมติ ให้จัดกิจกรรม Disc 2 Disc โดยการแลกแผ่น DVD เปล่า 1 แผ่น กับแผ่น DVD ซอฟต์แวร์โอเพนซอร์ส 1 แผ่น ซึ่งแผ่น DVD เปล่าที่ท่านส่งมาจะใช้เขียนแผ่น DVD ส่งให้ท่านอื่นๆ ต่อไป สำหรับแผ่นโปรแกรมโอเพนซอร์สที่ให้บริการมีดังนี้




  1. Ubuntu

  2. Suriyan

  3. Chantra



**วิธีการขอแผ่นให้ท่านส่งแผ่น DVD เปล่าตามจำนวนแผ่นที่ท่านต้องการ พร้อมซองเปล่าติดแสตมป์ 9 บาท จ่าหน้าซองถึงตัวท่านเอง วงเล็บมุมซองว่า "Disc2Disc ขอแผ่น ..." ส่งมาที่



ฝ่ายส่งเสริมและพัฒนาเทคโนโลยี (โอเพนซอร์ส)
สำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (องค์การมหาชน)
เลขที่ 120 หมู่ที่ 3 ชั้น 9 อาคารรัฐประศาสนภักดี ศูนย์ราชการเฉลิมพระเกียรติ ๘๐ พรรษา ๕ ธันวาคม ๒๕๕๐
ถนนแจ้งวัฒนะ แขวงทุ่งสองห้อง เขตหลักสี่
กรุงเทพมหานคร
1 0 2 1 0


วันอังคารที่ 21 กุมภาพันธ์ พ.ศ. 2555

มาเขียน Mobile HTML5 App กัน ตอน หน้าจอหลายขนาดทดสอบยังไง

นักพัฒนา Mobile Web หลายท่านมักจะมีเครื่องไม้เครื่องมืออย่าง Emulator, มือถือ, tablet หลากหลายขนาดเพื่อใช้ทดสอบว่า Mobile Web หรือ HTML5 App ที่พัฒนาขึ้นมานั้นแสดงผลในหน้าจอขนาดต่างๆ เป็นอย่างไร จะต้องแก้ไขหรือปรับปรุงในส่วนใดบ้างเพื่อให้การแสดงผลถูกต้องและลงตัวมากที่สุด ครั้งนี้จะมาแนะนำ Emulator บน Browser เพื่อที่จะช่วยทดสอบ HTML5 App ได้ง่ายมากขึ้น เครื่องมือนี้ชื่อ Ripple แห่งค่ายฮิปโปจิ๋ว (tinyhippos)





ripple จะเปลี่ยน Browser ของคุณให้กลายเป็น Mobile/Tablet Emulator พร้อมฟังก์ชั่นที่เชื่อมต่อกับ JavaScript Framwork ต่างๆ ไม่ว่าจะเป็น PhoneGap, WebWork, WebWork TabletOS, Mobile Web เป็นต้น คุณสามารถทดสอบ App ที่ใช้การเชื่อมต่อ Internet, GPS, Accelerometer ได้ง่ายๆ





สำหรับท่านที่สนใจก็ลองทดสอบดูได้ที่ http://ripple.tinyhippos.com ครับ


วันอาทิตย์ที่ 19 กุมภาพันธ์ พ.ศ. 2555

Fedora วางแผนเอา Btrfs กลับมาใหม่

Fedora วางแผนเอา Btrfs กลับมาใช้เป็น File System ตั้งต้นใหม่แต่จะอยู่ใน Fedora 18 ออกประมาณปลายปีนี้ สำหรับ Fedora 17 จะยังคงใช้ ext4 เป็น File System ตั้งต้นของระบบเช่นเดิม จากการประชุม streering committee ที่ผ่านมา โปรแกรม Anaconda จะยังไม่สนับสนุน Btrfs รวมไปถึงการจัดการ partition แก้ไข File System จะยังทำไม่ได้ในรุ่นนี้ สำหรับการใช้ Btrfs ใน Fedora ทีมพัฒนาได้วางแผยไว้ตั้งแต่ Fedora 16 แต่ถูกถอดออกจนถึงรุ่น Fedora 17 ที่กำลังจะออกในเดือนเมษายนนี้ สำหรับแฟน Btrfs คงต้องรอกันสักหน่อย ปลายปีนี้อาจได้เห็น Fedora 18 ใช้ Btrfs ก็เป็นได้