Teaching Information Systems Development with SMS Chris Wallace Information Systems School Faculty of Computing, Engineering and Mathematical Sciences University of the West of England Frenchay, Bristol BS16 1QY chris. [email protected] ac. uk Abstract ‘Texting’ or SMS mobile phone messaging is rapidly increasing in business and community use. This paper discusses the inclusion of SMS technology in the teaching of Information Systems Development. It is argued that SMS has advantages in terms of simplicity of development, encouragement of good development practice and the breadth of information systems concerns exposed. Key words
Texting, SMS, mobile communication, information systems development. 1. Introduction The final year module Information Systems Development 3 (ISD3) is taken mainly by students on our Computing and Information Systems award. These students have had some exposure to Java in their first year and to Microsoft Access application development in their second year. In the final year we seek to broaden the range of application technologies by introducing 3-tier web-based applications. Typically these have a browser in the presentation layer, PL/SQL or PHP in the application layer and Oracle or MySQL in the persistence layer.
One difficulty with this module is to get a balance between the concerns and approaches to Information Systems Development on one hand and the narrower concerns of program and database development on the other. The goal here is not to develop great programming or software engineering ability but to develop awareness of information systems in their organisational, human and societal context, addressing issues of the role of information itself, its meaning, quality and value, human-human as well as human-machine communication and the design of business process.
Browser-fronted applications, as a technology to support information systems, are full of interest and possibilities but in the opinion of the author, they also present some pedagogic difficulties. These include the complexity of development, a limited range of communication possibilities and complex implementation for stateful interaction. This year we have turned to mobile phone applications in an experiment to increase the focus on information systems issues whilst continuing to engage the students’ attention. . Texting and its applications ‘Texting’ or SMS (Short Message Service) is pervasive and ubiquitous. Figures of the volume of text messages sent world wide and in the UK are staggering. A survey of students on this final year module show 100% mobile phone ownership of which 100% use their phones for texting. Among students, SMS is largely used for personal communication. More advanced technologies such as MMS and WAP are as yet little used and few can afford high end Smartphones.
As an application technology, SMS is increasingly incorporated into organisational information systems – for marketing and fund-raising, for communication among staff, clients and members of the wider organisation [Cheverest el (2003) ] as well as for on-demand information services. Within education, SMS is used for administrative support, for example to communicate alerts of closure to parents and exam results to students. SMS is also in use in direct support of learning through incorporation in e-learning systems [Soon and Sugden (2003), Attewell and Savill-Smith (2004)].
SMS in entertainment extends from voting on Pop Idol to public message displays in clubs. We believe that the rapidly increasing use of SMS in information systems on the one hand and the relative simplicity with which SMS systems can be developed on the other, provide the opportunity to incorporate this technology into the Information Systems curriculum with benefits to the teaching of Information Systems concerns and to the student’s employability. 3. Overview of SMS Technology SMS is a complex service within GSM. Peersman et al (2000)] Here we are only concerned with the end-user view of the service and the three varieties of SMS service: out-bound, 2-way and conversational. 3. 1 Out-bound An out-bound service allows an application to send text messages to one or more known mobile phones. Such messages are termed ‘mobile terminating’ (MT). With the assistance of an SMS service provider who provide the channel between the application and the mobile phone network, this service is simple to establish. Typically the application program issues an HTTP GET request, with the number, message and other details encoded in the URL.
The service provider then hands this off into the GSM network for delivery. Delivery notification can be returned to the application via a call-back URL. In additional to simple text messages, monophonic ringtones and operator logos can also be sent. Setup is typically free and the cost per message of about 4p is significantly less than the networks change a mobile phone user to send a message. An out-bound service is good for ‘pushing’ information to subscribers – for example in schools for sending notification of an absent child to its parent or sending traffic information alerts to drivers.
Within the CEMS faculty, students can enrol in a notification service which will text alerts about class cancellation. 3. 2 2-way SMS 2-way SMS allows a user with a mobile phone to send a text message which is received by an application, which can then reply with a message back to the originator. A 2-way SMS service requires a GSM number to which users can text a message. The message is routed through the service provider to the nominated user’s application script, again using HTTP. Such messages are termed ‘mobile originating’ (MO).
The application will then perform some task such as a database look up and then may text back a response to the originator. A 2-way service is more costly since it requires the rental of a number and a small charge for each incoming MO message on top of charges for any outgoing MT messages. From Clickatell, who are our SMS bulk service provider, the current charges for a standard number (i. e. not a short code or premium rate number) are roughly ? 60 for setup, ? 15 per month rental and about 1p per incoming message. Bi-directional communication with 2-way SMS allows the development of more interesting applications.
For example at UWE, we have developed a service which allows students and staff on the campus to find out the times of the next two departures on any bus service leaving the campus. In future, users will be able to request a reminder about a selected bus departure. We have also used our 2-way service to implement a poll on the proposed ban on smoking in pubs and clubs (supported by 2 to 1) and on the US presidential race in November. Sadly this poll did not predict the real outcome! 3. 3 Conversational Ideally a mobile user should be able to reply to a message sent from an application to maintain a conversational interaction.
By default, MT messages sent via a service provider appear to originate from that provider. In our case, users will see a +27 number since Clickatell is based in South Africa. We have yet to set up a conversational service due to restrictions placed by U. K service providers. 4 CEMS SMS server For use as a teaching and project resource with the Information Systems school, it must be easy for applications written by students in coursework or in projects to use the common rented GSM number, to be able to generate a reply and for logging to be performed.
A simple SMS server to handle these functions was written in PHP. Incoming messages received from the SMS service provider are distributed to registered applications, again using HTTP, on the basis of the initial word in the message. The reply from the application, if any, is returned through our proxy server and the SMS service provider to the originator. The SMS server also logs incoming and outgoing messages. The level 1 DFD below summarises the data flows involved. [pic] Applications themselves can be written in any server-side language.
At present we use PHP for its ease of interfacing with a web-server and database support. A new application is first tested standalone from the address line in a browser, from a test form in a browser, or from a test script. Once tested, the new application can be linked into the SMS server and the new service becomes immediately available from any mobile phone. 5. Advantages of SMS for teaching 5. 1 Simple user interface The user interface is very simple – a string in, a string out. This means that a simple application, such fetching the current time, can be written with only a few lines of code.
Little more is required to compute the time in a given country using a simple database. The students’ attention and potentially their creative skills can be focused on the human interface to the application and the specification of the functionality required. In contrast, browser applications tend to focus attention on the much more complex web interface. 5. 2 Simple application interface Similarly the application interface supported by our SMS server is described by three input parameters and a formatted output string.
Such a simple interface allows the students to see the possibility for writing a functional specification, perhaps using a model-based specification approach, before writing the code. For software development, an advantage of this simplicity is that it eases the use of a unit testing framework to automate regression testing. On this module we use PHP scripts for testing. The ease with which URLs can be treated as simply a filename simplifies the coding of test scripts. By contrast a browser-based application is much more difficult to place in a test framework. . 3 Varied communication patterns Browser applications provide a pull mechanism in which users request information from an information source. SMS on the other hand provides both pull communication via an MO message sent by a mobile user and push communication with MT messages sent from an application on stimulus from an operator, indirectly by another user or from a clock or other trigger. SMS can be coupled with email, HTTP and web service applications to produce a wide variety of communication patterns. 5. 4 Simple stateful implementation
Stateless applications are the basis of web applications. Each request from a browser is processed without reference to any preceding requests from the same user. This limits the conversation between user and application since the application can neither reference nor develop a model of the user. In contrast a stateful application is able to recognise successive messages as coming from the same user and access and develop its own user model, the state of the interaction, with which to mediate its responses to messages.
There are various stateful mechanisms available to a web developer, differing by the location of the state, the lifespan of the state, the mechanism for user-to-state matching, the amount and structure of the state and its security and accessibility to other applications. Web mechanisms include hidden fields in forms, cookies, session variables and user models in a database. Each is widely used, but none are trivial to implement. Since every message in SMS is accompanied by the number of the originating phone, there is a simple key available for user-to-state matching.
Of course matching is not precisely one-one: people have more than one phone, and phones are lent and sold, but the alignment is closer than that provided by cookies which match to a specific computer login. Thus a simple database keyed by phone number opens up simple stateful applications supporting long-running transactions and business processes. 5. 5 Challenging user context SMS applications are nonetheless challenging for a developer. A user of our bus information service waiting at a bus stop will not have access to a web-page defining the message structure, nor to pull-down menus of choices available.
Thus the information system designer must consider the use of their application by a mobile user in a variety of use situations. This focuses attention on what and where information about the service is available, on designing a message structure which is intuitive and on designing the application to guess at the needs of the user even if the message is not an exact match to the required format. Of course it is not always safe to act on a guess, for example in a share-trading application or in a control application. This raises the issue of the design of an appropriate human-machine protocol to suite the context.
These applications pose a variety of interesting software design problems. Interpretation of an incoming message which may be ill-structured and roughly keyed requiring parsing techniques using regular expressions, closest match algorithms or a syntax-driven parser. Since the SMS server logs all incoming and outgoing messages, a developer can view the history to observe actual application usage. This encourages an adaptive approach to design based on evidence from actual usage. In addition, the simple interface allows interfaces to be quickly simulated with naive users either on paper or by using a web-based mobile simulator. . 6 Real world implementation Applications such as the bus information system and the straw poll have now been ‘released into the wild’. We as developers will have to respond to the demands and unanticipated consequences of actual use. We plan to release selected work by students on this module at least for use on open days with prospective applicants for our awards. We think it important that issues which arise from the use of new technologies are experienced in the raw and not merely treated as laboratory exercises.
Functionally simple but pervasive SMS applications seem ideal for this purpose. 6 Concerns There are naturally some concerns over the use of mobile phones in teaching information system. These include issues of security, user acceptance and programming difficulty. 6. 2 Security If desired by an application, additional security can be provided by requiring an initial password together with a timeout. If there is concern about the privacy of the numbers themselves, mobile numbers can be encrypted.
However it must be noted that typically the service provider and others in the chain between application and mobile will log messages and the SMS channel is easily monitored by the Government. Without encryption of SMS messages on the phone itself, messages will always be insecure. 6. 3 User acceptance Mobile phones are almost exclusively used for personal communication and their use as a component in an information system can seem intrusive. Choice of application here is important – although an application to get the current time is easy to write, no one will spend 12p to use it.
To address this issue, we are developing a mobile network simulator which will allow information systems incorporating SMS to be exercised in the laboratory without the overhead or inconvenience of phone usage. The cost of the service can be used to advantage however: it focuses attention on the value of information. If the value to a given user does not exceed the cost to the user, it will not be used. Our SMS system does not in fact provide a very realistic context since we pay for out-bound messages and information is not charged at market rates.. 6. 3 Programming difficulty
Writing an application to provide a simple response to a stimulus requires a minimum of knowledge of the chosen scripting language, but more complex applications stretch the students’ ability. Whilst sample scripts for more complex functionality, such as database access, email generation or use of a web service can be supplied by teachers, these can still be hard to adapt for a new application. Given that our goal is to focus on the information systems we are creating rather than on programming, we acknowledge that we still have work to do to enable those less interested or gifted in programming to gain fully from this approach. SMS in Information Systems teaching This is the first year in which this technology has been taught and thus any observations are tentative and based on experience in teaching on the ISD3 module. Preparatory tutorials on scripting languages (PHP) and an SQL database (MySQL) were followed by a mini-project using SMS. 7. 1 SMS project The ISD3 module is unusual in having no assessed coursework and thus all exercises set are formative and voluntary. Additional motivation is generated by small prizes for the best submissions.
The first SMS application which students were required to develop was a currency converter. For example, a user would text: CONV EUR 100 USD and receive a message 100 [EUR] = 127. 89 [USD] An initial tutorial explored the design and development of this project, exploring scenarios in which the service might be used, the design of the 3 tier architecture, the allocation of responsibility between the tiers, the design of the database to support conversion, the choice of ISO standard currency codes and sources of exchange rates and their quality.
In the next 55 minute workshop, students worked in small groups using a worksheet to create a simple database of currency codes and conversion rates (using Mark Dixon’s QSEE tool), generate the SQL DDL and install in MySQL, install a supplied starter PHP script, amend the script to access the student’s newly-installed database, and test via a supplied test form. The final worksheet required the students, working in their groups, to enhance the basic application.
Areas of improvement, gathered during the initial design tutorial, included greater flexibility in the format of the input message, better response to an invalid input, means for a user to bootstrap their understanding of the service, stateful interface so that the user does not need to re-enter the two currencies each time, and to provide a mechanism for updating the conversion rates. Students who achieved any of these improvements then emailed the URL and a codeword for registration with the SMS server. They could then demonstrate their application to friends and family. . 2 Results By the end of the second session, the majority of students had a working copy of the basic system. A smaller proportion tackled the final worksheet and 5 groups (about 20% of the students) submitted applications. All had made useful enhancements even though their experience with PHP was minimal. One group had found a Web Service supplying conversion rates and created a script to update the database from this service. Students generally enjoyed the work and some positively beamed when their application worked.
In retrospect, more time and support should have been given to the exercise considering the number of new tools which were involved. 7. 3 The Future Students have so far responded well to the up-to-date feel of this subject and the number of students who want to undertake individual projects in this area has greatly increased. Further work is planned on our SMS server to provide better access to an application’s traffic, a simulator for a mobile phone network within which SMS applications can be tested, and a kitset of parts for application assembly.
We are also working with colleagues in the Electronics and Computer Systems School to develop some SMS monitoring and control applications. Of personal interest to the author are yacht-borne systems which can alert a skipper on shore of problems aboard such water or human ingress, anchor dragging or changed weather conditions. References Attewell, J and Saville-Smith C (eds) (2004) Learning with Mobile Devices: Research and Development, Learning and Skills Development Agency Cheverest, K et al (2003) , SPAM on the Menu: the Practical use of Remote Messaging in Community Care, ACM Conference on Universal Usability 2003, pp23-29
Clickall SMS Bulk SMS Gateway URL www. clicktell. com [ accessed 7 Jan 2004] Dixon, M. , QSEE Multicase tool URL : www. qsee-technologies. com [ accessed 7 Jan 2004] Peersman, G et al (2000) , A tutorial overview of the short message service within GSM, Computing and Control Engineering Journal April 2000, pp79-89 Soon,l. and Sugden,D. (2003) Engaging Students Through SMS Messaging, in FERL Annual Conference 2003 Wallace, C. , SMS Services in the Information Systems School. URL www. cems. uwe. ac. uk/~cjwallac/apps/sms [accessed 7 Jan 2004]