The Forgotten Yahoo Project That Inspired Two Recently Funded Startups
nickoneill.com
nickoneill.com
Christian Heilman was the evangelist behind YQL and it gained a lot of traction with him travelling all around to spread word - http://www.yuiblog.com/blog/2010/02/11/video-heilmann-yql/ . But YQL met with a quick death once Christian left Yahoo for Mozilla. Christian was also in the process of writing a book on YQL - http://icant.co.uk/whyyql/
The only major downside to YQL is that most robots.txt block the Yahoo Slurp & Pipes engine; the user agent that powers YQL. E.g. http://stackoverflow.com/robots.txt
YQL has a lot of hidden treasures. Matter of digging the community scripts to understand.
I continued to use YQL at hackathons in Zynga and stopped it when the primary author Nagesh Susarla left Yahoo - http://nagiworld.net/
Recently a Yahoo engineer told me that YQL is now used internally to power all services at Yahoo. So I am pretty sure it going very strong.
Work on that has resumed and "YQL: The Definitive Guide" is due out next year.
> So I am pretty sure it going very strong.
Very much so. 100+ billion queries per month.
The result was this: http://pipes.yahoo.com/pipes/pipe.info?_id=5ead4957874f5a670...
Which is simply the fail blog feed filtered down to only posts containing "Hacked IRL" in the subject. I have the RSS of that subscribed.
Like I said, frivolous. But it only took a few minutes to put together even having never used pipes before.
BTW, both Pipes and YQL are powered by the same engine and serve billions of requests per day (for both O&O and 3rd parties).
A simple protocol based on HTTP, JSON, and WebHooks could be pretty slick.
Perhaps though XMPP is just too much of a quagmire.
Before I link to it, I'd like to apologize for overly generic descriptions currently on the site. I whipped together the entire site in a few days not knowing the exact direction I wanted to take the software, so I left everything pretty vague; I really just wanted some content that at least somewhat described my ideas. I'll put the link at the bottom of this comment so you read all this first.
From a technical standpoint, this is currently where I'm at with it:
- Users create a myriad of widgets that can "interact" with each other; the fullscreen version of Loggur consists of "layouts" of widgets, while the mobile version of Loggur lets you access widgets individually in typical mobile app fashion
- Databases are incredibly easy to create; just add fields to a widget and specify their relationships to one another
- All kinds of special extensions included by default, like automatic importing of various data sources, scraping of websites, cron jobs, PDF report generation, emails, sms notifications, triggers, and graphing
- Everything is taggable for reuse, from the apps themselves to widgets to components to elements to lists and to the data associated with all of the above; you can either "mirror" or "clone" any one of these parts in another app/widget/component by doing a quick search for tags (or if you know the exact path to the part, just enter that); so for example, if you really liked what someone else has made and wanted to reuse parts of it in your own app, you'd do a quick search for it, clone it, and modify it to suit your needs, saving a lot of time
- Data associated with apps can be any combination of public/private, singular (your individual profile), and/or group-specific; you can quickly/immediately switch between views of each
- Permissions on everything; specify who can view and/or edit apps, widgets, components, elements, lists, and/or data
- Appearances are somewhat customizeable and will become much more so at some point; customization currently consists of the basics like colors, backgrounds, and sizes; apps are designed to be scalable to any screen resolution (think large dashboards ;)
- Each one of the pieces outlined above (widgets, components, etc.) can be embedded on your own site(s) through small snippets of code
- Data associated with apps is easily accessible, currently only available in JSON but if for some reason other formats are requested in high numbers, I might do that
- Users can toggle the ability to view app/data updates as they happen in realtime; they can also invite each other (or a Loggur dev if they need help) to take turns using/building an app
- Regarding the mention above about rewriting the project to be more modular/flexible for developers, I felt doing this was 100% necessary/worth it because it occurred to me a few months ago that the best approach to make this succeed in the long term is to make this a legitimate platform (buzzword, sorry!) where developers can quickly/easily make and share awesome extensions and be rewarded (paid) for their work
Check it out (sign up for it ;) here and remember to ignore the bad, vague descriptions currently on the site: http://loggur.com
Sadly, the project seems dormant. Could be an interesting starting point anyway.
I published more information on:
- Ideas: Egont, A Web Orchestration Language: http://blog.databigbang.com/ideas-egont-a-web-orchestration-...
- Egont Part II: http://blog.databigbang.com/egont-part-ii/
In practice, few people needed such complex querying and chaining. I think IFTT has a better metaphor ("if this, then that") which is much simpler but covers 80% of useful things.
I recall mashing up RSS feeds and using it to bypass various platform throttles.
It was awesome for fixing wonky feeds.
Love the UNIX metaphore and interface.
Pipes was the only Yahoo! product that really sang to me.
I think I've been relying on IFTTT too much lately. I may have to revisit Pipes.
Absolutely.
OSCMS 2007 was hosted at Yahoo!, and it was one of the first developer conferences I made it to after moving to the Bay area. My takeaway from the session on Pipes was that it was a bit ... advanced (at least it was for me at that time). Pipes was not necessarily "forgettable", but it wasn't quite to the place it would induce radical inspiration. The inspiration kinda got lost in the bog of over-engineered complex details.
This seems to be a common trend among Yahoo's many assets: build almost-prototypes of platforms that absolutely ooze potential energy. But then waste that energy by stretching it in too many directions at once, not getting very far.
Visual programming is a guarantee of failure, unless your target users are electrical engineers. Fact.
Instead of a graphical 'pipe building' interface, the way we did mashups was to have embedded scripts in the XML that ran in a server-side JavaScript environment (SpiderMonkey) extended with custom syntax and language extensions we called GrazrScript (and namespaced in the file as <grazr:script> tags). You could do some pretty amazing stuff with it by writing small amounts of server-side javascript. We had an interface for http querying, accessing and manipulating normalized feed representations.
You could have these files call other grazrscript files and create 'pipes' of functions (more directly like unix pipes).
I like to tell people we were doing embedded, server-side, javascript years before it was cool. :)
My identity isn't "free" and managing yet another account comes with a burden (another password to remember or store somewhere, another security risk).
Whoever thought that creating pipes (i.e. experimenting) without logging in was somehow detrimental to Yahoo's business interests(?), had things backwards.
i live in constant worry that yahoo will shut it down. glad to see it's getting some attention, and getting some clones, too.
I remember giving up on YPipes back then because it was always down (or denied access). Did more with Dapper and OK
Did I forgot something/somebody?
Just to be complete, GUI as a JS lib: - http://jsplumb.org/jquery/demo.html - http://neyric.github.com/wireit
And additionally two commercial hosted projects: - http://www.wewiredweb.com (based on http://www.mashablelogic.com) - http://tarpipe.com/
Popfly was a more consumer centric mash up tool built by a little skunk works team inside of Microsoft's Developer Division.
Lemme guess, you worked on it?
I think startups are, in a way, almost required to unlock the full potential of novel tech ideas. A startup can apply an awesome idea to a niche, gain traction, and expand whereas the defacto launch of a tech product at BigCo X or Y applies the tech across a broad segment of their user base. Broad launches are a good way to make your product generally available, but a bad way to ensure it truly solves some core need your customers have.
http://api500.tumblr.com/post/28165124923/your-mashup-is-so-...
Zapier solves this by pre-configuring tasks that most people want. Also better times for it, with so many web-apps and web APIs around now.
It does seem to be under active development, and I hope it lives.
EDIT: here's an example Pipe that fetches a web page (Pinterest) and turns it into XPath, and then uses XPath queries to construct an RSS feed. Interesting stuff you can do!