Planning the application begins with determining what the application will and will not be when it is done. What must the application be able to do to be successful, and how does that definition of success compare to average requirements? Questions to consider while answering this include the following:
Will the application be used on a multitude of devices of varying screen sizes and input types, or will users primarily be using a single class of devices?
What type of network connectivity will users' devices have?
Which browsers will they be using?
Will the application be installed on a mobile device as a PhoneGap application?
Will some users be installing an application while others are using the hosted version?
Answers to these types of questions quickly start to drive some design considerations.
Let's consider a few examples. If the application needs to be used by modern devices with slow network connections, but possessing plenty of local resources, minimizing network...