The Surveys application has been a great success for Tailspin, but Tailspin wanted to further improve its market position by extending the application’s functionality. Based on feedback from its subscribers, Tailspin identified four key areas where they could enhance the Surveys application:
- The application should support a wider range of question types and enable respondents to include additional data, such as pictures, audio, and location data, as a part of their survey responses.
- People should be able to provide survey responses when they are away from their computers. A convenient time to respond to a survey might not be a convenient time to be using a computer, for example during a commute or while waiting in a checkout line.
- Subscribers wanted to be able to capture a geographical location for the respondents answering a survey.
- Subscribers wanted to be able to proactively find survey respondents. Instead of waiting for respondents to come to the survey website by following a link on a web page or in an email, subscribers wanted other ways of finding survey respondents. For example, subscribers wanted to be able to use surveyors who can go out and interview people. In the future, Tailspin would like people to be able to launch surveys by photographing a barcode or QRCode on an advertisement or on product packaging.
Windows Phone 7 was a new platform for the developers at Tailspin and the unfamiliarity introduced some additional risk to the project. The developers first had to understand the capabilities of the Windows Phone 7 platform to determine how best to architect and design both the mobile client application and the new elements of the application in the cloud. Three key areas of concern for Tailspin in using the new platform were reliability, security, and connectivity.
Windows Phone 7 devices may be only intermittently connected to the Internet, so the mobile application had to be capable of reliably storing the collected data until it could be sent to the cloud application. Tailspin also wanted to make sure that any data held on the Windows Phone 7 device was stored securely.
For some surveys, subscribers wanted to be able to determine the identity of the person submitting the survey data to the cloud application.
Tailspin also wanted to implement a service endpoint in Windows Azure that best supports the requirements of the Windows Phone 7 devices. The developers at Tailspin had to make decisions about the connectivity between the mobile application and the back end, such as whether to use Representational State Transfer (REST)-style or SOAP-style web services, how “chatty” the interface should be, and how to handle retries when sending a message failed.
Finally, Tailspin would like to be able to leverage the existing skills of its developers and minimize any retraining necessary to build the Surveys application.