My brother’s recent post, “Death of an Idealist“, got me thinking about how perfectionism is often more of a hindrance than a help.
Perfectionism is a major block for me, and it was highlighted this weekend whilst I was working on my current project. I’ve been stuck in “Analysis Paralysis” for a few weeks, because there’s always that feeling that it “has to be perfect”. I decided to write some code, but as part of a “sandbox” so that I could tweak things and then copy the code to the main project when it was ready. Almost immediately I felt a boost, and wrote some pretty good non-perfect code.
Writing software is difficult, and it’s not made any easier when you are afraid of “getting it wrong”. Just giving myself the safety of a “sandbox” removed this barrier, and made programming a lot more fun than it has been for a while.
Related posts:
Jensen Harris just posted a walkthrough of how Microsoft prototype using PowerPoint. It’s almost identical to the way I’ve been doing it, although I prefer to build the entire UI from shapes and images before creating a detailed picture and overlaying transparent “hot spots”. This makes it much easier to move elements around, which means you can quickly try out different layouts with minimal fuss.
One point is that it’s best to stick to small segments of the user interface in each presentation, because things can get very complicated very quickly.
Related posts:
I’ll be honest; PowerPoint is one of those applications that I treat rather harshly. I’ve been put off by too many awful presentations with whooshing bullet points, dreadful clip art and perhaps even a few sound effects for good measure. As far as I’m concerned, PowerPoint is a tool for creating nightmares. Horrible, bullet point riddled nightmares.
However, after reading “The Feature Bob Invented” on Jensen Harris’s Office 12 blog, I’ve learnt a new use for PowerPoint: Prototyping User Interfaces.
User Interface design is something of a dark art, and can be particularly difficult for programmers. Mocking up a few screens in paint is handy, but stringing them together and adding the correct hotspots can really help you visualise how it’s all going to work. It’s quite easy to put together a few slides with fake buttons, and I managed to get a rough prototype up and running within a few hours. Not bad for someone with “limited” art skills and a general distrust of all things PowerPoint. I was pleasantly surprised by how easy it all was, and just seeing it working gave me plenty of ideas for improvements.
One of the most enlightening things you can ever see is someone trying to use the interface you’ve designed. Having an interactive prototype makes it much easier to see how they react to the choices in front of them. Even if you can’t get to watch someone use your interface, sending your presentation to a few people to try out can still generate valuable feedback.
I highly recommend giving Jensen Harris’s blog a read. It’s a fascinating insight into how a large company like Microsoft designs and tests user interfaces, and shows off some of the new features of Office 12.
Related posts:
I’ve happily used Windows XP for the past four years, but I’d heard good things about Linux so I decided to give it a try last year. I now use Linux for a lot of my non-programming tasks, and although I feel parts could be improved, it’s a very pleasant environment to use.
Getting Started
The first thing to do was to grab a Linux distro. I use Mepis, because it’s the only LiveCD I could get working on my laptop. I highly advise using a LiveCD to start with, as it allows you to try everything out without installing anything on your hard-drive.
After clearing roughly half of my hard-drive of unused programs and Windows files, I defragmented and partitioned it. The Mepis OS centre makes partitioning your drive a straightforward affair, and the install process was quick and simple. It guides you through installing a boot loader if you want to keep your existing OS (which I did), so now when my laptop boots I get a quick menu to choose between Mepis and WinXP. The whole process took a few hours, but it was a lot simpler than I had imagined. The Mepis installer does a good job of guiding you through the steps to install.
My favourite apps
I wasn’t really sure what to expect with Linux, but I’ve been pleasantly surprised by the high quality of the applications. My most used programs:
I’ve used Winamp for years, and amaroK was a bit of a change for me. It’s got plenty of great features for organising your tracks and albums, such as downloading track information and album covers. There’s support for last.FM, dynamic playlists and a host of other rather nifty features.
I don’t like it as much as Office 2003, but I prefer it to OpenOffice.org. It does have an “autocomplete” feature similar to OpenOffice.org which I’m rather fond of, as it can speed up typing long words.
Gaim is a great IM client that works on multiple platforms. It handles the popular protocols (MSN, Yahoo!, AIM/ICQ) very well, and also supports IRC and Jabber.
TaskJuggler is a project management application which moves away from the standard Gantt editor. Tasks are entered using a text editor, which can be daunting at first. It takes a while to learn the syntax, but once that’s out of the way it’s really quite powerful. It can generate HTML and XML reports, as well as our trusty friend the Gantt chart.
Other bits and pieces
The one thing that really convinced me to give Linux a try was the LiveCD. It’s a really nice idea, and meant I could play around with all the features before clearing space and partitioning my drive. I really expected things to be a lot harder than they were, and despite a few crashes I’ve found the whole thing easy to install and use. It’s certainly worth a look if you want to try something new. Mepis has a good community of very helpful people, and you can generally find the answer to any problems quickly.
Related posts:
Jana recently asked an interesting question relating to my progress log system – specifically about my modified version of the Printable CEO:
“My question: do you use your modified PCEO just for work-related activities or also for non-work goals (i.e., the activites to ensure ‘balance’)?”
The short answer is “It’s mostly business”, and to be honest I never really thought about adding many non-work activities to it. The “b-Alert” tracker takes care of making sure I’m balancing my day, and the PCEO gives me a way of measuring how productive I’ve been. So far it’s helped overcome the problem of doing lots of small (and important) tasks and feeling like I’ve wasted a day, because I can look at the scores and see that I achieved a lot. I like that.
This question came at a good time, as I’ve recently modified some of the activities on my score card to reflect a slight adjustment in focus. I’ll compare old and new, and walk through a few of the decisions I made when creating my score card.
Old vs New
The Old Way
| 10 |
Concrete project work |
| 10 |
Direct income work |
| 5 |
Blog or site article |
| 5 |
Personal or business development |
| 5 |
Publicly publishable code |
| 2 |
Site promotion |
| 2 |
Concrete business work |
| 2 |
Project proposal |
| 1 |
Volunteer project work |
| 1 |
Misc. Contribution |
|
The New Way
| 10 |
Concrete project work |
| 10 |
Direct income work |
| 5 |
Blog or site article |
| 5 |
Personal or business development |
| 5 |
Publicly publishable resource |
| 2 |
Business promotion |
| 2 |
Concrete business work |
| 2 |
Volunteer project work |
| 1 |
Misc. Contribution |
| 1 |
Building/Strengthening a relationship |
|
How I created the original score card
When I first started using the PCEO, I was a little unsure of what activities to use, so a lot of the points are similar to Dave’s original system. Looking over them, you can see they’re divided into four major sections:
- “Visible” work – The high scoring activities are all visible work. “Concrete Project Work” can cover anything on a project, from documentation to coding some fancy particles.
- Things of value – The next scoring band concentrated on things that are of value to other people, such as sharing source code or writing an article for the blog. It also covered business/personal development work, such as writing goals or creating something that helps with business work.
- “Smaller” business tasks – “Concrete business work” covered most business tasks, such as tweaking the website, doing accounts or anything else not covered higher up the chain.
- Contribution – I do volunteer work for the Scout Association, and I felt planning activities for that deserved rewarding on the PCEO chart. “Misc. Contribution” covers helping other people on forums or newsgroups.
The new and improved version
There aren’t any radical changes, but I think the small tweaks I made will have a positive effect. I was quite happy with the original scoring, but I felt it had a few weaknesses which I’ve tried to address:
- Promoting volunteer work – I removed the somewhat redundant “Project Proposal”, and promoted volunteer work into its place, because I felt that I was neglecting this area a little.
- “Strengthening/Creating relationships” – Going back to Dave’s version, I liked the section on relationships. It’s all too easy to overlook the important relationships in our lives, whether they’re business or personal. Again, that’s a weakness in my original system that I wanted to address.
- Other tweaks – I changed the focus on a few items slightly. “Site promotion” went to “business promotion”, and “publishable code” went to “publishable resource”. This gave it a broader scope, and means there is a reward for sharing any resource of use, such as a template.
That’s all folks!
So that’s my PCEO scoring system in all its glory. If you’re just getting started with the Printable CEO, it can be difficult to work out a way of scoring your activities, but hopefully seeing my version will inspire you to create something cool.
Related posts: