Amber Weinberg: Freelance Web Developer specializing in semantic WordPress, Mobile, CSS and HTML5 Development

The Blog

10 Things I Learned While Building An App

Posted on 06/02/10 in blog, development about , , , , , ,

Even though there’s a ton of stuff left to do on codesnipp.it, I’m REALLY glad it’s finally out in beta and being used. We’ve spent tons of time and work on it and was worried no one would use it!

Building your own app is a completely different experience from working with a client. You really have no guidelines to go on and no one’s paying you for the work (and you’ll most likely end up spending money).

As we were building an app, I took it upon myself to do a ton of reading online and off and listening to podcasts about app building. I’ve certainly learned a lot, although most of it has come from the experience itself.

So if you’re thinking of starting your own app, keep these points in mind!

1. The Power of Your Circle

It was amazing how much help, time and resources we got from everyone who’d only heard of the general concept. Once they realized how awesome the idea was for the app, they were eager to donate some help. So thanks everyone for your help and especially ZeHosting who’s dealt with us finagaling their servers and TriLion Studios who did the beautiful design.

2. No Matter How Long You Think It’s  Going To Take…Double It

I estimated that it would only take us 2 months to finish the entire application. Less than halfway through, however, we began moving features to a second and third planned beta. If you have the time to spare, give yourself extra time to get all the coding done.

3. Launch Beta On Time With The Fewest Features as Possible

Even though you should give yourself extra time, you should also try to launch as quick as possible and then make small updates quickly and often. When we launched codesnipp.it Monday, you couldn’t even change your temporary password or have an avatar! These small features were added in just a bit after launch – and most people didn’t mind. People realize that the app isn’t going to be perfect when in beta, so take advantage of that knowledge.

4. Everyone Has an Opinion On Your App…And A Complaint

I had several rounds of “opinions” that I garnered from close contacts and friends on the web about the app, all the way from just the idea to the design to the full site. Everyone had a different opinion about design, layout, features and the way things work. It’s great to listen to these guys because they often have great ideas, but that doesn’t mean you have to do everything they say. Take their opinions with a grain of salt.

Also, people will always complain no matter how many features you do have. Just remember this when you’re contemplating whether to add an additional 500 features to the app.

5. Everyone Loves A Beta

Betas are great for testing out the app, but they’re also great for building anticipate and participation. People love being first to the next big thing, so have a beta sign up form while you’re in development.

6. If It’s A Good Idea, People Will Help You

I mentioned above about how much help we’ve received from everyone. The cool thing is, if you’ve got a great idea and a nice presence on the web, a lot of people will actually offer to help you! If you do let people help, make sure you pay them back in return work, free ads or some kind of shout out!

7. There Will Always Be Haters, No Matter How Awesome The App Is

You know Twitter and Facebook, the two most popular apps ever, have a ton of haters. Your app probably will too. Some people just want something to be mad at. You’re free to ignore these ones.

8. It Will Never Be Perfect…So Just Do It

I was afraid to hit “Go” on our beta invite script because I’d knew then that I wouldn’t be able to stop people from checking out the app. What if something broke? What if it’s messed up in IE (like I care?)? Nothing will ever be perfect so just pull the trigger – turns out the small bugs we had didn’t actually hamper the workings of the app all that much.

Also, it’s good to do a small “pre-beta” test for a few hours with 10-20 people just to make sure it’s ready.

9. Plan On Spending The Last Weekend Working 24/7

Yes, we worked the entire Memorial weekend to get the app out to you – plus it was my little sister’s high school graduation as well. Plus I had about 6-7 client projects scheduled at the same time – and I have to work this entire week. Yes, I’m very, very tired. But I’m also very, very proud ;)

10. If Something Sucks The First Time, You Can Always Fix It In Beta 2

We had no avatars, no account details, no color coding and no search when we launched. We now have partial account details and avatars. We plan to not have an actual “beta 2″ or “beta 3″ but instead plan to add a new feature each week or so until we’re finished – and even though we’ve paired features down to the essentials we still have a long way to go.

