How to Build an App in Ten Steps
Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
In this article we're going to look at the process of building an app. To learn about an effective approach we're going to look at the development process used by Jiffy Software, a company that has built over 2,500 apps to date.
Based in San Francisco, Jiffy Software came into existence in 1997 and has evolved, creating everything from stored value card systems to their present status as a company solely focused on mobile technology.
They've developed apps for Starbucks, Nike, Netflix, Zipcar, GoBooks, The Adventures of Space Ham and Princessy Cup Cakes, to name a few.
When you design an app, there are many things that go into the mix. I had the opportunity to speak with Earl Flormata, the Chief Marketing Officer, who spelled out the steps that Jiffy uses to design apps.
1. Resources: The first step is to make sure you have enough resources. At Jiffy, they have access to 450 developers and designers. And during the actual creation process, it takes 18 people to design an app.
2. Have an Accounts Manager: Next, you need to have an accounts manager who brings in the business, works with the client, explains the development process to the client and the programmers and makes sure the client gets what they want, not only in terms of the app, but business as well. Using this strategy will ensure you'll get more clients who want apps.
3. Client Consultation: At Jiffy, they offer potential clients a "dream call." This is a one hour no-commitment consultation where they call the client, take a look at the idea, rip it apart and show them all the best practices for their app.
According to Earl, "In the dream call we look for steps that are missing in the creation of an app. Also, you don't just make an app to make an app. An app is supposed to make you money in one way or another."
"The app has to capture user data, allow you to buy stuff and make money, either on the front end, back end or someplace in the middle. The app has to be useful. Additionally, it can't copy another app too much. The app has to have real functionality to it; it can't be just a marketing piece."
"Apple has a thousand page book filled with all the don'ts and we have to go through that and make sure the app is compliant and doesn't break a bunch of rules."
"In terms of making money, we look at monetization, sociability and ability to go viral. Another consideration is that not all apps are designed to make money. Some are designed to spread the message."
"Beyond that, does the app accomplish its goals in the best way possible? Does it take advantage of all the technology that's available to it? And most importantly, is the customer aware of this? Many people don't know what you can do with an app. It's our process to educate them."
4. Create a Backlog: This is where we and the client put all the ideas, literally everything into a giant to-do list which we call a backlog. It doesn't mean that you'll use all of that for the app, but it gives you access to all the potential options. After that, you prioritize it.
While we put everything into the backlog, at some point we reach what's known as an MVP
(Minimum Viable Product). This becomes the first release and subsequently we release more features depending on what the customer wants.
5. The Kickstart Program: The next step is the Kickstart program which lasts from two day to two weeks. During this process the folks at Jiffy listen to every idea that the client can come up with and they introduce some of their own, in case the client doesn't know about a process or piece of technology. Once the Kickstart program is finished, they begin development.
Note: The Jiffy program is not to be confused with Kickstarter, which has to do with crowdfunding
6. Create the Look and Feel: According to Earl: "One thing we do backwards from other developers is that we design the look and feel of the app before creating the code. The reason why we build the form first is because everything has to feel natural on a phone. Designing for a small screen isn't the same as designing for a website. It has to fit and feel right. If it doesn't feel right it will end up being a flop."
"First, we make it look nice; then we make it feel good, then build all the pieces behind it all. The other reason we do this is that people will change their minds by 40-60% once they see the actual result. So many times Earl has heard customers say: "That's exactly what I wanted, but now that I see it, I have another idea.""
"If you were to build the function first and then the form, and then the customer changed their mind, you have to rip everything out. It's much easier to change a picture than all the code that went behind it."
7. Create a Finished Wireframe: Depending on which developers you work with, at some point a wireframe will be created. For some people, that's simple design. In our case, we make it look like it's done, so the app looks like it would if it's actually completed. This helps the client if they want to seek investment.
8. Custom Designs vs. Templates: The down side with a template is that it will have that look and fee. If the budget allows for it, build a custom design. Not only will it be yours, but it will set you apart from the completion that makes use of templates.
9. Consider the Different Resolution of Devices: Earl stated: "A major issue with porting websites over to mobile is that many developers do so without thinking about what it will look like on a mobile device. In many cases the fonts are so small you cannot read them."
"Another thing that most people don't realize is that when you build an iPhone app you have to do so in six different resolutions. As a case in point, there's the iPhone 4 and below and there's the iphone 5 which is a bit longer, there's an iPad and each of these things turns sideways, meaning that the layout has to be scalable and be able to rotate. This is one reason why it takes so much time to create these apps."
10. Coding: At Jiffy they code in all languages, though when working with iOS, we mostly use Xcode and Cocoa. We don't code for Blackberry because most people don't like it all that much. One of the reasons for the fall of Blackberry was their environment wasn't conducive to developers. Earl said: "When I was a coder working with the old Blackberry systems, this meant coding 14 times, then compiling and testing for each one because of the different code bases."
"With the iPhone, this is a universal platform, so if you build it once and do it properly, it works on all of their stuff. This was a good move on Apple's part. This is also part of the reason that some people don't like Android at times is because the market is so segmented and there are so many different types of Android."
When coding an app, there are other things to think about, such as funding. In addition to app development, look for a company that can offer crowd funding campaigns such as Kickstarter and Indiegogo. Jiffy has created promotional videos showing what the app can do and have created campaigns and have raised $4,000,000.00 and $9,000,000.00 respectively for clients.
Jiffy also has respect in the financial industry and can attract venture capital, so long a they're the ones building the app.
As you can see, there are many steps to consider when building an app. You can do the coding yourself, use programs such as Adobe Dreamweaver or TopStyle, hire a team of programmers or hire a company like Jiffy Software. It's up to you.