Lessons Learned Building Momento Jar App
There are lots of success stories The Verge writes about, when it comes to apps. But for every app that makes it, there’s 1000s that are lonely in the sidewalks. Some of them are really good, and built with lots of hard work. Recently I built an app, called "Momento Jar" (momentojar.com). While it hasn’t been an overnight success, there has been a few takeaways from building our first end-to-end app for iPhone.
The idea is very simple. We always have little functions and getaways within our little family and few close friends. The problem is sharing photos at the end of the day. Dad’s photos never leave the phone. Mum, puts about 5% of them on Facebook (i.e. 1 to 2). Then couple of my social-butterfly-friends diligently puts up their stuff on Facebook. I instagram a couple... you get the idea. One story... many places. I just wanted something that would help everyone contribute their pictures to one spot. A community album, that remains completely private, just among the sharers. There’s lots of possibilities after this point to capture an event in a more elaborate and descriptive way and to share, but we decided to stay true to the core idea initially.
Here are some of the lessons from building the app (+ supporting web service). Read through, and leave your feedback. I’d love to hear about stories of success and failure and things you’ve learned out of it! I’m sure there’s lots of app makers here, surfing the forums!
1. Think about marketing from day one!
Something I was never able to do was to have a marketing strategy. When Momento Jar launched, not many people downloaded it. This probably doesn’t mean it is a terrible app. It just means we haven’t done the right things to market the app to people. Having a website and tweeting isn’t enough. Contact review sites before the app goes on sale. They seem to love this. (Something I learnt post launch.) Also, read through the following articles for some inspiration and ideas about marketing a smartphone app:
Everyone app needs a unique story. It doesn’t have to be unique, but its story has to be. Best to spend time on this initially.
2. If you’re in Australia, register your company ASAP!
It took us 2+ months to get a developer account with Apple. We had a partnership business registered with Apple, which we decided to turn into a Company. While this didn’t affect development, it delayed our launch by 2 months!! Steps:
- Register an ACN using an online provider. Money spent is well worth!
- Register an ABN. We had to go back to ABR for GST. Apple insist GST on all ABNs even though Australia law states only businesses with income 75,000 and more requires GST. If you apply GST later, it will take 2 weeks.
- Register with Dunst & Bradstreet. Apple uses these guys to validate your company. This takes about 3 more weeks.
- Finally, register with Apple.
3. Design is an iterative process
Usually, designs don’t come easy if you don’t have much of a design background. It is important to understand that designing is an iterative process and there are few things you have to get on top of before you start to design your app + icon.
- Buy a sketchbook. If you are not willing to draw your ideas in pencil, then get someone else to make the designs. You can use Balsamiq, but it is no sketchbook.
- Do more than 1 design. Explore. Spend time on it!
- Good artists copy. Look at lots of other apps and designs. Creativity is mashing ideas together to innovate something new. Use what’s out there already. It is also good to follow a few conventions for usability sake. Try not to reinvent where the back button goes...
- Skeuomorphism is an old idea. Try to stay modern unless you have specific needs such as your app is made for kids etc.
- Learn the tools. Learn photoshop or fireworks. No craftsman is successful without intimately understanding what he’s got to work with!
- With icons, there’s a few considerations: - It should stand out among other icons. It needs to be that annoying kid in class always raising his hand for questions. Your icon must do that. Look at competition and place your icon there. - Icons should identify with the name of the UI of your app. - Icons should show just 1 thing. It gets tough to notice at such tiny screen spaces.
Here’s my attempt at an icon. These are few iterations to come out of photoshop:
Here are some app design iterations for Momento Jar:
Keep at it. Iterate over even the smallest things like the kind of [+] buttons you use.
4. Better to spend a short time building the app
I have a day job which pays my living. App making is really a semi-hobby thing. This means only 10-20hrs a week of work available for building apps. Even the simplest app could take 3-4 months to make. Long periods of coding with nothing much to show for will soon result in an unfinished project. Even if you’re filled with motivation and determined to go all the way, the road gets windy in the middle. So aim for a small app. Features can come later.
5. Go Lean
Run on Lean Startup principles. Pick up the book and read. Learn to cut your idea down to the assumptions you are proving out and figure out what’s the best way to get there.
6. Use Heroku + Amazon for services
It is not a good idea to be burdening yourself with server hosting and updating your servers with latest security patches etc. Use heroku.com, especially if you are using Ruby on Rails (you should for a startup! It is great to get a head start). It is a matter of connecting your git repository to heroku’s remote server and the app automatically deploys. It is good to delegate the job of dealing with servers to professionals. It is pay as you go and runs on EC2. Same goes to Amazon with storage and other crazy amazon services. There’s tonnes of them.
7. Use Libraries and Boilerplates, Github is your friend
I have a personal boilerplate for iOS and Android projects. All libraries come setup. You should build your own if you are going to make more than one app. This will save you DAYS. Always search on github for libraries on things you want to do. Easier to have someone write and test the code for you.
Here’s a list of iOS libraries used in MomentoJar:
MKNetworkKit, Glyphish and noun-project icons, MBProgressHUD, Facebook SDK, Amazon SDK, Camera+ API, GMGridView (diff clone), GPUImage, Google Analytics SDK, MKStoreKit, MTStatusBarOverlay, NSOperationStack, TestFlight, UIImage+Resize.
If you need images for backgrounds etc, approach flickr users. Some of them are more than happy to let you use their images for FREE with a small credits mention.
8. Take time off for personal things
Personal life happens. Make sure you don’t neglect the people around you and spend time with them. It is important to switch off from what you do from time to time. Go to the beach on the weekend, maintain your health by exercising. Fresh ideas come with fresh perspectives, which are difficult to come by if you’re stuck in a rut.
That’s all. Good luck building your own apps!
Would love to write more about app making experience if anyone’s interested :)