
Archive for July, 2009From a recent trip to the National Zoo and Aquarium.
The recent announcement in the 2009 Australian Budget that the official retirement age would be raised from 65 to 67 caused a bit of a stir in a few places. Many commentators took the view that this was an encroachment on their “hard earnt” retirement years. This struck me as somewhat strange - when did we, as a society, start to expect 20 years of uninterrupted leisure at the end of our lives? When the Aged Pension was introduced in 1909, the qualification age was 65. However the average life expectancy of men and women was only 55, meaning that most people never lived long enough to receive it (ref). Those that did were much closer to the end of their lives than the 65 year-olds of today, who can expect to live until their mid 80s. I mean, it’s a nice idea: work hard for 45 or 50 years then get 20 years “off” to wind down. I can certainly see myself enjoying that. But what was originally intended as a safety net for those blessed with an above average lifespan has become a method of funding able-bodied people’s inactivity. Of course not everyone at 65 is still fully capable of working, especially if they’ve had a physical career. These people should be taken care of, but not necessarily via an aged pension. The aged pension is a blunt tool. It’s very easy to identify someone who qualifies: they are past a certain age and below a certain level of wealth. Using measurements like this makes sense past a certain age, where the number of people capable of working full time is very low. When first introduced, of the few people who made it past 65 very few would have been able to work. These days however the age where most people would be incapable of work is much higher, although I won’t pretend to know what it is. Of course for many people, especially those in physical careers, 65 may well be an accurate age. But the average office-worker has had much fewer demands put on their body over their working life and require much less physical ability. Perhaps a wiser move, particularly given our rapidly aging population, would be to move the aged pension age to say 75 whilst introducing individual assessment-based capability reviews for people between 65 and 75. This has the potential to be over-burdened by bureaucracy (as the current invalid pension is) but assuming that it could be fairly implemented it has the potential to reduce the cost of aged pension retirees considerably. The financial side of things is only a part of the issue though. It’s rather depressing to spend 50 years of your life focusing on how you’ll live your last 20, should you be lucky enough to get that long. It seems to be a waste of a life, and could only be entered into by people who are fundamentally unhappy with their working lives. Surely it makes infinitely more sense to build a life that you are passionate about. For most of the species’ history, and for most of the world’s current population, people work from the time they are first able until they cease to be able simply as a matter of survival. To expect 20 years of social security, paid for by the next generation, seems quite unreasonable. Complaining that you may get 2 years less is down-right selfish. Yesterday afternoon my client team presented their redesign work to their senior executive, and it was quite well received. One of the suggestions coming out of the meeting, and something we’d already thought a little bit about, was producing a dashboard for all the major indicators. Last night I had a bit of a play and got something working, and today I’ve refined it a little. The idea is that the user will be able to choose which graphs in the dashboard are displayed, and that the layout scales to fully utilise the screen real-estate. Flex has some built-in Container objects that have some smarts for this sort of thing but none quite did what I wanted. VBox and HBox are the closest, but only allow one column or row (respectively) of objects. Tile looked promising but they don’t dynamically scale particularly well. There’s a whole heap of dashboard libraries available online, but they seemed like overkill for what is really a fairly simple task. In the end I went with a simple solution: two HBoxes in a VBox, and code to move objects in and out of the HBoxes based on how the objects need to be displayed. Now that I’ve got the UI working fairly well, I need to go back and clean up a lot of the code to make the adding of graphs more dynamic (currently it’s all hard coded). Then without too much more work I think it would be possible to put the whole config for the dashboard into an XML doc, resulting in a dynamic, re-usable dashboard. Sweet. It’s also rather nice that I didn’t need to change any of the graph-building code to get this to work - justifies some of the refactoring decisions I made recently. I thought it might be nice if my dashboard allowed users to double-click on an graph and have it ‘maximised’, then double-click again to restore the previous view. That seems simple enough, and in the end it wasn’t too difficult. But for some reason I managed to spend way too long going about things all wrong. In part, it’s because Flex/ActionScript doesn’t have a particularly useful Hashtable equivalent, and in part because I was just overthinking things. You can use an Object as an associative array for key/value pair type data, but that’s not particularly feature rich. In particular it’s difficult (or impossible) to get a key based on the object you have. When looking for workarounds I came across DevelopmentArc, a company that have released a library of useful stuff under the very open MIT license. Thankfully, this includes an implementation of a hashtable that’s quite nice (although reverse-lookups are still a little bit of work). Here’s a screenshot of the dashboard so far. At a later date I’ll put up the most interesting bits of the code. Keep in mind the UI-gurus haven’t had a play with this yet, so it’s nowhere near pretty.
|







Entries (RSS)