Here at MuleSoft, every few months we take a couple days off and hold a company Hackathon. Usually these are individual efforts to build something unique and interesting using the technology and products that we create at MuleSoft.
To kick off the new year, we decided to sponsor a team event and see if we could get some creative new ideas that might be more then a single person could implement in a day. The goal was to develop an iApp that demonstrated the power of the Mule iON platform. iApps are integration solutions developed on iON that solve a common problem and can be provisioned for use by different customers. The results were pretty inspiring making it difficult for those of us on the judging panel to choose a single winner.
In total 7 new iApps were developed along with 5 brand new cloud connectors, including connectors for Github, GTalk and GetSatisfaction as well as more traditional connectors for things like SSH. In addition, several of our popular connectors were used to connect to SalesForce, Jira, Twilio SMS, Amazon RDS, Email, and Twitter.
Since this was a team contest, each team had a name. Below are their entries:
Keeping on top of and managing your remote server instances in a cloud can be complicated. Sometimes you need access to a server to make a quick update or check logs but don’t have direct SSH access to that server. This iApp allows you to interface with your servers over Gtalk. Just register your server and open a chat window with it and you can send administrative commands to retrieve log data, change server settings, or restart services, all from a mobile or desktop chat window. Mule iON acts as the gateway that facilitates the communication between your chat session and the remote server SSH session.
At MuleSoft we are in the process of migrating our community forums to a new platform called GetSatisfaction. Despite all the great capabilities it offers, one thing that was missing was active email integration. Many of our developers as well as community members follow and respond to our forums through email, like traditional mailing lists. We couldn’t sacrifice this capability, so one team decided to build a solution that authenticates email using our LDAP server and synchronizes it with the topics hosted on GetSatisfaction. Using this solution, users can still participate in discussions over email while allowing us to leverage all the great features of a next generation community platform like GetSatisfaction. The solution works for other applications too where you need to enable active email collaboration with a web-based application.
Many of our new development projects like Cloud Connectors are hosted on Github, allowing easy community collaboration and forking of the source. Github has it’s own simple issue tracking system built into each project, but we also have a very robust Atlassian Jira system at MuleSoft. With this iApp, any Github project can be bi-directionally synchronized with Jira. New issues flow between systems, comments are propagated, and state changes recorded.
Sometimes you need to know right away over multiple channels if you or someone else has broken a build. This iApp monitors your Build notifications (in this case over Atlassian Bamboo’s RSS feed) and can send notification out over multiple channels, including SMS via Twilio, that a build has failed.
Geolocation of SalesForce Support Cases
MuleSoft has customers all over the world. Our support team decided it would be useful to visually map where we have customer cases. Using the SalesForce connector and some data transformation capabilities of Mule, they were easily able to lookup customers, retrieve their coordinates from Google’s geolocation API and generate the KML data to populate Google Maps or Google Earth.
SalesForce Sandbox Initiator
A common problem Salesforce developers face is populating a new development sandbox with production data so they can work on their applications. Mule iON’s Salesforce connector makes creating a simple iApp to do this easy. Now users can select which objects and data to pull into their sandbox and have it automatically populated and ready for development.
One of the most popular iPhone and Android apps out there for the fitness conscious smartphone user is RunKeeper. Well, Albin, the developer on this iApp, doesn’t like to run but he does like to drink a few beers, so he figured why not apply the same concept to keeping track of his beers. Beerkeeper does just that and more. Using Mule iON to host a set of Restful back end integration services, it integrates with social messaging via Twitter, email, and Twilio/SMS. Let your friends follow how many beers you have had and comment on your state, then when you’ve had too many, the app will automatically email your manager, canceling your meetings in the morning with an excuse and even text your wife to come pick you up and drive you home!
And the winner is…
With so many good iApps created, it was a hard choice. However, after studying the criteria and thinking about which one represented the true spirit of a exemplary iApp with some complexity and effort involved, the winner was, the Github-Jira Synchronization iApp. The trophy above is currently getting engraved with the winners’ names and will be shipped to their office so they can display it proudly in front of the other participants – at least until the next hackathon.
Added benefit of this effort was that all the iApps weere developed with the latest edition of Mule Studio. Mule Studio has come a long way in the past few months, so if you haven’t tried it out, download it and give it a spin.
We are working on making most of the iApps developed as part of the hackathon officially available on Mule iON in the coming months. If there is one in particular you would like to see, please let us know by commenting below.
Looking forward to the next hackathon!