What if your users are developers?

Art they, or aren't they, that is the question: Whether 'tis Developer in the mind to suffer. That’s how Shakespeare would have written his words if the Internet existed at the time and developers would have been considered a noble part of society!

Nowadays, when the Internet is full of cat videos and bears jumping on trampolines, we can safely say that a developer is, to some degree, like a modern Shakespeare. He writes plays in the form of code, and some of them are good (the plays, of course), some of them aren't but that doesn't stop him from writing and creating great plays.

If you’re reading this, you might consider yourself as being a developer? Right? Ok, I’m glad we cleared that up! Your skills make stuff work and some of the apps you make are used by other people. Aaa, the magic word! Peanuts? No, people!

Without people your tools or apps are pretty much useless. Why you may ask? Well because for starters people are the core of the community that gets built around your app.

It might not be a finished product, it may be still in alpha stage of development, but it’s been written with great care by you, it’s your baby and you take care of it, you nurture it, just like a beaver takes care of its dam. Ok, but still, you’re a great developer and you made a great app that can breathe fire through it’s input fields and people don’t appreciate it. Well maybe because it’s been written under the pressure of time and building something under the pressure of time isn't a great idea. I mean look at the pyramids, they got build over a very long period of time (20 goddamn years!), and I’m not saying that you should do the same but no need to hurry. Or maybe the technology isn't advanced enough for your awesome ideas. Who knows? You certainly don’t.

Let’s start from the premise that you’re honest about your work and your work reflects your skills as a developer. You accept the fact that your app has flaws, you know them, you acknowledge them and your users understand this to some basic level. They’re mere mortals, they can’t understand the powers involved in creating an awesome app like yours!

But what if your users were developers as well? What happens then? It ain't going to be pretty, I’m telling you! Developers as users are like bulls in a single china shop! It’s a curse and a blessing at the same time. Why?

Well because they might know how you build the app or tool, they will test the hell out of it and they will break every single “china in the shop”! But keep in mind that this way you’ll get rid of all the bad bugs (bugs = china, for anyone who asks) from the start even if that means you sacrifice a few good features!

They will click on every nook and cranny, every possible corner, until they find an error and when they do, because believe me they will, they’ll send you a screenshot of their desktop, that's full of apps and other gibberish, because they don’t know how to open MS Paint and crop the error out from their screenshot, and your Inbox will be flooded with screenshots of errors surrounded by lightsaber-wielding-kitties running around on flying walruses over a field of rainbows!

They start to complain about stuff not working and not being able to do this or that, comparing your app with others on the market that might offer similar services.

Nooo! That’s my baby, they can’t do that! Yes they can and they will, because developers, more specifically people, have a tendency to break stuff that doesn't belong to them, because you know, they can’t have it entirely for themselves and they want to know how it works even if that means that they are going to break it into a million screenshots.

As developers they should understand with ease that an app isn't going to write itself and that it takes time to get it right from the first try. This principle applies to all apps and tools out there (I’m looking at you, Apple Maps!).

I said it before, I’ll say it again, be honest about your work, accept all the flaws and don’t hide behind a made up title that you found on the Internet to cover your own issues and the issues you have with your app, because your developer users will transform from innocent users to an angry-app-eating-mob.

But having developers as users has it’s good parts, right? Right! They can provide valuable feedback about stuff you might have missed during your long debugging sessions in the dead of night. They also might help you in the process of rebuilding those “china's” that they broke earlier in the process. Because having multiple minds focused on a single subject can have a tremendous impact on the final outcome of the finished product. And we all want users that are happy about the app that they use.

Accept their suggestions or criticism (except those ones that cross the line, you can ban those bastards!). If you win a developer, you win everybody who listens to him. They will like you, they will like your product, and they will recommend you to anyone who asks.

If you messed up something, say you did, apologize and your developer users will understand and carry on. Don’t apologize 3 days later saying something like “Sorry if that may have caused inconvenience!” (I’m looking again at you, Apple Maps!). There is no “may” in this situation because it did cause something, and it wasn't very pretty. Your developer users aren't going to like it, not one bit and you’ll soon be surrounded again by that same angry-app-eating-mob (we just got rid of them, dammit!).

To end this article, because I know you got bored reading it and you want to return to your cat videos, I’ll leave you with this: having developers as users to your app or tool is difficult. They can be great users and provide useful feedback and suggest improvements but they can also be a big pain. If you can make this happen, it’s a wonderful thing and the web is going to get more awesome than you might think, if you can’t, it may hurt.

Until next time, code long and prosper!

Stefan