Thursday, June 26, 2008

keyboard GUIs

A few days back I stumbled across a world of what i call 'keyboard GUIs' though which is much better terminologized and explained in the article The Graphical Keyboard User Interface. In short this encompasses those UIs that try to marry the intuitiveness of the GUI with the speed of the keyboard based command-line style. And since then I have been discovering them all over the place...

1. Launchy (windows) - Somewhere between the linux Alt-F2 run dialog and the windows UI. launchy.png Once you start using it, you start wondering what life was before it and contemplating those other poor windows users still stuck to point and click...

2. Google Reader Keyboard Shortcuts- especially 'jump to subscription' ('g'+'u') I think the Google Reader UI was starting to get really cluttered (or maybe its because I have 250+ subscriptions) when they gave the keyboard shortcuts and saved me from having to search all over the place for the next thing to read. reader_g+u.png ** Wish those guys would add some wildcards into that search thoug, given that there are a whole load of feeds that start with the

3. And lastly we come to our friendly Eclipse which has this superman-shortcut (accessible via Cntrl+3) that gives you search over a whole bunch of thingamajigs. eclipse_cntrl+3.png *I am not sure which version this shortcut and UI was available from. I tried it on Ganymede (3.4) and am quite sure it doesn't work on 2.12 which I use in office.

UPDATE: FireFox already has a prototype plugin Cntrl-Tab by Dao which in which on hitting F4 you get a cool multi-window tab grid with a filter input box Cntrl-Tab ('F4')

Tuesday, April 08, 2008

JAX India 2008- Day 1

starting today and for the next four days i'm attending jax india 2008 thanks to my employer.

the conference is happening at the jn tata audi@iisc which is like 20 km from my house, so i had to leave real early at around 8 am (my mantra being to wake up post meridian if one can get away with it) in order to reach there in time.

which, thanks to bangalore traffic, i didn't of course- missing most of the introductory session. so from what i gathered in the last 5 minutes of that was that the conference is

  • a series of such events 'round the globe

  • has been around for a few years now and

  • is a mash-up of 3 conferences in 1- eclipse, java-stuff and enterprise stuff (formally enterprise architecture).

that said, we dived into the first session which was scripting support on the java platform by Chuk- a session introducing scripting basics and JSR-223 and . though the session was delivered by the exuberance of an evangelist, somehow the fact that the examples were in javascript (which has always given me the heebie jeebies), which is the default bundled scripting engine in jdk 6, put me off a little. also the api for calling/running scripts from within java code seemed pretty ugly as seen in the sample below-

ScriptEngineManager seManager = new ScriptEngineManager();
ScriptEngine engine = seManager.getEngineByName("js");
try {
engine.eval("println('hello there');");
} catch (ScriptException e) {

more info on this topic at

the one tidbit i paid notice to was that java 7 might change the way the software is downloaded/available to decouple the vm and the 'java' part of it and allow need based download...

next up was the session by Guillaume on groovy which is a new gen scripting language that runs on the java vm.

initial snippets he showed us gave me the impression that this is heavily 'inspired' from ruby, though i was amazed at the flexibility of the language when Guillaume walked through a demo where he took a slightly complicated HelloWorld program using a JavaBean, ran it on groovy, and hacked it line by line into a 'groovier' form while demoing the syntax sugar. All i can think is that the grammar must be a bitch!

2 more cool things-

import groovy.swing.SwingBuilder
import java.awt.BorderLayout
def swing = new SwingBuilder()
count = 0
def textlabel
def frame =
swing.frame(title:'Frame', size:[300,300]) {
textlabel = label(text:"Clicked ${count} time(s).",
constraints: BorderLayout.NORTH)
button(text:'Click Me',
actionPerformed: {count++; textlabel.text = "Clicked ${count} time(s)."; println "clicked"},

after that started a keynote session delivered by roy singham of thoughtworks titled 'shift happens' which was centered around some predictions of whats going to change (mainly die out) over the next few years in i.t., but morphed into a passionate speech ranging on topics from customer-confidence to soa to ecology to lean-manufacturing to project-management-pitfalls to Ola-Bini... inspiring/thought-provoking and definitely challenging one's ego.

after a pretty good lunch, i got back to a session on tips'n'tricks on eclipse plug-in development by Chris. was pretty fast as most people in the session were like me, nubies to plugin dev, so chris had to go through an extra (backup) slide deck on eclipse pde 101 to get up up to speed.

lecture notes-

  • read-up on OSGi (planning to start here)

  • the Plugin Spy tool available in 3.4+?

  • tptp for profiling (why is my ide pregnant?)

looking forward to the hands-on session with him this friday.

the final session of the day was on soa challenges by Ken which was a humorous and interesting session on the various problems faced in soa adoption/implementation on the business, political, strategic and (least) technology fronts.

ps- all information about the speakers and sessions is from my weak memory+googling.. so any inaccuracies are totally my fault.

Wednesday, March 19, 2008

firefox 3 beta 4

downloaded the beta 4 for firefox (from here) after reading multiple news snippets about it in a day.

initial impressions with regards to its performance was quite good. it started up much faster (which is not a mean thing as at any point in time i have about 40 tabs in 4 windows from the last session). it also seemed to take a wee bit lesser in memory over the 5 hours that I was using it, but then let me down by crashing sometime during the night. :(

apart from the performance i found that the new gui seems much cleaner, especially the new navigation toolbar and its buttons.

i also liked were also the pop-up style password manager and the cool scrolling effects on the tab bar (the ones that appear when you have too many tabs open to render them in one screen).

but the single worst thing i saw was the rendering of fonts. never been an expert in this field and so i can't tell you in technical words whats wrong. just that it looks yucky!!
the site most hit by this was gmail. pics not included as I realized i really didn't want pix of my mailbox on the internet :) instead u can see screen-shots of google reader in ff2.0..0.12 and ff3.0b4]