Coding For Users: First Feelings From Coding A Product For Others

I spend a lot of time writing code. It's what I get paid to do, and it's one of my favourite pasttimes.

At work, most of my design is based off of pre-existing pages in the application. There's not much thought to put into it. When developing from scratch, then it becomes a whole other ballgame.

I've recently started on a new website called!, and the idea came mainly out of necessity for myself. As a gamer, I like to play with others more often than not, but I find it a hastle to get in touch with everybody. You have to text, call, Facebook message, carrier pidgen your message to everyone. What a pain. I'd rather click a few buttons and have a website contact all my friends that want notifications for the game I'm playing.

I've been working on it for about 3 weeks now, and am almost ready for a first version to go live. That being said, I've already gotten some feedback on it.

Release Early, Release Often

I'm not afraid to release several times per day. Thankfully, I can do zero-downtime deployments, and nobody will be the wiser.

I think this is important. For starters, it means that getting a new feature into your user's hands is quick and painless. And if it does go belly up, then rolling back is just as easy. Capistrano has been the best tool for this for small-scale deployments, and may continue to be what I use depending on how large this grows.

Feedback Is Crucial

After putting an initial version in my friend's hand, she quickly exclaimed, "Where is everything? What are all these icons for?". They seemed obvious to me. Clearly they weren't, because I was already familiar, and I'm a very technically-minded person. I've now learned that my menuing is unintuitive and needs some changes before this is ready for general availability.

I'm used to coding where I will be the primary user. While I plan on using the site when it's done, I am not my primary user: other gamers will be. Gathering feedback from others has been very beneficial, and this site will surely fail without it.

Don't Forget About The Money

At the end of the day, I'm doing this for myself, but the site doesn't run for free or by itself. It requires servers, domain names, SSL certificates, and backend components, and all of that gets powered by money. I need to have a way of getting paid for this. At the beginning, it'll come from ad revenue, but eventually I need to offer a premium version with a monthly fee.