Application Development From the Ground Up
As discussed in our previous blog, there are a few milestones that our process reaches on its journey to completion. I will be talking first about the platform, as this is the foundation to the project that must be decided upon from the beginning.
When we talk about the platform, we're talking about the device or devices that you expect your demographic audience will be using. In the past, this has been simple; the device was either Windows or Apple based, likely using Internet Explorer or Firefox. Wait! Are we talking about devices or software, operating systems and browsers? All of the above; when we start the process, we have to look at the wealth of potential devices, software operating systems and on-device software.
An agency working with low income individuals would like to provide an app that gives the end user the ability to order low cost school materials direct. The first consideration is the audience; what kind of device with the end user have available to them to use this system? We are talking about users that are not likely to own an expensive device with a data plan. That would remove the need to build an iPhone, Android, Blackberry or Windows Phone app because it would defeat the purpose. In this case, we would recommend a website that can be accessed via a Windows or Apple computer. We would also try to limit the overall complexity of the design to allow the site to load and run well on low end computers and potentially slow internet connections.
A local company wants to streamline its workflow. Its primary work comes from having employees sit at intersections and count the number of red and blue cars that pass through the intersection from north to south. Although this is not a great money making scheme, we can immediately see that they would have no real need for a website, especially one that would require a large screen; who would want to lug that around and find an outlet near a traffic light? Another interesting point is that this company is a registered not-for-profit and have received grant funding from Apple. As such, they would like to provide all their employees with a device that they can quickly use to record the data. In this example, we'll likely suggest building a small app for an iPod or other iOS device. We might also suggest a web based interface for reporting and data management, but we're assuming in this case that the company is writing to their own internal database.
Just in these two examples, we can see that there can be a large gulf between the needs of one company, and the needs of another. We can also cite cost as a factor in determining the range of devices. An app written for a website, cannot necessarily work on any given device, especially if, for example, we were to integrate a flash based menu X-D. In deciding the devices needed for your project, remember that each device has its own programming language and its own quirks. So for every additional device you add to your project, the additional cost you will incur in the overall development will grow. On the positive side, once you have the workflow and processes down, you can quite easily replicate them on additional devices.