_________เมื่อประมาณสัปดาห์ก่อน FireFox ได้ออกเวอร์ชั่นล่าสุดแบบเป็นทางการคือเวอร์ชั่น 3.5 ให้ผู้ใช้ได้ดาวน์โหลดไปใช้งาน ผลตอบรับจากผู้ใช้ก็ค่อนข้างจะดี ผมเองคงไม่ขอเขียนถึงฟีเจอร์อื่นๆที่เพิ่มขึ้นมาใน FireFox 3.5 เพราะว่ามีหลายเว็บไชต์ที่ทำการเขียน review ไปแล้วแต่ฟีเจอร์หนึ่งที่รอคอยและเป็นอีกเทคโนโลยีที่จะเข้ามาเพิ่มศักย์ภาพของ Geoweb นั้นก็คือเรื่องของ Geolocation ที่มาพร้อมกับ FireFox 3.5 นี้ด้วย โดย Geolocation นี้เป็นแบบข้อกำหนดมาตรฐานของ World Wide Web Consortium (W3C)  ซึ่งจะเป็นส่วนหนึ่งใน HTML5 รายละเอียดของ specification เข้าไปดูได้จาก http://dev.w3.org/geo/api/spec-source.html

_________Geolocation ที่ว่านี้ผมขออธิบายแบบคราวๆก็คือการบอกตำแหน่งหรือพิกัดของผู้ใช้งานอินเตอร์เน็ต โดยค่าพิกัดที่ได้มาจาก internet service providers หรือบางแห่งก็จะใช้เทคโนโลยีของการคำนวณค่าพิกัดจาก cell site ที่กระจายสัญญาณ แต่ในส่วนนี้ก็เป็นเรื่องของเทคโนโลยีซึ่งผู้ใช้อาจจะไม่สามารถเขาถึงได้ แต่สิ่งที่จะเข้าถึงได้ก็คือการใช้ Geolocation API ที่เตรียมไว้ให้ผู้พัฒนาบริการต่างๆนำข้อมูลและ infomation ต่างๆไปใช้งานผ่านทาง protocal ที่กำหนด โดยบราวเซอร์หลายๆเจ้ากำลังพัฒนา engine ในส่วนการประมวลผลเพื่อให้รองรับการทำงานนี้ และแน่นอนว่า FireFox เป็นอีกเจ้าที่เปิดให้ทดลองใช้งานแล้ว

_________FireFox 3.5 รองรับการทำงานแบบ Geolocation และยังรวมไปถึงการทำงานอื่นๆ เช่น การ sharelocation และอื่นๆโดยผู้ใช้สามารถกำหนดสิทธิในการใช้งานและการเปิดเผยข้อมูลตำแหน่งได้ โดยถ้าต้องการทำงานในโหมด Geolocation ก็ต้องทำการ share location ก่อน นอกจากนี้ก็มีรายละเอียดต่างๆในเรื่องความปลอดภัยและการใช้งานซึ่งสามารถเข้าไปดูได้ที่ http://en-gb.www.mozilla.com/en-GB/firefox/geolocation/

_________เรื่องความถูกต้องทางตำแหน่งก็ขึ้นอยู่กับ internet service providers ซึ่งจะให้ข้อมูล wireless hotspot information และ ISP location information เพื่อประมวลผลต่อไป ซึ่งในต่างประเทศเช่นโซนยุโรป หรืออเมริกา บางแห่งก็อยู่ในระดับ 3-5 เมตรเลยทีเดียว แต่เท่าที่ทดสอบในบ้านเราก็ประมาณ 1 กิโลเมตร สำหรับผู้ใช้อยากลองใช้งาน Geolocation ก็ง่ายมากๆครับ download เบราเซอร์ FireFox 3.5 แล้วไปที่ url : http://3liz.org/geolocation/ ทำการ share location ก่อนนะครับ แล้วคุณก็จะสามารถทราบตำแหน่งของเครื่องคอมพิวเตอร์คุณได้จากการดูบนแผนที่

