Last month we released a Google widget which has rapidly grown to become one of the most popular widgets in Poland. It’s rather exciting watching the number of users grow.
Last month we released a Google widget which has rapidly grown to become one of the most popular widgets in Poland. It’s rather exciting watching the number of users grow.
We launched a social networking app with a twist. The target market is anyone remotely interested in tech startups and anyone who wants to turn their idea into a career, with someone else’s cash. Yes, there’s a prize, and a big one. The concept is exciting and the app’s got some really nifty features in the planning.
read more | digg story
This is a nice write-up about a web application I had a hand in coding. It should be of interest to anyone who flies Southwest Airlines.
read more | digg story
I started getting stressed today. The future, my grand plans, things which could go wrong… Here’s the cure:
Pale Blue Dot - high resolution version
To keep it on topic: perspective - it’s essential to good management.
There is one thing in common with all customers of bespoke software, we want to make them happy. You do that by being as efficient as possible and delivering what the customer wants. That’s where the similarity ends. Customers come in all flavors, and I’ve tried my hand at delighting a lot of them, and with quite a high degree of success. At least, I haven’t made any enemies and I get almost exclusively repeat and referral business, so I must be doing something right.
Like I said, I’ve seen a lot of different customers and one distinction I’ve learned to make is something that I call the Customer Quadrant.

Customers can be placed in a quadrant with technical competence on one side and degree of involvement on the other.
I’ve had them all, but the easiest to please are the ones that are easiest to work with, and those aren’t always what you’d think. I love the customers who are highly technically competent and very involved. These customers don’t just raise issues, they solve problems. They know exactly what they want AND they’ll help you to give it to them. You can learn from them, and there’s the satisfaction of having your skills appreciated by a worthy peer.
Interestingly, I really like the polar opposite. This is the guy who doesn’t know exactly what he wants and knows little about the technology involved. When this guy trusts you, you can do extremely efficient work for him, because once you understand his vision and motivations, you can make the best decisions for him and he’ll back you as long as he trusts you.
The next group, technically competent but uninvolved, isn’t bad if you do the same thing that you do with the techno-illiterates and get on board with their vision and then keep them well-informed. These guys are like the techno-illiterates while you’re developing, they stay out of your way and don’t question your judgment, but at least they appreciate your technical accomplishments.
The scariest are the highly involved techno-illiterates. This customer has no understanding of the technical difficulties involved but has strong opinions (and often, rapidly-changing opinions) of what he wants. This customer will always be surprised by the feature price tag, over or under-estimating the technical complexity of every feature. He won’t pat you on the back when you code something remarkable, but he gets really excited by a new graphic or a nice drop shadow. He also tends to inflate his own costs, by making change requests at every opportunity without consideration for the impact his changes will have on the product architecture. These clients need to be handled very carefully to avoid creating a disgruntled customer. The best thing to do, I’ve found, is to try to settle as much up front as possible. I talk to these people a lot, testing out lots of ideas on paper. The more you draw out of them before coding begins, the less likely they will be to hit you with a real humdinger halfway through, like, “I know you’re been doing this in Flash, but I really think we should make it using AJAX”.
However you decide how to segment your customers, it’s important to remember that every customer has unique needs and if your approach is generic, you won’t delight all of them.
I used to spend a few hours a day dealing with email. I’d get about 200-300 emails a day. There was a lot of spam. I installed a spam filter, and that helped a lot, but about 25-50 clever new spammers slipped past my defenses each day. I could delete them quickly, in just seconds per email, so I did. But then I began to realize how much of my attention they were diverting.
A full in-box is a horrid thing. It’s depressing. As fun as it is to delete half of the messages as spam, it’s a distraction. So I did this: rather than spend 2 seconds deleting a spam message, I resolved to never delete one again. Instead, I’d spend 10 seconds creating a filter to ensure that I’d never get that piece of spam again. Then, I’d let the new filter delete the message. Within two weeks, my inbox spam went from 50 a day to 1 or 2 a week. It’s very refreshing to open my email and see only things I actually have to deal with.
Now, let’s take that lesson a step further. . .
Lifespam
My work life was full of distractions. I call them lifespam. Those are all the little things you don’t budget time for but that you find you have to do anyway. A client emails asking for a budget update. You have to answer. Your boss asks for a copy of last month’s expense report. You have to give it to her. Or do you?
So, here I was with no spam in my inbox, but still getting 50-100 requests that I do little things. Read an article, find a report, look up some figures, reset a password, etc. I started applying the same spam filtering technique that worked on email spam to such lifespam.
When I get a request for anything, via email or by phone, I no longer simply make it go away by doing it. I first ask,
Does this need to be done? If not, delete.
Does it need to be done now? If not, postpone (I have a folder for stuff to get around to at my convenience, like sites to read or technologies to research).
If it needs to be done now, am I the only person who can do it? If no, delegate.
Finally:
can I automate a process that keeps me from ever getting this request from anyone again?
That might mean taking the time to teach someone else to do it and then letting it be known that Stan is from now on the keeper of all expense reports. Or it might mean adding a piece of data to the weekly project reports my assistant prepares (like total billed to date), so no one ever asks me about that again.
Two months since I started doing that, my inbox is easy to empty. I get between 2 and 10 emails a day. They are all interesting and important. I can deal with every last one in half an hour or less per day. I do that from noon to 12:30 every day. A quick skim at 4:00 lets me know if anything urgent has turned up in the afternoon.
You can’t imagine the impact that has had on my productivity. I used to plan to do eight hours of work each day, but only do four hours of work and four hours of lifespam. Now, I plan to do seven hours of work a day and I do it all. I’m twice as effective and far more satisfied at the end of the day. My clients are more happy; my employees are more happy. Things get done.
This approach was inspired by David Allen’s Getting Things Done: The Art of Stress-Free Productivity and by Timothy Ferris’ The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich
. Thanks to both of them for their life-saving ideas.
My former partner wrote this CRM that is perfect for our small companies. We just want to track a handful of ongoing leads and store and search a larger set of past contacts. Most CRMs are much too complicated and address books don’t let you assign sales calls and manage salespeople. This solution fits the bill the me.
I manage an open source project called RubyTime, which is a simple and very easy to use time tracking system for anyone who invoices for their time.
One of the main contributors, Wiktor Gworek, just made some dramatic UI enhancements and added new reports and enhanced management functionality, as well as a new “client” role that gives customers insight into billing.
It’s a simple tool that is for teams based on trust. There are no reminders or advanced permission schemes.
There are two versions: a MySQL version for installation on any Rails server and an executable version using SQLite for one-click installation on a Windows box (good for personal time tracking or for evaluation).
If you bill for your time or for the time worked by a small group of employees, please have a look. If you’re a ruby developer looking for a small, manageable but mature project to contribute to, please let me know.
You can find RubyTime here: RubyTime
Or Download the Windows installer for evaluation or personal use
Please let me know what you think.
Would you like advice on a particular problem, or just a pep talk before that sales call? Perhaps you'd like feedback on a presentation or sales pitch. Give me a call. I can help.
Call now$0.50 a minute