A mobile application for citizens must deal with specific decisions involving what segment of the population to target for a solution. Is it a local user base; is it national, or global? Each of these domains will define the whole architecture of a solution. Beyond that there are areas of concern related with devices to target for the solution, what government data sources are available that can be leverage, what level of security is required this include data transmission, data at rest, authentication, authorization, data destruction, etc. Services consumption and where they reside is also a design consideration.
Developers building mobile citizen solutions must be concern with specific limitations which in turn will tax their design approach and techniques. Following is a list of potential limitations and concerned:
A solution targeting citizens must deal with the reality that the user base is a mix of a multitude of societal characteristics that may or may not be part of the design. A mobile citizen solution crosses boundaries of economic, religious, political, and cultural context among others. The use of proper technologies is necessary to guarantee the largest number of users possible.
The design most be concerned with aspect related with applications that entirely reside on the device without need for external interaction, applications which stores data on board for use when the network is not available, and applications that have a counter-part on the cloud either for storage and processing and/or services access.
All this specific domains force a reevaluation of the traditional approach to design taking into account specific environmental characteristics of each particular domain either individually or as a whole.
Where is the data? – If the solution is to consume government data it is necessary for the source of that data to be guarantee accuracy and timeliness. Is the data part of large repository hosting on the cloud? Is it directly coming from a particular government institution? Is it government data provided by a third party entity? All these questions must be answer and specific strategies developed to account for access, security, responsiveness, accuracy, and data currency. Microsoft has addressed this concern via two solutions:
Security is the number one requirement for an application. It should be an intricate part of design and development. With data being consumed from virtually anywhere, citizens must have assurances that the data integrity is preserved end to end. Mobile solutions most guarantee that the data source is not only accurate but also secured. One bridge in security and the application as well as the data will lose the citizen’s trust. Data in transit is equally important. A secure data source is of no use if the data can be compromise in transit through the network(s). And once the data arrives on the device it too must be given strong consideration, based on requirements, for ensuring it is safeguarded. Lastly if the device itself is compromise the citizen must have a way to remotely dispose of any data on the device. Windows Phone provides mechanisms to ensure in-transit, on-board, data protection as well as remote data wipe. If the data is hosted on Windows Azure it too will have highly reliable protection mechanisms. From an execution point of view Windows Phone execution model guarantees a very high level of application isolation so that applications have no means by which to access each other’s execution space or data.
It isn’t unfair to say that for a citizen mobile app to be of certain level of usefulness it must connect to higher level services on the cloud. Beyond security the hosted services most provide accessibility, robustness, scalability, and standard access protocols, to mention a few. Microsoft has taken this further by fully integrating the whole suit of development tools to enable easy constructing and publishing of service to Windows Azure directly from within Visual Studio. This integration enables the creating and testing of services within the IDE, as well as a productive mechanism for staging, testing and hosting on the cloud. Specific considerations must be given to application behavior and user experience impacted web services access on the cloud.
In the traditional software development realm quality concerns are left to developers and testers. In the mobile world this has been fundamentally altered, whereas the responsibility and accountability for quality is a share one. Specific quality and safety measures are enforced at the publishing end-point. Develops must be concern with this set of requirements as it will have a direct impact in their ability to publish apps. Quality control is a share responsibility that goes be young checks and balance of security and safety prior to application availability but also the application host (aka Windows Phone Marketplace) reserves the right of application revocation post publishing. All this is geared toward guaranteeing the highest level of quality and therefore user experience for the citizens. The whole premise of citizen involvement and government accountability can be compromise if these quality policies are ignored or weakly enforced.
GET F R E E