Web Feed ไม่เคยตาย เพราะจริงๆ มันไม่เคยเกิดในกลุ่มคนหมู่มากต่างหาก

เมื่อสัก 5-6 ปีก่อน คนทั่วไปเริ่มรู้จักและคุ้นเคยกับ Web Feed โดยใช้พวก RSS format ที่พัฒนามาตั้งแต่ 1995 หรือ ATOM format ที่พัฒนามาตั้งแต่ 2005 ซึ่งเป็นรูปแบบบริการที่นำเอาข้อมูลเว็บออกมาเป็น format ที่ให้ตัวโปรแกรมอ่านหรือคัดกรอง โดยสามารถนำเนื้อหาเหล่านั้นไปรวมกันในบริการหรือซอฟต์แวร์ที่จะทำหน้าที่ดึงตัวข้อมูลนั้นๆ มาแสดงผลแบบรวมศูนย์ที่เดียว ซึ่งถูกใช้งานในหมู่คนที่ใช้งานคอมพิวเตอร์เชิงลึกหรือพวก Geek เป็นหลัก และเริ่มระบาดเข้าสู่กลุ่มผู้ใช้งานทั่วไปอยู่บ้างในช่วงปี 2005 เป็นต้นมา

RSS_button

แน่นอนว่าตัว Web Feed นั้นเป็นการนำลักษณะการใช้งานของ XML ซึ่งมีมาตรฐานอย่าง RSS และ ATOM ซึ่งทำงานคล้ายๆ กับ Web Services ที่ดูแสนยุ่งยาก (พวก SOAP Web Services) โดยเจ้า Web Services นั้นเอง ตัวนักพัฒนาซอฟต์แวร์ต่างต้องศึกษาโดยมีจุดประสงค์เพื่อนำไปใช้ในการเชื่อมต่อระบบแบบไม่จำกัดแพลตฟอร์ม ซึ่งแนวคิดนี้ถูกนำมาปรับใช้งานให้รูปแบบที่เข้าใจง่ายขึ้นเพื่อหวังว่าจะสามารถนำพาตัวเนื้อหาที่อยู่มากมายของบริการตัวเองส่งตรงถึงคนหมู่มากมายได้ง่ายที่สุด เพราะด้วยความที่ Web Feed มีรูปแบบไม่ซับซ้อน สร้างได้ง่ายพอๆ กับการสร้าง HTML จึงถูกนำไปเป็นกรณีศึกษาในการสร้าง Web Services แบบง่ายๆ และปูทางไปสู่การสร้างระบบที่ซับซ้อนต่อไป และโดยส่วนตัวแล้วนั้น มันเป็นตัวอย่างที่ดีในการอธิบาย REST Web Services ที่มองว่าเข้าใจได้ง่ายที่สุดแล้ว เพราะ format นั้นคล้ายกันพอสมควร

2013-03-16_183145