Also, some things don’t have to work perfectly the first time. Currently, we have a limit of 20 posts for each free account, while the number updates itself, it only does it on reload (not AJAX like the rest of the site). This is something we plan to fix later.

Your Apps

What have you learned while making your own apps or projects?

image by Bart Claeys

About the author
Amber Weinberg specializes in clean and semantic XHTML, CSS and WordPress development. She has over 10 years of coding experience and is pretty cool to work with. Amber is available for freelance work, so why not hire her for your next project?

16 Awesome Comments

  1. Fenak says:

    Hey, I was there on the pre-beta, nice work!

    Really glad you took this out! ;)

    • Thanks ^_^ Hopefully everyone will continue using it

      • I really see a lot of good coming from this site. I always look for a website where I can help other developers and they can help me back, but the same old forum scenario gets so boring and old real quick, not to mention the misleading “ranks” and “join date” and “post count”.

        In it’s youth, codesnipp.it is just developers talking about development. It’s nice, it’s fun, and I’m already learning a lot from it.

        • Yea I’ve noticed an elitist attitude on a lot of sites. I’ve already noticed some people on codesnipp.it trying to take that attitude and it will most likely get their accounts taken away if it becomes nasty.

          While I’m for free speech and free reign, I want to take sort of a dribbble/Steve Jobs attitude towards the site to make sure there is only high quality work on there. Therefor, spam, nasty attitudes and terrible code won’t be tolerated ;)

  2. My app is still in development stages (has been since Feb. 09, I don’t have as big of a circle as you do!) but I just recently climbed the largest obstacle and set up a beta sign up page myself. Kind of neat to know that it builds anticipation!

    Mostly I’ve learned that it’s kind of like a work out program. You’ve really got to push yourself to do it, because you’re the only one who’s going to make it get done.

    Hopefully I will have the courage it takes to hit that “go live” button!

    Thanks for sharing.

  3. Ryan says:

    I am just starting work on my first app, in the design phase right now, but this will totally be in my mind. :)

    ps- I enjoyed the pre-beta and am loving the beta, I am here for the long haul. :D

  4. Love your number 3… Get it out there. True in all fields, I think. Especially today, because feedback is damn near instantaneous, the missing piece, if it’s important, can be added when the demand dictates.

    like #4 too… for me, I like to take in all opinions and then just shut it down for a while. If I get stuck, I’ll open the discussion back up. Repeat. repeat. repeat.

    Sadly, I’m not a developer (it sounds like the coolest job ever, to me anyway) but the principles of what you are doing in launching this app are universal to any situation where you are embarking on a new challenge.

    ~Mike

  5. TheAL says:

    #2 is especially true. Even during my cockiest moments after I’d finish a big school project super fast that worked great, usually a small piece of offline software in C++ or VB.NET, for any project you have to pad the expected time of completion. I dunno how many times I’ve tap-danced through code and then nearly had a heart attack when I compiled. Or it compiled fine and then I’d get a flood of “this doesn’t work right” from people I had testing it.

    And #8 is great as well. Nothing you do is perfect, and people will always hate, so just do it! At the very least you’ll have fun and learn a lot. Heck, you’ll even get elitists arguing, “It’s not an app! It’s a social site! Learn your terms! gagagagaga.” Just do what you wanna do.

    All in all, I’m glad it’s going well so far. Also glad you liked the Twitter bg. Much thanks for using. :-)

  6. Amber says:

    I can personally attest to a few of these and I haven’t even launched yet.

    For #2, that is sort of why we haven’t launched yet, and I feel that I’ve pared down our featureset as much as possible to get to the minimum viable product. I am still concerned that it is too minimal, but even that is not ready yet.

    And for #7, that has already come out on the blog. Even though I try to ignore, there is always that vulnerable part of you that says “Oh my gosh, everyone is going to hate it and hate me too!” I would like to say separate yourself from your product/app but that’s not really a reasonable solution when you pour your heart and soul into something. I haven’t quite figured this one out yet…

  7. Great article. Stuff like Avatars and even Password Reset were left off my initial version also (and I still haven’t gotten around to doing them. )

    One more thing: I don’t want to ask super nicely for a beta. A bit belittling, no?

Leave a Reply