_________แน่นอนว่าความถูกต้องทางตำแหน่งอาจจะไม่ได้มากมายนักแต่สิ่งหนึ่งที่ ผู้พัฒนาหลายคนให้การพลักดันและสนับสนุนเรื่อง location-aware ก็เพราะมันสามารถนำข้อมูลของผู้ใช้งานไปทำการประมวลผลต่อเพื่อสร้าง บริการหรือสนับสนุนการตัดสินใจต่างๆได้ ยกตัวอย่างเช่น ผมกำลังจะหาซื้อ กระเป๋าหนังจรเข้ เริ่มต้นจากการ search หาจาก Google พบรายชื่อ website หน้าร้านที่เป็น E-Commerce เมื่อเข้าไปใช้งานก็จะทราบถึงราคาและสถานที่จัดจำหน่าย แน่นอนว่าในมุมมองของผู้พัฒนา application ก็จะสามารถทราบถึงข้อมูลเชิงตำแหน่งของลูกค้า ทำให้สามารถพัฒนา application เสริม เช่นการคำนวณราคาค่าจัดส่งและเวลา จากจุดกระจายสินค้าไปยังตำแหน่งที่อยู่ปัจจุบัน หรือการเรื่องของการแนะนำร้านค้าสาขาที่อยู่ใกล้บ้านของลูกค้า ลดเรื่องการกรอกรายละเอียดอละการอธิบายข้อมูลเชิงตำแหน่งของลูกค้าไปได้มาก จริงๆเรื่อง location-ware ยังมีอีกมาก สามารถนำไปทำ application ได้ รวมไปถึงการนำข้อมูลที่ได้ไปวิเคราะห์เชิงธุรกิจ

_________มาดูถึงข้อมูลเชิงเทคนิคกันบ้าง ว่านักพัฒนาจะเขียนโปรแกรมเพื่อไปใช้งาน Geolocation module นี้ยังไง วิธีการเชื่อมต่อก็เป็นทำได้ผ่านทาง javascript แบบ OOP โดยผ่านทาง Geolocation API (อ่านรายละเอียด API และตัวอย่างได้จากhttp://www.w3.org/TR/geolocation-API/)ที่ได้กล่าวมา

ผมมีตัวอย่างง่ายๆมาแนะนำครับ

1. test browser ก่อนว่ารองรับ Geolocation หรือเปล่า?

if (navigator.geolocation) {
/* geolocation is available */
} else {
alert(“I’m sorry, but geolocation services are not supported by your browser.”);
}

if (navigator.geolocation) {

alert(‘Your Browser is OK’)

} else {

alert(“I’m sorry, but geolocation services are not supported by your browser.”);

}

2. หาค่าพิกัดของเครื่อง client ด้วย getCurrentPosition()

navigator.geolocation.getCurrentPosition(function(position) {

zoom2map(position.coords.latitude, position.coords.longitude);

});

3. Geolocation รองรับการ tracking ได้นะครับ สามารถ check ค่าพิกัดผู้ใช้ระหว่างทำงานได้ผ่าน watchPosition รวมไปถึงการเช็คว่าผู้ใช้คนเดิมยังคง online ในระบบอยู่หรือไม่

var watchID = navigator.geolocation.watchPosition(function(position) {

chkstate(position.coords.latitude, position.coords.longitude);

}

);

_________หอมปากหอมคอพอเป็นไอเดียนะครับ มีโอกาสหลังจากที่ผมได้ทดลองใช้งานมากขึ้นจะนำมาเขียนถึงเทคนิคต่างๆต่อไป ผมมีตัวอย่างมาให้ดูผมพยายามทำ tracking จาก Geolocation โดยดึงค่าพิกัดเริ่มต้นจาก client แล้วส่งผ่าน Google Direction ไปคำนวณ network analysis ยังไม่ work มากแต่ก็พอกล่อมแกล้มได้ ถ้ามีได้ limplement จริงคงกลับไปแก้ใหม่

1_re