แต่จนแล้วจนรอด ผ่านมาหลายปี มาตรฐาน Web Feed ก็อยู่ในมุมของมันเงียบๆ ทั้ง RSS 2.0 และ ATOM 1.0 ไม่ได้เด่นดังอะไรมากมาย Web Browser ต่างๆ ที่เคยใส่คุณสมบัติของการอ่านหรือเรียกใช้ Web Feed ก็เริ่มถอดออกจากหน้า User Interface ที่เรียกหาได้ง่าย และย้ายไปใส่ไว้ในมุมหนึ่งของตัวซอฟต์แวร์ อาจเพราะมันเข้าใจยาก คนใช้งานยังมีพฤติกรรมไม่เปลี่ยนแปลงมาก และการมาของ Social Networking เองก็ทำให้การเสพข่าวสารนั้นสามารถทำได้ง่ายๆ ผ่าน News Feed ของ Social Networking เองเช่นเดียวกัน ซึ่งจะเห็นได้ชัดจาก Twitter, Facebook และ Google+ จึงเป็นสิ่งที่ผมบอกว่า “Web Feed ไม่เคยตาย เพราะจริงๆ มันไม่เคยเกิดในกลุ่มคนหมู่มากต่างหาก” เพราะระหว่างที่ Web Feed ยังคงอยู่ในระดับที่ผู้ใช้ทั่วไปนั้นสัมผัสมันได้ง่ายๆ บน Web Browser ก่อนหน้านี้นั้น ผู้ใช้งานต้องพบกับรูปแบบของ Web Feed ที่หลากหลาย นักพัฒนาเว็บนำ Web Feed ไปใช้งานในรูปแบบที่ผิดมาตรฐานบนความไม่เข้าใจตัว Web Feed อยู่เยอะ รวมไปถึงตัว Web Feed เองเริ่มมีมาตรฐานมากขึ้นเพื่อรองรับตัว Media และรูปแบบการนำไปใช้ที่เริ่มหลากหลายด้วย (จากแค่เป็นตัวกระจายข้อมูลแบบตัวอักษรอย่างเดียว ก็เอาไปรองรับ Photo Gallery หรือระบบ Video) ทำให้ตัว Parser ตัว Web Feed ต้องรับภาระมาตรฐานที่หลากหลาย และข้อผิดพลาดจากความไม่เข้าใจที่ดีพอของนักพัฒนาเองก็เป็นส่วนสำคัญที่ทำให้ประสบการณ์ของผู้ใช้งานนั้นแย่ลง ซึ่งจากที่เจอสำหรับตัว Web Feed ที่คนไทยนั้นพัฒนาและนำมาให้บริการก็คือ การใช้ TIS-620 ใน Web Feed แบบที่รูปแบบไฟล์เป็น Unicode (มาตรฐานแนะนำ UTF-8) การไม่ใช้ CDATA ในส่วนเนื้อหาของ Summary ที่เป็น HTML จนทำให้ตัว Parser นั้นทำงานไม่ได้เป็นต้น สิ่งเหล่านี้รวมๆ กัน ทำให้การนำไปใช้นั้นเริ่มยุ่งยากสำหรับคนที่เริ่มต้นใช้งานมากเลยทีเดียว

ในด้านของตัวเว็บเองนั้น การใช้ Web Feed ในการส่งข้อมูลออกไปในรูปแบบเนื้อหาแบบเต็ม (Full Content) ทำให้ผู้ใช้งานไม่เข้ามาในเว็บเพื่ออ่านเนื้อหาเหล่านั้น แต่อ่านจากตัว Reader ซึ่งทำให้ตัวเว็บนั้นสูญเสียรายได้จากค่าโฆษณาไป ถึงแม้จะสามารถกำหนดให้จำกัดขนาดเนื้อหาที่เผยแพร่ได้ แต่นั้นก็เป็นเรื่องที่ต้องมีการดูแลพอสมควร เพราะการใช้ระบบอัตโนมัติในการตัดเนื้อหาอาจไม่เพียงพอและอาจทำให้เนื้อหาขาดความน่าสนใจได้ ซึ่งถ้าเป็นแบบนั้นแล้ว การทุ่มเทปรับปรุงเนื้อหาให้สั้นกระชับเหมาะกับ Twitter, Facebook และ Google+ ไปเลยน่าจะคุ้มค่ากว่าบน Web Feed เพียงอย่างเดียว

unnamed

สุดท้ายทิศทางของ Web Feed ในอนาคตนั้น จะถูกนำไปใช้งานในรูปแบบของการกระจายเนื้อหาของเว็บให้เข้ากับตัวซอฟต์แวร์อ่านข่าวต่างๆ เช่น Google Currents, NewsBlur, Pulse หรือ Flipboard แทน โดยเน้นการให้เจ้าของเนื้อหาเข้ามาสมัครและปรับตัว Web Feed ที่ตัวเองมีให้เหมาะกับตัวซอฟต์แวร์เหล่านั้นแทน เพื่อให้การแสดงผลนั้นเข้ากับตัวซอฟต์แวร์แต่ละตัวให้ได้มากที่สุดเพื่อประสบการณ์ในการอ่านตัวเนื้อหาที่ดีที่สุดแทนการให้ผู้ใช้เข้าไปแต่ละเว็บเพื่อเพิ่มตัว Web Feed เข้ากับตัวซอฟต์แวร์เองโดยตรง

