I’ve been working a little bit more on the folding tagcloud for Debian packages. I’ve added closing of folds, and the code for displaying selected tags as well as matching packages is in place, too (you’ll need to use a different .json data to actually see results though).

To make it truly interactive, i.e. allow the selection of multiple tags until you get some results, I need to add more data files.

So I’ll have to decide now if I’m going to use a CGI (the “traditional” method), which will likely need to have some caching, or if I’ll just precalculate everything into static .json files. I could even store them as .gz on the webserver; any browser with ajax capabilities should be able to do gzip decompression on the fly. This would offer maximum performance and security, but it means I’ll need more magic in the javascript (and Javascript is ugly). Or I’ll do a combination of both, use a tiny CGI serving the precalculated data; the CGI could then easily be replaced with a dynamic-caching CGI later.

SVG rendering for the tag cloud would probably be also very cool. With some smart layouting algorithms, it could become much more cloud-like. And there could probably be a nice animation when “subclouds” are unfolded, pusing away the other folds. However, that would be much slower. Any animation means a slowdown, since it adds extra delays.