Book Review: Developer to Designer
As previously mentioned, Mike Gunderloy has written a follow-up to his book Coder to Developer. Because of my review of that book, Mike was kind enough to send me a free copy of the new one.
Developer to Designer: GUI Design for the Busy Developer focuses on designing good user interfaces for Microsoft Windows. So although this time there’s no .NET emphasis, if you’re looking for cross platform GUI design advice look elsewhere. In my opinion he’s made the right choice here – catering the various toolkits and desktop environments available for multiple platforms would make this book HUGE, and the human interface guidelines published by the various projects (e.g. Apple and GNOME) would make such an effort largely redundant1.
As with Coder to Developer, this book is not a revelation – most of it’s content can be found elsewhere (not that Mike is a plagarist!). What he does do is distill this information into a very readable form, and presents clear examples of what does and doesn’t work in a GUI. He also covers the basics of designing a web interface (although this is a subject in itself) and gives a preview of what’s coming in terms of UI design in Longhorn and Avalon.
Although I found the book interesting, having now read it I probably wouldn’t have bought it for myself (not that I did of course), but I would recommend it (in fact I have) to both inexperienced and non-UI-focused developers. The former because it will set them on the right road, and the latter because people who don’t develop UIs on regular basis can make some very strange design choices and so this will help them get back on the right road.
With this book – and its predecessor – Mike is doing a very good job of showing common development tasks and functions in an approachable way. Maybe not so valuable for experienced developers, but essential for the inexperienced, and I look forward to the next in the series (I’m assuming there will be one) if only to recommend it to colleagues and associates as I have done with these two.
1 As an aside, I would like to see a book on cross platform development with the GTK+ and/or QT (and other) toolkits. If anyone knows of one…
Reconnected
BT restored my phone and (more importantly) ADSL today, and they’ve confirmed I will be receiving compensation. ![]()
Back to my normal, netcentric life…
Disconnected (again)
Last Wednesday (January 19th) my phone line (and ADSL) started playing up. The following day it was pining for the fjords.
Our wonderful telecommunications provider BT won’t even come to look at it until next Thursday (February 3rd) citing the repair for the recent storms as the reason for the delay.
To add insult to injury, BT are stating that the storms were an “act of god” and are refusing to pay any compensation for loss of service. I’m waiting to find out if I’m included in this.
Sometimes it sucks to live out in the countryside1…
1 But then I go for a walk outside (or even just look out of the window) and remember why I put up with this sort of thing to live here.
My other desktop is…
Recently I’ve been doing a lot of thinking about desktop operating systems, and in particular Linux on the desktop.
Linux on the desktop is a popular phrase, and people keep touting $year as the year of the Linux desktop. My response is:
Which desktop?
If your talking about a corporate desktop, that used for office applications, email, web, internal applications and some basic media requirements then Linux has been ready for that particular desktop for quite some time now.
It’s even ready for the advanced home user who does all of the above and does mind getting her hands dirty (and possibly ultimately frustrated) to do more advanced things.
What it’s not ready for is the the consumer desktop. People who expect things to Just Work™. I’m talking about import, editing and printing photos; importing and editing videos; creating and burning DVDs; ripping, burning and listening to music. Whilst Linux can do all of these things, it doesn’t do them easily, and that is where effort needs to be focused if we want to see Linux on home desktops.
Anyone reading the above list of tasks will probably think of the Apple and their iLife suite of applications. Apple focus on the Just Work™ goal, and it shows. Microsoft seem to focus on “good enough (but not quite)”, whilst Linux is still focusing on incorporating the the kitchen sink (to its detriment).
Jono writes about A brief history of simplicity where he discusses how the Open Source community is starting to focus on simplicity, and cites Ubuntu as a shining example of this. He also says how more needs to be done. What he says is true, but simply limiting application choices is not enough. It all needs to Just Work™, and it needs to work together.
Apple will never make any real headway against Microsoft because a) it requires different hardware (and the associated cost) and b) people use Microsoft at work. Linux has a huge advantage here as a) is mute and b) will work in our favour as more corporate desktops migrate to Linux. We just need to make sure that when they come (and they will), we’ve already built it and it Just Works™ (OK, I’ll stop using that now).
In the mean time, Linux (Ubuntu in particular) is my desktop of choice, but for most of my media-related work my other desktop is Windows XP (until my wife lets me buy a Mac mini that is).
VoIP Revisited
Matt Revell posts about Vonage’s entry into the UK VoIP market and more interestingly why these services may ultimately kill themselves.
I’ve written about VoIP before and although I’m a big fan of Skype I tend not to use it extensively because none of my contacts seem to use it… Catch 22.
I’ve not played with SkypeOut – their solution for ringing landlines from Skype – yet, but the rates look attractive.
A big downside to Skype (for me) is the (current) lack of a ‘SkypeIn’ solution. I need the ability to receive incoming calls from landlines.
Until Skype offer such a service, I’ve signed up with Nildram’s (my ISP) VoIP service (currently in trials) as they provide an incoming number, voicemail, and free calls to UK freephone numbers (Skype charges for these). So far it seems pretty good – although I have had a few problems with echo so now I’m looking into standalone hardware units.
Netcentric
mrBen has a nice piece on the past, present and future of his internet experience.
My experience is very similiar, although it started in 1996 via a shared, s-l-o-w dial-up connection. I soon graduated to my own connection, eventually settling on ISDN for a good few years during which my life became very ‘net (and computer) centric. I basically lived and worked on the ‘net, and if I couldn’t find it there I was very disappointed.
Now with my leap into the 21st century with broadband (did I mention I have broadband now? w00t!), things I enjoyed before (email, IRC, IM and of course browsing) I’m placing into the ‘as-essential-as-breathing’ category, and things I avoided before (music, video, large downloads) I take for granted. I’m even looking at things like VoIP which was never an option before. Sure I could use Skype but I couldn’t do anything else at the same time. Now I’m doing multiple things simultaneously, and still have bandwidth to spare.
My current handheld is a disconnected Palm Vx. Whatever I choose to replace this will have to be connected so it can become a proper extension of my ‘netcentric’ lifestyle.
See you online…
Back to work
Like some I’ve been taking a break over the christmas period. Before christmas I was extremely busy, and when I go back tomorrow I’m going to be even busier. Because of this I made a concious decision to avoid both prefessional and personal work-based activities over the holidays, and I feel much better for it. Now, like Jono, I’m now ready to dive back in.
New Year Resolve
Well, it’s that time of year again. I’ve never really gone in for the whole resolutions bit, but this year I thought I’d do it with a twist. Instead of the usual ‘lose weight’ type resolutions (which even if I did make, I probably wouldn’t post about), I’m making myself some technical resolutions. In addition to this, I’m breaking them down into Immediate and Ongoing tasks…
Immediate
I intend to complete these ASAP.
Re-implement my home gateway – Since my recent conversion to ADSL my aging RH 8.0 based ISDN gateway has been retired. Unfortunately – and frustratingly – I’m having to run ICS instead. In the very near future I want to replace this setup with either another computer based gateway – probably running something like IPCop – or a hardware router/modem combo.
Switch to Debian – As most readers will know, I was (until recently) running Ubuntu as my main OS (I will be returning to it!). In the meantime, my Linux running servers at home (and work) are running various releases of Red Hat and Fedora Core. I would like to replace all of these with Debian, and now I have the bandwidth to support this effort I will be following through on it.
Fix my Linode – My internet presence is currently hosted on a Linode supplied UML box. In recent weeks, it has had lots of peculiar problems that I need to sit down and resolve. Of course, this server will be included in my Switch to Debian effort, so that may resolve them for me.
Ongoing
These will either be complete at somepoint during the year, or are ongoing improvements.
Technical Writing – Following on from my previous efforts, I want to produce (and get published) several articles this year. Nothing so grandiose as writing a book. At least, not yet. ![]()
Replace my website – As previously announced I intend to replace my current CMS with a homegrown Mono-based alternative.
Produce two pieces of software – I’ve had a few ideas for software products rattling around in my head for a while. This is the year I will do something about them. My current intention is to release one as Free (as in speech) and one commercially.
Become certifiable – Obtain my MCAD and MCSD certifications.
OK, I lied
Thinking those tasks up brought some non-technical improvements to mind, which are:
Become more productive – As mentioned in a previous post I procrastinate. I’m also easily distracted and forgetful. When I really focus on a task, I know I can be extremely productive, but it’s getting and especially maintaining that focus that I need to work on.
Become more organised – This one has two facets. I am an extremely disorganised person – which I obviously need/want to improve upon – but also I am becoming more responsible for organising (or rather managing) others. So for their benefit as well as mine I need to be become more organised.
Be consistant – This is linked with the previous two. As regular readers will know, this site (and by extension myself) go through flurries of activity. For example, two weeks of silence will be followed by a weeks worth of posts in a day (often with the posting times altered to mask this).
We’ll see how I’ve done this time next year!
look good