NewsBlur.com เว็บบริการอ่าน Feed ทดแทน Google Reader ที่กำลังปิดตัวลง

จาก กูเกิลประกาศปิดอีกหลายบริการ – Google Reader ก็โดนด้วย ทำเอา NewsBlur ติดๆ ดับๆ มาสักพัก (ช่วงวันที่ 14-15 มีนาคม 2556) คงเพราะคนย้ายเข้ามาเยอะก็เลยเป็นแบบนี้

2013-03-15_022332

ส่วนตัวแล้วตอนแรกว่าจะใช้ Outlook 2013 ในการอ่าน Feed แต่การใส่ RSS Feeds ลงใน Outlook กว่า 300 Feeds ดูเป็นภาระต่อการเปิด Outlook ไว้ตลอดเวลาอย่างมาก (รวมไปถึง internet connection ด้วย) เลยลบออกหมดเลย แล้วเลือกหาบริการที่เทียบเคียงกับ Google Reader ได้ แล้วก็เจอกับ NewsBlur ที่เป็น Web Interface คล้ายๆ กับ Google Reader แต่ด้วยความที่ Free Account นั้นมีข้อจำกัดที่จำนวน Feed ที่ใส่ลงไปได้เพียง 60 รายการ เลยสมัครใช้แบบ Premium ตกเดือนละ 1USD หรือปีละ 12USD เท่านั้น ส่วนตัวเลยเฉยๆ ก็เลยสมัครเสียเลยหมดเรื่อง

สรุปตอนนี้ก็มีเว็บที่ใช้ทดแทน Google Reader ได้แล้ว จบไปอีกเรื่อง

ทำไมถึงไม่ใช้ BlogGang !!!

เพราะไม่มี RSS Feed

ง่าย ๆ สั้น ๆ จบ …….

แบบว่าไม่ได้อารมณ์ของความเป็น blog เล้ยยยย ให้ตายดิ ถึงแม้จะมี Account อยู่ก็ตามที แต่ไม่ได้เขียน ไม่ได้ใช้ เพราะมันไม่สะดวกทั้งตัวเอง และคนอ่าน ยิ่งผมมีรายการ blog ในโปรแกรมอ่าน Feed ประมาณ 200 – 300 ได้เนี่ย BlogGang ไม่ตอบโจทย์ผมที่ต้องการข้อมูลดูดเข้าเครื่องผมในทันทีที่ต่ออินเตอร์เน็ต ใครจะมานั่งเปิดหน้า BlogGang ทุก ๆ Account เพื่ออ่าน ลำบากตายเลย (หรือว่าเราติด Feed ไปแล้วก็ไม่รู้) แถมเว็บไหนไม่มี Feed นี่แทบไม่ค่อยได้อ่านเลย

เปิดตัว PodCastsGen WebBase Version 0.0.1 Alpha

Link@PodCastsGen WebBase Version 0.0.1 Alpha

เป็นโปรแกรมประยุกต์ ที่ทำงานบนได้บน Web Browser โดยใช้ความสามารถของภาษา PHP และ JavaScript แล้วทำการ Export หรือ Generate Code เป็น XML ซึ่งอยู่ใน specification ของ RSS Feed และตรงตาม specification ของ Podcasts ในระดับสากลด้วย

