Mobile Applications:I'm a non-tech, what should I worry about before attempting to have an app built?
I have experience in building a website, but that involved a lot of "learning things the hard way". I would like to attempt an app now,but understand that websites are easy compared to apps. What should I think about? worry about? or know in general?
Why do I need to sign in?
Quora is a knowledge-sharing community that depends on everyone being able to pitch in when they know something.
This simple and cheap approach (called the waterfall approach) may be a good start. It should look very familiar:
Figure out the user-experience you want and wireframe it. This will drive everything else.
Get some mockups from an artist to verify that the experience makes sense. They can fill you in on best-practices and help improve the experience.
Use the mockups to get a ballpark quote from a seasoned developer; make sure the time-frame and budget work for you. If not, change the experience. You get what you pay for.
Work on the final designs with an artist while talking to a seasoned dev to make sure its all easy to implement on the target platform. A thing that is easy on iOS may be a pain on Android/WP7 and vice versa. Note: Hard to implement things cost exponentially more. You may want to stick to the standard components/controls provided by the platform.
Once all the user interactions and pretty pixels are fleshed out, hand it off for development.
Things to consider and worry about:
Do you need a backend to power the app? Backends are generally web-services responsible for fetching data, filtering it, compressing it, and delivering it to phones as quickly as possible. This require a very different skill-set from front-end mobile app dev. A programmer who can do both the server backend and the phone front-end will cost a pretty penny. Your existing web-dev skills may be very handy here.
Are you sure the data you have is good? Cool apps need sweet data, but can you (legally and effectively) pull the data that you want? A feed or API may seem full of interesting data, but you won't know until you start using it and notice that addresses are malformed, pictures are missing, or some obvious feature isn't available.
Apps cannot be updated as quickly as webpages. A bug-fix may take up to 2 weeks to make it out to the Apple marketplace.
Beta-testing pretty much doesn't exist in the app marketplaces. It is ridiculously painful when compared to the beta-testing on the web.
Compatibility is a serious issue that is costly to diagnose. Particularly in the more fragmented platforms like Android.
There is a fee you have to pay to sell in the marketplace, usually $100/year and a cut of around 30%. Other than that, nothing scary there.
A nice way to validate your entire app-server architecture that utilizes your existing skill-set is to build a super simple web prototype!
A cheap prototype that you can do yourself will validate a lot of assumptions. As a bonus: lessons learned from this prototype will help when building the final app and will help get better time/cost estimates from potential artists/developers.
Mobile apps can be very expensive to build (20k for a simple one), so any prototypes or proof-of-concepts you can do will save you a lot later on. Every mobile platform comes with a simulator you can run on your computer. So a simulator based prototype could be a great exercise.
Disclaimer: I do not condone the use of waterfall methodologies among large and serious software vendors. Particularly ones that don't pay overtime for the resulting headaches that these methodologies tend to incur.