It’s Really My Fault That Steve Ballmer Retired

With great power comes great responsibility. This is a truism that Rob Enderle knows only too well. Bob, on his Unfiltered Blog, laments his own personal failure in guiding Steve Ballmer as CEO of Microsoft. You see, it is absolutely, completely Rob’s fault that Ballmer has been sacked (though it’s true his argument has ‘holes’). With a burden like that, you can see why Rob might be starting to crack a little. You can see why sandwiches might be starting to fall out of the Enderle Picnic Basket.

Bob is wrong. He needn’t worry, and I’m here to tell you that it is actually my fault that Steve Ballmer became just another (pending) statistic among the many jobless and disaffected victims of modern America (a period that will one day be known as Obamarama).

I had a plan that could have saved Microsoft. For whatever reason, I couldn’t execute. The plan was to develop prodigal* skills and grow up as some kind of genius. An evil genius, but an evil genius that only does good deeds. So a good genius really. As early as 1996, I knew that Microsoft would face tough times when William Gates The Third retired, and I developed a 5-year plan; I would become a world class business consultant with a direct manner, many useful contacts and a winning smile. I would make my way to Seattle, befriend the Microsoft C-team, and, from the shadows of unselfish friendship, provide Ballmer with great insight and wisdom and guide him to the promised land of Longhorn.

Sadly, I didn’t wind up a genius and I’m none of those things that I wanted to be. I’ve never even been to Seattle and, I’ll be honest, I’d rather visit California anyway — my young girls would really love it at DisneyLand. Longhorn is just a faded dream. So you see, Mr. Enderle, you mustn’t feel bad; You aren’t completely to blame. We’re in this together.


* I don’t know if I used that word correctly, but it sounds good, and who’s checking? Not me, that’s for sure.

Effective Planning and Goal Setting for Side Projects

Right now I’m working on a side-project that is going no-where. It’s not really important to the post, but the side-project is a blogging platform for children.

In this post I want to give you an idea of how I plan, run and move a project forward that is in this state. This method (if it deserves the name ‘method’ at this point) isn’t the way I’ll always run a project — especially if there are more people involved, but it does seem to work for me. It’s how I shipped Puzzle Maker.

I’ve been here plenty of times before — I’ve got an idea, I made some early progress with a prototype, but getting it to a state that I’d call even alpha seems to be taking forever. At this point, it feels like it’s going to be another unfinished prototype sitting in the graveyard that is my ~/dev folder.

It’s time to call in the big guns. It’s time to make a list.

That’s right. This is how I breathe reality in to my projects. Sometimes it works, sometimes it doesn’t. If it doesn’t, I know I probably need to can the project and move on. It’s important to know that I review this list daily, as progress is (or isn’t made). If one thing seems to be stalling the project, I’ll make a decision about whether it really needs to be there. If it does, I’ll double down on that one thing until it’s done.

To make my list I’ll usually us either TaskPaper, or just a text editor. It doesn’t need to be fancy. I might also move from the text editor to Dave Winer’s new outliner, Fargo, which looks excellent with its Dropbox support. Also, Trello and Asana are both excellent apps for this kind of work. TaskPaper is my favourite tool though, because I can mark tasks complete by appending @done to the end of the line. Simple by very effective.

Once there, I’ll break my project down in to the various components.

E.g.,

  • Web App
  • API
  • iPhone App
  • Android App

Now, I might at this point decide to park Android for the first ‘phase’, because I’m faster at building iPhone apps than Android apps, and the results are usually better. Also, my day-to-day phone is an iPhone. I don’t mind noting down all possibilities, but I know it’s really important to focus. My time is super-limited, and taking small steps is quite fine, if it moves me towards the end goal. I’ll move the Android app to a new section at the end of the file (Future Tasks: or some-such).

Truth be told, I’m tempted to park the iPhone until the web app is done too, though the iPhone app is actually quite an important piece of the puzzle, so that’s a harder call to make. Maybe the features it gets in v1 (which might only ever be used by me and anybody who tests) will be excruciatingly simple, and I’ll flesh it out once the concept is proven. This isn’t a Minimum Viable Product. This is less than even that.

I’ll also add sub-tasks for each major task:

  • Web App
    • Landing page
    • Sign-up
    • Login
    • Parent/Teacher Dashboard
    • Blog
    • New Post
  • API
    • Signup
    • Login
    • Post
  • iPhone App
    • Login
    • Post

