Announcing LiveWhale Push
June 15, 2011
By David McKelvey
Today we are releasing version 0.0.1 of LiveWhale Push as open source software. LiveWhale Push is basically push notifications for select content updates that occur in LiveWhale. You geeks may want to get the software and read the docs at Github, but for everyone else, below is the short version of why this is significant for Lewis & Clark.
1) We are supporting ongoing LiveWhale development.
As a beta location for LiveWhale, we obtained our LiveWhale software license for free. (Commercial web content management systems like LiveWhale often cost between $50k and $100k.) And in return, even two years out now, we still funnel back to the software maker WhiteWhale and their lead developers Alex and Fred many of our users’ thoughts and expectations as they interact with LiveWhale.
However, there isn’t any shared code space for LiveWhale. There’s no place to go to find code other LiveWhalers might have written, to solve perhaps a similar issue we face here at Lewis & Clark. With the release of this code, we are taking the next natural step towards creating that shared environment where LiveWhale developers can share code with each other to collectively improve all our ecosystems.
As we hope to see the first LiveWhale Developers conference here in Portland in the fall (and will help host it if we can), we wanted to have this out there already, so that people can use it, give us feedback and create enthusiasm for the event.
2) We are giving back to the open source movement.
Many of you may not realize what an impact the open source software movement has had on your life. Facebook, Twitter, and all those other services that you know and love are built on open source software and it is part of the reason they were able to begin with an idea and grow it so cheaply without charging you, or charging you much.
At Lewis & Clark, while LiveWhale is not open source, it is about the only thing we have and run that isn’t. Our database software, the web server software, the search engine software and all the underlying operating system software is all open source and didn’t cost us a dime. By releasing LiveWhale Push as open source, we have an opportunity to give back to the community that has already given us so much.
3) We are creating an essential building block for our LiveWhale projects.
All the goodness aside, I wrote this LiveWhale module to solve a problem. We have digital displays coming to our campus this summer. We have a new Source out there in our future. Both require real-time data. If you add, change or update content in LiveWhale, it needs to go out to these two applications immediately.
Typically, to solve this problem the applications repeatedly poll LiveWhale to ask a single question over and over again: “Do you have anything new for me?” The answer probably 95% of the time will be “no.” But in order to have that near-real-time feel, we need to have this question answered every five seconds or so 24/7/365.
As you might have guessed, this is very inefficient. But what’s more is that as you add more apps atop these two (we are becoming more real-time not less), these little questions do increasingly become a drain on the system, but what can you do?
In my personal work on an Instagram API library for node.js, I came across the method (a protocol in geek parlance) that Instagram had used for their real-time API and realized that I could create a similar resource for LiveWhale. And that’s what I did.
Essentially, LiveWhale Push follows a subscription model. Web applications and services (like the digital displays) subscribe to content that meet certain criteria. When someone creates, edits or deletes content matching that criteria, LiveWhale sends a little notification to subscribing applications to which they can then use or react as per their design. No more repeated questions. No drain on the system for scale. And, everything is real-time.
Interested in working on projects like this? We have a position open too.