Meta

Month: May 2012

People come to me from time to time, with a “great idea for an app”. Or site / system / whatever. Because I know technology and stuff! But I’ll probably say no.

Ideas are basically worthless now. We have the Great Evolutionary Bitgrinder chewing on memespace and crapping out ideas at an incomprehensible rate. Today I had two ideas before breakfast, each of which would be months or years in execution, and that’s normal. And I think that anyone who even passingly uses the internet (the set of people who are not dead) has a similar experience.

It’s become hackneyed to say “execution matters”. But it does. Thinking of the idea is worthless, you’re just expressing some edge of the mind of the Technium anyway. Making them real, that’s damned difficult. Getting anyone to care? Nigh on impossible.

There are 7 billion people in this world, and counting, and they all like and do different things. So doing something because you think you should, or you think other people need it, sets you up to fail when compared to people doing it because it is their passion. Which is freeing. If you want to do something non-trivial and succeed, pick what you have or could have burning passion for, and forget the rest, they’re all SEPs (but in a good way).

How I choose to what to actually work on (not just blag on about, but actually sit down and work on) is something I’ve struggled with over the years. I’ve boiled it down to three necessary qualities: It interests me, I’m good at it, or capable of being good at it, and I will use it myself.

It interests me

There are many things out there that could be worth doing, but I’m not personally interested in them. Or more to the point, I’m not interested in the personal grind of executing on them.

One example is, that I think there should be a place I could go to start a small startup company, and it’d take care of everything on the legal/accounting side of things. I’d put in a name, choose a company type from a set of templates (eg: SaaS partnership), and it’d do my books for me (leading me by the nose through what needs doing as I don’t know), create and file all the paperwork, give me employee contracts, show me how my business is running, etc etc. I shouldn’t ever need to hire a bookkeeper, or maybe even an accountant. It only needs to cover the small end of town, tiny businesses, and the approach would be that it doesn’t accommodate every possibility; rather, it tells you, the guy who doesn’t know what he’s doing, what to do. That’d be cool, right?

But it’s a lot of work, and there’s a reason I don’t know anything about this stuff… because I don’t care. Probably any idea of the form “I don’t care about X, make a system to do X for me so I don’t have to care about it” is a non starter under this rule.

Another one is a site that solves this problem: as an individual, I’m disturbed by the way the goods are made that I buy, but I can never really know this stuff when I buy them, so I can’t judge. If I’m presented with a wall of shoes, maybe all the manufacturers are exploiting people or doing bad stuff in some way. But what’s the quantitative landscape? Maybe one lot is paying some people poorly, and another using child slave labour. If I need to choose between them, I’d like to choose the least bad.

One solution would be an online retailer, that shows a history of manufacture for all the goods on the site, and keeps reputation metrics for all retailers and goods. Obviously there’s a huge component of this which is not technological; you’ve got to find a way to get people buying through the site who demand good information, and retailers being inspired to put that information there and keep it up to date, or a way for interested parties to put the information there.

A better solution might be as a phone app, where you could look up goods and see detailed info, and/or scan them in store. You’d think some of the big charities that care about this stuff could back something like this; Amnesty? Oxfam? …

But I don’t care about retail, and I’d have to live and breathe it. So it fails this test.

I’m good at it, or capable of being good at it

I’m about to turn 40. I think one of the features of being this age is that your hubris starts to wither (although I hear people are working on some kind of a cream for that…). I’m starting to realise that I can’t do everything, understand everything.

As Dirty Harry said, “A man’s got to know his limitations”. Along with “Don’t be an asshole”, you’ve got all of life right there.

So anyway, executing on any idea requires serious domain knowledge. ie: you have to know something about what you’re doing. Now I know software, but I don’t know microbiology/genetics (much as I’d like to), so you wont see me building a bioinformatics system at home.

And most of my projects will be heavily software related. I’m a coder, after all. Even that has limits; I’ve discovered for instance that I’m not a hardware guy, and so I wont be heading down the arduino/robot path even though it is totally hipster and also properly interesting. If I was collaborating with someone who was all over that, then sure. But otherwise, no.

It’s not that I can’t learn new things. I love to, and some ideas I have on the go are about enhancing the ability to learn new things using tech (this area interests me, I’m good at the proposed solutions, and I’d use them). But I’m trying to be a bit realistic about how long it’d take to deep-learn my way into new field. Pretty much if an idea requires that I’ll say no. Although if the area really intrigues me, maybe I’ll start learning, and then maybe in a few years some variant will arise and I’ll consider it.

I will use it myself

This one has a bit more depth than it might appear on the surface.

Superficially, this is of course attractive. I want the thing, I make it, I have it. Plus, I have a guarantee that I’ll have at least one user, which is nice.

But my use of this rule is really based on thinking about moral hazard.

Moral hazard is really a fancy term for separation of responsibility and power. Everywhere where one person has power, and a different person bears responsibility, is somewhere that’s probably going to be bad. So for instance if you are the crazy ruler of North Korea, and your nutty policies causes utter economic failure, it’s not you who is going to starve, so what’s the incentive to be sane?

And even when people are trying to do the right thing with power, the very context of not being in the group bearing responsibility warps their decisions. And so you get, for instance, the stolen generations. It’s remarkable, given our capacity for imagination and empathy, just how different decisions become when they directly effect the decision makers.

Really, no one should ever make a decision where they will not bear the consequences of that decision. And I include myself in that! As a parent, I’m well acquainted with the difficulty of putting this into practice, but I try.

I think everyone would agree that the software landscape is mostly populated by dross. Where apps aren’t outright terrible, they are often confusing and annoying. This very commonly stems from design by people who wont ever use the software, don’t understand the thinking of the users, and don’t much care. I’ve built my fair share of this stuff.

In commercial/team settings, you can ameliorate this by having domain experts who are actual potential users in your team. In a personal project setting, you can collaborate with a friend who fits the bill, but it can still be dodgy. In that situation, if you can shape yourself into being an actual user of the software, do it. It’s simpler and safer, however, to only make things you personally will actually use.

You might protest and say “but who will build apps for the poor people who can’t build their own?” And I will answer “someone who isn’t me or nobody, but it’s not my problem”. In the 21st century you should learn to build your own. Really.

—

There are other things that weigh into the decision about what to do. How big is the project? Smaller is always preferable. How incrementally can the project be tackled? More self contained, usable-in-themselves increments are always better. But I’m finding the three rules above to be a great way to cut down the amount I take on, and to avoid that situation of having some project that I’ve committed to, don’t want to do, am never going to do, and am feeling guilty about. That’s worth something to me.