OK, so that’s a nice list. I’ve actually already started on some of the tasks (signup API is fairly usable already, and so is the signup page on the web app), so I can break those tasks down even further and cross off the ones that are done. Adding tasks that are already done is useful, even if I immediately delete them, because sometimes it jogs my memory or makes me see something else that is needed:

  • Web App
    • Signup
      • 5 Step Wizard (with ability to go back to previous steps without losing entered data)
      • Single Site Signup
      • Group Account Signup
      • Validation (with friendly, helpful errors)
      • Confirmation
      • Account Creation
      • Welcome Email
        • Email Confirmation/Validation
      • Redirect After Signup

OK, so typing that list out reminded me that we still need a welcome email, and that I need to look in to email systems that work with Sinatra (my web framework of choice for this project).

I’m also aware that there are other, less techy tasks that need to be performed. These are the tasks that I really don’t deal so well with, but writing them down makes them seem less scary:

  • Name
  • Logo
  • Homepage Design
  • Blog theme 1 (to get it started)
  • Blog theme 2 (to prove theming works)
  • Copy for home page

[and these tasks once we're closer to the end]

  • Walk-through video
  • Reach out to at least 3 respected teachers who are known to be involved in using blogs with their students (these can easily be found using Google or on Twitter) and ask them for their opinions and advice
  • Reach out to at least 5 blogs that seem to have audiences that would like our app, and see if they’ll review it
  • Test some ad-words ($100 worth)

[and, ultimately]

  • Get at least 5 paying customers

That last one is obvious, but the scariest item of all (for me, at least). It crosses a line that I seem to have real problems with. Outside of consultancy, I’ve had very few paying customers for any of my apps. I don’t know if it’s a psychological thing, but I never seem to get to the stage of being able to take peoples’ money. Ah, that reminds me of another item for the dev list:

  • Payments

So now what I’ll do is flesh out the other tasks (login, probably next, then viewing a blog and posting to a blog, then the admin screen), and I’ll start working on the tasks and crossing them off. It’s really important that I can cross something off almost every day. The tasks need to be small enough to do this — especially on a side-project, where the time I get to work on it is really just the time spend not watching TV or reading stuff on the internet. For example, ‘admin control panel’ is a very bad task, unless it has nice, small child-tasks that I can cross off, such as ‘Show blogs belonging to account’, ‘Show posts awaiting approval’.

Also, you might be interested to know how this all works out for me. Well, check back in a few months. This project is bigger than my typical side-project, but I’m actually quite motivated to finish it. I’ve also got some other stuff taking up my evening time right now, but that’s actually good because I’ve been working on this for over a month already, and I could do with a short break to get some space.

Oh, and I ticked off the name and logo tasks already too, but they’re still secret for the time being ;)

Looking for a new guitar…

I have two guitars already, and most people would probably think that was enough. I would say not. You always need more guitars.

My Squier strat is the cheap kind that has weedy single-coil pick-ups. They’re OK, but I could really do with an upgrade. A Gibson style guitar is what I thought I needed, but then I saw this:

Not too shabby — humbucker at the bridge? That’ll do. Plus, if my little girl picks up guitar (and it looks like she might), she’d be rather pleased to be learning on something like this :)

A quick note for Toyota Previa owners with dead batteries that die or drain overnight

This is a quick note for people who might be googling for some advice as they try to work out why the battery in their Toyota Previa is dying. We’ve just had that very problem with our Previa (ours is a 2005 model, which is the version that Toyota introduced in 2002 , and is also probably very similar to the similar shaped 2000 model before it).

The symptoms were that the car would not start because of a dead battery after it had been left over night (or for a few nights). The battery would be fine when the car was parked (i.e., you could easily restart it 10 minutes after a run), but the next morning it’d be dead.

I started out trying to diagnose it myself (though with hindsight, I should have probably taken it straight to the auto-electrician). Obviously we’d checked all of the lights, switches and whatnot, trying to find something left on that might be causing the problem. I also removed the radio. Eventually, I disconnected the negative terminal lead from the battery and measured 100mA between the battery and the loose ground cable. I didn’t fancy isolating it to a circuit (by removing fuses and relays), because it would have been a pain to do with my standard multi-meter (holding it on the battery required two hands just for that) and there was no guarantee that I’d know what to do anyway, once I’d isolated it.

So I took it to an auto-electrician. He measured the actual draw as closer to 1A (shows how well my cheap multi-meter works!) and after a few hours labour, he had tracked it down to damp wires in the loom at the back of the engine bay. He replaced the affected wires, sprayed it all with silicon spray and replaced the battery (which had suffered from going flat so often in the sub-zero temperatures we’ve had lately). It’s working fine for now, and fingers crossed it’ll be fine for the rest of the time we have the car. I do wonder if it’s a weakness in this particular car though.

