23 August 2013
Guest piece: Columbus Little – From app concept to working prototype
Philip and Tobias Schneider are the creators of Columbus Little, an app that lets kids discover the world in a playful way. Philip and Tobias are currently running a campaign on Indiegogo to raise funds for Columbus Little.
This piece is the first of a two-part series on turning an app idea into a crowd-sourcing campaign.
In January, we decided to dive feet first into building an app called Columbus Little. Based on our experience, we’d like to share some lessons from our journey, starting with how we transformed our idea into a business model to build a prototype. Our second article, to be published next week, will discuss the lessons we learned as a result of starting a crowd-funding campaign on Indiegogo.
It starts with an idea
Do you have a great idea but don’t know where to start? Or, do you have many ideas but are having trouble determining which one to focus on? We had various ideas for potential apps — some more complex, others very sleek and simple — but we had trouble deciding on just one.
In early 2013, we imagined an iPad app for children to discover the world. This idea caught our focus because it was very much in line with our own interest in traveling. This was our first important lesson: that many ideas have potential, but the important part is to pursue one idea that you’re passionate about.
Building a business model
To start, it’s important to determine the value in your idea. Will people like it? Is there a need for it in the market? Enriching and validating your idea should be done with a systematic approach. We used two different methodologies to figure out what we want to do and what not to do.
First, we used a method called “the golden circle.” In a famous TED talk, Simon Sinek describes that you should always address the “Why?” of what you’re doing. In our case, we wanted children to discover the world and enjoy it as much as we did.
Simon then continues to ask about the “How?” or the way you deliver that value to your customers. For us, this was to be accomplished by showing children interesting locations in the world in a playful way.
Finally, the “What?” describes the actual product with all its features. For us, the development of Columbus Little answered this question. Though this model seems obvious, many companies successfully communicate what they do, but struggle with why they do it.
Second, it is important to have a comprehensive overview of your business model, not just the product. A business model describes how your product or service will deliver value to your customers and generate revenue. There are many different ways to describe business models, and we used a very simple method called the business model canvas by Osterwalder. In a business model canvas, you sketch a company’s business model in 9 important dimensions. While we cover them briefly below, please refer to Osterwalder’s book for more details.
- Value Proposition: What are the core values of your product? Why will customers buy it?
- Customer Segments: Who are your customers?
- Sales Channels: How will you reach your customers?
- Customer Relationships: How will you build a lasting relationship with your customers?
- Key Resources: Which key resources do you need to run your business?
- Key Activities: What are the key activities you need to pursue?
- Key Partners: Which partners might help you?
- Cost Structure: What are the most important cost drivers? How can you keep them lean?
- Revenue Streams: What revenue can you estimate? Where will it come from?
Bringing all these together provides a good overview of your business. This will enable you to focus on the essentials of your idea – this allowed us to see where our app could live in the market, what we could charge, which elements could later become part of the project etc.
Building a strong team
One important realization was that while our customers would value nice design, we lacked the capabilities to create something truly impressive. To help us flesh out the idea, we reached out to a designer who shared our vision.
Moreover, although we had some coding skills, we knew we couldn’t develop the app ourselves and searched for a talented developer. As a team, we were lucky to stumble across Corona SDK and enjoyed fast and easy app development, as well the ability to publish to multiple app markets.
Beginning app development
Once we had a team in place, the development finally started. We scoured Corona’s countless tutorials, API descriptions and code snippets. For task management, we used a simple 7-week plan with Post-it notes as overview combined with Evernote for notes on Wunderlist for bugs and coding tasks.
After trying several code editors we decided on Lua Glider, which worked quite well for code highlighting, auto completion, and bug tracking. For graphic composition we used Adobe Photoshop and predesigned all scenes in there before exporting layers into different PNG files. We then used TexturePacker to compose an image sheet of all images within a scene so that loading times were minimized.
Animations were drawn as sprites in Photoshop and added to the image sheet. For the animations we used sprites that consisted of sometimes more than 50 different images that were played in a defined time frame and order to show an animation. To limit memory usage we sometimes used multiple sprites for one object (e.g. the head and arms of the Columbus Little character are separate).
The app itself relied heavily on different scenes. Hence we used the Storyboard API for loading scenes and overlaying and managing memory usage. In the createScene events of each scene, we then loaded the respective image sheets and displayed all the images, create Sprite objects that we use for animation. Simple animations were done with transition.to function, while complex ones were done with transitioning along a beizer curve in the Runtime enterFrame event. All interaction was done with touch events and event listeners – very basic stuff.
All in all, we loved working with Corona SDK and enjoyed the ease of development. With the help of Corona’s community, we were able to focus on our idea and not get hampered down with technological uncertainties.
We started with a great idea, built a business model around it, formed a team and started app design and development. The next big milestone was building the framework for the app and developing a working prototype that we could show off in our crowd-funding campaign.
Of course, there are many more details to successfully developing an app, but we hope to have covered some of the most important lessons in this piece.
Here’s an overview of the 5 major lessons we learned:
- Lesson 1: Having great ideas is important – what’s more important is being decisive and sticking to the one idea you’re most passionate about.
- Lesson 2: It’s important to figure out why you want to do something and why the world needs your product.
- Lesson 3: To figure out how to transform your idea into a business, use a business model canvas to flesh out your thoughts and plan of action.
- Lesson 4: Build a strong team and use Corona SDK for easy and fast development.
- Lesson 5: Though an app can be quite complex, remember that it consists of a sequence of small logic snippets. Don’t get overwhelmed by the scope of the project – take it one day at a time and celebrate the little victories.
We’d love your support on Indiegogo and encourage you to preorder the app, enjoy our cool perks as a contributor, and share the campaign with family and friends.