ขั้นตอนการทำงาน และการใช้งานไม่ยุ่งยากเนื่องจากในหลักการเอาข้อมูลที่ได้จาก form ในระบบ Input data dynamic หรือการใส่ข้อมูลเชิงยืดหยุ่นนั้นเอง กล่าวคือ ระบบจะมีข้อมูลพื้นฐานที่จำเป็นก่อน นั้นคือ รายละเอียดของ Podcasts ต่างๆ ไม่ว่าจะเป็น

  • ชื่อ
  • ใจความสำคัญ
  • ที่อยู่ของ Podcasts ที่จะเอาไปใส่
  • ชื่อผู้จัดทำ
  • อีเมล ของคนจัดทำ นั้นๆ
  • โดยที่จะเริ่มด้วย Episodes แรกเป็นขั้นเริ่มต้น ซึ่งคำว่า Episodes เป็นคำที่เรียกจำนวนตอน หรือจำนวนไฟล์ของมีเดีย นั้นๆ ครับ

การใส่ Episodes ในโปรแกรมประยุกต์นี้ จะเป็นไปในลักษณะของการใส่ที่อยู่ของไฟล์มีเดีย ซึ่งไฟล์มีเดียที่จะเอามาใส่นั้นควรมีลักษณ์สำคัญคือ

  • มีขนาดที่ไม่ใหญ่มาก (แนะนำไม่ควรเกิน 10MB ต่อความยาวในการออกอาหาศ 1ชม.)
  • ใช้นามสกุลไฟล์เป็น mp3, m4a, m4b, acc, aiff
  • ต้องมีที่อยู่จริงอยู่แล้วใน internet ซึ่งต้องทำการ upload จากเว็บใดเว็บหนึ่งก่อน ไม่ว่าจะใช้ที่ geocities หรือ thai.net ก็ได้

ซึ่งการใส่มีเดียในแต่ละส่วนนั้น จะใช้หลักการคล้ายๆ กับการใส่ Condition ใน SmartPlaylist ของ iTunes นั้นเอง ซึ่งจะสามารถใส่มีเดียได้ไม่เกิน 10 ไฟล์ และอนาคตจะพัฒนาให้สามารถใส่ได้ไม่จำกัด

เมื่อทำการ submit ตัว form ของโปรแกรมประยุกต์แล้ว ตัวระบบจะทำการสร้างโค็ด XML ออกมาโดยแสดงใน Web Browser ของท่าน โดยที่ทางผู้ใช้ต้องทำการ save โค็ดเหล่านั้นเอง ไม่ว่าจะด้วยวิธีใดก็ตาม ตัวอย่างเช่น

Internet Explorer

  • ใช้เมนู File ตามด้วยเมนู Save As
  • ที่ Dialog Save As ให้เลือก Save as type เป็น XML Files (*.xml)
  • ที่ File name ให้ใส่ของไฟล์ลงไป
  • เอาไฟล์ดังกล่าวไป upload ขึ้นที่เว็บที่เราต้องการ
  • ตัวอย่าง http://www.yourweb.com/podcasts/yournamepodcasts.xml

Firefox

  • ใช้เมนู File ตามด้วยเมนู Save Page As
  • ที่ Dialog Save As ให้เลือก Save as type เป็น XML Document
  • ที่ File name ให้ใส่ของไฟล์ลงไป
  • เอาไฟล์ดังกล่าวไป upload ขึ้นที่เว็บที่เราต้องการ
  • ตัวอย่าง http://www.yourweb.com/podcasts/yournamepodcasts.xml

ก็เป็นอันเสร็จสิ้นวิธีการทำงาน โดยในอนาคตในขั้นตอนการจัดการไฟล์ ที่ Export ออกมาจะปรับเปลี่ยนเป็นการทำ Archive เป็น ZIP Files แทน เพื่อให้ขึ้น Dialog ให้ Download ได้เลย

และโครงการต่อไปเป็น PodCasts->Hub ที่กำลังร่างระบบอยู่ ซึ่งไม่รู้จะทำได้หรือเปล่า -_-" แต่ระบบน่ะไม่ยาก