Anyway, if you’re having a similar problem with your Toyota Previa, take heart. I’d definitely recommend you take it to an auto-electrician. By all means, tell them what you’ve read here, but they’ll probably want to diagnose it themselves anyway, because there are other problems that can affect batteries in this way (like dead diodes between the starter and the battery).

Adding Features Wisely

This post is for people who build products. Choosing the features to include or not is a difficult task. To illustrate how I think about features, I’ll ask a question about a hypothetical product with hypothetical features…

Which would you prefer out of these two products that cost the same to buy, and let you do the same sorts of things:

Product A features Product B features
———————— ———————–
* Yay! * Wow!
* OK! * Yay!
* Mmm Hmmm * Yes!
* Yep * Fine
* Fine
* Yeah
* Meh
* Meh
* Meh
* Meh
* Meh
* Meh

The sad thing is, the time taken to produce those meh features in product A would almost certainly represent a significant cost, in terms of time, energy, bugs, complexity. As a result, you can be pretty sure that product B is going to be cleaner, more visually appealing, more focused.

Maybe somebody needs those meh features, maybe not. You certainly shouldn’t be delaying your product launch to add meh features. Maybe you think that your customers will expect those meh features, because the entrenched competition all have them in their products. That’s a poor line of reasoning that you should try to avoid. Far more likely a nimbler, lighter, cleaner upstart will be like a breath of fresh air that captivates a new audience. How are you going to compete when you’re busy comparing lists of meh features? Nobody will even notice you.

So be careful when adding new features to a product, and always be asking questions:

1. Why do we need this feature?
2. Who would use it?
3. What would they do if it weren’t there?
4. How will this feature negatively impact the product?
5. Should it be there at all?

There are other, better questions, but only you know what they are.

Wishing we could be young again…

When I was a teen, I used to dream about producing music. I kind of missed the boat on the first wave of dance, rave and techno that happened in the late 80′s and early 90′s, on account of only being about 11 years old at the time, but I loved the music that came out of the whole period and it massively influenced me. I loved the British indie bands too; James, The Charlatans, The Cure, Ride and all of the others.

I had a computer that was pretty good at the time for making music, a Commodore Amiga, and I had a cheap midi port, a cheap keyboard, and some very basic free software. It was enough to make some basic tunes, but back then you needed some serious hardware to make real music. You needed a mixing desk, ‘outboard gear’ for effects, mics, amps, speaker cabs, pedals, synthesizers. Only studios had this stuff, so you hired them out for a few hundred quid per day. A few hundred quid to me back then might as well have been a million pounds, and even if I could have afforded it, I wouldn’t have known what to do with all that stuff in a studio anyway. I knew nothing about music.

I guess a real musician, somebody really talented, would have been able to make excellent music with my limited resources. I’ve only just learned how chords are made up now, 20 years later. Back then I knew nothing. I did have a friend who was a really great piano player. One regret is that I didn’t work with him, because maybe with his knowledge of music and my knowledge of technology, we could have made something half decent. Maybe. One thing that I’ve learned over the years is that working with other people is the key to creating great things. Back then I probably just wanted to lock myself in my room and get on with it. In fact, that’s exactly how I still work today :)

Things are certainly a bit different now, equipment wise. For example, every Apple Mac comes with a program called GarageBand. GarageBand is a seriously fine piece of software. It has a whole load of built in sounds that make great backing tracks, and it’s so easy to record your voice or guitar in to it. It’s a multi-track studio that anybody can learn to use. Stepping up from GarageBand, Logic Pro is ‘only’ £140 in the App Store, and MainStage — effectively Logic without the recording, sequencing or arranging stuff (for live performances) — is £25. Reason and Ableton are between £300 and £500 depending on the version, and enterprising teens could probably find them cheaper elsewhere, if they were so inclined.

This changes everything. A regular desktop PC is capable of processing at least 8 tracks of sound at once, probably more on the latest Core i5 chips, and these apps all come with a whole collection of effects and samples all thrown in. One track per voice, one per instrument, and you’ve got a complete recording studio. Recording stuff can still get expensive — if you want to record several instruments simultaneously, for example, you need a sound card that can do that (£500 maybe) and a collection of mics (£100 each for the basic pro stuff). You can do it on the cheap though — a £20 cable from Maplin gets your guitar connected to your USB port — and all of a sudden you have every kind of guitar pedal ever made at the ready. It’s incredible. Budget stuff will never sound pro, but it sounds pretty damn good if you’re just messing about.

So, with a £50 second-hand Squire strat, a £20 cable and GarageBand, you can start recording:

