Thursday, August 21, 2008

Adam's Apple - Apple's Mac

Well... time seems to running on a more speedy phase, relatively to the life before stating placement. Monday starts with a new brief and... then already times-up for friday night pub! Days are so exciting and filled up goes past – really fast – just like a DSL bootup on a uni lab PC! ;)

Working with some fixes for a Mac version of the software found a bit tricky. When Mac creators and it's tiny number of users (tag:stupid) are the only people who take Mac as something serious, at times its a pain to satisfy their kiddish requirements. (not to mention mess between intel based macs and ppcs) And the Sun doesn't seems to bother much over Mac and therefore Mac JVM still has several glitches over how Mac usually work, look & feel.

Recently I had to build up my own customized confirmation dialog by extending JOptionPane just because the JOptionPane doesn't look & feel like Mac even with systems native look and feel. The fact is that developers at Sun doesn't give much shit about Mac, it's ok... I totally understand!

Anyway extending the JoptionPane saved me from extra effort to handle thread execution, etc which I will have to worry about if I started a dialog box from scratch. But then again JOptionPane didnt allowed me to place my buttons as I need, which was a requirement in apple gui to keep safe distance between safe option buttons and the destructive option. :S

Actually imitating the read message pane for a mac app can be done in with a glass pane in java so the message pane would be “fixed” to the relevant window. Apple fans say it is so user friendly because users know which message box is from which application. Quite true… for apple. But for other platforms users are intelligent enough to know what they were doing! [no, don’t worry I wont start on the mac menu bar!]

Well in Apple human interface guidelines they do clearly describe how their own things appears so others are expected to make things that way. Quite detailed and I like it. Despite of all the trouble it takes to re-invent wheels of a bit different shapes, etc... the end results looks quite fine. But not all project can afford that much of extra effort, its not only a game of tech... but a mix of real life too. To think about it... “Lucky developers!” ;)