Monday, September 29, 2008

On New SpringSource Enterprise Maintenance Policy

Recently there has been a lot of buzz about new SpringSource enterprise maintenance policy.

The pivot of controversy is the following paragraph of the policy:
After a new major version of Spring is released, community maintenance updates will be issued for three months to address initial stability issues. Subsequent maintenance releases will be available to SpringSource Enterprise customers. Bug fixes will be folded into the open source development trunk and will be made available in the next major community release of the software.
The move will almost definitely cause profound repercussions in the Spring ecosystem. I primarily expect two major effects: the rise of in-house Spring distributions based on the development trunk in larger IT shops and springing into existence (a pun intended) of independent community-based distributions of Spring framework a la CentOS vs RedHat Linux.

Wednesday, September 24, 2008

Java API for RESTful Web Services Passes Final Approval Ballot

JSR-311 JAX-RS: The Java API for RESTful Web Services reached the "Final Ballot Approved" state. One should expect the reference implementation to formally become version 1.0 soon.

Historically Java Web Services landscape was dominated by bloated SOAP Web Services. Consuming and exposing RESTful Web services, a de-facto Web 2.0 standard, required custom solutions.

The main value of the JSR-311 standardization effort is not in its technological aspect though. It's in proclaiming RESTful services an equal rights citizen in Java Web Services land.

Thursday, September 18, 2008

Web 2.0 Password Managers

I've been using KeePass for quite a while for managing my passwords. Although it's a highly functional desktop application, it has several inherent drawbacks. Namely, it requires synchronization among various computers/media, lacks easy but maintainable sharing capabilities, has abridged functionality on Mac, and is a pain to setup on Linux.

After quite a bit of googling around I found two very interesting Web 2.0 alternatives: MashedLife and Passpack. Both are online password managers offering 1-click bookmarklet-based login.

A compelling feature of MashedLife is login sharing. That is if I setup a login entry as shared my wife will be able to use it right away. Neat. On the other hand, the service lacks such a basic feature as copying a password off of a login entry so it's not directly usable for system or database accounts.

Passpack is currently missing the sharing feature (it's in the works according to this blog entry). On the bright side, the password copy feature is there to use. Another noteworthy twist is that Passpack uses client-side encryption.

I'm going to give both services a try.

Passpack and MashedLife Usability

As promised in my previous post, I gave a spin to both online password manager services in the subject to see how convenient they are in the course of a routine use.

Passpack's emphasis on all-things security has some usability ramifications. Namely, the application gets locked every n minutes, the max value of n being 60, after which your packing key needs to be provided to unlock it. For my usage scenarios it means that pretty much every time I go to a site behind a login I have to unlock passpack first. Another nuisance is that I can't close the passpack tab in my browser as it automatically disables 1-click login functionality. I guess it's great for Internet cafe use but it's a minor hassle for the case of browsing from a secure workstation.

MashedLife feels very usable despite somewhat crude user interface. You login to it, close the tab, and move on with life. When you need to log in to a site, click on the MashedLife bookmarklet and you are done. Neat.

MashedLife guys seem to rush the product out the door as soon as possible, which is understandable. The downside is there are rough edges in the GUI. While I can live with almost all of them, I can't fathom why password change screen doesn't contain repeat password field.

For the time being, I'm staying with MashedLife and will keep an eye on Passpack.

Wednesday, September 17, 2008

PowerPoint Slide Sharing

Feel in need to share a PowerPoint presentation with your family?

Alright, maybe you are in marketing and want to share your latest creation with everybody on earth.

I've found three services to do the trick: slideshare, authorSTREAM, and slideboom.

Slideshare is by far the most popular service with more than 450,000 unique visitors as of August '08 according to compete.

Both AuthorSTREAM and SlideBoom aim at providing richer functionality such as live presentations via the support for PowerPoint audio narrations.

I've uploaded the same presentation to all the three services to give them a try (I had to convert the file to PDF format before uploading to SlideShare as it currently doesn't support pptx).