OK, I know it’s crap, and no, you’ll never get that 1 minute 22 back, but I like to image ‘What If’. What if I’d been able to make sounds like that in the early 90′s — who knows where it’d have lead me? I guess my point is that back then, that sound simply wasn’t available to me at all — there is no way I could have recorded that because it required at least three pedals costing £100 each, and real recording gear. All I had to record on to was a tape deck (my Amiga, for all its musical prowess, had no built in recording facilities, and the sampler I bought only recorded 20 or seconds before it ran out of memory). To record multi-track required DAT, mixing desks — serious money.

I hope kids these days appreciate what they have available to them. Digital music, digital film and digital art is democratizing stuff that, 10 years ago, was utterly out of reach for most people. The internet, of course, is the biggest democratizer of them all. Once you’ve recorded your 1m22 of crap, you can click a button and post it to SoundCloud. If you do have talent, and you make stuff that’s worth selling, you can post it to BandCamp. I know every generation of children get something that the previous generation didn’t — our generation got computers for example, and I loved it — but I can’t help but feel a little bit jealous.

Introducing PuzzleMaker: WordSearch for iPad — a video walkthrough

Today I recorded a video walkthrough of my brand new iPad app, PuzzleMaker: WordSearch for iPad. The app was approved just last night, and is in the app store now :)

Here’s the video:

If anybody’s interested, I can post a ‘making of’, explaining how I made this video — scripting, recording and editing it.

Please let me know what you think! You can email me, or find me on Twitter (@adrianoconnor).

Make WordSearch puzzles on your iPad with Puzzle Maker!

Last year, in the week between Christmas day and New Year’s Eve, I started a small side-project. I’d intended to finish it in the one week, but that was outrageously ambitious. I made great strides in that week (I think it was maybe 70% complete by January 1st), but progress slowed right down in 2013 as normal life resumed after the break.

Progress slowed, but I continued to plug away. If you go back to a post I wrote in December, I lamented my inability to complete these side projects, with my particular achilles heel being the point where design became the most crucial element of the project. This time, I chose my project carefully: I made sure that the design was simple enough that I could make it work, and that the concept of this app was self-contained enough that I could draw a line under it in a reasonable amount of time, and with no need for servers or logins to maintain.

Today, this afternoon, I wrote the last line of code that will go in to the basic version that is 1.0, and almost immediately submitted it to Apple for review. I might regret doing that, because I’m sure to find bugs and have to re-submit… but on the off-chance I don’t find bugs, it will have had a head start. That’s my thinking.

So what is this app?

Introducing Puzzle Maker: WordSearch

PuzzleMaker: WordSearch is a an app for creating great looking word search puzzles, from scratch, on your iPad. Here’s a screenshot of a puzzle that is in the process of being made:

iOS Simulator Screen shot 9 Feb 2013 14.56.25

Notice the style is quite flat, like the UI-formally-known-as-Metro, or the UI in Loren Brichter’s recent hit word puzzle game, LetterPress. That was a choice I made to allow me to create the UI myself and still have it look great.

I’ve had to make some concessions to hit v1.0, and lots of features I wanted to add just aren’t in there. That’s good though, because it means that feedback I get can shape 1.1 and beyond — it’s better to base work on the things that people really want, rather than just the things I think they’ll want.

Looking for Testers!

I think this app is perfect for educators of young people, and coordinators of activities/groups for children. If you’re interested in helping me test this app, please email me. There are a limited number of free codes/test installs available, and I’d love feedback/bug reports.

Fingers Crossed

All being well, the app should be ready to go in to the app store within a week. Current estimates for iOS app store approval is 5 days, so hopefully we should be approved by Thursday. I’m going to look in to what marketing I can do in the meantime, in terms of reaching out to bloggers. I’m not very good at this bit, so if you have any ideas, I’d really appreciate your advice. If I manage to make any progress with this, there’s sure to be a blog post about it.

Price, Goals

I’ve set the price at tier 3 ($2.99). I think that’s a great price for an app like this. I’m hoping I can reach $150/month in the first month, tailing off a little in subsequent months. That’s my goal. It’s not overly ambitious, and it seems like a good place to start.

More to come…

I’m really proud of this app. I’m going to be writing lots more about it over the next few weeks — pre and post release, with results and stats. I do think that writing the code was just the easy part, now’s where the real stuff happens…

_who

Steve Klabnik blogged about _why being a persona, not an actual person. It’s a good read (as all of Steve’s posts are): why-is-a-role-not-a-person.

Superfox_with_levels

Steve is a smart guy, and his post is full of wisdom about the world of celebrity, and about _why in particular.

But _why is real!

