In general , an App (short for “application”) refers to a type of light weight software developed to perform a very specific task or function. With the advent of smart phones and tablets , an App typically refers to a software used on a mobile device such as the Android, iPhone, BlackBerry or iPad.
Difference between a traditional software and an App
The actual difference between Apps and traditional software(like MS office, PhotoShop, web parts or controls) is the way Apps are published, installed , consumed and the most important – Cost . Apps cost less both to Vendors and End users and hence more profit to both parties. Money saved is money earned after all..no?
Also, Apps are instant – You can shop, download,install and run an app in less than 5 minutes!
Whenever a user needs a service or software on his device\computer, he can search for it in relevant App Stores or Catalogs . On finding suitable App, it can be downloaded (free or minimal cost) and used immediately .
Some common App stores are :
- Microsoft App Store: an online application distribution system for MS Outlook, Word, Excel, Project and SharePoint
- App Store (iOS), the official Apple online application distribution system for iPad, iPhone, and iPod touch
- Amazon Appstore, an online application distribution system for Android devices
An ideal App should have following charaterisitcs :
- No Code: An ideal App should have no code (containing business logic) running on the user device or Platform where it is installed. The App business logic should execute on Cloud or remote servers on internet or intranet. Only the presentation logic executes on user device which commonly written in Js\HTML.
- Low cost. Apps are awesome for lowering costs. You pay only for what specific service you use. There are no additional deployment, IT, hardware or implementation costs either.
- Ease of setup and use. Apps are easier to set up and get running in much less time.Users have high level of influence into app function, hence maximizing user experience and satisfaction.Apps helps minimizing learning curve by providing a user experience that is tailored to their device or platform.
- Better infrastructure. Apps usually operate in the Cloud or remote servers which means you can access your app and related data anywhere you have the internet. The Cloud offers more Maintainability, Reliability, Scalability and Flexibility which in turn allows the businesses to streamline services and not worry about infrastructure overhead or management of the required hardware for traditional software. IT is no longer a concern.
- Allow using the latest version and benefit from new innovations. With Apps, new features and fixes can be released to users immediately. There is no pain or cost of upgrading software licenses and no waiting for major releases.Also, It is very easy to keep the Apps up-to-date with all service packs or patches
In a traditional software like MS Office,Photoshop, Anti-Virus etc many of the criteria above are contradictory. The traditional software is known for being expensive, heavy (size in MB), resource intensive(more CPU, RAM etc) , time consuming and difficult to install and maintain (updates, service packs, patches). Also, the traditional software is tightly coupled to the Operating System or platform- SharePoint for example- where it is installed.
By now I think you are quite familiar about the Apps concepts in general. Questions?