Sun Software Library build #67 deployed - subscribing to a tag
On Monday March 2nd, 2009, we deployed build #67 of the Sun Software Library. No gimmicks required this time around to put together this blog entry. ;-)
This is the first of a series of releases that will significantly enhance the way we use tags to browse the data in the Sun Software Library. In this release, we have introduced the concept of "subscribing to a tag", which is an extremely powerful feature (see details below). In the upcoming releases, we are going to introduce multiple tag clouds (we currently only have one tag cloud, which is the "most used tags" tag cloud).
Here are the new features in this release:
- Subscribing to a tag via syndication: by far the most complex of the features we have exposed in this release, we now enable our users to subscribe - via their favorite subscription / syndication reader - to a "tag". In a previous release, we have allowed our users to subscribe to a particular entity in the database and receive updates whenever that entity is changed. This is a useful mechanism to keep informed about a particular publisher, or a particular publisher. The typical use case is that our users subscribed to feeds for all the items that they found interesting. While straight forward, this is hard to administer.
Based on feedback, we came up with the idea of subscribing to a tag - which means that whenever that tag is applied to a new entity, or one of the existing entities tagged with that tag are updated, the user receives a syndication notification. To use this feature, first click on a tag in the tag cloud:
Then pull down the "subscribe" menu in the search results:
Then select the subscription reader that you want to use:
This is really powerful. For an example of what the Open Source tag feed looks like, click here. This is a list of all the entities tagged with Open Source that have been modified in the recent past.
A suggestion on how to use this: create a tag that is your specific to you, and tag all the items in the library that you are interested in (e.g. perhaps a list of software that you have installed in your environment). Then subscribe to that tag. Voila, you'll be notified whenever one of those items are updated in the library. Currently, all tags in the Sun Software Library are public, a future release will introduce personal tags, making this feature even more useful. - Sharing search results: Similar to how you can share a particular detail page, you can now share arbitrary search results, e.g. either a keyword search or a tag search.

- Login API changes: As we mentioned in this blog entry, we have changed our Login API a bit. The login API call accepts two parameters, username and password. Previously, these two parameter names were usrname and usrpassword. I'm not sure why we ever chose those two, we figured this is as good a time as any to simplify our API. We will continue to support both parameter sets for the near future, until we are sure that all of our API users have transitioned to the new ones.
- Web UI Performance improvements: Similar to Elwood Blue's mission in one of my favorite movies, we are on a never-ending mission to improve the performace of our Web UI, though our mission is not divinely inspired. Our yslow score continues to improve. In a future blog entry, we will detail exactly what we did to get such performance improvements.
- Safari v4 support: Apple released Safari v4 last week. Since Ashok C fully automated our Web UI testing using Selenium, we were able to validate that our Web UI works on the latest safari within a half an hour after we installed it - and it was all done during some meeting that we were half paying attention to. Traditional web application development teams typically take weeks to validate a new browser release, given all the manual testing that is typically performed. That gave us a lot more time to waste, er..., play with all the features in the new browser. ;-)
- MySQL Enterprise Monitor 2.0: Recently, Sun released a new version of the MySQL Enterprise Monitor. We've been using the MySQL database, and MySQL enterprise monitor, since day one at the Sun Software Library (in fact, the Sun Software Library became a MySQL customer just a few days before the acquisition - that is a funny story for another day, one that my VP is unlikely to let me forget). We are quite happy with it, knowing that we have a professional database monitoring and diagnostic tool in place. This is a real live snapshot of our monitoring instance in our idle staging environment. The alerts are stale (they came up during our testing cycle). If you are using MySQL - this is a great tool to have.

- Tag data cleanup: There were a lot of redundant tags in our database, artifacts of the initial data transfer from the other databases. Sree A - our newest engineer and a recent University graduate - built an SDK and a set of utilities to help us manage our redundant tags. Thanks, Sree! We will be releasing the SDK shortly for those who want to use Java to interface with our API's.
And that's all for this particular iteration, folks! Next application deploy will be in two weeks (assuming the additions we've made in the last two weeks pass our QA tests). Comments and feedback always welcome.
