ความฝันของ Pipes: ชีวิตและยุคสมัยของ Yahoo Pipes
(retool.com)- Yahoo Pipes เป็นบริการเขียนโปรแกรมเชิงภาพบนเบราว์เซอร์ที่ทีมเล็ก ๆ ของ Yahoo สร้างขึ้นในปี 2007 ช่วยดึงข้อมูล RSS, JSON, CSV และเว็บเพจมากรอง รวม รวม และประมวลผล แล้วเผยแพร่เป็นฟีดใหม่หรือเอาต์พุตข้อมูลได้
- ด้วยวิธีเชื่อมต่อโหนดและเส้นโดยไม่ต้องเขียนโค้ด และโครงสร้าง Pipe ที่เปิดเผย คัดลอก และแก้ไขได้ ทำให้ แม้ไม่ใช่นักพัฒนาก็สร้าง data flow ได้ด้วยตัวเอง
- public beta คาดว่าจะมีผู้ใช้ราว 1,000 คน แต่กลับมีคนหลั่งไหลเข้ามาหลายแสนคน และเพราะโค้ด Perl ที่ยังไม่ถูกปรับแต่งกับทรัพยากรเซิร์ฟเวอร์ที่จำกัด จึงเกิด โหลดเกินขนาดใหญ่ ทันทีหลังเปิดตัว
- Pipes ผสานกระแสอย่าง Automator, RSS, AJAX, วัฒนธรรม mashup, Yahoo Maps และ YQL เข้าด้วยกัน แต่เมื่อไม่มีโมเดลขายปริมาณการเรียกใช้งานที่รับประกันได้หรือพันธกิจผลิตภัณฑ์ที่ชัดเจน จึงเหลือเป็นงานดูแลรักษาเป็นหลักท่ามกลางการเปลี่ยนแปลงองค์กรของ Yahoo
- แม้หลังปิดบริการในปี 2015 Pipes ยังทิ้งอิทธิพลไว้ต่อเครื่องมืออย่าง Workflow/Shortcuts, Huginn, Node-RED และการถกเถียงเรื่อง visual programming แต่ในปัจจุบัน API แบบเสียเงิน ข้อจำกัดด้าน scraping และความไม่แน่นอนด้านลิขสิทธิ์ ทำให้บริการผสมผสานข้อมูลแบบเปิดที่คล้ายกันทำได้ยาก
สิ่งที่ Yahoo Pipes ทำให้เป็นไปได้
- Yahoo Pipes เป็นบริการบนคลาวด์ที่นำแหล่งข้อมูลหลายแห่งบนเว็บมาให้ผู้ใช้กรอง ผสม และแปลงข้อมูลได้เอง
- งานที่ผู้ใช้สร้างได้มีตั้งแต่ข้อมูลใช้ชีวิตประจำวันไปจนถึงการกรองข่าว
- ตรวจสอบว่าบันทึกแผ่นดินไหวล่าสุดอยู่ใกล้ผู้ใช้หรือไม่
- รวมเว็บไซต์ข่าว 100 แห่ง แล้วดูเฉพาะรายการที่พูดถึงแมว
- ดึงคะแนนกีฬาจากเว็บไซต์ที่ไม่มี RSS feed
- หาอะพาร์ตเมนต์จาก Craigslist และรายการปล่อยเช่าอื่น ๆ ที่ตรงเงื่อนไขราคาและอยู่ใกล้สวนสาธารณะ
- ตัดบทความหัวข้อที่ไม่สนใจออกจากสื่อที่สมัครรับอยู่แล้ว
- Pipe แต่ละรายการเป็นทั้ง ของใช้ส่วนตัวและเปิดเผยต่อสาธารณะ และผู้ใช้คนอื่นสามารถคัดลอกไปแก้ไขได้
- เอาต์พุตทำได้เป็น RSS, JSON object, HTML, KML, XML และอื่น ๆ อีกทั้งฝังในเว็บเพจหรือเชื่อมเข้ากับกระบวนการประมวลผลข้อมูลของเว็บไซต์อื่นได้
การเขียนโปรแกรมเชิงภาพบนคลาวด์ที่สร้างโดยทีมเล็ก ๆ
- หลัง Pasha Sadri กลับมาที่ Yahoo ในปี 2006 เขาต้องการสร้างเครื่องมือจัดการข้อมูลโดยใช้ความเป็นไปได้ใหม่ ๆ ของการโต้ตอบในเบราว์เซอร์
- Pipes เป็นโปรเจกต์ลักษณะ skunkworks ที่ได้รับอนุมัติภายใน Yahoo และทีมหลักมี 5 คน รวม Sadri ด้วย
- Jonathan Trevor และ Ed Ho รับหน้าที่เขียนโปรแกรม
- Daniel Raffel รับบทบาทด้าน product management
- Kevin Cheng เข้าร่วมงานดีไซน์ในอีกไม่กี่เดือนต่อมา
- ผู้ใช้ลากและวางองค์ประกอบในเบราว์เซอร์ แล้วเชื่อมด้วยเส้นเพื่อสร้างฟีดข้อมูล
- แหล่งข้อมูลขยายไปถึงข่าว เอาต์พุตจากฐานข้อมูล บล็อกโพสต์ Atom, RDF, CSV และเว็บเพจ
- ผลลัพธ์ที่มีแท็กตำแหน่งสามารถผ่านตัวกรอง Yahoo Maps เพื่อจำกัดตามพื้นที่เฉพาะหรือความใกล้กับองค์ประกอบภูมิประเทศอย่างสวนสาธารณะได้
การเปิดเผยและการคัดลอกกลายเป็นหลักการออกแบบ
- ทีมยึดการทำให้ Pipe ทั้งหมดเปิดเผยต่อสาธารณะ และให้ใคร ๆ คัดลอกไปแก้ไขได้ เป็นหลักการออกแบบสำคัญ
- Sadri มองว่าความเปิดเผยนี้มีบทบาทสำคัญในการเพิ่มการเข้าถึงของคนที่ไม่ใช่นักพัฒนา
- ผู้ใช้เรียนรู้ได้จากการดู Pipe ของคนอื่น และ การแบ่งปันความรู้ ถูกฝังอยู่ในวิธีใช้งานบริการเอง
- ชื่อ Pipes มาจากแนวคิด pipeline ของ Unix ที่ส่งเอาต์พุตของโปรแกรมหนึ่งไปยังโปรแกรมถัดไป
ความต้องการที่ปะทุทันทีหลังเปิดตัวและปัญหาการขยายระบบ
- Pipes ถูกพัฒนาประมาณ 6 เดือน ตั้งแต่กลางปี 2006 ถึงต้นปี 2007 แล้วตั้งใจจะปล่อยเป็น public beta แบบเงียบ ๆ ในเดือนกุมภาพันธ์ 2007
- ทีมคาดว่าผู้ใช้ช่วงแรกจะมีประมาณ 1,000 คน แต่ทันทีหลังเปิดตัวกลับมีคนหลั่งไหลเข้ามาหลายแสนคน และผู้ใช้จำนวนมากก็เข้าใช้งานไม่ได้
- เซิร์ฟเวอร์ที่จำกัดและโค้ดที่ยังไม่ถูกปรับแต่งไม่สามารถรองรับการรัน workflow ของ newsfeed และการให้บริการหน้าเว็บได้ ทำให้ระบบโอเวอร์โหลดอย่างสิ้นเชิง
- Pipe รายการเดียวในเวลานั้นรันบนคอมพิวเตอร์ส่วนตัวหรือคอมพิวเตอร์ทำงานได้ แต่หากต้องรันทั้งบริการบนคลาวด์ในสเกลใหญ่ จำเป็นต้องใช้ทรัพยากรดาต้าเซ็นเตอร์อย่างมาก
- ทุกครั้งที่รันโดยไม่ผ่านแคช Pipe รายการเดียวอาจดาวน์โหลดข้อมูลตั้งแต่หลายสิบ MB ถึงหลายร้อย MB และในเวลานั้น bandwidth มักมีไม่พอและมีต้นทุนสูง
- Sadri เล่าว่าหลังจากนั้นเขาต้องใช้เวลา 6 เดือนเพื่อขยายระบบที่สร้างไว้แล้วให้ทันกับความต้องการ
สภาพแวดล้อมภายใน Yahoo และ Brickhouse
- Sadri ทำงานที่ Yahoo เป็นส่วนใหญ่ตั้งแต่ปี 2000 ถึง 2007 โดยในปี 2005 ย้ายไป Google และมีส่วนร่วมกับ Google Maps ก่อนกลับ Yahoo ในปี 2006
- Technology Development Group หรือ TechDev ของ Yahoo ถูกสร้างขึ้นเป็นองค์กรสำหรับ Caterina Fake ผู้ร่วมก่อตั้ง Flickr และอยู่ภายใต้ Yahoo Advanced Development Division
- TechDev มีบทบาททดลองทิศทางใหม่ที่ไม่ผูกกับธุรกิจค้นหา และดึงดูดพนักงานที่มีแนวโน้มแบบผู้ประกอบการ
- Fake ได้รับมอบหมายจาก Jerry Yang ให้ทำ Yahoo ให้ “เหมือน Flickr” และผลักดันแนวทางสร้างทีมเล็กที่มีประสิทธิภาพ พร้อมลดกำแพงในองค์กร
- Pipes เป็นหนึ่งในโปรเจกต์แรก ๆ ที่เกิดจากกระแสนั้น และต่อมาเข้าไปอยู่ภายใต้ Brickhouse ที่ตั้งขึ้นใน San Francisco
- Brickhouse ถูกมองคล้าย “สถานีสุดท้าย” สำหรับคนเก่งที่สร้างสรรค์แต่ไม่มั่นคงและกำลังจะออกจาก Yahoo
ความคาดหวังที่เกิดจากขนาดของ Yahoo
- Yahoo ได้รายได้ส่วนใหญ่จากโฆษณาค้นหาและเว็บไซต์ที่ใช้ไลเซนส์การค้นหา
- ตามคำบอกเล่าของ Kent Brewster ในช่วงเปิดตัว Pipes หน้าโฮมเพจของ Yahoo มีผู้เข้าชม 1.2 พันล้านครั้งต่อเดือน และเว็บไซต์ทั้งหมดของ Yahoo ได้รับ pageview มากกว่า 1 พันล้านครั้งต่อวัน
- หลัง Brewster เสนอให้ใส่ลิงก์ An Inconvenient Truth ของ Al Gore บนหน้าโฮมเพจ Yahoo อิทธิพลของการได้แสดงบนโฮมเพจนั้นสูงมาก จน Al Gore มาขอบคุณด้วยตัวเองในงานฉายใกล้สำนักงานใหญ่ Yahoo
- เบื้องหลังการกลับมาของ Sadri ที่ Yahoo คือความคาดหวังว่า แม้ในเวลานั้น Yahoo จะยังสร้างโปรเจกต์สำเร็จได้ไม่เร็วเท่า Google แต่ Yahoo ก็ยังมีความเป็นไปได้ที่จะมี “สิ่งยิ่งใหญ่ถัดไป”
จาก Automator สู่เครื่องมือบนเบราว์เซอร์
- แนวคิดกราฟิกของ Pipes ได้รับอิทธิพลอย่างมากจาก Automator ของ Apple
- Automator เป็นเครื่องมือ macOS ที่ให้ผู้ใช้ลาก action ที่เชื่อมกับแอปหรือระบบมาวางเป็น workflow เชิงเส้นเพื่อสร้าง automation
- Apple เปิดตัว Automator ในปี 2004 โดยมีเป้าหมายให้ผู้ใช้ทั่วไปจัดการงานที่เดิมต้องใช้ทักษะการเขียนโค้ดได้
- Pipes ต่อยอดไอเดียของ Automator แต่ไม่ได้เป็น native app หากทำงานในเบราว์เซอร์
- Automator ขยายความสามารถได้ด้วยหลายภาษาและสคริปต์ที่ใช้บน Mac แต่เพราะ Pipes เป็นบริการโฮสต์บนคลาวด์ จึงไม่อนุญาตให้รันโค้ดตามอำเภอใจ และให้ใช้เฉพาะชุดฟังก์ชันที่จำกัด
- ในเวลานั้น หากให้รันโค้ดตามอำเภอใจบนบริการคลาวด์ อาจกินทรัพยากร CPU มากเกินไปและกดดันทรัพยากรอื่น
ความยากของการทำ UI บนเบราว์เซอร์
- แกนหลักของ Pipes คือ UI เขียนโปรแกรมเชิงภาพ ที่ให้จัดการโหนดและเส้นเชื่อมภายในเบราว์เซอร์โดยไม่ต้องเขียนโค้ด
- หลัง Google Maps แสดงการลาก ซูม และอัปเดตแผนที่แบบเรียลไทม์ในปี 2005 การโต้ตอบในเบราว์เซอร์ด้วย CSS, JavaScript และ AJAX ก็มีฐานที่เป็นจริงมากขึ้น
- สมาชิกทีมจำได้ว่า ก่อนเปิดตัว เวลาและความพยายามส่วนใหญ่ถูกใช้ไปกับการสร้างโครงสร้างโหนดและเส้น แล้วแสดงเป็นสภาพแวดล้อมสำหรับ visual coding
- ในเวลานั้น Firefox, Opera, Safari และ Internet Explorer มีระดับการรองรับและพฤติกรรมต่างกัน โดยเฉพาะ Internet Explorer ที่มีข้อกำหนดด้านโค้ดและ HTML ของตัวเอง
- Sadri มองว่าการทำให้กล่องและเส้นโค้งแอนิเมชันทำงานได้ในหลายเบราว์เซอร์เป็นหนึ่งในผลงานทางเทคนิคสำคัญ
Mario Kart และโทนสีของ Wii ที่ทิ้งร่องรอยในดีไซน์ผลิตภัณฑ์
- หลังมื้อกลางวัน ทีมเล่น Mario Kart บน Nintendo DS ทุกวัน และหลังเล่นเกมก็สรุปไอเดียบนไวท์บอร์ดเพื่อแลกเปลี่ยน feedback และถกเถียงต่อ
- Raffel มองว่าการให้และรับ feedback ในบรรยากาศสนุกจากการเล่นเกมมีความสำคัญต่อการพัฒนาผลิตภัณฑ์
- การเล่น Mario Kart ซ้ำ ๆ ทำให้ทีมตระหนักถึงการใช้คู่สีที่สดใสและคอนทราสต์สูงในดีไซน์ของ Pipes อยู่เสมอ
- หลัง Nintendo Wii ออกในเดือนพฤศจิกายน 2006 ทีมยังได้รับอิทธิพลจากระบบสีและโทนสีเรืองนุ่ม ๆ ของ Wii รุ่นแรกด้วย
- อินเทอร์เฟซ Aqua ของ Apple และ iMac หลากสีก็เป็นจุดอ้างอิงด้านภาพเช่นกัน
โมเดลการรันที่ทำให้ data flow มองเห็นได้
- ช่วงแรก Pipes เป็น flow แบบเชิงเส้น แต่ต่อมาพัฒนาเป็นโครงสร้างที่ไดนามิกกว่า ซึ่งแต่ละโหนดสามารถรันสคริปต์และโค้ดตามลำดับของโปรแกรมได้
- มี control structure เช่น เงื่อนไข การวนซ้ำ การแตกกิ่งและรวมกิ่ง และการส่งเอาต์พุตไปยังบริการเว็บภายนอก ทำให้งานที่ทำได้แม้จำกัดแต่ใกล้เคียงภาษาโปรแกรมอเนกประสงค์
- ยังใช้ link syntax coloring โดยเส้น control structure เป็นสีเทา และ data flow เป็นสีน้ำเงิน
- ทีมมอง spreadsheet เป็นมาตรฐานสำคัญของโมเดลการเขียนโปรแกรมสำหรับคนที่ไม่ใช่นักพัฒนา
- ใน spreadsheet ข้อมูลมองเห็นได้ และผลลัพธ์อัปเดตทันทีเมื่อ input เปลี่ยน
- สามารถตรวจจุดที่ผิดได้ทันทีโดยไม่ต้อง compile หรือ debug จาก log
- Pipes ให้ reactive data pipeline ที่รันทันทีเมื่อเชื่อมองค์ประกอบและแสดงผลลัพธ์ให้เห็น
- text debugger แบบเลือกใช้ได้ที่ด้านล่างหน้าจอจะแสดงผลลัพธ์ปัจจุบันเป็นรายการแยกแต่ละ item
- Sadri กล่าวว่าใน Pipes การเขียนโปรแกรมที่ผิดทำได้ยากมาก และเมื่อคุณลากอะไรสักอย่างมาวางบนหน้าจอ มันจะทำงานทันทีและมีเอาต์พุตเกิดขึ้น
การติดตั้งภายในและหนี้ทางเทคนิค
- Pipes ถูกพัฒนาแบบ iterate อย่างรวดเร็ว และฟีเจอร์ โค้ด กับดีไซน์ถูกสร้างต่อเนื่องให้ทันกำหนดเปิดตัวที่ยังไม่แน่นอน
- บางครั้งทีมใช้การ implement แบบลัด โดยคิดว่าเมื่อกลายเป็นผลิตภัณฑ์เต็มรูปแบบในภายหลัง พวกเขาหรือคนอื่นจะจัดระเบียบได้
- ตามคำบอกเล่าของ Ed Ho โค้ดฐานส่วนใหญ่เขียนด้วย Perl
- Perl ถูกใช้แพร่หลายกับระบบฝั่งเซิร์ฟเวอร์และการประมวลผลข้อความ แต่ไม่เพียงพอต่อสเกล production ที่ Pipes ต้องการจริง ๆ
- Trevor ประเมินว่าโค้ด Perl ไม่มีประสิทธิภาพมาก ขยายระบบได้ไม่ดี และเป็นดีไซน์ที่เหมาะกับ proof of concept ของ v1 ที่ต้องทำเร็ว
คำชมจาก O’Reilly และเบต้าที่ระเบิด
- ต้นปี 2007 หลังทีมพัฒนามาหลายเดือนโดยไม่มีจุดจบที่กำหนดชัดเจน ผู้บริหารระดับสูงสั่งให้ทำ Pipes ให้เสร็จภายใน 2 สัปดาห์
- ทีมรู้สึกว่างานยังไม่เหลือแค่ 2 สัปดาห์ก็เสร็จ แต่สุดท้ายก็เปิดตัว
- ไม่กี่วันก่อนเปิดตัว Caterina Fake พา Sadri ไปสาธิตให้ Tim O’Reilly ดู
- O’Reilly ประเมินว่า Pipes เป็นหมุดหมายหนึ่งในประวัติศาสตร์อินเทอร์เน็ต และเขียนว่ามันทำให้การเขียนโปรแกรมเว็บเป็นประชาธิปไตยขึ้น และให้ผู้ใช้ควบคุมบริการข้อมูลอินเทอร์เน็ตที่บริโภคได้ดีขึ้น
- คำชมนี้ทำให้ความสนใจระเบิด และ Sadri เล่าว่ามันทำให้เซิร์ฟเวอร์ทั้งหมดละลาย
- ตลอดวันเปิดตัว การใช้งานไม่ลดลง และทีมดาต้าเซ็นเตอร์ของ Yahoo นำเซิร์ฟเวอร์ที่ตั้งใจจะจัดสรรให้กลุ่มอื่นมาใส่ให้ Pipes
- ทีมไม่ได้เตรียมแม้แต่หน้า crash ไว้ และหลังเบต้าจึงทำหน้าที่มีข้อความคล้าย “our pipes are clogged” ขึ้นมาก่อน
Pipe ที่รันไม่รู้จบและภาระปฏิบัติการ
- หลังเปิดตัว ทีมเริ่มตรวจพบปัญหาที่ทำไม่เสร็จในกระบวนการเปิดตัวแบบเร่งด่วน
- เมื่อผู้ใช้สร้าง Pipe แล้ว มันจะรันต่อไปโดยไม่มีจุดสิ้นสุดแยกต่างหาก
- ไม่จำเป็นต้องล็อกอินหรือกดขออัปเดต และ RSS reader จะ poll เพื่ออัปเดตโดยอัตโนมัติ
- Raffel มองว่างานจำนวนมากที่ถูกสร้างขึ้นเหมือน “zombie” ทำให้เกิด usage อย่างรวดเร็วโดยไม่ชัดเจนว่าเป็นการใช้จากผู้ใช้จริงหรือไม่
- Yahoo เพิ่มเซิร์ฟเวอร์เข้ามา โปรแกรมเมอร์ปรับแต่งโค้ดที่ไม่มีประสิทธิภาพที่สุด และอีกหลายเดือนต่อมาเสถียรภาพก็ดีขึ้น
พลังในฐานะเครื่องมือผสมข้อมูล
- Pipes เติบโตบนวัฒนธรรม mashup และยุครุ่งเรืองของ RSS ในช่วงกลางทศวรรษ 2000
- RSS ถูกใช้เป็นมาตรฐานในการเผยแพร่บล็อกอัปเดต ตอน podcast ผลการค้นหา และหน่วยข้อมูลอื่น ๆ ในรูปแบบเรียบง่ายที่เครื่องอ่านได้
- Jon Udell มองว่าเพราะ RSS ทำให้วิธีเข้าถึงเป็นมาตรฐาน Pipes จึงเจอปัญหาต้องคุยกับแหล่งข้อมูลนับไม่ถ้วนทีละแบบน้อยลง
- Pipes ไม่ได้จัดการแค่ RSS แต่ยังจัดการ Atom, RDF, CSV และด้วยงานเล็กน้อยก็สามารถดึงเว็บเพจมาแล้วกรองข้อมูลเฉพาะได้
- ยังเชื่อมกับบริการภายใน Yahoo โดยเฉพาะ Flickr และต่อมารองรับ Yahoo Query Language หรือ YQL ด้วย
- YQL เป็นโปรเจกต์ระดับทั้งบริษัทที่ต้องการให้ผลิตภัณฑ์ภายใน Yahoo และนักพัฒนาภายนอก query ผ่าน endpoint ร่วมกันได้
- เอาต์พุตของ Pipes สามารถฝังในหน้าเว็บ หรือทำเป็น HTML, JSON, KML, RSS, XML ได้
- เว็บไซต์ภายนอกยังสามารถใช้ JavaScript เรียก workflow ของ Pipe แล้วรับผลลัพธ์กลับมาได้ด้วย
กรณี Craigslist บล็อก
- Pipes มีประโยชน์ แต่ก็อาจสร้างภาระให้เว็บไซต์อื่นได้
- Craigslist บล็อก Pipes ในปี 2009 หลังนักพัฒนาที่ไม่ใช่ Yahoo ใช้ Pipes เพื่อทำแผนที่รายการเช่า Craigslist
- CEO ของ Craigslist อ้างว่า Pipes ใช้ทรัพยากรมากเกินไป
- การบล็อกทำให้ mashup หลายอย่างบนอินเทอร์เน็ตสูญเสียข้อมูล และนักพัฒนาบางรายยังคง Pipe ไว้โดยไม่ใช้ Craigslist เป็นแหล่งข้อมูล
- การบล็อกถูกยกเลิกราว 2 สัปดาห์ต่อมา
การขาดโมเดลธุรกิจและการสนับสนุนจากองค์กร
- การตกต่ำของ Pipes เริ่มตั้งแต่ตอนเปิดตัว และหากจะขยายจากแนวคิดไปเป็นผลิตภัณฑ์ที่สมบูรณ์ จำเป็นต้องมีทีมใหญ่ขึ้นและพันธกิจชัดเจน
- Kent Brewster เล่าว่าในงาน conference ผู้คนเห็น Pipes แล้วบอกว่าน่าประทับใจ แต่เมื่อถามว่าจ่ายค่าบริการได้เท่าไร Yahoo ต้องตอบว่ายังไม่ถึงขั้นนั้น
- ไม่มีสินค้าที่ให้ซื้อปริมาณการเรียก Pipe รายเดือนแบบรับประกันได้ และในสภาพนั้นผู้เชี่ยวชาญหรือองค์กรขนาดใหญ่ก็ลงทุนได้ยาก
- Yahoo ปลดพนักงานประมาณ 1,000 คนในเดือนมกราคม 2008 และต่อมาปฏิเสธข้อเสนอซื้อกิจการแบบเงินสดและหุ้นมูลค่า 44.6 พันล้านดอลลาร์จาก Microsoft
- ช่วงปลายปีเดียวกัน Yahoo ปลดพนักงานเพิ่มอีก 10% หรือประมาณ 1,500 คน
- ตั้งแต่ปี 2008 จนถึงการขายกิจการและการยุบตัวโดยพฤตินัยในปี 2017 เหตุการณ์เด่นด้านผลประกอบการของ Yahoo คือการที่ Marissa Mayer ตกลงขายหุ้น Alibaba ในปี 2012
- Yahoo ซื้อหุ้น Alibaba ในปี 2005 ด้วยเงิน 1 พันล้านดอลลาร์ และมูลค่าเพิ่มขึ้นถึง 7.6 พันล้านดอลลาร์ ณ เวลาขาย
การสลายตัวของ Brickhouse และทีม
- Brickhouse สร้างหลายโปรเจกต์ที่สื่อเทคโนโลยีจับตามองในปี 2007
- BravoNation: ระบบออนไลน์สำหรับให้และรับคำชม
- FireEagle: บริการให้ข้อมูลตำแหน่งพร้อมเป็นตัวกลางด้าน privacy
- KickStart: เว็บไซต์เชื่อมโยงงานสำหรับนักศึกษา
- Yahoo Live: บริการสตรีมเว็บแคมสดยุคแรก
- โปรเจกต์เหล่านี้ไม่ได้ไปสู่ความสำเร็จ
- Fake เริ่มลาคลอดและพักหลังคลอดตั้งแต่เดือนเมษายน 2007 และออกจาก Yahoo ในเดือนมิถุนายน 2008
- Bradley Horowitz ย้ายไป Google ในเดือนกุมภาพันธ์ 2008 และ Salim Ismail ออกในเดือนมีนาคม 2008
- Chad Dickerson ก็ออกในช่วงกลางปี 2008 ใกล้เคียงกับ Fake
- Brickhouse ปิดตัวในปลายปี 2008
- ทีม Pipes ก็กระจัดกระจาย ออกจาก Yahoo หรือย้ายไปทีมอื่น และการสนับสนุนบริการถูกส่งต่อให้บุคลากรฝ่ายบริหารภายในบริษัท
เหตุผลที่ Pipes อยู่รอดได้นานและการปิดบริการ
- Sadri ก่อตั้ง Polyvore ไม่กี่เดือนหลังเปิดตัว Pipes
- Polyvore เป็นแพลตฟอร์มที่ให้ผู้ใช้แชร์ภาพคอลลาจ และมักถูกใช้กับแฟชั่นและการออกแบบภายใน
- Polyvore ถูก Yahoo ซื้อในปี 2015 และหลังจากนั้น Sadri อยู่ที่ Sutter Hill Ventures
- Ho ก็ออกในช่วงเวลาใกล้เคียงกับ Sadri ส่วน Cheng และ Raffel ออกภายใน 1 ปีหลังเปิดตัว Pipes
- Trevor อยู่กับ Yahoo จนถึงปี 2010 และพา Pipes ติดตัวไปด้วยขณะย้ายผ่านหลายทีม เขาบอกว่าสิ่งนี้ทำให้บริการคงอยู่ได้นานขึ้น
- Trevor เขียน Pipes ใหม่จาก Perl เป็น Java เพื่อให้เข้ากันได้กับภาษา YQL ภายใน
- หลังจากนั้น เขามองว่าเหลือแค่รอเวลาว่าจะถูกปิดเมื่อใด
- Yahoo ปิด Pipes อย่างถาวรในปี 2015
- ในเธรดประกาศปิดบริการบน Hacker News ยังมีผู้ใช้ที่มองหาทางเลือกและเสียดายศักยภาพที่ไม่เกิดขึ้นจริง
- Sadri เขียนในตอนนั้นว่า “น่าจะดีถ้า Pipes เปิดตัวในยุคของ container อย่าง Docker” และบอกว่าเคยมีไอเดีย deploy แบบ one-click ไปยังสิ่งที่ทุกวันนี้เรียกว่า container
อิทธิพลที่เหลืออยู่ในเครื่องมือรุ่นหลังและ visual programming
- Pipes เป็นแรงบันดาลใจให้โปรแกรมเมอร์ นักออกแบบ UI และคนทำผลิตภัณฑ์รุ่นหนึ่ง
- Workflow แอป automation สำหรับ iPhone/iPad ที่ Apple ซื้อในปี 2017 ต่อมาถูกปิดและผนวกรวม แล้วเผยแพร่อีกครั้งเป็น Shortcuts บน iOS, iPadOS และ macOS โดยถูกกล่าวถึงว่าเป็นหนึ่งในเครื่องมือที่ใกล้เคียงกับ Pipes
- Andrew Cantino ผู้สร้าง Huginn เขียนบน Hacker News ในปี 2021 ว่า Yahoo Pipes เป็นแรงบันดาลใจในการสร้าง Huginn
- Node-RED เปิดตัวในปี 2013 และถูกพูดถึงว่าเป็นเครื่องมือที่มีบรรยากาศคล้าย Pipes
- เครื่องมือแบบเปิดและปิดที่ถูกพูดถึงในฐานะทางเลือกของ Pipes เพิ่มขึ้นอย่างต่อเนื่อง
- ผู้ใช้คนหนึ่งในเธรดปิดบริการบน Hacker News แชร์ว่า Pipes เคยเป็นฐานของคลาสเรียน data mashup และนักศึกษาที่ไม่ใช่นักพัฒนาสามารถสร้าง data app แบบกำหนดเองขนาดเล็กได้ภายในไม่กี่ชั่วโมง
- ตัวอย่างนั้นรวมถึงงาน geocode บล็อก street art ด้วยการดึง entity ตำแหน่ง และส่งออกฟีดที่เสริมข้อมูลแล้วเป็นมุมมองแผนที่
เหตุผลที่วันนี้สร้างบริการแบบเดียวกันได้ยาก
- Greg Wilson กล่าวว่าเครื่องมือ visual programming มีอยู่แพร่หลายในฐานะเครื่องมือเฉพาะทางตามอาชีพและอุตสาหกรรม และแอนิเมชันระดับสูงของ Hollywood ก็สร้างด้วยเครื่องมือที่เชื่อมบล็อก data flow คล้าย Yahoo Pipes
- MATLAB ก็ถูกกล่าวถึงว่าเป็นแพลตฟอร์มสร้างโมเดลทางคณิตศาสตร์ที่มีผู้ใช้ประมาณ 4 ล้านคนทั่วโลก และผู้ใช้จำนวนมากใช้อินเทอร์เฟซ visual programming
- หนึ่งในเหตุผลที่เครื่องมือกราฟิกวัตถุประสงค์ทั่วไปไม่แพร่หลาย คือ ความไม่แน่นอนด้านลิขสิทธิ์
- Anil Dash เขียนในคอมเมนต์ต่อบทความของ O’Reilly เกี่ยวกับ Pipes เมื่อปี 2007 ว่า ยังไม่มีคำตอบว่าการมีอยู่ของ feed หมายถึงการอนุญาตโดยนัยให้สมัครรับ poll บ่อย ๆ และเผยแพร่ซ้ำหรือไม่
- 16 ปีต่อมา คำถามเหล่านั้นก็ยังไม่ได้รับการแก้ไขชัดเจน และความเสี่ยงด้านคดีความอาจทำให้บริษัทที่อยากสร้างบริการฟรีหรือเสียเงินต้องชะลอ
- อินเทอร์เน็ตปัจจุบันล็อก feed ข้อมูลที่เคยใช้งานได้อย่างเสรีมากขึ้น และยังจำกัด scraping ที่ดึงเว็บเพจทั่วไปมาพาร์สข้อมูลอย่างเข้มงวดกว่าเดิม
- Sadri กล่าวว่า API ที่ถูกกฎหมายจำนวนมากกลายเป็น API เชิงพาณิชย์ที่อยู่หลังแพ็กเกจเสียเงิน
- ถึงอย่างนั้น ความผูกพันที่มีต่อ Pipes ก็ยังคงอยู่ และ Sadri กล่าวว่าเขาคิดอยู่เหมือนกันว่าจะสร้างเวอร์ชันถัดไปอย่าง “Pipes 2” ด้วยโครงสร้างพื้นฐานในปัจจุบันได้หรือไม่
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ในฐานะพนักงานของ Retool ฉันได้ทำงานกับบทความนี้ และบทความชิ้นนี้เป็นตอนที่สองของซีรีส์ประจำที่พูดถึง สภาพแวดล้อมการเขียนโปรแกรมแบบใหม่ ที่ส่งอิทธิพลอย่างมากต่อนักพัฒนา
บทความแบบนี้เป็นงานที่ทำด้วยความรัก และเป็นเรื่องดีที่เราได้พูดคุยโดยตรงกับทีมต้นฉบับที่สร้างผลิตภัณฑ์ซึ่งมีอิทธิพลต่อพวกเรา
ส่วนที่น่าสนใจที่สุดของการสร้างผลิตภัณฑ์อย่าง Retool คือวิวัฒนาการของไอเดียในอดีต และในบทความวิชาการด้านคอมพิวเตอร์กับผลิตภัณฑ์เก่า ๆ มีไอเดียยอดเยี่ยมมากมายที่ล้ำยุคเกินไปหรือเลือนหายไปท่ามกลางการเปลี่ยนแปลงของอุตสาหกรรม
Pipes เป็นจุดอ้างอิงตอนที่เราสร้างผลิตภัณฑ์ใหม่ Retool Workflows และยังมีไอเดียด้านสภาพแวดล้อมการเขียนโปรแกรมอีกมากที่เราอยากนำเสนอ แต่ถ้าใครมีสภาพแวดล้อมที่ผูกพันเป็นพิเศษก็อยากให้ช่วยแนะนำมา
บทความเจาะลึกชิ้นแรกคือ Visual Basic: https://retool.com/visual-basic
Retool Workflows: https://retool.com/workflows
โดยรวมกระตุกมากและมีปัญหาแย่งการเลื่อนอย่างหนัก ส่วน Chromium ลื่นกว่ามากแต่ก็ยังมีปัญหาแย่งการเลื่อนอยู่ดี
ปกติอาจไม่ได้มองว่า Linux เป็นแพลตฟอร์มเป้าหมายสำคัญนัก แต่ถ้าเป็นคอนเทนต์เกี่ยวกับการเขียนโปรแกรม เรื่องอาจไม่เหมือนกัน
อยากแนะนำผู้อ่านคนอื่นให้ลองคลิกทุกอย่างบนเดสก์ท็อปในหน้าแรก
เทคนิค การรับรู้สถานะโปรเจกต์ ที่ผมชอบที่สุดในการทำงานคือ Pipes และจนถึงตอนนี้ก็ยังไม่เคยใช้วิธีไหนที่เร็วเท่าในตอนนั้น
ผมใช้ Yahoo Pipe รวมโปรเจกต์ Jira 10~15 ตัวกับสตรีมคอมมิต GitHub 30~50 สาย แล้วลบรายการซ้ำให้กลายเป็น RSS feed เดียว จากนั้นก็อ่านด้วย Google Reader
มันทำให้รู้ได้เร็วว่าใครเปลี่ยนอะไร เมื่อไร และที่ไหน และเพราะเป็น RSS มันยอดเยี่ยมมากเพราะไม่ต้องคุ้ยอีเมลหรือเปิดหลายหน้าการแจ้งเตือน
คิดถึง Yahoo Pipes กับ YQL มาก
ในปี 2009 ผมทำปลั๊กอินข้ามโดเมน XHR(AJAX) บน jQuery แบบพฤตินัย ทำให้ฝั่งไคลเอนต์ดึงเว็บเพจอะไรก็ได้และ query ได้ด้วย XPath ที่แปลงมาจาก CSS selector
ยุคนั้น YQL คืนค่า JSONP มาให้ เลยรู้สึกเหมือนทุกอย่างเป็นเวทมนตร์
แถมยังมีข้อดีตรงที่ UI ใช้ jQuery ด้วย
แม้จะถูกนำเสนอสำหรับ IoT แต่ยืดหยุ่นมากจนแทบทำอะไรก็ได้
https://nodered.org
ตอนนั้นผมทำแอปไคลเอนต์คล้าย Spotify ด้วย jQuery ล้วน ๆ และค้นหา/สตรีม MP3 จาก radioblogclub กับ VK.com พร้อมดึงเมทาดาทาและคำแนะนำที่คล้ายกันจาก last.fm
นี่คือ แอนิเมชันที่กระตุกที่สุด เท่าที่เคยเห็นมา ใช้บน Chrome ของ Android, Pixel 7 แทบไม่ได้เลย มีเวอร์ชันข้อความไหม?
แค่มีแท็บของหน้านี้แสดงอยู่ หน้าต่าง Chrome ทั้งหมดก็ใช้การไม่ได้
Chromium ดีกว่ามาก แต่ การแย่งการเลื่อน ก็ยังหนักอยู่ดี
ถ้ามันทำงานถูกต้อง แอนิเมชันก็น่าจะสวยทีเดียว แต่ก็น่าเสียดายที่ทุ่มงานไปมากขนาดนี้เพื่อไล่ผู้อ่านออกไป
อยากแนะนำ Pipedream ซึ่งเป็นเครื่องมืออัตโนมัติงานเวิร์กโฟลว์ยุคใหม่ที่ชื่อคล้ายกันและผมชอบมาก: https://pipedream.com/
ถ้ากำลังมองหาระบบอัตโนมัติสไตล์ Yahoo Pipes ก็ควรลองมาก
ไม่มีส่วนเกี่ยวข้องอะไร แค่เป็นผู้ใช้ที่พอใจ
ถ้าอยากดูว่าหมายถึงอะไร ให้ค้นหา todsacerdoti ที่ https://gerikson.com/hnlo/
จากปริมาณ HN karma ที่สะสมไว้ ดูเหมือนว่าจะได้ผลดีพอสมควร
เพื่อความโปร่งใส ผมคือผู้ก่อตั้ง
เครื่องยนต์สคริปต์คลาวด์โอเพนซอร์ส Flowpipe ที่เพิ่งเปิดตัวสัปดาห์นี้ก็น่าจะน่าสนใจ
คุณสามารถสร้าง pipeline ด้วย HCL เพื่อเชื่อม HTTP query, รันคอนเทนเนอร์, รันฟังก์ชันที่เข้ากันได้กับ Lambda, query ฐานข้อมูล และอีกหลายอย่างได้บนเครื่องตัวเองผ่าน CLI
มันยังทำงานร่วมกับ Steampipe ซึ่งเป็นโปรเจกต์โอเพนซอร์สสำหรับ query ทรัพยากรคลาวด์ด้วย SQL ได้ และมีปลั๊กอินมากกว่า 139 ตัว
พวกเราโฟกัสฝั่ง DevOps มากกว่า แต่ Yahoo Pipes ก็เป็นแรงบันดาลใจให้เราเรียกสิ่งเหล่านี้ว่า “pipes” เช่นกัน
https://github.com/turbot/flowpipe
https://github.com/turbot/steampipe
select * from cloudเป็นคำสรุปที่ดี และผมจะลองดู Flowpipe ด้วยตอนเรียนมหาวิทยาลัย ผมใช้ Pipes เพื่อตัดสินลำดับการเลือกห้องพักในหอแบบสุ่ม
ผมดึงพาดหัวข่าวหลักจากเว็บไซต์ NY Times มาแฮช แล้วใช้มันกำหนดตัวเลข 1~6 แบบ deterministic
มันเป็นวิธีที่ดีที่สุดในการทำให้ทุกคนเชื่อว่ามันยุติธรรม โดยทำจากระยะไกลในช่วงหน้าร้อนโดยไม่ต้องรันโค้ดด้วยตัวเอง และทั้งมีประโยชน์ทั้งสนุก
Pipes ยอดเยี่ยมจริง ๆ
มันเข้ากันได้ดีกับยุคทองของ Web 2.0 ที่ยังพอมีความสามารถในการทำงานร่วมกันแบบเปิดและหลวม ๆ หลงเหลืออยู่ ด้วยเทคโนโลยีอย่าง RSS ที่ถูกใช้อย่างแพร่หลาย
มันมีประสิทธิภาพมากในการนำของง่าย ๆ มาประกอบกันจนได้สิ่งที่เรียบง่ายแต่มีประโยชน์
แต่ก็อดคิดไม่ได้ว่าดีไซน์และปริมาณงานมหาศาลของบทความเจาะลึกชิ้นนี้คืออะไรกันแน่ Retool ทุ่มเทอย่างมากจริง ๆ จนสงสัยว่าทำไมไม่ทำแบบนี้ให้เร็วกว่านี้
น่าสนใจว่าบทความแบบนี้ถูกทำขึ้นมาอย่างไร
เห็นได้ชัดว่าใส่ใจมาก และก็คงใช้เวลาพอสมควรในการขัดเกลาจนเป็นผลลัพธ์สุดท้าย เพราะคอนเทนต์คุณภาพสูงและการเกลานั้นหมายถึงต้นทุนที่สูง
ถึงอย่างนั้นก็ยังไม่ค่อยแน่ใจว่าเป้าหมายคืออะไร มันไม่ได้ดูเหมือนบทความการตลาด แต่สารที่ซ่อนอยู่ระหว่างบรรทัดอ่านได้ชัดว่าเป็นแนว ถ้าคุณชอบ Pipes คุณก็น่าจะชอบ Retool
คุณภาพการผลิตสูงมาก และ URL ก็เป็นแค่
retool.com/pipesเลยดูไม่เหมือนโพสต์บล็อกธรรมดาผมใช้เวลาพักหนึ่งกว่าจะตระหนักว่า AWS Step Functions คล้ายกับ Yahoo Pipes
มันไม่ได้เรียบง่ายเท่าและไม่ได้มีองค์ประกอบที่คลิกได้มากขนาดนั้น แต่ก็แปลกดีที่ผมเพิ่งมานึกออกเอาป่านนี้
คนที่มองลึกกว่านี้น่าจะช่วยชี้ได้ว่าผมเข้าใจผิดตรงไหน