Archive for the ‘RIA’ Category

Back to SVG and a cup of Java ME

Over the past two weeks I’ve been plowing through tons of SVG code, rereading the good old SVG Essentials reference book and checking out Painting the Web, a more recent title on modern web design and graphics, in preparation for some potential mobile app work with SVG, Java ME, and hopefully some Flex here and there.

Turns out SVG Tiny is the only standard that is supported by most mobile phones to do any decent UI design work for mobile devices. By now all major browsers including WebKit and the clones with their mobile versions support SVG, which is a good choice for mobile devices due to the varying screen sizes, limited bandwidth and memory.

So, I’ve decided to get back to SVG and a cup of Java ME, even though I am still planning to do some Flex dev work.

To refresh my memory on how things work in SVG and speed up UI design I’ll be using Flex with some open source SVG frameworks for prototyping since I am very comfortable in this development environment. Besides, Java ME graphics api is not much different from the core Flash graphics api and should be easy to port to.

After a brief time of setting up my new mobile Java dev. environment, checking out all the emulators, and getting some code moving things, I can tell that I have not missed much in 5 years as far as Java and SVG goes.

A few years ago, I’ve built a full-blown data visualization library in SVG for a corporate portal dashboard solution. This was done back in the days when not many folks knew about SVG, Adobe just released and still supported their IE SVG Viewer browser plugin, and Java portals, XML and XSL were the hottest technologies to use for web apps.

Many things have changed in web application development over the years. Open-source software, virtualization, cloud computing, mobile web, REST, and component-based frameworks are the new norm now.

It’s good to finally see SVG gaining momentum and becoming a standard that is supported and used in web applications and on mobile devices. I think slowly but surely SVG will replace raster images for most web graphics and mobile app UI design needs, as well as enable true scalable GeoWeb that’s beyond raster image tiles backbone.

Expect more posts on Flex, SVG, GeoWeb and mobile Java from now on.

In the meantime, here is a quick Degrafa Tetris game (with source) I hacked last weekend for fun. I came across Mozilla SVG Tetris and just could not resist the temptation.  Tetris running in MS-DOS on UKNC was the first computer game I’ve played back in 1988. And yes, I know Turbo Pascal too, in case you wonder. It was the first programming language most Soviet Computer Science students mastered back then.

Look where we are now.

Treemap History

treemapsBen Shneiderman’s Treemaps for space-constrained visualization of hierarchies is probably the most comprehensive catalog of treemap usage in desktop applications and on the web, with some historical notes how the notion of treemap came about and evolved over the years.

Circular treemaps are my favorite. I think they are perfect for visualizing people from your social web circle.

Would not it be much easier to explore your LinkedIn connections and their connections with this treemap, rather than sift through paginated lists?

I expect an increased usage of treemap visualizations in the coming years as we pile up more data, form connections, use online services for sharing, and service providers open up their apis for developers to foster social web innovation beyond the basic tagging features, paginated lists, image galleries and strips.

2008 Campaign Finances Remix — Mashup of the Day!

My NY Times 2008 Campaign Finances Remix was selected the Mashup of the Day yesterday on

I created a shell for this application on election day and added quite a few features to make it more appealing and interactive since then.

Read the rest of this entry »

2008 Presidential Candidates Campaign Finances

Looks like I have discovered NY Times Campaign Finances API a few days too late. The votes are going in today and turns out this API was published three weeks ago.

I’ve been looking for a similar public data set to take Degrafa Map sample for a spin and stumbled on this one accidentally last night while reading the post about NY Times releasing Movie Review API. Now that is going to be some fun data to mash.

Well, one day is hardly enough to color code the states based on the contributions, but I managed to put the REST service calls in place, create the domain model, add a map with the selectable state regions, and display grid data for now. It’s very rough at this point. I am not sure I got all the donation breakdowns calculated correctly.

Anyhow, below is a sample screenshot and a link to the alpha demo. Currently you can only view presidential candidate contribution totals and select a state to see the state breakdown by candidate. I might color code the states, dip into zip code searches, donor info display, and publish the code if anybody finds this useful.

My AIR Flair and some link drops

Finally, after months of working with Flex, researching, prototyping and developing some real world projects on this wonderful RIA development framework, I am doing an internal presentation on Flex and AIR to our developers and designers.

I had already done a more hyped up presentation on Flash and Flex capabilities that was well received. It was mostly a recount of the great works of Picnik, before they partnered with Flickr, PaperVision3d, Dote Design image gallery, Flip , FotoFlexer, MixBook, Graphita, Visual Complexity catalog, 10×10 by J.J. Harris, FineTune, TuneGlue, Musicovery, ToneMine, BurstLabs, Mindomo, blinkx Video Search, Oskope, experiments by Mr. Doob, Andre Michelle, Lee Felarca, the quietly scheming Ely Greenfield and the great works of Keith Peters who I should thank for getting me hooked on all things Flash.

This presentation is different. I have J2EE, .Net and Ruby developers, IAs and visual designers in anticipation to see what Flex and Air bring to the table and how they are different from AJAX, XUL, OpenLaszlo, and Silverlight.

Read the rest of this entry »