What’s an app?

The word has become ubiquitous. The iPhone has apps, Android devices have apps, the Chrome browser has apps and now Mac OS has apps too. So what are they? How can they be the same things in all these places? What if you want one of your own?

I’ll start by lifting a convenient definition from Wikipedia like all good web authors these days

“…a lightweight application, tailored to a device’s form factor and input-output interfaces (key pad, touch pad, remote control, display, etc)”

Not bad but we need more specifics. App is short for application which is a term that’s been used in computing since the invention of programmable computers. Sometimes called application software it pretty much means a computer program used by a person to do a thing (as opposed to programs that talk to each other, park a car, or ID faces without a person running it).

What about all the places apps are? As of writing this I have an iPhone4. It is one of the most powerful computers I’ve ever owned. Phones are getting so powerful in fact that John Carmac, creator of the legendary DOOM games, thinks they will make video game consoles obsolete and he’s probably right. I say all this to drive home the fact that the phones we all carry around now are computers, good computers. Apps are applications for this new computer platform. Good ones take full advantage of new interfaces and features without forcing anything on the users and correct weaknesses of the platform creatively with pretty uncluttered interfaces. Bad ones work just like they did on a laptop but with tacked on motion controls or drawing interfaces that don’t help anyone.

On the iPhone apps are created using the Objective C programming language, a cousin to C++. Basically it added object orientation to the C language which is what C++ did but it approached that with a different mentality and a totally different implementation. Android apps are coded in Java. Not to be confused with the browser language of javascript. Java is another object oriented language but it’s development has always centered around platform independence making it perfect for releasing programs or “apps” on many different devices (phone models) at one time. Apps for OSX are also made in Objective C and run on the computer just like any other software (though fullscreen mode has been made more convenient and encouraged). And finally apps for Google Chrome can be coded in java or python and can operate as a webpage or a native piece of software or live somewhere in the middle.

Can I make my own app? Maybe. The first thing you need to ask is did you understand the last paragraph. If it all made perfect sense to you then yes, you can probably build an app but don’t expect it to be easy. If the answer is no, my eyes glazed over five words in and I skipped to this one then probably not. That doesn’t mean it’s impossible but if you want one done in the next six months as part of a business plan then hire someone.

Software development has changed in the app age but the market has adjusted. If you need an app then the process is about the same now as when you needed custom software in the past. Find a company you are confident in, ask them if they can do what you want, get at least one comparison quote and be ready for a hefty price tag. I worked at an app development company for close to a year and as an undervalued product with people working nights after their real job to get it done it was still $5000 to even consider building a custom app for anyone. If you have an idea for a new kind of app that’s never been done before you will see that number get multiplied by a factor of anywhere from 2 to 10 times more expensive.

Did I miss anything? Do I have something wrong? Was this helpful or just pointless? Let me know in the comments and thanks for reading.

One thought on “What’s an app?

  1. MMS requires acsces to the baseband which the SDK does not allow.Video recording is being done by both uShow and iPhone View Recorder.As for other stuff (copy/paste, Bluetooth, MMS, etc.), only Apple is allowed to do that but they can all be done with a firmware update.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>