I think Steve is wrong about _why being just an act, because _why was much closer to being a real person than, say, an actor or a sports person. _why was a really real person, and he was somehow doing these really amazing things that most of us can (and do) only dream of doing. He was being creative. Really, truly creative. _why’s creativity unleashed a huge amount of stuff — funny, inspiring and amazing stuff, and it left a huge impression on big chunk of people. Isn’t that what most of us also-real people dream of doing?

However, the actual man behind _why clearly wanted _why to be an act, because he kept his two lives so very separate. Steve says it’s wrong to track _why down, and he’s absolutely right. I don’t know if people are trying to track him down right now, maybe that’s what prompted Steve to write that post (I really don’t know, I just see a _why article and jump right on the _why bandwagon!).

Why the obsession?

_why’s legacy is more than just a bunch of useful Ruby source code and a PDF book with some funny foxes. For example, I don’t think I ever really wanted a blog of my own until I saw Redhanded. That style of doodling-mixed-with-text was just great, and it instantly made me want to start a blog. Sadly, I don’t have _why’s ability to write, doodle, or mix the two. But it inspired me, and you have this blog as a result. I think lots of people were inspired in many different ways by _why’s work.

_why did many things, but I think the biggest by far was the work he did towards the greater goal of bringing programming to the next generation of children. He started Hackety Hack, for example. This one, single, goal (combined with his inimitable _why style) resonated so strongly, with so many people, that I think it explains why so many people wanted _why to be a real person (and to stick around in the community). If you don’t believe that this goal of educating young programmers (mixed with a great plan to achieve it) could have that kind of effect, you should go to the Raspberry Pi site (a different sort of project but with similar goals) and read the comments (especially from the early days of the project, just after they announced). It resonates.

Being _why

_why was unique and, seemingly, very genuine. If we aim to emulate _why, it should be that uniqueness and genuine-ness, not his actual style (foxes above excepted, and apologies for the lack of question mark too). The work he started with Hackety Hack continues, and the project is very polished and very mature now… but… you could be forgiven for wondering, just a little every once in a while, what might have been had _why stuck around.

Anything else?

He recorded an album. It’s not going to be for everybody (what music is? I’m Biritsh, so I don’t know the proper term, but I’d call it American indie/garage-rock, a bit like a slightly rockier version of Postal Service maybe). I love it, and you can listen to it on Spotify. Making Sense is a particularly good song.

P.S. This post ended up quite rambling and without much purpose. Sorry about that.

P.P.S. Sorry also for the lack of links. It’s late and I wanted to blast this out. You should check out the Hackety Hack project though, it’s excellent.

Failing to write apps

I failed recently to write an app. I started in November, in my spare time, and I planned to have this app ready for Christmas. It’s clear that I’ve missed that goal, so I can now chalk it up as another failure. Failure is rubbish, but I feel good about this one – I didn’t just burn out or grow bored and move on to something else, and I learned something about myself.

The app was to be a colouring book for the iPad. I wrote it with my little four year old girl, and she got to see first hand the excitement of creating something like this from scratch. She loved the whole process, and she loves the app in it’s current, unfinished form. I wish she could have seen it go through to completion, and being downloaded by strangers who like the app and actually want to pay money for the thing we created, but that phase will have to wait.

Analyzing the reason this project failed also revealed something interesting — I’m scared of making an app that look ugly. I think the reason most of my projects fail boils down to this one fact: I suck at graphic design. It’s the phase where I always grind to a halt — I build out the platform, get the technical plumbing all done, and then I freeze in the face of visual aesthetics and certain aspects of UX/interface design. Looking back over all of my failed side-projects, this is the key weak point in them all.

With this colouring book app, the thought of getting the interface right bugged me. But even that was some way off. My first stumbling block was the chunky line art black and white pictures for colouring in. I was going to ship 8 images with the app — 4 regular and 4 seasonal (for Christmas) with more free seasonal pictures throughout the year. I wanted also to have a pack of 24 or 30 pictures that you could buy for $2, with more packs added later.

I drew some pictures, first using a mechanical pencil, and then going over the outline with a medium sharpie. The results looked good on paper, but the scans looked stark and the outlines were too harsh. You could also blatantly tell they were hand drawn. I tried various Photoshop filters, which certainly helped, but still not good enough. For this app, I think the answer lies in vector art, and Adobe Illustrator (with the trace tool) in particular. I need to get good at using Illustrator before I can finish this app.

Hand-drawn snail

So it’s another failed app, but at least I’ve had a bit of a realisation with this one — and I now know where to focus my efforts for the next time (or to look for projects where this weakness won’t bite me so hard). I have moved on to the next project already, but this one will sit in the front of my mind for a while longer and will hopefully get done — not least of all because my little girl keeps asking me for progress reports :)