วิธีการทำ podcast เผยแพร่

ผมได้ทำ podcast ของผมเองอยู่ที่ http://www.thaicyberpoint.com/podcasts ตอนนี้ผมทำ podcast ตัวแรกให้ลองฟังแล้วนะครับ ถ้ามีอะไรติชมก็บอกกันได้ครับ

ส่วนใครต้องการเอา podcast ตัวนี้ไปลองทำเองก็ง่ายมากครับ

สิ่งที่ต้องการก็มีพื้นที่เว็บใน internet ที่สนับสนุนการใช้ script PHP และพื้นที่สัก 10 – 20 MB ในการเก็บไฟล์เสียงครับ

แล้วก็หา script podcast จำพวก PHP มาลงครับ อย่างของผมก็ ลองโหลดไปแกะได้ที่นี่ครับ http://www.thaicyberpoint.com/podcasts/dircaster_v_04_podcastPHPScript.zip ทำการแตกไฟล์ zip แล้วก็ทำการปรับแก้เพียงเล็กน้อยครับ

—————————————–

// ขนาดมาที่สุดของการแสดง podcast ใน 1 ครั้ง

$maxFeed = 5;

// Title ของ Podcast ครับ

$titleTAG=”ThaiCyberPoint.com – PodCasts beta”;

// ที่อยู่ของ Podcast ครับ

$linkTAG=”http://www.thaicyberpoint.com/podcasts”;
// รายละเอียดของ Podcast ครับ ใส่เป็นภาษาไทยได้ ตอนนี้ผมปรับแต่งให้ลองรับภาษาไทยแล้วครับ
$descriptionTAG=”Public PodCast from ThaiCyberPoint.com”;
// ภาษาของ Podcast ครับ แนะนำให้ใช้ en-US ครับ
$languageTAG=”en-us”;
// คำแจ้งลิขสิทธิ์ของ Podcast ครับ
$copyrightTAG=”Creative Commons License”;
// อีเมลของ podcast ครับ
$webMasterTAG=”admin@thaicyberpoint.com”;
// ชื่อโปรแกรมที่เอามาทำ Podcast ไม่แนะนำให้ปรับเปลี่ยนครับ ถือเป็นมารยาท
$generatorTAG=”dirCast 0.4″;
// เวลาในการเข้าถึง หรือ timeout ครับ
$ttlTAG=60;

————————————-

แล้วก็ทำการ upload เข้าสู่ server ครับ ซึ่งมันเป็นไฟล์ index.php ครับ ก็เวลาเราให้ URL ก็ http://www.mysite.com/podcast/index.php หรือ http://www.mysite.com/podcast/ ก็ได้ครับ

แล้วจะเอาไฟล์เสียงขึ้นก็ทำการแก้ไข ID3 Tag ครับ แนะนำ Version 2.3 ครับ แล้วทำการ Upload ขึ้นไปที่เดียวกับไฟล์ index.php เมื่อกี้นี้ครับ ตัว script มันจะ detect เองจากไฟล์ว่า title, artist, album, year, comment, genre ว่ามีอะไรบ้างก็แนะนำให้ edit เอานะครับในไฟล์ สะดวกดีครับ

อนาคตเดี่ยวผมว่าจะ Podcast Portal ครับ ยังไงจะมาบอกอีกทีนะครับ สำหรับคนที่ไม่อยากทำ script เองครับ เพียงแต่หาพื้นที่เก็บไฟล์ก็พอน่ะครับ กำลังคิดโปรแกรมอยู่ครับ

ตัว script PHP ไม่สนับสนุนภาษาไทยในส่วนของ title, artist, album, year, comment, genre ใน ID3 Tag 2.3 นะครับ กำลังแก้ไขอยู่ครับ ตอนนี้ใช้แบบนี้ไปก่อนนะครับ