Prabhakar Chaganti is the founder and CTO of the Atlanta based start-up Ylastic.
He is a tech entrepreneur with a wide variety of interests, especially projects involving Ruby and Erlang. He won the community choice award in the 2006 VMware Global Ultimate Virtual Appliance Challenge.
Prabhakar is the author of two recent books — GWT Java AJAX Programming and Xen Virtualization, and he is currently authoring an introductory series of articles on Cloud Computing with AWS for IBM Developerworks.
1. What is Ylastic, and what interested you in creating a unified interface into Amazon’s cloud computing services?
Ylastic is a single unified user interface to the the AWS cloud computing environment — S3, EC2, SQS and SimpleDB. We were initially working on a video creation startup and trying to use AWS as our platform and used a bunch of free tools and home brewed scripts to manage the environment. It quickly became a mess as we were spending way too much time trying to see where we were each day. We needed to track our instances, manage videos being uploaded to buckets, view the messages in queues for debugging and use SDB for metadata. We also needed a way to monitor the AWS status dashboard so we could be proactive if one of the services was having any issues, and also to track what each one of was doing so we didn’t step on each other’s toes. The existing tools were able to give us some of this info, but there was no simple way to do this without tying ourselves into knots and wasting valuable time with these issues which could be put to better use working on our own app. That’s when a light bulb went off in our heads that maybe we were building the wrong product. We decided to scratch our own itch and build something that would be useful for managing an user’s interactions with AWS.
2. You’ve made extensive use of YUI throughout the Ylastic user interface. Tell us a little bit about your design goals for the UI and how you took advantage of YUI to achieve those goals.
Our main design goals for the UI were:
You can see the Ylastic in action using YUI on our screencasts.
3. What implementation piece with YUI are you most proud of from a code/engineering perspective?
Ylastic provides a dashboard which is the first page that our users see when they login. This page displays the current state of your entire AWS environment along with the service health status. There are four custom panels, one each for EC2, S3, SQS and SimpleDB displaying the relevant info for each service, and a datatable that displays the current service health, as you can see in the screenshot below. There is a lot of stuff going on in the background of this page including multiple datasources for retrieving the information asynchronously, a loading modal dialog, a monitor that knows when all the info has been retrieved, animation to fade in the panels as data arrives, and dom manipulation. Last but not the least, the page layout had to work correctly in both Safari and FF. YUI provided all the right tools and we were able to tie everything together and get it all to work.
4. What lessons did you learn about working with YUI on a challenging project that might be of interest/use to other YUI developers?
5. As YUI veterans at this point, what advice or wish list do you have for the YUI development team?
The YUI team has done a great job of listening to the users and constantly improving the various components.
We would like to see more complex samples/examples for the various components. It would also be nice to have a cookbook for YUI, which shows off code snippets for common functionality.
In case of the datatable, this would provide a single place where you can quickly determine how to update a cell, delete a row, and so on. This will really help both new users and experienced users by providing all the important information in one place, may be even a wiki? The forums are a good resource but the volume of questions and usage is beginning to make it a little difficult to sort and search for things.
6. What’s next for the Ylastic frontend’s evolution?
We are already working on supporting the iPhone for Ylastic and just posted a sneak preview on our blog. We intend to work on supporting other moble platforms next, and we are planning on experimenting with the YUI for this. We are currently running on YUI 2.5.2, and intend to move over to the 3.x when it is released.