Want a free year on Tuts+ (worth $180)? Start an InMotion Hosting plan for $3.49/mo.
Retracing the steps you've taken is a helpful way to understand how well you've executed your vision - whatever that might be. What could you have done better? What should have been avoided? Today, I'll share what we've learned (and are still learning) while crafting Gradient. It's an experience that has changed everything for us.
Building a product, be it a native app, web app, or service, is always a challenging task. However, once we convinced ourselves to follow a few pieces of advice, we managed to ship something we believed in. And this is what I'd like to talk about.
It All Starts with a Simple Idea
For as long as I can remember, I've always felt that great products needed unreachably smart ideas to be built. I was exceptionally pleased to find that this is not necessarily true.
More often than not, if you find a simple way to solve a problem that you personally have, you're probably going to make other people's life easier as well.
Turning that solution into something you end up selling or giving away for free (that really depends on your vision, which I'll talk about later) is the most logical following step.
In our specific case, we were building our own website, which is rich with linear gradients, and I found myself complaining loudly about the tedious process of writing lines and lines of CSS code - all for the purpose of making every browser agree on the fact that you're actually writing something they can understand.
"What if", I asked Yari (@yariok, the developer), "we had a native app that took care of it?"
Your Vision Will Lead the Way
Once you have your idea, however simple it might be, you get to decide what goals you're setting for yourself (or your team).
- Do you want to make money with your application or service?
- Do you want to be glorified for your incredible prowess in development or design, while not making a single buck in the process - with the side-effect of becoming a respected authority?
- Do you simply just want to have fun?
- Do you desire a one-time release with no further hassle? Or, would you prefer to follow an iterative process
Every choice will be influenced by what you want your path to be.
The investments differ dramatically. Maybe you dream of turning this project into the only revenue source you have and finally get rid of client or office work. Whichever the case might be, stick to that. Every choice will be influenced by what you want your path to be and you will have a much easier time when facing a fork if your vision is strong since the beginning.
Here's more or less what we decided for Gradient:
- Paid App: So that we can cover our investment at least in part.
- Iterative Development: This will allow us to add features gradually and grant exposure for a longer time-span.
- 100% Custom UI: My fault!
- Exposure: We want to be recognized as competent in what we do (glory!)
As with anything, there were also a few bonus goals. It would be nice if people I learned CSS from used my app. Also, what if this app created new possibilities with people around the world?
Once all this was set, we did everything we could to make the app a reality.
Have a Plan Before Writing a Single Line of Code
It's quite simple, actually. If you have a good plan laid out, you can have a measure of how much work is going to be required to develop your project. This means that you can start marking dates on your calendar. This also means that you can begin creating expectations for those dates. Ultimately, this helps if you plan to create some hype among users and the media.
These trivial tasks will undoubtedly turn into huge time sinks.
Many times, especially if you're not used to promoting or communicating your work, when laying down the plan, you will forget about some apparently trivial aspects. Of course, you're focused on getting your "creature" just perfect for the launch or beta, and you think the rest will be taken care of in no more than a couple of hours. These trivial tasks will undoubtedly turn into huge time sinks.
For instance, you're not used to marketing lingo... or you haven't thought of everything that might happen when your product finally reaches your potential first users...or you forgot about a banner...or the mail you will be sending to your beta testers. Countless little things like this will add up quickly!
A Note on Focus
Often, when you're excited about what you're creating, new ideas, beta tester suggestions, and nice-to-have features will come to you during your sleep.
These ideas have the potential to deter you from your planned path.
It happens all the time - and certainly did to us. Take time to consider thoroughly if these new ideas are truly worth the diversion. In most cases, stick to the plan.
Prototype Like There's no Tomorrow
There's nothing quite as valuable as building something usable quickly. Weaknesses in the UX design of your product are so much easier to spot when you're actually using what you've built. There's not much theory here, really. I think this is the most straightforward step.
A couple of hours after my initial complaint, we had the first rough incarnation of the app. It had HEX input and the output was messy code, but the idea was definitely in front of us.
We added from there, building what we decided was the very basic array of features our first version needed to have, and then refining the usage patterns in order to streamline the user experience as much as we possibly could. We wanted it to be the fastest solution for that problem. We were and are aware of free and well established competition and our focus went on refining those features our competition couldn't have.
Don't Be Afraid of Talking to Strangers
In fact, they're your best friends. There's no room for introversion, if you plan on creating your own application or service. You absolutely must get in touch with other people, such as opinion leaders and those who you admire (or even intimidated by). But beyond these folks, also connect with lots of geeks like you! You definitely want people to talk about your project and the only way to let them know is to speak to them directly.
Once you do so, expect one of the following reactions:
- questions / problems / complaints
- ideas / suggestions
- thumbs-up / hi-fivers / hugs
- nothing at all (frustrating, but common with some "celebrities")
Seek publicly available email addresses, reach out on Twitter, use every instrument you think might be relevant to your target audience (Dribbble, Facebook, you name it), listen to what the others are saying, and engage people in relevant conversations. It's time consuming but it will make a huge difference.
If executed correct, the pieces quickly fall into place.
For us, this engagement pattern led us from less than 300 followers on Twitter at the beginning of September, when we began our closed beta, to 1000 and counting on launch day in November and a growth in actual amplification that went from no more than 5 retweets on the first beta announcement, to more than 70 retweets and many other support messages from the entire community in November - including many of our heroes. Visits to the website and registration increased exponentially.
Additionally, this led to new interesting business opportunities, connections we could only dream of just a couple of months ago, a lot more visibility and also some new good friends. If executed correct, the pieces quickly fall into place.
There's a Price
It's tricky, though - especially for people like us who prefer creating things over pricing them. Again, your vision will help you with this, providing you with at least a range of options.
Studying your market of choice, especially in contexts like the App Store, where the data is mostly kept secret, is difficult and takes time, but, again, rational thought comes in handy. Here are the questions we answered when coming to our decision:
- What's the price of similar products? (on the App Store in this case)
- Do we want it to be an impulse or a well-pondered purchase?
- Based on the development effort, how much money do we expect to make? Can we estimate how many units we could sell?
- How much would we be willing to pay for it?
- What benefit will people have from our app? Is it countable? In this specific case, how much would they be willing to pay for the relevant amount of time saved?
As a reasonable indicator of how things are going, we're right now evaluating user feedback. Unless what you build is free, there will always be someone screaming at you because your product costs money. However, if some of these buyers reply to you, explaining why the price is reasonable in their eyes, you've likely hit a sweet spot. (And you have awesome users.)
Hit the Shelves or the Screens
Building your own product is both a challenge and the most rewarding adventure in our industry.
It's a wonderful experience; building your own product is both a challenge and the most rewarding adventure in our industry. Ironically, the things you learn in the process serve to be the best prize at the end of your path. The connections you build along the way are extremely valuable. You gain respect, because you demonstrate you're able to ship. You transition from an idea, to execution.
Once your product reaches the public, a new journey begins, and many new interaction possibilities open up. Still, though, the same rules that you've followed still apply. Don't stray from the path.
We're sticking to our plan. So far, things are going exactly according to plan!