This post is part 2 of Building Citizen Apps for Windows Phone
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.
KEY AREAS OF CONCERN
Device / Communication Constrains
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:
- Bandwidth – how does the app behave under low bandwidth as oppose to a citizen with unlimited data plan.
- Memory Usage – A typical mobile device lacks the large memory footprint of a slate, laptop or desktop. This has a direct impact in the software implementation.
- Processing Power – modern smartphones are equipped with powerful CPUs and GPUs but the architecture of those devices have specific constrains which impact how the application goes about performing certain operations.
- Screen Real State – the user experience is greatly limited by the size of the screen. Extra effort must be put into the UX and how the user interacts and provides input. Windows Phone provides fundamental on this area that enable excellent user experience balanced with esthetics.
- OS Diversity – Windows Phone design accounts takes into consideration a balance between device diversity and consistency. Other platforms take different approaches. For a solution targeting multiple device architectures the specifics of each OS may have a direct impact on design.
- User Input – applications may be limited by the device physical design as well as the OS input services. This is challenging are to OEMs and OS designers and subsequently an area of concern for applications designers. How to enable easy end user input is paramount to an effective solution.
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:
- Open Government Data Initiative (OGDI): this is a Microsoft public sector initiative hosted on Windows Azure that makes it easier to public and use a wide variety of public data from government agencies at all levels. It is free and open sourced. Developers can build citizen oriented mobile apps using this data source and leverage a variety of data access standards.
- DataMarket: it is a service that provides a single consistent marketplace and delivery channel for high quality information as cloud services. Content partners who collect data can publish it on DataMarket to increase its discoverability and achieve global reach with high availability.
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