I love interacting with our Twitter followers, giving them sneak peeks of things I am working on for Alfred at that particular moment in time. Screenshots of upcoming features, keeping the change log up-to-date, discussing future ideas. However, this poses a bit of a problem.

Alfred is under heavy development and currently releases very regularly with pre-releases every 2 to 3 weeks and a general beta release every 4 to 5 weeks… Even so, posting these tidbits brings a response that I would liken to when I was younger, gently and methodically prodding the back of my dad’s seat on a car journey…

“Are we there yet, are we there yet, are we there yet…?”

While I absolutely LOVE the enthusiasm from the users for Alfred’s development, creating and releasing native software isn’t an easy thing. Just because a screenshot looks complete doesn’t mean it’s ready for everybody to use. The UI may not even be wired up or functional, or it may have quirky or missing behaviour, resulting in software that does not yet work properly.

I pride myself on the quality and stability of my releases so I simply will not release something until I am entirely happy that YOU, our fantastic users, will also be happy with it… I re-learnt this lesson 100 times over by releasing the iTunes mini player too early. I spent more time supporting this unfinished feature by email than I did trying to improve it for the 0.7.1 release.

Think of the software release cycle as baking a cake. You put some ingredients in, you mix them up, maybe add a few additional ingredients that weren’t in the recipe to make the cake extra special and then you start baking.

After spending all this effort making the cake, the last thing you want to do is take it out of the oven too early and ruin it.

With that in mind, just remember that I have big plans for Alfred, and even BIGGER plans for the Powerpack. Be patient and don’t make me get the cake out too early, as it will be oh so much more delicious when it’s ready. :)

I only want it when it’s ready and I do appreciated the occasional Tweet update. I like the teasing aspect, it makes me really want the next thing when it (eventually) comes and I only occasionally get (only mildly) annoyed that it’s not hear that.

That last part is my problem, part of my insistent, impatient want-it-now mentality. Don’t apologise for this, it’s my stuff :)

This all reminds me of @notch and his Minecraft. I wish you as much success as he’s having and if you keep the quality as high as you have then you will always have happy users like me.

And we (or at least, I) love it that you interact with us. There are too many developers out there who disappear and let their apps die stillborn. Staying active in the community is the best way to let us know that Alfred (and you) is alive and growing. Keep it up! :D

Please don’t let those who don’t fully understand software development scare you away from showing the rest of us previews. Your engagement with users is a big attractor to Alfred. It’s obviously critical on the support side, but it’s a lot of fun to see you working hard to keep improving this already-great product and feel more involved in the process.

I love the twitter teases but they make it seem like releases take that much longer. Like I feel like I’ve been waiting for 0.7.2 for months since I’ve been seeing (what seems like, daily) screenshots and tips. I did like when you released that test version on twitter that was neat! I think I’m rambling. Keep up the awesome work!

This always happens with users when you show them an feature, they will want it, allow them to touch it early and they’ll complain even though you said it wasn’t ready.

Where we work we have a policy to only use a specific set of users into beta programs, users that know how to handle it.

When we do allow a public preview (or a beta release) we have standard responses ready or do not respond at all.
I know this probably isn’t the best way of handeling it, especially for this great great product, but that’s how we do it.

Glad to see this kind of attention with the releases. Some developers just want to bloat their apps with as many features as possible and wait to see what sticks and what falls. I’m not a developer, in fact, I can’t code nothing more than a “Hello World!”, but I you folks are in the right path of thinking: create a feature, test it, see if it’s usable/stable and release it. Alfred do this, and do well. Thank you.

P.S.: Will the clipboard icon be white/purple as the “default” icons? I love UI consistency.

Thanks for this post, Andrew – I think your strategy is dead-on. As a developer myself I have an enormous amount of respect and admiration for how quickly you turn out new features and bug fixes; as far as I’m concerned, 4-5 weeks is pretty damn fast!

I bet it can be frustrating, but do your best to take users’ impatience as a compliment – we can’t wait to get our hands on the great new stuff you share with us on Twitter in advance of your releases. And remember that you’re the one behind the wheel, so at the end of the day it all happens on your schedule. We’ll be patient if we must, because we know it’s worth the wait every time. :)

And I echo the thoughts of others here, that one of the things I love about Alfred is your constant interaction with your user base. Personally it makes me feel like I’m a little part of the process, and it makes me that much more attached to the product. It’s very brave and tenacious of you and your team to maintain that kind of connection so consistently without allowing feature creep to happen. You do an amazing job of balancing your own development choices with the feedback from your users, AND you still manage to stick to what I maintain is a delightfully speedy release schedule.

Alfred is one sophisticated cake, deserving of respectful consumers. I would prefer to think of us as tasteful customers at a world-reknowned bakery than five-year-olds clamoring for the biggest piece at a birthday party.

That is one of the toughest parts of being a developer, you have to balance between interacting with the users and coding. In my honest opinion, you should cut back on the “teases”, people react differently to screenshots and teases than from your typical tweet updates. You might also want to cut back on saying things like “might be next weekend” or “soon”. Soon means different to everybody and that’s why you shouldn’t be vague about it. If you have a release date set, than share it, if you don’t, don’t say anything about it.

One of the things that you’re doing is letting people set an expectation that Alfred is going to be released every week or two weeks and that’s usually happens when software is young. The release cycle will naturally expand as the software matures but the public’s patience don’t change, they’ll have the same amount because the public’s rate of change on their expectations or habits is far slower than the rate of release cycle.

You should go Apple style, people do like to be surprised whenever there’s an update. That doesn’t mean you have to stop tweeting or interacting with people, just less talk about the future and focus on the now while you work on the future stuff.

For me personally, I rather you spend all the time working on the application rather than trying to answer people’s question about the new update when it isn’t even out.

Alfred is so great already that it’s no problem at all waiting for updates. I like the tweets because they get me excited about upcoming functionality, but not to the point of impatience; just excitement.

For what it is worth. I think the releases and sneak previews are a good idea. They keep the end user informed and those who are advanced enough will realise how far the release is from finishing. It also shows the direction it’s heading in and offers opportunity for discussion and debate.