ท่านผู้ใช้ทั้งหลายคงได้เห็นความเปลี่ยนแปลงของการแสดงผลเมื่อเราเรียกดูรูปภาพใน Facebook กันไปแล้วนะครับ ซึ่ง Facebook ก็ได้เปิดเผยที่มา แนวคิด และการสร้างระบบ Photo Viewer นี้ไว้ใน Facebook Engineering ซึ่งผมอ่านดูแล้วเห็นว่าน่าสนใจ และน่าจะแปลมาให้ได้อ่านกัน โดยมีรายละเอียดอย่างย่อดังต่อไปนี้ครับ
เกริ่นนำ
คำถามเรื่อง Kinect SDK สำหรับพีซีเกิดขึ้นเป็นคำถามแรกๆ ตั้งแต่ Kinect เปิดตัวและวางจำหน่าย วันนี้ไมโครซอฟท์ออกมายืนยันแล้วว่าเราจะได้เห็น Kinect for Windows SDK อย่างแน่นอน
SDK ตัวนี้จะเปิดให้ดาวน์โหลดฟรี มีสัญญาการใช้งานแบบไม่ใช้ในทางการค้า (non-commercial) และจะออกช่วงฤดูใบไม้ผลิของปีนี้ (ประมาณเดือนเมษายนเป็นต้นไป)
ที่มา - TechNet
ไมโครซอฟท์ได้ปล่อย GPS Emulator สำหรับ Windows Phone 7 ช่วยให้นักพัฒนาแอพฯ ที่เกี่ยวข้องกับการใช้ A-GPS สามารถดีบักแอพฯ ดังกล่าวบนอีมูเลเตอร์ที่อยู่บนคอมพิวเตอร์หรือบนสมาร์ทโฟนจริงได้โดยที่ไม่ต้องยุ่งยากกับการทดลองเคลื่อยย้ายอุปกรณ์เพื่อทดสอบการระบุตำแหน่งที่ตั้งแต่อย่างไร
นักพัฒนาสามารถกำหนดตำแหน่งที่ตั้งเริ่มต้นที่ใดก็ได้ รวมถึงเส้นทางที่จะมุ่งสู่จุดหมายปลายทางโดยผ่านจุดแวะผ่าน (intermediate waypoint) ต่างๆ บน GPS Emulator ได้ หลังจากกำหนดค่าต่างๆ แล้วอีมูเลเตอร์ก็จะจำลองการทำงานจากค่าที่กำหนดไว้
ไมโครซอฟท์ รีเสิร์ชได้ปล่อย Cloud Development Kit เวอร์ชันพรีวิวสำหรับ Windows Phone 7 โดย SDK ดังกล่าวจะทำให้แอพฯ บน Windows Phone สามารถเรียกใช้บริการบนกลุ่มเมฆที่ยังคงเป็นงานวิจัยอยู่ได้ สำหรับบริการสองตัวที่ไมโครซอฟท์ รีเสิร์ชเปิดให้ทดลองใช้แล้วคือ Relay และ Rendezvous
Relay Service คือบริการที่ช่วยให้โทรศัพท์เคลื่อนที่เครื่องหนึ่งสามารถเชื่อมต่อกับอีกเครื่องได้โดยตรง ประกอบไปด้วย endpoint บนกลุ่มเมฆเพื่อให้แต่ละอุปกรณ์เข้าไปเชื่อมต่อถึงกัน บริการดังกล่าวรองรับการรับส่งข้อความ รวมถึงการทำบัพเฟอร์และการส่งแบบมัลติแคสได้ Relay Service มีเพื่อแก้ไขปัญหาที่ผู้ให้บริการเครือข่ายไม่ยอมแจก IP address เลขเดิมทำให้การเชื่อมต่อระหว่างเครื่องโดยตรงนั้นทำได้ยากยิ่ง
แอปเปิลปรับเว็บไซต์ apple.com เสียใหม่ หน้าตาส่วนมากยังเหมือนเดิม แต่ข้างใต้เปลี่ยนมาใช้ HTML5 แทน HTML 4.01 Transitional ของเดิม
การเปลี่ยนมาใช้ HTML5 ทำให้แอปเปิลเพิ่มฟีเจอร์เล็กๆ น้อยๆ ลงมาในเว็บไซต์หลายจุด (เช่น กล่องค้นหาที่ปรับขนาดได้) และปรับสไตล์ของเว็บไซต์ไปบางส่วน (แถบนำทางสีเข้มขึ้น เปลี่ยนวิธีแสดงแถบเลื่อนสำหรับผลิตภัณฑ์ของตัวเอง)
ผมไม่แน่ใจว่าเบราว์เซอร์ที่ไม่รองรับ HTML5 เปิดแล้วจะเห็นเว็บไซต์หน้าตาเป็นอย่างไร ใครมีช่วยทดสอบด้วยก็ดีครับ
ที่มา - AppleInsider
HTML5 ประกอบด้วยเทคโนโลยีหลายส่วน เช่น แท็กแบบใหม่ๆ, audio/video, canvas, geolocation ฯลฯ ส่วนประกอบหนึ่งที่สำคัญไม่น้อยแต่คนไม่ค่อยพูดถึงเท่าไรคือความสามารถของ "เว็บเพจ" (หรืออาจเรียกมันว่าเป็น "เว็บแอพพลิเคชัน" ก็ได้) ในการเก็บข้อมูลแบบออฟไลน์ ซึ่งก็แยกย่อยได้อีกหลายชนิดมาก (HTML4 เก็บได้เฉพาะคุกกี้เล็กๆ นิดเดียว)
เว็บไซต์ InfoWorld สรุปมาสั้นๆ ดี ผมเลยมาสรุปอีกทีให้สั้นกว่าเดิม เพื่อคนที่สนใจ HTML5 จะไปตามต่อได้ถูกครับ
เทคโนโลยีแรกคือ Web Storage ซึ่งเป็นการเก็บข้อมูลแบบง่ายๆ ในรูป key-value (ภาษาโปรแกรมบางภาษาเรียก dictionary) ซึ่งแยกย่อยได้อีก 2 อย่าง คือ
หมายเหตุ: ข่าวนี้เหมาะสำหรับคนที่สนใจเรื่องวิศวกรรมซอฟต์แวร์ และการจัดการโครงการซอฟต์แวร์ขนาดใหญ่ เพราะมีบทเรียนของ Facebook ให้เรียนรู้ แนะนำอย่างยิ่งให้อ่านต้นฉบับ (ซึ่งยาวมาก) ครับ
ทีมวิศวกรของ Facebook ใหญ่มาก คิดเป็นครึ่งหนึ่งของพนักงานทั้งบริษัท 2,000 คน โดยแบ่งเป็นทีมซอฟต์แวร์ และทีมดูแลระบบอย่างละครึ่ง (ประมาณทีมละ 400-500 คน) เพื่อให้เข้าใจง่าย ผมแบ่งเนื้อหาเป็น 2 ส่วนตาม 2 ทีมนี้นะครับ
ทีมวิศวกรซอฟต์แวร์
บริษัทผู้ผลิต IDE แบบโอเพนซอร์สสองบริษัทคือ Appcelerator และ Aptana ได้รวมตัวกันแล้วเมื่อ Appcelerator เข้าซื้อ Aptana โดยไม่เปิดเผยมูลค่า
Appcelerator นั้นมีแพลตฟอร์มของตัวเอง โดยอาศัยการพัฒนาผ่านทาง HTML, JavaScript, Ruby, และ Python แล้วสามารถคอมไพล์เป็นแอพพลิเคชั่นแบบ native ได้บนเดสก์ทอปและโทรศัพท์มือถือ ส่วน Aptana นั่นเชี่ยวชาญในสองแพลตฟอร์มคือ เว็บ และ Adobe Air พร้อมกับมีเทคโนโลยีฝั่งเซิร์ฟเวอร์ของตัวเอง
แถลงการเข้าซื้อระบุว่าทั้งสองบริษัทจะปล่อย IDE ที่รวมความสามารถของทั้งบริษัทเป็นพรีวิวแรกในเดือนมีนาคมนี้
ยุทธศาสตร์ของ RIM ในช่วงหลังแยกชัดเจนว่าใช้ระบบปฏิบัติการ BlackBerry OS สำหรับมือถือ และ BlackBerry Tablet OS (หรือ QNX) สำหรับแท็บเล็ต
จุดอ่อนสำคัญของยุทธศาสตร์แบบนี้คือใช้แอพร่วมกันไม่ได้ แอพบนมือถือ BlackBerry เขียนด้วยจาวา ส่วนแอพบนแท็บเล็ตตอนนี้เน้น AIR เป็นหลัก
RIM เองก็รู้ปัญหานี้ดี จึงออกทางแก้ผ่าน WebWorks SDK ชุดเครื่องมือพัฒนาแอพด้วยเทคโนโลยีเว็บ ซึ่งสามารถรันได้ทั้งบนมือถือและแท็บเล็ต PlayBook ไปพร้อมกัน ตอนนี้เปิดให้ดาวน์โหลดแล้วบนวินโดวส์และแมค
ที่มา - RIM
Anthony Laforge ผู้จัดการคนหนึ่งของโครงการ Chromium ทำสไลด์อธิบายเหตุผลการตัดสินใจของกูเกิล ที่เปลี่ยนวิธีการออกรุ่นของ Chrome จากตามฟีเจอร์มาเป็นตามระยะเวลาทุก 6 สัปดาห์
สไลด์ของเขาบอกว่าการออกรุ่นแบบเดิมจะเกิดคอขวดของแพตช์ ทำให้ทีมงานเครียด และคาดการณ์ระยะเวลาที่ออกรุ่นไม่ได้ การเปลี่ยนมาออกรุ่นตามระยะเวลา ทำให้จำนวนแพตช์ที่ต้องดูแลลดลง ทีมทำงานสบายขึ้น และจำกัดกรอบการทำงานได้ง่าย
เขายังเล่าว่าเสนอไอเดียนี้กับทีม Chrome และผู้บริหารของกูเกิลได้อย่างไร แต่ก็ยอมรับว่าการออกรุ่นตามเวลาก็มีข้อเสียในมุมกลับเช่นกัน เช่น ทำให้ทีมทำงานเฉื่อยลง เป็นต้น
ข่าวเล็กๆ ที่ออกมาพร้อมกับ Android 2.3 คือ NDK r5 ที่อัพเดตมาพร้อมกัน ส่วนหนึ่งที่สำคัญของมันคือ NativeActivity
ที่เปิดช่องให้นักพัฒนาสามารถพัฒนาซอฟต์แวร์ทั้งหมดโดยไม่ต้องเขียนจาวาแม้แต่บรรทัดเดียว
ตัวแอพพลิเคชั่นยังคงรันอยู่ภายใต้ DalvikVM และหากต้องการเรียกฟังก์ชั่นบางส่วนจากจาวาก็ทำได้ผ่าน JNI
Tim Bray เขียนบล็อกเรื่องนี้โดยยกตัวอย่างซอร์สโค้ดที่มีฟังก์ชั่น main
เพียงฟังก์ชั่นเดียวในภาษา C/C++ ก็สามารถทำงานได้ (ตัวอย่างโค้ดอยู่ท้ายข่าว)
ที่มา - Android Developer
เมื่อปี 1959 ภาษา COBOL ได้ถูกสร้างขึ้นโดย Grace Murray Hopper นักวิทยาศาสตร์คอมพิวเตอร์หญิงรุ่นบุกเบิก โดยมีแนวคิดพื้นฐานว่าคอมพิวเตอร์ต่างยี่ห้อควรทำงานได้จากโค้ดเดียวกัน และสร้างมาตรฐานที่ชื่อว่า FLOW-MATIC ขึ้น จากนั้นคณะกรรมการสร้างมาตรฐานการพัฒนาซอฟต์แวร์ของทหารเรือสหรัฐฯ จึงได้ปรับปรุงมาตรฐานนี้ขึ้นมาเป็นภาษา COBOL แต่การทำงานจริงนั้นต้องรอจนคอมไพล์เลอร์ออกมาในวันที่ 6 และ 7 ธันวาคมปี 1960 เมื่อเครื่องคอมพิวเตอร์สองเครื่องจาก RCA และ Remington-Rand Univac สามารถทำงานด้วยซอฟต์แวร์ชุดเดียวกันเป็นผลสำเร็จ
Miguel de Icaza ผู้นำโครงการ Mono เขียนบล็อกเล่าแผนการของโครงการ Mono ในอนาคต ซึ่งทีมงานของ Novell กำลังพัฒนาอยู่ และจะทยอยออกเป็นรุ่นจริงภายใน 3 เดือนข้างหน้านี้
เริ่มจากตัว Mono
ปรับประสิทธิภาพของ Garbage Collector ทำให้ประสิทธิภาพของ ASP.NET ดีขึ้น 30%
แม้ Python 3 จะยังไม่ได้รับความนิยมมากนัก แต่ก็ยังมีการพัฒนาต่อเนื่อง (พร้อมกับกำหนดการหยุดซัพพอร์ต Python 2.x ที่ใกล้เข้ามาเรื่อยๆ) ใน Python 3.2 beta 1 ที่น่าจะมีฟีเจอร์เท่าๆ กับตัวจริงแล้วก็มีฟีเจอร์ที่น่าสนใจเพิ่มเข้ามาสองเรื่องคือ การรับประกัน ABI และระบบประมวลผลแบบ Executor
การระบประกัน ABI จะช่วยให้ส่วนขยายของ Python ไม่ต้องคอมไพล์ใหม่ทุกครั้งที่มีรุ่นใหม่ออกมา โดยมีข้อจำกัดคือผู้พัฒนาส่วนขยายจะต้องใช้โครงสร้างข้อมูลและฟังก์ชั่นตามที่กำหนดเท่านั้น ที่แน่ๆ คือสามารถ รวมไลบรารีของ Python ได้เพียงสองไฟล์คือ Python.h
และ pyconfig.h
พร้อมกับต้องประกาศมาโคร Py_LIMITED_API
เพื่อซ่อนฟังก์ชั่นที่ไม่รับประกันความเข้ากันได้ระหว่างรุ่นไปทั้งหมด
ActiveState ผู้พัฒนาซอฟต์แวร์เพื่ออำนวยความสะดวกในการพัฒนาภาษาสคริปต์ได้เปิดตัว ActivePython Amazon EC2 AMI สำหรับการพัฒนาแอพลิเคชั่นด้วยภาษาไพธอนบนกลุ่มเมฆประมวลผลของอเมซอน
ทาง ActiveState ระบุว่าสินค้าใหม่นี้ไม่ได้เป็นคู่แข่งกับ Google App Engine โดยตรงเพราะ App Engine นั้นจำกัดการประมวลผลอยู่ที่แต่ละครั้งของการเรียกขอข้อมูลเท่านั้น และการคิดราคาก็เป็นการคิดราคาต่อครั้งที่มีการเรียกใช้โดยตรง ขณะที่ EC2 ของอเมซอนนั้นเราสามารถเลือกซื้อทรัพยากรสำหรับการประมวลผลจากอเมซอนได้อย่างอิสระ
เป็นคำถามที่ผมเห็นบน Slashdot (Ask Slashdot: Which Language To Learn?) คิดว่าน่าสนใจดีเลยเอาบ้าง
เรื่องคือมีโปรแกรมเมอร์คนหนึ่งกังวลว่า ออราเคิลจะนำพาจาวาไปในทิศทางที่เขาไม่ต้องการ เขาจึงคิดว่าช่วงนี้เป็นโอกาสอันดีที่จะเรียนรู้ภาษาโปรแกรมใหม่ๆ บ้าง
เขาจึงตั้งคำถามไปยังผู้อ่าน Slashdot ว่าภาษาอะไรเหมาะที่สุด ถ้าจะมองในแง่การหางานในอนาคต ต้นฉบับระบุว่าไม่ต้องการหัด .NET เพราะเป็นของไมโครซอฟท์ แต่ผมคิดว่ากรณีของเราเองก็คงไม่ได้จำกัดอะไรครับ
ดังนั้นคำถามของเราคือ "ถ้าไม่เขียนจาวา แล้วจะเขียนอะไรดี" (มองในแง่การหางานเป็นหลักเช่นกัน)
แอปเปิลประกาศว่าจะเข้าร่วมกับ OpenJDK เพื่อพัฒนา Java SE 7 ให้ทำงานบน Mac OS X ได้ดีขึ้น โดยจะส่ง virtual machine ทั้งแบบ 32 และ 64 บิต ตลอดจนไลบารีพื้นฐานจำนวนมากรวมถึงโค้ดเน็ตเวิร์ค และส่วนกราฟิก
จนทุกวันนี้แอปเปิลเป็นผู้ส่งมอบ Java SE 6 ไปพร้อมกับ Mac OS X เองโดยตรง แต่นับจาก Java SE 7 เป็นต้นไปทางออราเคิลจะกลายเป็นผู้แจกจ่าย Java ทั้งหมดแทน
ปัญหาระหองระแหงระหว่างซันและ Apache นั้นมีมานานแล้ว แต่เมื่อมาถึงยุคของออราเคิลปัญหานี้ก็ดูจะหนักหนาขึ้นไปอีกขั้นเมื่อทาง Apache ได้ออกมาประกาศโหวตคว่ำมาตรฐาน Java 7 เนื่องจากไลเซนส์การเข้าใช้ชุดทดสอบความเข้ากันได้นั้นไม่อยู่ในรูปแบบที่ยอมรับได้สำหรับโครงการโอเพนซอร์ส
ในงาน Professional Developer Conference 2010 ไมโครซอฟท์หันมาเน้น IE9 กับ HTML5 อย่างมาก แต่กลับไม่พูดถึง Silverlight เลย
Bob Muglia ประธานฝ่าย Server and Tools ของไมโครซอฟท์ตอบข้อสงสัยเรื่องนี้ว่า Silverlight จะยังเป็นแพลตฟอร์มพัฒนาหลักของ Windows Phone 7 รวมถึงงานด้านมัลติมีเดียและแอพพลิเคชันธุรกิจบางตัว แต่สำหรับงานที่ต้องรันแบบข้ามแพลตฟอร์ม ไมโครซอฟท์ยอมรับว่าต้องใช้ HTML5 เท่านั้น เขาบอกว่า "ยุทธศาสตร์ของเราเปลี่ยนไปแล้ว"
แนวคิดที่ว่า HTML5 อาจจะมาแทน Flash เริ่มชัดเจนขึ้นเรื่อยๆ จากการที่ Adobe เองเริ่มใส่เทคโนโลยีการแปลง Flash มาเป็น HTML5 แต่มาตรฐานเปิดก็พาให้เราไม่ต้องยึดติดกับผู้ผลิตรายใดรายหนึ่ง โดย Sensha ที่สร้างชื่อมาจากเฟรมเวิร์ค Sensha Touch และวันนี้ก็มี Sensha Animator เข้ามาเสริมทัพอีกหนึ่งตัว
Sensha Animator เป็นโปรแกรมออกแบบภาพเคลื่อนไหวที่ใช้ HTML5+CSS3 เต็มตัว แน่นอนว่ามันทำงานได้บนโทรศัพท์ที่ใช้ WebKit ใหม่ๆ แทบทุกรุ่น
ข่าวร้ายคือต่อไปก็เตรียมเห็นโฆษณาวูบวาบแบบบล็อคยากๆ กันได้เลย
ที่มา - Sensha Animator
ข่าวทำนองนี้มีออกมาเรื่อยๆ ทุกปีนะครับ คราวนี้นิตยสาร Developer World ได้จัดรายการภาษาโปรแกรมที่กำลังมาแรง 7 ตัว (ไม่เรียงลำดับความสำคัญ, พวกแรกๆ คงไม่ต้องอธิบายนะครับ)
ที่มา - Developer World
Google และ SpringSource (บริษัทลูกของ VMware) ได้ประกาศเปิดตัวผลิตภัณฑ์ที่ช่วยให้เหล่านักพัฒนาในองค์กรสามารถพัฒนา ติดตั้ง และบริหารจัดการแอพพลิเคชันบนกลุ่มเมฆใดๆ บนอุปกรณ์ใดๆ ก็ได้ ที่งานสัมมนา SpringOne 2GX Developer Conference ประกอบด้วย
ก่อนหน้านี้มีข่าวมาสักพักแล้วว่าไมโครซอฟท์เริ่มเปลี่ยนนโยบายการสนับสนุนภาษา dynamic โดยการลดทรัพยากรที่ทุ่มลงมาสู่โครงการเช่น IronPython และ IronRuby ลงไปเรื่อยๆ แต่วันนี้ก็ชัดเจนแล้วว่าไมโครซอฟท์คืนโครงการนี้เป็นโครงการโอเพนซอร์สอย่างสมบูรณ์ใน CodePlex
ไมโครซอฟท์ระบุว่าการเปลี่ยนแปลงนี้จะทำให้
กระแส HTML5 เป็นเรื่องที่ดูจะหยุดไม่ได้และทาง Adobe เองก็ไม่มีทีท่าจะพยายามไปขวาง โดยล่าสุดก็ได้เปิดตัวเล่นวีดีโอบนเว็บด้วย HTML5 แล้ว
HTML5 Video Player เป็น widget ที่ทาง Adobe เปิดให้ใช้งานได้ฟรีแต่ต้องใช้งานผ่าน Adobe Dreamweaver Widget Browser (ไม่ต้องมี Dreamweaver ก็ใช้งานได้) ส่วนตัว widget นั้นจะพยายามใช้ HTML5 ก่อนเสมอแต่หากไม่สามารถเล่นวีดีโอได้ก็จะถอยกลับไปใช้ Flash ให้เอง
ที่มา - Adobe Dreamweaver Team Blog
เว็บไซต์ CNNMoney.com ได้ลงบทความว่า นักพัฒนาแอพฯ บน Windows Phone 7 จะไม่สามารถใช้ประโยชน์จากเซ็นเซอร์รับภาพ (image sensor) บนสมาร์ทโฟนได้อย่างเต็มที่ อาทิ จะไม่สามารถพัฒนาแอพฯ ที่มีฟีเจอร์วีดีโอแชตอย่าง Fring หรือในเชิง augmented reality อย่าง Layar ได้ ทำให้ผู้ใช้คงจะไม่ได้ใช้แอพฯ แนวนี้ใน Windows Phone เวอร์ชันนี้ (หากไมโครซอฟท์ไม่ได้อัพเดทมาปลดล็อกนี้ภายหลัง) ซึ่งตรงกันข้ามกับ Android ที่รองรับการเข้าถึงเซ็นเซอร์รับภาพตั้งแต่เวอร์ชันแรกเลย