Upload to SlideBoom was the fastest (I presume that's because their servers have some spare capacity as the traffic to the site is supposedly light) and SlideShare provided the best quality (I would guess the pre-conversion to PDF played a role here).

Although I'm missing keyboard navigation, I see no reason why I wouldn't use all the three services at the same time.

Saturday, September 13, 2008

Popularity of Programming Languages

I've just finished reading Hackers and Painters by Paul Graham. A thought-provoking book. I recommend it to anyone who is interested in the Web 2.0 thing.

So, the best programming language (according to the book) is Lisp. Off I went to TIOBE Programming Community Index to see where exactly it stands in the popularity rating. 16th place with the share of 0.419%.

Next I gazed at the graph of the top ten looking for a trend. I noticed there were 5 distinct clusters of languages before 2002 and there are 4 now. C++ and Perl dropped in popularity and joined the packs that used to be below them. PHP caught up with the pack that used to be way ahead of it.

Minding Java's steady slip in popularity (hey, it's still #1 by a large margin), should we all jump the ship and join the PHP crowd?

I still place my bets on Groovy. Currently it's #39 with the share of 0.115%.

Friday, September 12, 2008

SpringSource Application Platform Renamed to SpringSource dm Server

According to Rob Harrop of SpringSource, their Application Platform product was renamed to dm Server (dm is lower case for some reason). The product reached 1.0 RC2 milestone.

I gave it a spin and noticed a few differences as compared to the previous release, on which I commented earlier.

The good thing is that now you can mix and match your deployment methods. That is you can hot-deploy your war by dropping it to pickup directory and then undeploy it from the admin console.

The not so good thing is that error reporting is lacking. I've deployed a war successfully, judging by the console output. Then I tried to access the app and got the 404 error. At this point I would expect to find some sort of clue in the logs under serviceability directory. Somehow everything looked clean there. My guess would be that I have to do some sort of logging configuration to rectify the situation.

Anyway, the guys seem to be on time with their journey to the application server land. Can someone remind me why we need an app server?

Thursday, September 11, 2008

ZK, the RIA Framework

I've been watching the developments in the Rich Internet Applications arena for the past few years. Nevertheless I have to admit that ZK somehow managed to evade my attention.

Alright. They are at version 3.5 now.

From what I gathered from reading the materials on the dedicated website as well as the Wikipedia entry, the framework is positioned as a competitor to Adobe Flex and OpenLaszlo on one hand, and to GWT on the other.

Similar to Flex and OpenLaszlo, ZK leverages a proprietary markup language, ZUML in this case, to facilitate the creation of rich user interfaces. Similar to GWT, ZK is built upon Java-based Swing-like development paradigm.

The adoption section doesn't look particularly impressive. On the bright side, we don't know what's going on in the behind-the-firewall world a.k.a. enterprise applications.

Of particular interest to me was dynamic language support, Groovy specifically.

ZK seems to be a good choice for rapid RIA development, small isolated utility applications being perfect candidates to test drive the framework. I'll definitely give it a try when I have a chance.

Spring 3.0 Features and Schedule

last paragraph seems the most interesting to me:
Ellis: Our target for [Spring 3.0] GA is early next calendar year. The key features include REST and Spring Expression Language support. We’ll have early milestone releases on the open source project side in the October-November timeframe.
Spring Expression Language?

Wednesday, September 10, 2008

280Slides PowerPoint Import/Export: Great Idea, Lacking Implementation

I've just given a try to 280Slides.

First I tried to import a 2-page presentation in the old ppt format. The presentation was based on a template that I typically use. To my surprise the application couldn't even complete the import operation for some reason.

Then I tried a pptx presentation I got from the Internet. 280Slides was able to import the file but the result looked funny in places. A few diagrams were screwed up, yellow highlights were out of place, and overall formatting was noticeably different (worse).

Lastly I saved (downloaded) the imported presentation in ppt format. The overall formatting changed a bit once again. Parts of a culprit diagram magically developed.

As to the usability of the online product itself, a good report can be found here.

280Slides is one of the most promising Web 2.0 applications. I wish well the guys who made it a reality and hope they'll address the shortcomings soon.

Wednesday, September 3, 2008

Google Chrome: The Platform for Running Web Applications

Yesterday Google Chrome browser beta was made available for public download.

While the product has been officially marketed as a general purpose browser, I perceive it as an addition to my toolbox rather than a replacement of a particular instrument.

Chrome is designed to run web applications. Many of them at the same time in a very efficient manner. That's why every tab runs in its own process. That's why there exists the task manager tool. That's why the Gears-backed offline mode is there.

On the other hand, generic web browsing revolves around bookmarks and add-ons. That's what Chrome doesn't have good support for. And I think it shouldn't as it's purpose is different.

Stick to your favorite browser for your generic browsing activities, use Chrome to run your web applications.