Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Using Microsoft’s ASP.NET Mobile Controls
to Develop a Truly Usable Mobile Web Application
Brendon Webber
Supervisor: Dr. Greg Foster
Submitted in part fulfilment of an
Honours Degree in Computer Science
at Rhodes University
Computer Science Department, November 2003
I
Acknowledgements
This year has been very enjoyable and has driven me to push myself to new levels. I could
safely say that I have learned more this year than any other year. This would not have been
possible were it not for the following people:
� Dr. Greg Foster, my supervisor. Greg has always been very approachable and
helpful. He has pushed me and helped keep me on track throughout the year.
Without him this project would not be half of what it has become. Thank you.
� My digs mates: Claire, Mike, Greg, GB and Jake. For always being there for me
when I wasn’t in the Labs, and for not disowning me for always being in the labs!
� My Mother, Janet Webber. For all the love, support and encouragement she has
given me, and for proofreading this project. I owe so much to her.
� To all the people that partook in the user testing, many thanks, the results were
constructive and imaginative.
� To the staff and students of the department for their constant support.
II
Abstract
The rapid advances in wireless communications technologies have lead to increases in
wireless data transfer. This, combined with the introduction of a host of powerful, web
enabled mobile devices, is placing new demands on Internet services that is not currently
sufficiently catered for. Even with the faster connections and more capable devices users
have been reluctant to use the Mobile Internet due to its lack of usability.
Thus usability if a primary focus of the Mobile Internet’s development. Catering for the
range of different devices that access mobile web applications is a major challenge. Tools
such as ASP.NET Mobile Controls, which form part of Microsoft’s .NET Framework, are
aiding developers in overcoming this challenge by providing a powerful tool for creating
mobile web applications without worrying about the markup language the requesting device
understands.
This project investigates the effectiveness of ASP.NET Mobile Controls in the development
of a usable mobile web application. To do this a mobile web application was constructed
using these tools and its usability was evaluated, then this application was enhanced to target
the Nokia 3650 phone while documenting the enhancements made. The usability was again
tested for the enhanced application. The usability is compared with guidelines outlined by
other authors.
Thus the work gives good grounding to evaluate the strong and weak points of ASP.NET
Mobile Controls and draws conclusions about its effectiveness in creating usable mobile web
applications. There are a few problems with ASP.NET Mobile Controls, but these can be
overcome and truly usable mobile web applications can be developed.
III
Contents
CHAPTER 1: OVERVIEW OF WIRELESS TECHNOLOGIES 1
1.1. Evolution of the Internet 1
1.1.1. The History of the Internet 1
1.1.2. The Development of the World Wide Web 1
1.1.3. The Birth and Growth of the Mobile Internet 2
1.1.4. Markets 3
1.1.4.1. Mobile Phone Markets 3
1.1.4.2. Mobile Internet Market 3
1.2. Current and Future Wireless Communication Technologies 4
1.2.1 Local Wireless Networks 4
1.2.2 Carrier Wireless Networks and Their Evolution 5
1.3. Overview of Microsoft .NET Development Tools 13
1.3.1. Microsoft Visual Studio .NET 13
1.3.2. Microsoft ASP.NET 13
1.3.3. Microsoft ADO.NET 14
1.3.4. Microsoft ASP.NET Mobile Controls 14
CHAPTER 2: INITIAL USER STUDY 15
2.1. Process 15
2.2. Results 15
2.2.1. Mobile Phone Brands 15
2.2.2. Mobile Internet Usage 16
2.2.3. Current Mobile Internet Usability 16
2.3. Conclusions From the Initial User Study 17
CHAPTER 3: BOOKIT FIRST VERSION 18
3.1. Project Objectives and Introduction 18
3.2. Description of the Mobile Web Application: BookIt 18
3.3. System Architecture 18
3.3.1. Development Environments 18
IV
3.3.2. Architectural Overview 19
3.4. System Design 20
3.5. Constructing the First Version of the BookIt Application 21
3.5.1. Methodology 21
3.5.2. Creating Controls Programmatically 23
3.5.2.1. BookIt: Manage Items 23
3.5.2.2. BookIt: Manage Bookings 25
3.5.3.3. Dynamically Creating Menus 27
3.6. Image Creation and Image Streaming 28
3.6.1. BookIt: View All Bookings 28
3.7. Other Design Issues 30
3.7.1. Clashes 30
3.8. Deployment Issues 31
3.8.1. Manual vs. Automated Deployment 31
3.8.2. Deploying BookIt 32
3.8.3. Issues with Deployment 32
3.9. BookIt First Version Results 32
3.9.1. Problems Encountered 33
3.9.1.1. The SelectionList Control 33
3.9.1.2. Link Layout 34
3.9.1.3. Validation Controls 35
CHAPTER 4: ENHANCED BOOKIT 36
4.1. Enhancing the Usability of the BookIt Application 36
4.1.1. View/Delete Bookings 36
4.1.2. Device Specific Checks 37
4.1.3. Fixing the Link Problem 37
4.1.4. Enhancing Date Selection for the Nokia 3650 37
4.1.4.1. The Calendar Control For Date Selection 37
4.1.4.2. Enhancing the Date Selection Process: 39
4.1.5. Main Menu Links 41
4.1.6. Making Username and Password Checks Ignore Case 41
4.2. Enhanced BookIt Results 42
V
4.2.1. Improvements: New Date Selection Process 42
4.2.1.1. Clicks 42
4.2.1.2. Speedup 42
4.2.1.3. Data Transfer 43
4.2.1.4. Other Improvements 43
4.2.2. Enhanced BookIt Screen Flow 45
CHAPTER 5: USABILITY EVALUATION COMPARISON 48
5.1. Process 48
5.1.1. Required Tasks 48
5.2. Desktop/Laptop Usability Results 48
5.3. Pocket PC Usability Results 50
5.4. Mobile Phone Usability Results 50
5.4.1. Mobile Phone User Expertise 50
5.4.2. BookIt: Login 51
5.4.3. BookIt: Change User Details 52
5.4.4. BookIt: Make Booking 52
5.4.5. View/Delete Bookings 54
5.4.6. General Considerations 55
5.4.6.1. The Nokia 3650 Keypad Limitations 55
5.4.7. User Comments 56
5.5. Usability Evaluation Conclusion 56
CHAPTER 6: USABILITY CONSIDERATIONS 58
6.1. Pace and Bandwidth 58
6.1.1. Testing Pace of Interaction 59
6.2. Context 60
6.3. Device Limitations 60
6.3.1. Screen Limitations 60
6.3.2. Input Limitations 61
6.4. Screen Flow 62
VI
CHAPTER 7: DISCUSSION 63
7.1. Problems Encountered with ASP.NET Mobile Controls 63
7.1.1. The SelectionList Control 63
7.1.2. Link Layout 63
7.1.3. Validation Controls 63
7.1.4. Calendar Control 63
7.1.5. Lack of Table Support 64
7.1.6. Hidden Links 64
7.2. Usability Discussion 64
CHAPTER 8: CONCLUSIONS AND POSSIBLE EXTENSIONS 65
8.1. Conclusions 65
8.1.1. Review 65
8.1.2. The Wireless Evolution 65
8.1.3. Usability Considerations 66
8.1.4. The Effectiveness of ASP.NET Mobile Controls 66
8.2. Possible Extensions 67
8.2.1. Support for More Devices 67
8.2.2. User Profiles and Prioritisation of Tasks 68
8.2.3. SMS Booking Ability 68
8.2.4. Utilising Web Services 68
8.2.5. Enabling Lecture Time Booking 69
REFERENCES 70
APPENDIX A: PROJECT POSTER 75
Chapter 1: Overview of Wireless Technologies Brendon Webber
1
Chapter 1: Overview of Wireless Technologies
1.1. Evolution of the Internet
1.1.1. The History of the Internet
The Internet gets its name from “Inter-nation Network” and though it does not have an
official naming date (Tanenbaum, 1996), its history begins in 1957 when the American
Department of Defence and the Defence Advanced Research Projects Agency (DARPA)
commissioned a group of scientists to develop a data communications network. (Beaumont,
1999).
The Internet is a collection of networks around the world that communicate with one another
through certain protocols. It has been created so that its design is independent of its
constituent networks and as such can evolve and change to accommodate the latest
technology. (Kahn, 1999).
Having been created by efforts from United States defence agencies as well as science and
education foundations the Internet has its foundations in the research and development
community. Recently, however, the Internet’s growth has been almost entirely driven by the
private sector and the Internet has come to play a vital role in the entire world’s economy
(Kahn, 1999). The Internet has become a part of the daily life of individuals, and is a
platform for online and offline business and communications. For example, purchases over
the Internet amounted to over US$ 600 billion in 2001. (Olive, 2002).
Over the past 30 years the speed of network lines has increased from 50 Kbps to more than 10
Gbps today. Users can access the Internet via dial up modem at 56 Kbps, Integrated Services
Digital Networks (ISDN) at 128 Kbps, Cable modems at 10 Mbps (shared) or over Digital
Subscriber lines at speeds up to 6 Mbps
1.1.2. The Development of the World Wide Web
In 1992 Berners-Lee developed an application to allow accessing of documents over different
machines, called “hypertext” which lead to the development of the World Wide Web (WWW)
(Beaumont, 1999). The introduction of the Mosaic browser in 1993 (later to become
Netscape in 1995) for the World Wide Web caused usage of the Internet to accelerate
dramatically.
Chapter 1: Overview of Wireless Technologies Brendon Webber
2
It is very difficult to determine the amount of users online, however, using sophisticated
measurement techniques Nua Internet Surveys have formulated an educated guess of the
numbers online and that number is 605.6 million. Africa contributes 6.31 million to the total,
of which South Africa contribute almost half at just over 3 million in December 2001. (Table
1.1).
Table 1.1: How Many Online (Nua Internet Surveys)
1.1.3. The Birth and Growth of the Mobile Internet
As the Internet started to reach such widespread acceptance users have placed new demands
on computing that fixed desktop connections cannot possibly provide. The advent of
extremely powerful laptop computers along with the massive arrival of a wide range of
smaller mobile computers and phones mean that traditional online services are becoming less
suitable to today’s modern user. In addition to this, the rapid growth of cellular
communications and other wireless services (such as Wireless Local Area Networks WLANS,
and Wireless Internet Access) have led to the decrease in the prices of these devices as well as
an increase in their demand (Kahn, 1999). Kahn (1999) believes that palm sized devices with
their wireless connection to the Internet will eventually dominate the market.
Many online content providers have made their pages accessible to mobile devices along with
standard desktop browsers (CGE&Y, 2001). Since these technologies will be packet based,
data transmission volumes will become the method for billing customers and staying
connected wherever one goes will become the norm. According to Kahn (1999), Speeds of up
to 1.5 Mb/s in the next decade seems destined for those who can afford it while speeds of 10
Mb/s are common place in the local wireless environment (WLANs) with speeds of 54 Mb/s
already in the marketplace.
Chapter 1: Overview of Wireless Technologies Brendon Webber
3
Thus the Internet will experience rapid expansion of a new breed of online user that
constantly change their geographical location and access services from a variety of devices,
each with different specifications and characteristics.
1.1.4. Markets
1.1.4.1. Mobile Phone Markets
According to MobileOffice.co.za (2003), in February 2003 there were 14.4 Million mobile
phone users in South Africa, with a potential amount of 19 Million by 2006. This is a market
that will experience massive growth in the near future. Thus it is important for developers to
create usable web applications in order to catch and keep prospective users.
1.1.4.2. Mobile Internet Market
“Mobile data growth was limited for reasons such as speed, security, coverage, ease of use
and cost” (Lucent Technologies, 2003). However, with the development of cutting edge 3G
technologies such as CDMA2000 (Code Devision Multiple Access 2000) and UMTS
(Universal Mobile Telecommunications System) the problems restricting the Mobile
Internet’s growth should be overcome as service providers meet user’s needs at a lower cost.
“Some ease of use challenges remain” (Lucent Technologies, 2003) indicating that in spite of
the advances in technology and communications speeds, the mobile Internet is not currently
easy to use. Excessively high expectations on technologies, and bad advertising in the
markets meant that WAP was very slow to take off and was a disappointment for most users
(Selian, 2000). “WAP usability fails miserably,” states Sigurdson (2001), but then he goes on
to state that “good user interface design can alleviate some of the problems.” This indicates
that usability is of high priority in this emerging market and gives good grounding for the
work covered in this project.
“mCommerce revenues worldwide in 2000 amounted to about $4 billion. By the end of 2005,
there will be almost 500 million users of mobile eCommerce who will generate more than
$200 billion in revenue” (CGE&Y, 2001). This prediction is staggering; with revenues
exploding by 50 times in 5 years there is clearly a prosperous future for the Mobile Internet.
Chapter 1: Overview of Wireless Technologies Brendon Webber
4
1.2. Current and Future Wireless Communication Technologies
There are numerous implementations of mobile data transfer technologies and they generally
fall under two categories, namely Local Wireless Networks and Carrier Wireless Networks.
1.2.1 Local Wireless Networks
Wireless Local Area Networks (WLANs) or Personal Area Network (PAN) provide LAN
connectivity over short distances, usually within a business building. Protocols such as IEEE
802.11 for WLANs and Bluetooth for PANs are used.
IEEE 802.11 protocol (WLANs):
An 802.11 LAN is based on a cellular architecture where the system is divided up into
cells, each of which is controlled by an Access Point*. Some WLANs can work without
an access point, however, most WLANs are made up of several cells controlled by access
points that are connected to the primary local area network backbone. The 802.11
protocol covers the Data Link and Physical layers, but performs some upper layer
functions such as Fragmentation, Packet Retransmission and Acknowledgments (Brenner,
1996). 802.11’s basic access method is the Carrier Sense Multiple Access with Collision
Avoidance (CSMA/CA). CSMA protocols are widely used in the industry, the most
popular being Ethernet using the CSMA/CD protocol (CD meaning Collision Detection).
These kinds of protocols are only effective when the medium is not heavily loaded.
Though Collision detection works well for wired LANs it is not suitable for wireless
LANs because Collision Detection would require the presence of a full-duplex radio link
which would increase the price significantly. Another reason is that sending stations
might not be able to hear each other and therefore would not detect the collision if there
were one at the receiver. For these reasons 802.11 uses Collision Avoidance which works
as follows: Stations still sense the medium and wait until it seems the medium is free.
Once the medium is free for a specified length of time the sending station will send, the
receiving station will check the CRC† of the received packet and return an
acknowledgment (ACK). If the sender does not receive the acknowledgment it will re-
send the fragment. It will repeat this until it receives an acknowledgement or until it has
made a certain amount of attempts. (Brenner, 1996).
Bluetooth (PANs):
* Access Points receive, buffer and transmit data between the wireless LAN and the wired network, supporting a group of wireless devices. Each access point and its users make up a cell. † Cyclic Redundancy Check: A method to detect and correct errors by adding bits derived from a block or string of bits to the block (NIST, 2002)
Chapter 1: Overview of Wireless Technologies Brendon Webber
5
Bluetooth is a much shorter distance technology that allows Bluetooth enabled devices to
talk with one another. It overcomes a few barriers that limit the user-friendliness of the
classical cable connection, Bluetooth is wireless and does not need any specific entries
and settings to establish communication. It operates at a frequency lying between 2.402
GHz and 2.480 GHz. Bluetooth utilises a frequency hopping technique with 1600 hops
per second to avoid vulnerability to eavesdropping and interference. It can reach speeds
of 1 Mbps of which 721 kbps are available for speech and data. Bluetooth is efficient
over distances of up to about 10m (class 2 modules), there is, however, a new
specification that should increase the range to almost 100m (class 1 modules), but with the
cost of increased power consumption. Due to its small size and very low power
consumption Bluetooth is commonly used to connect mobile phones to computers,
cordless headsets, motor vehicles and other appliances (Bluetooth, 2001).
1.2.2 Carrier Wireless Networks and Their Evolution
Cellular Communications:
This technology divides a service area into a number of smaller cells. As users travel from
cell to cell calls are transferred between stations using cellular switching mechanisms.
Cellular phones provide real-time, full duplex voice communications and can achieve speeds
of 20 Kbps. Because cellular is two-way and real-time it is suitable for data transfer and thus
for mobile web applications. Wireless carrier’s or service providers provide cellular services.
In South Africa there are three carrier services: Vodacom, MTN and Cell C. (Zhao, 2003).
These networks have been evolving and are classified into generations, with 3rd generation
networks beginning to emerge in the more advanced countries such as Japan. 2nd Generation
(2G) networks, such as GSM, were designed for voice and this technology will now share the
network and existing infrastructures with emerging 3rd Generation (3G) technologies, such as
GPRS, that concentrate more on data transfer (Girau et al, 2002).
1.2.3.1. 1G Networks
1G wireless cellular systems started appearing in the 1980s. Based on AMPS (Advanced
Mobile Phone Service) standard 1G networks were the first to use the concept of cells. They
Chapter 1: Overview of Wireless Technologies Brendon Webber
6
provided an analogue voice service but no data services. “The spectral efficiency* of 1G
networks was very low and the effective ‘energy/bit’ was high” leading to low battery life
(Silicon Press, 2002).
1.2.3.2. 2G Networks
Digital is used in 2G wireless networks for spectral efficiency rather than for digital services.
Several 2G standards are in use:
GSM: GSM stands for Global System for Mobile and is known as 2G (2nd Generation)
Digital. GSM is based on circuit switching technology and can achieve speeds of 9.6
Kbps. The GSM standard employ’s Time Division Multiple Access (TDMA) technology.
GSM is poor for data and Internet applications and was mainly aimed towards carrying
voice. A connection is established and the circuit switched connection lasts the entire
session, the time for which the user normally pays for. It is for this reason that a means
for transferring packet data over GSM was needed. Normally GSM operates in the 900
MHz or 1.8 GHz frequency bands. It divides up its 25 MHz wide frequency spectrum
using a combination of Time and Frequency Division Multiple Access (TDMA and
FDMA) which also form part of 2G networks. One of the most appealing features of
GSM is that it is considered to be secure. All speech and data communications are
encrypted to prevent eavesdropping and users are identified by a unique identity number
and authentication key held on a SIM card which also holds the algorithm. The SIM card
method of access to the network means that the user’s access is independent of the device
and users can simply rent devices and insert their SIM cards. (Selian, 2000).
TDMA is widely used in the western hemisphere and is a foundation for GSM. Bits of voice
are digitised and then transmitted on an individual channel to be reconstructed on the
other end and converted back into voice. Data is transmitted at up to 14.4Kbps. (Selian,
2000).
CDMA (Code Division Multiple Access) is a modulation and multiple access scheme that
uses digital encoding and spread spectrum techniques to let multiple users share the same
channel. It encodes each user’s signals uniquely by spreading the spectrum of their
signals across the frequency band so that each users signal is pseudo-orthogonal to each
other user’s signal (Algorex, 2000; Selian, 2000). CDMA has been known to increase
system capacity by more than three times when compared to TDMA. CDMA systems are
* Spectral Efficiency: The amount of useful information that can be transmitted over a given spectrum (bandwidth) over a given period of time.
Chapter 1: Overview of Wireless Technologies Brendon Webber
7
the most advanced 2nd generation technology and provide a more reliable error recovery.
(Selian, 2000).
The relationship between 2G and 3G networks is highly dependent on the migration process
between the two different generation networks which, in turn, is dependent on what type of
2G network formed the starting point. CDMA based systems point to CDMA2000 whereas
TDMA based systems (GSM inclusive) aim towards the W-CDMA (or UMTS) standard as
their 3G destination. CDMA based carriers believe their migration to 3G will be less
expensive than their GSM/TDMA counterparts since the change will only involve inserting
new channel cards into the base stations and updating the networking software. While the
GSM/TDMA’s route to 3G will require implementing an entire network overlay. (Selian,
2000).
South African service providers used GSM/TDMA for 2G so the cellular communications
networks migration from 2G to 3G is likely to follow the path indicated by Figure 1.1.
Figure 1.1. From GSM to 3G (Usha Communication Technology, 2000)
HSCSD:
HSCSD stands for High Speed Circuit Switched Data. It is possible to transmit
narrowband data and digital fax over GSM networks using the TDMA interface. The
methodology is similar to that of establishing a connection, like one would do with a
modem over a traditional landline (Selian, 2001). HSCSD concentrates up to four GSM
timeslots and can reach data transmission speeds of about 64 Kbps. Mobile terminals
supporting HSCSD are not currently available. Operators will need to decide whether
they will offer this service or skip it on their way to GPRS and true 3G networks. HSCSD
Chapter 1: Overview of Wireless Technologies Brendon Webber
8
is not an essential step on the way to EDGE and 3G networks and for this reason most
network operators have skipped it. (GPRS White Paper, 2000).
1.2.3.3. 2.5G Networks
2.5G networks are beginning to become the standard worldwide and were implemented in
South Africa during 2001 (iTouch, 2000). 2.5G systems (which are essentially GPRS
systems) are basically packet overlays on 2G, and are primarily a software upgrade of GSM
(Silicon Press, 2002). Both GSM and TDMA support GPRS (Mobile Streams, 2001).
GPRS:
GPRS stands for General Packet Radio Service and is a relatively new, non-voice service
that is being added to cellular telecommunications systems and form part of 3G networks.
GPRS is also known as 2.5G. It provides for the transmission of IP packets over existing
cellular networks thereby bringing the Internet to the mobile phone (Gilbert & Deshpande,
2002). It does this by overlaying a packet based air interface over the existing circuit
switched network. Data is split into separate but related packets, then transmitted and
reassembled on the receiving end. GPRS does not hold any channels for a specific length
of time, instead the users will share the resources and only use them when they actually
need to send or receive data (Mobile Streams, 2001). This is quite a big step for network
operators and many consider it a bigger step than from 2.5G to 3G. This is because
operators are changing from a time based service to a volume based service (Selian,
2000).
GPRS users will have instantaneous access to the Internet, without the need to dial up, and
will remain continuously connected until they log off, only paying for actual data they
transfer (Usha Communication Technology, 2000). Theoretically GPRS data speeds
should range from 14.4 kbps (with one radio timeslot) to 115 kbps (combining timeslots).
Practically speeds of 40 to 50 kbps are expected which will enable one to use truly
interactive web applications from ones mobile phone, for a reasonable price (Usha
Communication Technology, 2000). It is for these reasons that GPRS has been deployed
in many mobile communications networks today. However, with all these benefits of
GPRS there are still some drawbacks. Since GPRS packets are sent in all different
directions and need to be reassembled on the receiving end, it is likely that some of those
packets may get lost or corrupted, which is why GPRS incorporates data integrity and
retransmission strategies. This in turn may introduce transmission delays as packets need
Chapter 1: Overview of Wireless Technologies Brendon Webber
9
to be re-submitted to reconstruct the original data. This makes GPRS not suitable for
applications such as video streaming. HSCSD is more suited to for this since it is
characteristically an end to end connection and therefore there is less chance of having
transmission delays (Mobile Streams, 2001). In reality GPRS will be much slower than
documented and relatively high mobile data speeds might not be available to end users
until technologies such as EDGE or UMTS are employed in the network infrastructure.
(Mobile Streams, 2001)
EDGE:
EDGE stands for Enhanced Data for GSM Evolution (Usha Communication Technology,
2000) or Enhanced Data for Global Evolution (Chapman, 2003). Next in line on the way
to 3G, EDGE is considered to be between 2.5G and 3G. EDGE has been developed to
increase the bandwidth of GPRS and is expected to triple its capacity reaching speeds of
up to 384Kbps by combining 8 × 48 Kbps channels. However, analysts believe EDGE’s
indoor speeds “will drop outside the urban areas to 115 Kbps, and will achieve outdoor
speeds of 450-550 Kbps (Usha Communication Technology, 2000). EDGE was originally
developed as a cost effective way for operators to migrate to full-blown 3G networks.
EDGE is based on GPRS/GSM and does not change much of the core network. It
enhances data transfer by using a more advanced coding scheme enabling each timeslot to
carry more data. EDGE is also adaptive and will change its coding schemes as signal
changes, achieving much higher transfer speeds when signal is good. EDGE’s goal is to
enhance the current GSM radio carrier by changing the type of modulation used, whilst
still working concurrently with existing circuit and packet switching technologies (Selian,
2000). EDGE uses eight-phase-shift-keying (8 PSK) modulation, and since 8 PSK will be
used for UMTS, operators will have to incorporate it somewhere on the way to 3G
systems (Usha Communication Technology, 2000).
1.2.3.4. 3G Networks
3G is often referred to as IMT-2000 (International Mobile Telecommunications-2000),
WCDMA or UMTS. 3G is an ITU (International Telecommunications Union) scheme for
providing radio access to the global telecommunications infrastructure, “through both satellite
and terrestrial systems, servicing fixed and mobile users in public and private networks”
(GPRS White Paper, 2000). The global standard radio link between user’s terminals and the
operator’s network is likely to be WCDMA (Wideband Code Division Multiple Access).
Chapter 1: Overview of Wireless Technologies Brendon Webber
10
High data transfer speeds can be achieved in this way as several hundred channels can share a
single 5 MHz frequency corridor. Operators running GSM 1800 MHz networks will have an
advantage over those running GSM 900 MHz networks because the lower power and higher
frequency provide better coverage at UMTS frequencies (Selian, 2000). This means that Cell
C might have the advantage over Vodacom and MTN since they are the only operator in
South Africa that utilises the 1800 MHz frequency band.
Throughout the wireless evolution process, operators have only been able to offer a “best
effort” service. The same goes for 3G where high-quality services based on UMTS must bear
the limitation that data transmission may reach anywhere up to 2 Mbps. It seems that with
mobile, nothing is guaranteed. (Selian, 2000).
UMTS:
UMTS, which stands for Universal Mobile Telecommunications System, should
revolutionize mobile connectivity. UMTS is intended to provide data speeds and
protocols that will allow users, equipped with advanced handsets, to access the Internet,
watch movies, listen to music, transfer large files and participate in video conference calls
to and from locations of choice worldwide. Hosting all these different types of activities
requires a dynamic, flexible network. (Selian, 2000).
UMTS is the direct evolution of GPRS/GSM networks. UMTS can support both IP and
non-IP traffic using a number of methods including packets, circuit switching and virtual
circuits. The maximum speeds of 2 Mbps will probably drop to 384 Kbps for pedestrians
and 144 Kbps for moving vehicles. (Usha Communication Technology, 2000).
The most significant change is the introduction of the new UMTS terrestrial radio access
(UTRA) which is a WCDMA radio-interface for land communications. UTRA supports
both time division duplex (TDD) and frequency division duplex (FDD) which both offer
flexible and dynamic data rates of up to 2 Mbps. (Tektronix, 2003).
With the emerging 3G networks and mobile data transfer speeds constantly on the increase
there is plenty of room for new applications for the technology. The ability to make truly
interactive mobile web applications will be based on the abilities of the device and markup
language supported by the browser rather than the speed of the connection.
Chapter 1: Overview of Wireless Technologies Brendon Webber
11
1.2.4. Protocols and Markup Languages
Markup languages are sets of codes that define how a document is structured and can then be
used to specify how a document is rendered. Web pages are usually encoded with a set of
tags called Hypertext Markup Language (HTML). SGML is the parent language of HTML
and most other markup languages.
Standard Generalized Markup Language (SGML):
SGML texts are comprised of plain ASCII text and markup tags, which allow one to
create very structured documents. The tags are also ASCII characters and so no special
software is required to create a SGML file, all that is needed is a text editor. (Seaman,
2003)
Hypertext Markup Language (HTML):
HTML is the primary markup language of the World Wide Web. HTML has gone from
version 1.0 to 4.0. HTML documents are designed for on-screen viewing and user
interaction (Walker, 1998). HTML makes use of tags and specifies what each tag and
attribute means (and often how the text between them will look in a browser). In 1998
Walker believed that XML would replace HTML, however we now know that XHTML is
probably going to replace HTML (Heinicke, 2000).
Extensible Markup Language (XML):
XML is a simple, flexible text format that is beginning to play a very important role in
data exchange between applications on the Web and elsewhere (W3C, 2003). The most
important difference between HTML and XML is that XML is extensible, unlike HTML
where authors cannot add new features to the language. Like HTML, XML makes use of
tags, but XML uses tags only to delimit data and leaves the interpretation of the data to the
application that reads it. XML is a meta-language meaning that it is a language that is
used to describe other languages. In an XML document tag names convey meaning about
the data they contain and thus XML is ideal for data representation and storage. (CHM,
2002).
Extensible Hypertext Markup Language (XHTML):
In XHTML elements of HTML have been combined with XML 1.0 to make a single
language. HTML can easily be converted into XHTML (Heinicke, 2000). Some of the
main points about XHTML are: all tags are written in lowercase, every tag must have a
corresponding end tag, every attribute value must be in double quotes, nesting must be
correct and symmetrical and all markup must be well formed (Kaiser, 2001).
Chapter 1: Overview of Wireless Technologies Brendon Webber
12
Traditional markup languages are not suitable for mobile devices. Conventional HTML
carries support for advanced capabilities that modern day browsers such as Internet Explorer
6 (IE6) can exploit. Browsers such as IE6 make use of the rich set of capabilities that desktop
and laptop devices have such as large colour screens, 101 key keyboards, easy scroll mouses
etc. The browsers on mobile phones and other devices are restricted by the limited
capabilities of the device upon which they reside. To accommodate the limitations of a
phone-sized platform (tiny screen, limited input options, reduced bandwidth, and per-second
charges) a special markup language, WML which is part of the WAP specification, has been
devised. Other languages designed for these smaller mobile devices are XHTML Basic,
XHTML Mobile Profile and Compact HTML (cHTML).
Wireless Access Protocol (WAP):
WAP is a widely marketed standard wireless protocol that was first published in 1998 by
the WAP Forum. WAP’s design accommodates an enormous range of wireless networks
including GSM. WAP uses a number of underlying transmission protocols to transfer
some markup language from the Internet to user’s devices, the most common language
being WML (Aldridge, 2000). There are many versions of WAP, the latest of which is
WAP 2.0. WAP 2.0 provides support for protocols such as IP, TCP and HTTP, which
enables wireless devices to utilise existing Internet technologies. The WAP 2.0
Application Environment has evolved to embrace developing standards for Internet
browser markup language. This has led to the definition of the XHTML Mobile Profile
(XHTMLMP). XHTMLMP is based on the modularity framework of the Extensible
HyperText Markup Language (XHTML) developed by the W3C to replace and enhance
the currently used HTML language common today. (WAP Forum, 2001).
Wireless Markup Language (WML):
WML is a markup language that allows text and graphics to be displayed on mobile
phones and certain PDAs*. WML is designed for the wireless web where the limitations
of small screens and few buttons make regular markup languages inappropriate. WML
acts as an XML application for mobile devices as XHTML is for Web browsers (CGE&Y,
2001). Where conventional web browsing consists of sites containing a number of pages,
handheld web browsing consists of decks containing a number of cards (Adams, 2001).
* Personal Digital Assistant - Handheld Computer
Chapter 1: Overview of Wireless Technologies Brendon Webber
13
XHTML Basic:
XHTML Basic was designed to enable the sharing of XHTML documents across multiple
communities of devices (e.g. desktops, televisions, and mobile phones). (W3C, 2000).
XHTML Mobile Profile (XHTMLMP):
XHTML Mobile Profile is a strict subset of XHTML that addresses the special
requirements of Web clients operating on resource-constrained devices such as mobile
phones. XHTML Mobile Profile extends XHTML Basic to enhance functionality for
authors such as additional presentation elements and support for internal style sheets.
(WAP Forum, 2001).
1.2.3.6. Other Technologies
i-mode:
i-mode uses compact HTML (cHTML) for delivery of content and packet switching to
sustain continuous connection at data transfer speeds of about 9.6 kbps. Developed in
Japan, but gaining acceptance in Europe, i-mode is by far the cheapest wireless access
service. (Aldridge, 2000).
1.3. Overview of Microsoft .NET Development Tools
1.3.1. Microsoft Visual Studio .NET
Microsoft’s Visual Studio .NET replaces their previous tools and incorporates many new
tools needed in today’s technology driven environment. .NET also provides a massive library
of pre-built components designed for re-use in applications. .NET incorporates many
languages including Visual Basic .NET, Visual C# .NET , Visual C++ .NET, and Visual J#
.NET (java) though there is little support for Java. Microsoft believes that .NET will be a
means to speed up and optimise the construction of XML-based web services and applications
and to serve these applications to a host of web enabled devices. (Rupley, 2002).
1.3.2. Microsoft ASP.NET
ASP.NET allows one to program web applications in any of the .NET Framework compatible
languages. ASP.NET also provides a method for the web programmer to truly separate
content from layout as one can use WebForms to display the user interface, and then use any
of the .NET Framework tools to build the programming back-end. In addition to this, the
Chapter 1: Overview of Wireless Technologies Brendon Webber
14
code making up an ASP.NET application is a compiled .NET program, and therefore it will
run faster than the equivalent ASP application. ASP.NET also makes use of an automated
caching model which caches pages that have already been compiled resulting in increased
performance. In addition to this, ASP.NET makes the issue of maintaining state simple
through the use of its automated state management system. (Watson et al, 2001)
1.3.3. Microsoft ADO.NET
The .NET Framework provides a specific set of objects within the System.Data
namespace that provide developers with a multitude of methods for easy access to data. All
together, these objects are known as ADO.NET (derived from ActiveX Data Objects).
(Watson et al, 2001).
ADO.NET sets itself apart from previous ADO implementations with its handling of
disconnected data stores and its interoperability with XML. ADO.NET provides namespaces
for SQL, Access, Oracle (.NET v 1.1) and any ODBC* data source where each namespace
contains many classes that can be used to access and manipulate data within their associated
data stores. (Markatos, 2003).
1.3.4. Microsoft ASP.NET Mobile Controls
ASP.NET Mobile Controls were previously known as Microsoft Mobile Internet Toolkit
(MMIT) with the first release of Visual Studio .NET (Landry, 2003). The controls are
available as part of the Microsoft .NET Framework 1.1 which can be downloaded free from
the Microsoft web site. ASP.NET Mobile Controls allows developers to develop web
applications accessible to many different devices including Pocket PC’s and mobile phones.
It does this by recognising the incoming device browser and then generating the appropriate
markup for that device. ASP.NET Mobile Controls supports hundreds of devices, though
emulators are seldom available for them. (Dragan, 2002).
* Open Database Connectivity: A standard for accessing different database systems. There are interfaces for Visual Basic, Visual C++, SQL and the ODBC driver pack contains drivers for the Access, Paradox, dBase, Text, Excel and Btrieve databases. (hyperdictionary, 2003).
Chapter 2: Initial User Study Brendon Webber
15
Chapter 2: Initial User Study
2.1. Process
Before development of the actual application began it was decided to ascertain users current
views of the mobile Internet and which devices were popular among these users. A
questionnaire was constructed and posted on the Web for prospective users to complete. The
questionnaire gathered information about user’s mobile phones, their knowledge of current
technologies (e.g. WAP and GPRS) and their experiences with using the mobile Internet.
2.2. Results
2.2.1. Mobile Phone Brands
Figure 2.6. Mobile Phone Brand Usage
Analysis of the 26 responses indicated that Nokia seem to have a large proportion of the
market share (Figure 2.6). The popularity of Nokia mean that it is important for web
applications to run smoothly on Nokia phones.
In addition to this, of the Nokia users, 30% of their phones are not WAP or GPRS enabled.
This number can be expected to diminish rapidly as new cell phones now have GPRS and
WAP capabilities. In addition, the survey indicated that the average turnaround period for a
mobile phone is just under 18 months, so in the near future every mobile phone user will be
able to connect to the Internet through their mobile phones.
Chapter 2: Initial User Study Brendon Webber
16
2.2.2. Mobile Internet Usage
Figure 2.7. Current and Possible Future Mobile Internet Usage
The survey indicated that the Mobile Internet is not being fully utilised, but many users would
like to use it (Figure 2.7). This indicates that soon, with more mobile phones being GPRS
enabled and with phone capabilities improving constantly, there will be a much larger
population of prospective users.
2.2.3. Current Mobile Internet Usability
Figure 2.8. User Evaluation of the Ease of Use of the Mobile Internet
Chapter 2: Initial User Study Brendon Webber
17
Of the seven users that had used the Mobile Internet, one can see that it is not currently easy
to use (Figure 2.8). The negative responses indicate the need for developers to construct
mobile web applications that increase usability for the user. Menus were rated the highest
with regards to usability, this is important to note as menus can be used in a variety of ways
from navigation to data entry and thus their usefulness and usability must be exploited during
design.
2.3. Conclusions From the Initial User Study
From these results one can see that Nokia is the most popular make of phone. For this reason
a Nokia was chosen as a target device for the project. Within the next few years virtually
every mobile phone will be GPRS enabled and users indicate that they would like to use the
Mobile Internet. This is evidence of a large prospective market for mobile web services in the
future. Users that had used the mobile Internet found it difficult to use. Thus one can deduce
that it is vital to produce easy to use mobile web applications in order to satisfy current and
future users.
Chapter 3: BookIt First Version Brendon Webber
18
Chapter 3: BookIt First Version
3.1. Project Objectives and Introduction
The overall objective of this project is to determine the effectiveness of Visual Studio .NET
and ASP.NET Mobile Controls in designing a usable mobile web application. This was
accomplished by constructing a mobile web application using these tools. The application
then underwent a usability evaluation before it was enhanced to optimise its usability on a
number of target devices. The steps taken during enhancement were recorded and
documented after which the usability of the enhanced version was evaluated.
This provides a good basis upon which to draw conclusions about the effectiveness of
Microsoft Visual Studio .NET and ASP.NET Mobile Controls in creating truly usable mobile
web applications.
3.2. Description of the Mobile Web Application: BookIt
For the purposes of this project a standard web bookings application was constructed for use
in the Hamilton building (which houses the dept of CS and IS) at Rhodes University. The
application was named BookIt and allows the Administrator to add categories to the system
and then to add items to those categories. The categories comprised of Venues (e.g. Staff
Room, Visitors Office etc.) and Equipment (e.g. Digital Camera, Video Camera etc.), though
the application could easily be set up using other categories and items. The Administrator
may also choose a starting time and ending time which will be the start and end times of the
day, and timeslot length into which the day will be divided. Then users that have been added
by the Administrator may book items during any available timeslot.
3.3. System Architecture
3.3.1. Development Environments
Visual Studio .NET together with ASP.NET Mobile Controls were chosen as a basis for
development of the project. Another notable option is that of SUN’s Java Mobile Web
solution J2ME. ADO.NET was used to access data located in a SQL Server database.
The host server ran Microsoft Internet Information Server (IIS) which supported the .NET
framework. Microsoft SQL Server 2003 was used as a database server to house the data for
the web application.
Chapter 3: BookIt First Version Brendon Webber
19
Three target devices were tested: The Desktop PC (using Internet Explorer 6.0 and Mozilla),
Compaq iPAQ H3660 Pocket PC (using Pocket Internet Explorer) and the Nokia 3650
(XHTML Mobile Profile/WML 1.3 browser).
3.3.2. Architectural Overview
Figure 2.1. Architectural Overview
The BookIt application resided on a web server named Beavis located in the Hamilton
Building. The web server is connected to a SQL Server that housed the BookIt database.
Users could access the BookIt application from any computer connected to the Internet, from
any PDA or Pocket PC connected to a wireless network connected to the Internet or from a
cell phone that connects, using GPRS, through a network operator (such as Vodacom) to the
Internet (Figure 2.1). The project was tested on desktop computers attached to the Internet, a
Pocket PC connected using 802.11 to the Hamilton WLAN and on a mobile phone connecting
to the Internet through the Vodacom network operator.
Once a mobile web application is deployed on a web server, a mobile phone or Pocket PC can
make a request to the web server for a mobile web page. The request will be made using
either WAP over GPRS or HSCSD (GPRS was used for testing) depending on phone and
network capabilities and how the user has decided to set up their connection. The phone will
issue a WAP request which will be translated into an HTTP request by the network operator’s
WAP Gateway (Figure 2.2). If 802.11 is used, say from a pocket PC, then the request is
simply an HTTP request. The request will then be forwarded to the appropriate web server.
Chapter 3: BookIt First Version Brendon Webber
20
Figure 2.2.Mobile Web Application Architecture
Figure 2.3. Rendering the Correct Markup Language
The server will determine the device and browser capabilities and render the requested page
in the appropriate markup language (Figure 2.3). It will then package the page into an HTTP
response and return it to the sender. If it was initially a WAP request then the network
operator will translate the HTTP response into a WAP response and return it to the requesting
device. In the case of 802.11 being used the HTTP response will simply be returned to the
device. (Mobile Web Application Architecture Tutorial, 2003).
3.4. System Design
The system was designed using object oriented design and programming practices. Wherever
possible objects were mapped to their real world counterparts. One object (the
Chapter 3: BookIt First Version Brendon Webber
21
DBController) controlled all access to the database and all other objects would have a
connection to this object so that they could access the data and populate their attributes. This
method of database access means that if the location or properties of the database were to
change one would only need to update the properties of the DBController class (Figure
2.4).
Figure 2.4. BookIt – Problem Domain Class Diagram
A relational database model was chosen and the data was normalised (Figure 2.5). One can
see that the tables in the relational model map closely to the objects in the class diagram.
Figure 2.5. BookIt – Database Relational Model
3.5. Constructing the First Version of the BookIt Application
3.5.1. Methodology
The BookIt application was constructed with no support to check which device and browser is
making the request for the page. However, attention was paid to the fact that it would be a
mobile device with minimal screen space, difficult input mechanisms and a slow connection.
Chapter 3: BookIt First Version Brendon Webber
22
Thus, attempts were made to minimise text lengths, limit data input via typing and minimise
clicks to get to a destination.
For example, if the user wishes to view their bookings they are given the option of whether
they want to view all bookings or to view specific bookings for an item. If the user has only
one booking they will be redirected straight to their booking. Similarly, if the user has many
bookings, but all for the same item, they will also be routed directly to view their bookings.
By contrast, if the user has many bookings for different items, they will be prompted to give
the category name and then the item name (Figure 3.1). Thus every effort is made to
minimise the amount of clicks the user takes to get to their final destination.
Figure 3.1. Minimising User Clicks: BookIt – View My Bookings Flowchart
User Input Required
Chapter 3: BookIt First Version Brendon Webber
23
3.5.2. Creating Controls Programmatically
3.5.2.1. BookIt: Manage Items
Administrators need a way of adding categories, and then items to those categories. Since
embedding a DataList control within a DataGrid control gives little control over the
embedded DataList, a dynamic table was created that would host the categories
horizontally with their items beneath them in columns.
A DynTable class was created that made the construction of the table relatively simple. The
developer could add text, buttons and tables to cells with little effort and build up a table that
they could tailor to their needs (Figure 3.2).
Figure 3.2 BookIt – DynTable Class
Then, by iterating through the categories and their items the DynTable class was used to
build up the Manage Item Table (Figure 3.3). All the contents of the Manage Item page were
generated dynamically on the Page_Load event.
Chapter 3: BookIt First Version Brendon Webber
24
Figure 3.3. Dynamically Generating Controls: BookIt - Manage Items
Event handlers can only be assigned to the dynamically created buttons during the
Page_Load or OnInit methods, so the populateTable method was called from inside
the Page_Load method. In addition to this, dynamically created controls have no object
reference in the codebehind class, they appear only in the control collection containing the
control. In this case a table control was added to the web form and its reference was passed
into the DynTable class so that controls could be added to it. However, when the page is
posted back to the server as a result of user interaction, a new instance of the codebehind class
is instantiated and the variables of the class are set with values from the ViewState. So
when a control is manipulated after a postback, the control being manipulated is not the
original control, but a new one with properties that were retrieved via ViewState and
ASP.NET state management. Therefore if the dynamically generated controls are to be
populated with the postback values then they need to be re-generated at Page_Load and
assigned the same ID’s that they had previously. The ViewState uses the ID property of
Chapter 3: BookIt First Version Brendon Webber
25
the control to reinstate the values (Nissan, 2003). Thus each time the page is posted back the
entire table needs to be regenerated, assigning the identical ID’s to the controls.
3.5.2.2. BookIt: Manage Bookings
This section of the application allows the administrator to delete certain bookings. The
administrator can access this page and delete bookings by date, by user, by item or a
combination of these.
With the Manage Item page (Figure 3.3) the entire page is generated programmatically. This
was relatively simple as the generation code could be called from the Page_Load method
and the controls would be generated each time the page is loaded. However, for the Manage
Bookings page, the majority of the page was created by dragging and dropping components
onto the form, and it is only when the user wishes to search for bookings by specifying
criteria (dates, users and items) that the actual control generation takes place. Again,
generating controls is a simple matter and can easily be done during the event handler for the
search button’s onClick event. However, when another button is clicked by the user and
the page is posted back, unless the controls are re-instantiated their posted back values will be
lost, and the problem lies in how to know, on postback, exactly which controls need to be
regenerated during the Page_Load event.
Thus when the user specifies particulars and clicks search, the event handler for the search
button’s onClick event retrieves the specified bookings and populates a table with the
booking details alongside a CheckBox. The user can then select the CheckBoxes they
want to delete and click on the delete button which causes the page to be posted back. Unless
controls with the same ID’s can be instantiated, all the posted back data (including which
CheckBoxes are checked) will be lost. This problem was solved by using a hidden label.
When the table is populated a hidden label’s text property is populated with the primary keys
of the found bookings in a comma separated format. Then during the Page_Load event the
text property of the hidden label is checked and if it is not an empty string then the table is
populated with the bookings specified by the primary keys held within its text property
(Listing 3.1.).
Chapter 3: BookIt First Version Brendon Webber
26
Listing 3.1. Page_Load: Using a hidden label to remember booking numbers (C#)
Figure 3.4. Dynamically Generating Controls: BookIt - Manage Bookings
The result is a consistent page that runs smoothly and has an appealing look and feel where
the only controls on the page that have been generated dynamically are the Found Items
(Figure 3.4).
Chapter 3: BookIt First Version Brendon Webber
27
3.5.3.3. Dynamically Creating Menus
BookIt: Book Item
When a user decided to book an item: the first menu needs to be built dynamically (containing
the category names) after which the user’s decision would determine the contents of the next
menu (the items in that category). This was done by dynamically creating the menu by
iterating through the categories, creating command buttons for each category. These buttons
would have the category name as text, the category IDs as ID and have their onClick events
associated with an event handler. Then these menu item buttons would be added to the menu
panel. Once the user chose a category the event handler would catch the event, extract the ID
of the button that triggered the event and store it in the Session object and then re-route the
response to the select item form. The select item form would pull the category ID out of the
Session object, instantiate a Category object using it, then request that Category to return a list
of its Items. In the same manner the item menu would be created (Listing 3.2).
Listing 3.2. BookIt - Creating the Select Item Menu (C#)
It is important to remember that event handlers can only be added in the Page_Load or
OnInit methods in order for them to work. This poses a problem when the response from
one control creates a group of new controls because although one can generate those controls
in the method that catches the event raised by the first control, one cannot assign event
handlers, it is for this reason that the Session object was used to pass the ID of the chosen
Chapter 3: BookIt First Version Brendon Webber
28
category onto another mobile web form that could then create the new menu items and assign
event handlers to them during its Page_Load event.
3.6. Image Creation and Image Streaming
3.6.1. BookIt: View All Bookings
Often it is desirable to be able to create an image (e.g. graphs and charts) based on user input
or existing data. The existing manual booking system is quite graphical in nature, with users
paging through a book to the correct day then using a pen to book timeslots. Although the
BookIt system would allow users to view their own bookings there was no way that they
could actually browse through the “book” and view all bookings. Thus a class was created
that would query the database and draw a page very similar to that of the manual booking
system.
The .NET Framework library provides a rich set of classes for image creation (Mitchell,
2002). By making use of the Bitmap object to instantiate a Graphics object, one can then
use the methods provided by the Graphics object to manipulate the image.
A class named BookingsPictureBuilder was constructed. Once instantiated its
drawPicture method could be called passing in a date and a Bitmap object. The
BookingsPictureBuilder object would then draw a white background, a border and a
title before it would begin drawing the categories. For each category it draws all that
categories items, all the timeslots for that day and then the bookings in different colours,
displaying the users name and the users reason for each booking (Figure 3.5).
A web form was created so that the image could be streamed as its output. Thus a separate
page named GenerateBookingsImage was created that contained no controls. The
Page_Load method for this page used BookingsPictureBuilder to draw the contents
of a Bitmap which it then streams as its output (Listing 3.3.).
Chapter 3: BookIt First Version Brendon Webber
29
Listing 3.3. GenerateBookingsImage: Image Streaming (C#)
An additional web form was created and an Image control with its imageURL property set to
the “GenerateBookingsImage.aspx” was placed on the page. A calendar control together
with a next and previous buttons were added so that the user can select a date, or page through
the dates and view the bookings in a manner similar to that of the manual system (Figure 3.5).
Figure 3.5. Image Streaming: BookIt - View All Bookings
� Calendar � Next/Previous Buttons � Bookings � Streamed Image
Chapter 3: BookIt First Version Brendon Webber
30
3.7. Other Design Issues
3.7.1. Clashes
In any booking application the issue of clashes is of primary concern and when it comes to
mobile users interacting with the BookIt application over a relatively slow connection prior
warning as to whether there would be a clash or not is essential. The way the BookIt
application’s booking process was designed is critical to user’s perceptions of its usability.
Once the user has selected an item and a date the BookIt application will determine which
timeslots that item is available for that day and then display them in a ListBox. The
unavailable timeslots will have the word “Unavailable” next to them in the list (Figure 3.6).
Figure 3.6. Clashes: BookIt - Unavailable Timeslots
The user is not restricted to selecting only the available timeslots and if they do select an
Unavailable timeslot then the information about that booking is displayed (time, user and
reason). This was done so that in an urgent situation the user may contact the user with the
booking and attempt to make an alternative arrangement. In Figure 3.6 one can see that
‘John’ has this item booked from ‘10:00 � 11:59’ because he has an ‘Urgent Meeting’, the
screen then goes on to tell the user that one cannot book
unavailable timeslots and, since the user did choose an available
timeslot, the details about the available timeslot will follow and
the user would need to scroll down to view the available booking.
In addition, if two users were booking the same item at the exact
same time then the timeslot list would not reflect that the item
had been booked. The first user to input a reason and then submit
Chapter 3: BookIt First Version Brendon Webber
31
the booking will get the booking and the second user will be informed that the item has just
been booked and will be given the details of that booking (Figure 3.7). This is deemed to be
the fairest approach and ensures that there are no clashes.
3.8. Deployment Issues
After being developed on a machine running IIS 5 and SQL Server 2000, the application
needed to be deployed to a web server visible to the outside world. One must remember that
before an application can be deployed to a server one must have administrator privileges on
that server.
There are two ways in which to deploy .NET Web Applications:
1. Manual (XCopy) Deployment, and
2. Automated Deployment (Building Installers).
3.8.1. Manual vs. Automated Deployment
Manual deployment is simple. When using Visual Studio .NET to build a web application,
one can write the business logic of the application in code pages that sit behind the web
forms. These pages are referred to as codebehind pages. When an application is compiled, all
the compiled codebehind pages are placed in file called applicationName.dll which is placed
in the bin directory. With manual deployment, one need only copy the files needed to run the
application from the application directory to the deployment location on the web server. The
benefit of this approach is that it is quick and easy, but the downside is that it is manual and
so if one is not in control of the deployment machine this approach will not work. In addition,
if the application is to be distributed to a wider population, for example as a web application
that can be downloaded from the Internet and used in a company’s intranet, this approach is
not ideal either and one should rather opt for Automated deployment (Bellinaso & Hoffman,
2002).
Automated deployment is the preferred solution but is not always available, for instance:
when deploying to a web hosting company because one has to have access to the console of
the deployment server. This technique is a good option if a solution has been built for a client
who needs to be able to easily install the site on their web servers (Bellinaso & Hoffman,
2002).
Chapter 3: BookIt First Version Brendon Webber
32
3.8.2. Deploying BookIt
Although both of these methods could have been used to deploy BookIt it was decided to opt
for the automated deployment as this is the recommended approach.
First a release version of the BookIt application was compiled. Then a setup project was
created using the Visual Studio .NET setup project wizard. The files of the release version of
BookIt were added to the setup project, which was then compiled to create a Microsoft
Installer file (.msi) which can then be installed onto the web server. However, one must have
administrator privileges on the web server in order to do this installation. After the
installation was completed, updating the application from a remote machine is easy as long as
one has read/write access for the web server directory in which the application resides.
Updates can be made by transferring the updated .aspx files and the applicationName.dll
file to the web server directory.
3.8.3. Issues with Deployment
Once the BookIt application had been installed on the web server and configured to be visible
from the outside world the application was tested. The login page worked perfectly but
nothing worked further than that because the connection string that connected the application
to the SQL Server was still the same while the user of the database had changed, and so the
SQL server was restricting access. It was decided to continue using the SQL Server on the
development machine but to specify a user and password for the deployed application to use.
A user was added for the Database on the SQL Server, the connection string was changed in
the DBController class and the updates were transferred to the web server. After this, the
application worked perfectly.
3.9. BookIt First Version Results
Microsoft claim that ASP.NET Mobile Controls will generate the appropriate markup
language for the target device and that the controls will render and work differently on each
device. With the application deployed the extent to which this claim is true was investigated.
The controls did render and work differently on different devices and emulators (Figure 3.8).
Chapter 3: BookIt First Version Brendon Webber
33
Figure 3.8. BookIt Login: Application screenshot on different browsers
Even before user testing began it became evident that though all of the controls would render
many of them were not very easy to use and the SelectionList control did not work
correctly.
3.9.1. Problems Encountered
3.9.1.1. The SelectionList Control
It was found that with a certain configuration the SelectionList control does not perform
the desired function in a mobile phone browser. The SelectionList control was used in
two places. Firstly, once the user has chosen a date while booking an item they will be
presented with a list of timeslots from which they can select the desired timeslot. This is done
Chapter 3: BookIt First Version Brendon Webber
34
through a selection list control configured with its SelectType property set to
MultiSelectListBox so that users can select more than one timeslot. With the control
configured like this, it worked effectively on all tested devices. It allows the user to select
multiple list items and records the user’s selection on the postback. However, whenever
another option is chosen for its SelectType
property (DropDown, ListBox or Radio)
where only a single list item can be selected, the
control renders on a mobile browser and allows
the user to make a selection but does not seem to
postback the index of the user’s selection. This is
the case in the BookIt application when a user
wishes to view then delete a booking (Figure 3.9)
when the SelectionList is configured as a
ListBox. Browsers that support HTML did not
have this problem.
Ridgeway (2002) states that the control works
“only when its SelectType property has been set to either CheckBox or
MultiSelectListBox.” This is definitely what was experienced in this project and is
quite a severe downfall of ASP.NET Mobile Controls. Thus the SelectionList control
cannot be used to make single selections. This problem was overcome during the
enhancement of BookIt.
3.9.1.2. Link Layout
Many of the BookIt menus are set up as links to other mobile
pages. These links are centre aligned with their BreakAfter
property set to true so that the menu items appear one below the
other. However when rendered on the Nokia 3650 these links
appear one after another from left to right. This reduces the look
and feel of the application and can create confusion, especially
when a link’s name is split over two lines, as is the case when the
main page menu renders on the Nokia (Figure 3.10). This problem
was also fixed during the enhancement of BookIt.
Chapter 3: BookIt First Version Brendon Webber
35
3.9.1.3. Validation Controls
ASP.NET supplies a number of validation controls that can be used to automate some of the
more frequently used validations. These controls, such as the
RequiredFieldValidator which makes sure the user has made input in a particular
field, perform client side validation where possible (i.e. client device supports scripting),
otherwise they perform server side validation.
In the BookIt application validation controls are used in a number of places, such as the login
page. However, when there is more than one Mobile Web Form on a page, such as for the
select date, time and make final booking pages, these validators do not work. There is no
reason for this as the presence of other forms should not confuse issues. The validators
should merely perform their validation prior to submitting the form that they reside on or on
the server once that form has been submitted. This is another problem encountered with
ASP.NET Mobile Controls.
Chapter 4: Enhanced BookIt Brendon Webber
36
Chapter 4: Enhanced BookIt
4.1. Enhancing the Usability of the BookIt Application
In the previous chapter the development of BookIt First Version was outlined and problems
were identified. Through the testing process and user evaluation that were conducted on
BookIt First Version, it was determined that certain areas of the BookIt application should be
fixed or enhanced. Where possible these enhancements were made and documented.
4.1.1. View/Delete Bookings
Due to the SelectionList problem (Section 3.5.1.1) another method for allowing the user
to view and delete their bookings needed to be devised. The principles used in Section 3.1.2.
Creating Controls Programmatically were used once again to solve this problem. A page
was created that would create labels describing each booking, and then a delete command
next to each booking’s details. The bookings were grouped under dates and the page displays
up to ten bookings at a time with links to view the next or previous ten bookings (when
appropriate). The user may select the delete command next to a booking in which case that
booking will be deleted (Figure 4.1).
Figure 4.1. BookIt - View/Delete Bookings
Aside from the fact that this solution now works it possesses a number of additional benefits:
As soon as the View My Bookings page is displayed one can see the bookings, eliminating
the need for the first click in order to view the list. In addition to this, one has to merely click
on the delete button to delete the booking, whereas previously, one needed to select the
booking, then click the delete button. These small changes enhance the application and make
it easier to use.
Chapter 4: Enhanced BookIt Brendon Webber
37
4.1.2. Device Specific Checks
The great difficulty when developing mobile pages arises in the fact that there are many
different devices accessing the web application. Other than for limiting access to certain
pages that are only suitable for desktop and laptop devices, BookIt first version did not take
the requesting device type into account. When it comes to enhancing the application,
however, the requesting device and its capabilities are of utmost importance.
Since one of the target devices is the Nokia 3650, a method for obtaining whether it was the
requesting device needed to be obtained. This is a simple task and one has to merely check
the user-agent string for the presence of “Nokia3650” (Listing 4.1)
Listing 4.1. Device Specific Checks: Detecting the Nokia 3650 (C#)
4.1.3. Fixing the Link Problem
To fix the link problem all one needs to do is insert a break tag (<br>) after each link. This
forces the browser to put the link following the control on the next line (Listing 4.2).
Listing 4.2. Inserting Breaks After Mobile Links (aspx)
4.1.4. Enhancing Date Selection for the Nokia 3650
4.1.4.1. The Calendar Control For Date Selection
The calendar control seems to render the same in a WAP 1.1 Browser as it does in the
XHTML Mobile Profile browser. The control waists time and user clicks as it does not make
use of the extended abilities of a more advanced device.
Chapter 4: Enhanced BookIt Brendon Webber
38
Figure 4.2 represents the possible screen flows for date input using the standard calendar
control. When the user needs to provide a date input they will be presented with a page
containing a calendar control (represented by Calendar) and any other controls on the page.
The user then needs to select the calendar in order to begin the process of entering a date.
Once they have made this selection they are presented with the next screen where they have
the option to either select the current date, to type a date or to select a specific date. It is the
author’s view that the calendar control should render these options straight off together with
any additional controls on the page, this would eliminate a click and cause less confusion.
The option of selecting the current date (option A) is the simplest and fastest but it often
confuses people and most of the time is not used as users usually book for a date some time in
advance. Typing the date (option B) is the best option as far as speed and flexibility is
concerned, however this may cause errors as users attempt to calculate what the actual
numeric date is of the day they desire. Selecting a date (option C) is a good idea, however the
slow pace of interaction with the device and the amount of clicks this option takes make it not
worthwhile since the user has to first select a month, then select a week in that month and
finally select a day in that week (Figure 4.2).
Figure 4.2. The Calendar Control
Thus a control that takes a single click on a normal web page has been reduced to a control
that takes up to 5 clicks on a mobile device. In addition one cannot specify which dates
Chapter 4: Enhanced BookIt Brendon Webber
39
should not be selectable, such as previous dates. These characteristics of the Calendar control
make it insufficient as a truly usable control, however it is fast and easy to use from
development perspective and it does serve its purpose, though inefficiently.
4.1.4.2. Enhancing the Date Selection Process:
Since the Nokia 3650 supports XHTML Mobile Profile which, in turn, supports tables, it
would have been nice to be able to put the dates of the days into a table underneath their day
of the week. However ASP.NET Mobile controls do not allow tables. This posed as a bit of a
problem because there was no way to get the days to line up underneath each other neatly.
In the end it was decided to take advantage of the Nokia 3650’s
ability to put links one after another and to build up a calendar
control in this way. A class, MyCalendar, was created
whose constructor would accept a Panel as a parent control, a
start date, the number of weeks and an event handler to plug the
date click events into. The calendar would then be built
displaying the names of the months it covered (say October –
November) followed by the names of the days of the week.
Under that will be 5 weeks worth of days starting from the next
day that can be booked (Figure 4.3). The user can then
navigate through the links until the desired date is highlighted then simply select it. If the
date is not in the display there is a “…to next 5 weeks>>” link that will display the next 5
weeks.
The biggest problem with this approach was the alignment. Without the use of columns in a
table, aligning the dates under the correct day names was a real challenge and was never quite
perfected, however they were sufficiently aligned as to know which day the dates fall under.
Another difficulty with using this technique occurs due to the Nokia 3650’s approach to
hyperlink navigation. The Nokia 3650 has a 5 way scroll key which is used for selection and
navigation. This key is used to navigate through the links but does not behave the way a user
would expect it to behave. Left and right will move to the link on the left and right
respectively, however, when a user presses the down or up keys the selection jumps. With the
down key the selection will jump to the first link on the next line and with the up key the
Chapter 4: Enhanced BookIt Brendon Webber
40
selection will jump to the last selection on the previous line. This makes sense when one
considers it from the device and browser perspective, however it will not make sense to a
user. If a table could have been used the navigation would have been more simple. This is a
functionality that ASP.NET Mobile Controls should have provided since tables are a
fundamental part of traditional web design and many of the newer devices support table
rendering.
Another hitch that was noticed while constructing this page is that ASP.NET Mobile Controls
fail to hide hidden links (Figure 4.4). When the user clicks on the “…to next 5 weeks>>”
link and the next five weeks are displayed another link called “<<to previous 5 weeks” is
displayed to allow the user to go back. Before the user has gone forward they cannot go back
and thus the reason for hiding the link. However the Nokia 3650’s Mobile Profile browser
displays the link as “Go” and the link actually works. This is unacceptable since a user
should have no idea that there is a hidden link on the page.
This was fixed by making the MyCalendar object create the links on the fly. It decides
whether the next or previous link is actually necessary and only creates them when they are
needed. The same event handler is used as for the date selection. This event handler
ascertains which control caused the postback and takes the appropriate action.
This control will work well for users wishing to book for dates close in the future (5 to 10
weeks), however will become inefficient when the user wishes to book many months in
advance. For this reason the standard functionality of the options to book for the current day,
to type a date or to select a date are provided initially. This is much like the original Calendar
control except that there is more information making it easier for the user to understand what
Chapter 4: Enhanced BookIt Brendon Webber
41
is going on and, in the case of typing a date, the user can make the choice and the entry at the
same time (Figure 4.5).
Figure 4.5. New Date Selection Process for Nokia 3650
4.1.5. Main Menu Links
An essential component of mobile web applications is an easy navigation system. This is
because the slow connection speeds mean that the pace of interaction is reduced. Thus
indirect links such as two or three clicks in order to get to the desired destination can lead to
user frustration. For this reason it was ensured that the user had a direct link to the Main
Menu from most pages in the application and did not have to click the back button more than
once in order to get back to the main menu.
4.1.6. Making Username and Password Checks Ignore Case
A number of the users suggested making the username and password entries on the login page
ignore case. This was a good idea since the purpose of the BookIt login page is more for user
identification than authorization and allowing users to ignore case when making the entries
will make the application easier to use, especially for mobile users since changing case on a
mobile phone is tricky.
Chapter 4: Enhanced BookIt Brendon Webber
42
The first thing that was done was to change the database so that all the usernames and
passwords were in lower case. A function was written and executed to accomplish this. Next
all that was done was to convert the users entries for username and password into lower case
before doing the comparison.
4.2. Enhanced BookIt Results
Some improvements were noted before user testing, especially with the new date selection
process:
4.2.1. Improvements: New Date Selection Process
The new date selection process has improved the standard date selection process in the
following ways:
4.2.1.1. Clicks
When one compares Figure 4.2 and 4.5 one can see that the new date selection process
reduces the number of clicks required to select a date:
Option A: Selecting the current day: from 2 clicks to one click
Option B: Typing a date: from 2 clicks to one click
Option C: Selecting a date: from 5 clicks to as little as 2 clicks (if the desired date is
within the first 5 weeks shown.)
This reduction in clicks leads to increased pace of interaction and user friendliness.
4.2.1.2. Speedup
The entire booking process was tested for both BookIt first version and the enhanced BookIt.
For each version, each option (selecting current date, typing a date and selecting specific date)
was tested three times. The user that performed the testing can be considered as an expert
with the device, the browser and the BookIt application and the tests were performed as fast
as possible. The new date selection process achieved speedups of up to 25% with booking
times coming below the 1 minute mark (figure 4.6). This is considerable speedup and makes
the booking process more user friendly.
Chapter 4: Enhanced BookIt Brendon Webber
43
Figure 4.6. Making a Booking – Speedup Improvements
4.2.1.3. Data Transfer
The booking process was repeated for both BookIt First Version and Enhanced BookIt using
the different booking options. The amount of data transferred was recorded (Figure 4.7). On
average the two versions of BookIt perform about the same with respect to data transfer
though Enhanced BookIt outperforms BookIt First Version when the Choose Date option is
used. One can see that it takes about 8Kb to make a booking, at current rates this would cost
about 35 cents.
Figure 4.7. Making a booking – Data Transfer Comparison
4.2.1.4. Other Improvements
Other improvements were added in with the new date selection process which enhance the
applications usability and efficiency.
Invalid Date Selection: with the standard calendar one cannot specify dates that should not be
selectable (like past dates). This means that users may select a date prior to the current
Chapter 4: Enhanced BookIt Brendon Webber
44
date and would have to wait for the postback and server side processing before realising
that the date is invalid. Then they would have to go back and repeat the process. The
enhanced date selection process ensures that only current/future dates are selectable before
sending the page to the client.
Current Date Selection: the standard calendar control provides a quick option for selecting
the current day. This functionality was copied in the enhanced version. In addition to this
the enhanced version takes note of the current time, and if that time is after the last
timeslot of the day, then the “Today:…” link becomes a “Tomorrow:…” link which
enables users to easily make bookings for the next day after hours (Figure 4.5).
Chapter 4: Enhanced BookIt Brendon Webber
45
4.2.2. Enhanced BookIt Screen Flow
Figure 4.8. Enhanced BookIt – Full Screen Flow Layout for Nokia 3650
Chapter 4: Enhanced BookIt Brendon Webber
46
Figure 4.8 represents almost all of the Enhanced BookIt application’s screen flow viewed
from the Nokia 3650. The various sections of the figure correspond to the following:
1. Login Page
Where the user logs in.
2. Main Menu
The user can select what they would like to do with the application.
3. Log Off Page
The screen displayed to the user after they have logged off, gives option to log
on again.
Section A: Making a Booking
A1. Selecting a Category
User can select the category of the item they wish to book.
A2. Selecting an Item
User can select the desired item.
A3. Selecting a Date
User can select which date option they would like (current date, type a
date or select a date).
A4. New Calendar
User can select a specific date.
A5. Selecting Time
User must select the timeslot list.
A6. Timeslot Selection
User may select timeslot(s).
A7. Reason Input/Make Final Booking
User must input a reason then can make the booking.
Section B: Viewing/Deleting Bookings
B1. My Bookings Menu
User may view their bookings, or specify an item for which to view
their bookings.
B2. Selecting a Category
User can select a category for the item they wish to view.
B3. Selecting an Item
User can select the item they wish to view.
Chapter 4: Enhanced BookIt Brendon Webber
47
B4. View/Delete Bookings
User can view and delete bookings.
Section C: Changing User Details
C1. User Details Menu
User can select whether to change their details or password.
C2. Changing User Details
User can update their details.
C3. Changing User Password
User can change their password.
Chapter 5: Usability Evaluation Comparison Brendon Webber
48
Chapter 5: Usability Evaluation Comparison
The usability of each version of BookIt was evaluated through user testing. This chapter will
compare the results of these evaluations.
5.1. Process
A questionnaire was constructed to evaluate users opinions of the usability of BookIt First
Version and Enhanced BookIt. The questionnaire’s required the users to perform a few
standard tasks and evaluate the usability of the application based on the ease of performing
those tasks.
5.1.1. Required Tasks
BookIt First Version
The users would be required to log in, update their details, make a specific booking (that
was predetermined to not have a clash), then make two other bookings, and lastly to make
another specific booking that had been configured so that there would be a clash. In
addition to this, non mobile device users were asked to view and delete a booking and to
view all bookings. These functions are not available from a mobile device since viewing
and deleting bookings was not working correctly (as described in 3.5.1.1) and view all
bookings is meant for much larger screens.
Enhanced BookIt:
With the Enhanced BookIt usability evaluation users were only required to perform tasks
in those areas of the application where functionality had been altered or enhanced. Users
were required to log in, make two bookings and delete one of them. Enhanced BookIt
was only tested on the mobile phone because results from the BookIt First Version
usability evaluation indicated that the BookIt application was highly usable from desktop
and Pocket PC users.
Users were asked to rate specific components of BookIt and were encouraged to make
comments and suggestions throughout the questionnaire.
5.2. Desktop/Laptop Usability Results
During BookIt’s development it was continually tested in Internet Explorer and thus the
results from the users that were using desktop browsers were expectedly good, even though
Chapter 5: Usability Evaluation Comparison Brendon Webber
49
the application was designed for mobile devices and so the look and feel is less than one
would expect from a standard web application.
Three users took part in this category, who are advanced/expert computer users, but all first
time BookIt users. One user was using Mozilla through Linux from within Grahamstown
while the other two were using Internet Explorer from London, one of which was using a
laptop PC. The fact that two of the users were in London is significant when considering the
response rate of the application.
All three users found the BookIt application easy to use in all areas of the test (Figure 5.1).
All users in this category took approximately 30 seconds to make a booking which is
exceptionally good since an expert user (BookIt’s developer) connected directly to the web
server takes approximately 16 seconds to make a booking (inclusive of login). A 30 second
booking time is considerably less than the average time it would take for users to leave their
offices, walk to the bookings book at the front desk, page through the book to find the desired
date and insert the information about the booking. This should increase user acceptance of
the BookIt application.
Figure 5.1. BookIt First Version: Desktop and Laptop Usability Results
Although the look and feel of the BookIt application is considerably less than what a
desktop/laptop user has come to expect, its speed and simplistic design add up to a positive
user experience. These results and the fact that these users had not used the BookIt
application prior to this test indicates that using ASP.NET Mobile Controls to develop a
mobile web application will also produce a highly usable standard web application.
Chapter 5: Usability Evaluation Comparison Brendon Webber
50
5.3. Pocket PC Usability Results
Four users tested the application using a pocket PC connected, using 802.11b, to the wireless
LAN in the Hamilton Building. All users were first time users of the device, the browser and
the BookIt application. The users found BookIt First Version easy to use and there were no
negative ratings (Figure 5.2).
Figure 5.2. BookIt First Version: Pocket PC Usability Results
These results are significant and indicate that ASP.NET Mobile Controls are a good option
for developing web applications that will be accessed from medium sized devices with HTML
browsers. This is also significant in that new lines of phones, like the Smartphone, would be
an ideal target device for applications developed using ASP.NET Mobile Controls as they
have larger screens and run HTML browsers.
5.4. Mobile Phone Usability Results
Eight users were tested with the Nokia 3650 mobile phone. It must be noted that once the
BookIt First Version application was actually working on mobile phones it was not enhanced
or adapted in any way before conducting the first user evaluation. The users that participated
in this test were working with a version of BookIt that had been developed using ASP.NET
Mobile Controls but had never actually been tested on a mobile phone. All the functionality
that was working was tested. Thus, for mobile phone users, the View and Delete Bookings
section of BookIt First Version usability testing was left out.
5.4.1. Mobile Phone User Expertise
The users that were tested have had little or no experience with the Nokia 3650 device or its
browser (Figure 5.3). The fact that they have never used the BookIt application is irrelevant
Chapter 5: Usability Evaluation Comparison Brendon Webber
51
since, as for any web application, its operation should be self explanatory. The user’s limited
knowledge of the device and browsing using the device will limit the usability of the
application and must be taken into account.
Figure 5.3. Nokia 3650 User Expertise
5.4.2. BookIt: Login
From the results of the usability studies one can conclude that on average users found it easy
to log in. Since the login page is the first page the user experienced (Figure 4.8 – 1) their
expertise with the device and browser are critical to their opinion of its usability. Low levels
of expertise and a difficult to use data input mechanisms, contribute to the lower levels of
usability of the login process.
Figure 5.4 – Nokia 3650 Usability Results: BookIt Login
Nevertheless the results for the login improved significantly from BookIt First Version to the
Enhanced BookIt (Figure 5.4). The only difference with the login process is that with
Enhanced BookIt the username and passwords are not case sensitive. This is significant for
Chapter 5: Usability Evaluation Comparison Brendon Webber
52
mobile devices where changing case is not as easy as holding the shift key. Thus when high
levels of security are not all that important, ignoring case is a viable option for enhancing the
usability of an application.
5.4.3. BookIt: Change User Details
This task was only tested for BookIt First Version. Once the user had logged in they were
asked to change their user details (Figure 4.8 – C). On average users found it moderate to
easy to perform this task. This required a lot of typing and the user was still very new to the
Nokia 3650 and its unique keypad (see below). Thus the device input limitations restrict the
usability of the BookIt application. However the results are sufficient when one considers the
nature of this task and the regularity of its use. This task was not enhanced for Enhanced
BookIt and thus did not form part of the Enhanced BookIt usability evaluation.
5.4.4. BookIt: Make Booking
Making a booking is the most important aspect of the application from a mobile user’s
perspective. This is because users will probably set up their account, change their details etc.
from their desktops but might wish to make urgent bookings while on the move from their
mobile phones. Thus the results to this section of the questionnaire are highly significant.
Users were required to make bookings (Figure 4.8 – A) and then rate the usability of certain
aspects of the booking process.
Even with BookIt First Version the usability results were good. Users found most aspects of
the booking process between easy and very easy (Figure 5.5). Some of the more relevant
aspects will be discussed:
Menu Navigation:
On average the results for ease of menu navigation decreased with Enhanced BookIt,
however, the standard deviation is much less indicating less variance of user opinion and
overall a more solid performance (Figure 5.5). The only difference between the two
systems menu navigation is that Enhanced BookIt’s main menu has its menu items one
below the other.
Chapter 5: Usability Evaluation Comparison Brendon Webber
53
Figure 5.5. Nokia 3650 Usability Results: Make Booking
Date Selection:
This aspect of the booking process was completely rebuilt for Enhanced BookIt and the
results indicate a sufficiently large increase in the ease of date selection as well as a
decrease in the standard deviation. Statistically the ease of date selection increased by
11% while its standard deviation decreased by 42%. Overall this indicates that the new
date selection process (Section 4.1.4.1) is easier to use than the old one (Section 4.1.4.1).
The other aspects of the booking process were not changed (other than including links to the
main page, which did not need to be used during the usability testing). It is interesting to note
that the usability of Item Selection, Time Selection and Reason Input and Making Final
Booking all increase even though they were not changed in any way from BookIt First
Version to Enhanced BookIt. The increased pace of interaction bought about by the ease of
use of the new date selection and the reduced number of clicks helped increase the usability of
other aspects of the application.
Before the enhancement the booking process was still relatively easy to use. However, the
results from the usability evaluation of Enhanced BookIt did increase sufficiently to justify
the work done on its enhancement. Thus one can conclude that ASP.NET Mobile Controls
are sufficient for making easy to use Mobile Web Applications, however definite
enhancements can be made (to target a specific device) that can significantly increase the
usability of the application.
Chapter 5: Usability Evaluation Comparison Brendon Webber
54
Response Rate:
After making their bookings users were asked to rate the response rate of the application.
Half the users felt that Enhanced BookIt had a fast response rate while only 13% of users
felt that BookIt First Version was fast (Figure 5.6). The reduced amount of clicks bought
on by the enhanced date selection most likely lead to the increase in the user’s perception
of the application’s response rate.
Figure 5.6. Nokia 3650 Usability Results: Response Rate
Many users did feel that the application was slow. This would be expected since none of
them had used the Mobile Internet before this test and so would not be used to the slower
response times than that of standard desktop PC’s connecting to the Internet with a high speed
connection. In addition to this, the service provided by Vodacom (the projects service
provider) is not quite up to standard. Half of the users experienced Connection Timeout
Errors during the first set of usability tests. This could also be an explanation for the results.
It seems the service is constantly improving and only one user experienced a connection
timeout during the Enhanced BookIt usability evaluation.
5.4.5. View/Delete Bookings
Viewing and deleting bookings (Figure 4.8 – B) was not available for mobile users with
BookIt First Version due to the SelectionList problem (Section 3.5.1.1). However this
functionality was made available in the Enhanced BookIt (Section 4.1.1) and so users were
asked to evaluate its usability. All users found viewing and deleting their bookings easy to do
(Figure 5.7).
Chapter 5: Usability Evaluation Comparison Brendon Webber
55
Figure 5.7. Nokia 3650 Usability Results: View/Delete Bookings
This is relevant since the mobile version for the View/Delete bookings section of the program
is the only time when controls are generated dynamically for a mobile device. Dynamically
generated controls allow one to customize the interface to a particular applications needs, and
at the same time produce a highly usable interface.
5.4.6. General Considerations
5.4.6.1. The Nokia 3650 Keypad Limitations
The layout of the Nokia 3650 keypad greatly limits its usability. The vast majority of mobile
phone users have become used to the left-to-right layout of the numbers on their mobile
phones and some have even become quite efficient at typing using the standard keypad.
Nokia seemed to develop the 3650 with looks rather than usability in mind and the circular
layout of the keypad limit the devices ease of use and limit the users learning rate for the
device. This key factor played a large role in negative feedback about data entry from users
that tested using the Nokia 3650, and many users expressed severe frustration operating the
phone (Figure 5.8).
Figure 5.8. Nokia 3650 Keypad
Though this is not relevant when developing usable mobile web applications it is quite
important when considering usable mobile commerce as a whole. Usability can be affected
Chapter 5: Usability Evaluation Comparison Brendon Webber
56
by almost every aspect of a mobile commerce process such as back end processing time,
connection reliability, user interface and device operation. If any aspect is lacking in some
way, then the overall usability of the application is effected.
5.4.7. User Comments
Throughout the questionnaire the users were encouraged to make comments. Some of the
suggestions were very helpful and a few of the more relevant comments have been listed:
� “Screens need to have an option for returning to the main menu”
This is of utmost importance. Direct navigation is very important over a slow
connection such as GPRS and is included in Enhanced BookIt.
� “Username and password should not be case sensitive”
This is a good idea. With a system such as BookIt user identification is more
important that authorization. In addition to this: changing between caps and non-
caps on a mobile phone is tedious. For these reasons the username and passwords
on Enhanced BookIt’s login page are not case sensitive.
� “Calendar should be better”
� “Perhaps show each calendar month with each day instead of choosing the week then
the day”
The calendar control provided by ASP.NET Mobile controls is not ideal,
especially for higher level mobile devices. For this reason the entire date selection
process was redone in Enhanced BookIt.
� “Need to specify to hold shift when wanting to select more than one time slot”
This is a valid comment. The only problem is that mobile phones and Pocket PC’s
do not have a shift key. A device specific check and then an appropriate message
would be a good idea.
� “Maybe have some generic reasons to choose from”
This is a good idea to prevent users from having to type every reason. A record
can be kept of each users past reasons which they can either select from or select
to write a new one.
5.5. Usability Evaluation Conclusion
The results of this usability evaluation clearly indicate that BookIt first version was, overall,
an easy to use application. BookIt first version took 18 full days to build by a developer who
was new to .NET and C# and the result is a fully functional application. This bodes well for
Chapter 5: Usability Evaluation Comparison Brendon Webber
57
Microsoft ASP.NET mobile controls, however certain controls (such as the
SelectionList control) did not work and so other methods needed to be devised to
perform the functionality that those controls were supposed to provide. Providing this
functionality and Enhancing BookIt first version took 3 full days. The results of the usability
evaluation of Enhanced BookIt over BookIt first version were positive enough to warrant the
enhancements.
Chapter 6: Usability Considerations Brendon Webber
58
Chapter 6: Usability Considerations
The usability of mobile web applications is of utmost importance. Lack of usable mobile web
pages has contributed to the slow acceptance of WAP (Sigurdson, 2001). Not only must
developers consider the different screen sizes and keypad limitations, but they must also take
into account the ever changing environment variables that are subject to the user and device as
the mobility of the device is exploited. Thus applications must be as simple and easy to use
as possible.
This chapter considers the usability considerations developers need to take into account when
developing for mobile devices. It also describes how efforts were made in this study to
consider these issues. Since the results of the usability evaluation for the desktop and Pocket
PC were satisfactory, due to a larger, more efficient user interface and faster connection, the
Nokia 3650 mobile phone was targeted for further usability considerations. The usability of
this application on the Nokia 3650 is of interest since it has the smallest screen, most difficult
input mechanism and slowest connection speed. Thus desktop and Pocket PC interfaces
where not considered during this chapter.
The following points should taken into account when considering the usability of mobile web
applications:
6.1. Pace and Bandwidth
Bandwidth is often used as a cliché term and frequently has little effect on a user’s perception
of the usability of a system. One can describe the usability of an application as the ease of
interaction a user has with that application. It follows that the pace of this interaction will
affect the user’s perception of its usability. Dix (1995) believes that it is pace, and not
bandwidth, that is critical to interaction. Users care little for how many megabytes cross over
the network, all that concerns them is how quickly the application responds. Bandwidth
might be the determining factor for the pace of interaction when each interaction involves
transferring large amounts of data over the network. Another important factor is the nature of
the interface: if users do not notice when they are required to respond, or if responding is
difficult, interaction will be slowed down. With wireless networks this interaction can be
further delayed by interference and packet loss. There is also the possibility of a complete
loss of connection with consequent connection re-establishment time. (Dix, 1995).
Chapter 6: Usability Considerations Brendon Webber
59
Issues of local storage and caching are not relevant when considering mobile web
applications. These aspects would be of utmost importance if the application was designed to
reside on the mobile device and make use of web services. However the amount of
information posted back to the client is very important in determining pace of interaction.
For the purposes of this project, there were a number of considerations as to how to manage
this pace. For example: if a request is for a page containing a menu, one could respond with
that menu and all its submenus contained in multiple mobile web forms. This would mean
that once the page had been downloaded the user would be able to interact rapidly with the
application navigating through the menus. However, this can be unsuitable since the user is
probably paying per megabyte they download. This will mean that they are paying to
download menu options they do not need.
Another issue to consider is that of menus based on database content, which is frequently the
case with the BookIt application. For this reason BookIt has been constructed to respond with
everything needed to get the user to the next logical choice, or until database interaction is
needed. This ensures minimal data transfer over the network resulting in lower download
costs and good pace of interaction. In addition to this, following Dix’s (1995) suggestions,
each page that requires user input makes it clear that the user is required to respond. Building
these design considerations into BookIt moderated the pace of interaction and therefore
increased the usability of the application.
6.1.1. Testing Pace of Interaction
The pace of interaction of the BookIt application was tested by recording the response times
for each step of the booking process (Figure 4.8 - A). The booking process was repeated five
times and each time the times taken for the application to respond to each user click was
recorded.
Chapter 6: Usability Considerations Brendon Webber
60
Figure 6.1. Making a Booking: Pace of Interaction
Referring to Figure 6.1., when the user clicks Book Item from the main menu the average time
for the Select Category screen (Figure 4.8 - A1) to download was about 5 s, then about 7 s for
the Select Item screen (Figure 4.8 - A2) etc. The average time for all the screens to download
is represented by the dashed line. One can see that the response times vary within about a
second of the average. Thus one can conclude that the pace of interaction of the BookIt
application is relatively smooth.
6.2. Context
Mobile devices are context sensitive. A mobile user may be in a changing environment with
many distractions. Rodden et al (1999) put it nicely when he says mobile devices place
applications in a “multi-faceted contextual matrix.” Although context is important, the fact
that this application is for making bookings in a single location means that the context that the
user is in when making the booking bears little consequence to the nature of their booking.
Thus context was not considered during this project.
6.3. Device Limitations
6.3.1. Screen Limitations
The mobile boom means that there are a lot of new devices connecting to the Internet whose
screen resolutions vary significantly. If one is unsure of the target audience one can provide
the “lowest-common-denominator” interface that offers less functionality and usability, but is
supported across more devices. (Mercuri, 2002). It was this principle that was applied when
BookIt First Version was constructed. Each item in the database had a field for Item Short
Name which has a maximum length of 18 characters, which is about average line length for
Chapter 6: Usability Considerations Brendon Webber
61
the lower level devices, though the Nokia 3650 can fit more that 30 characters across a line
(depending on the text size). This was done because the item names needed to be displayed in
a menu and if the names carried over two lines it would confuse the user and lower the
applications usability.
If however you are targeting a specific audience you can have a narrower focus and can build
a more effective interface. (Mercuri, 2002). This idea was implemented when enhancing the
BookIt application for the Nokia 3650 phone. The new date selection process took advantage
of the Nokia 3650’s capabilities, its larger colour screen, its easy 5-way scroll key and the fact
that one can place more than one control on a line. The result being a large increase in the
applications usability for that device.
6.3.2. Input Limitations
The limitations of a 15 buttoned device on everyday applications can be very frustrating.
While people are becoming all too familiar with mobile device operation, using them for
reasons other than phone calls, simple message passing, alarm clocks and reminders is a
daunting task. Achieving large amounts of data entry in situations such as composing email,
online bookings, entering special orders etc. is very difficult. Designers must not design for
the best case and just accommodate the worst case. They have to design for the worst case
and then accommodate the best case. Thus simple guidelines for mobile interface input
design need to be followed. Data should be chosen whenever possible. Choosing data from a
list of choices is much faster and less frustrating than pressing the “2” button three times to
produce a “c” and so on. When specific input data can be estimated for the user, such as
dates, names and places, entries should be automatic with option for change (AvidWireless,
2001).
Whenever possible the BookIt application allows the user to select data from a list and there
are only 3 places where actual typing is necessary – login, changing user details and reason
input. These could not easily be avoided without compromising the effectiveness of the
application. Even with BookIt First Version every effort was made to minimise input for the
user, for example with View/Delete Bookings as described in section 3.1.1. The new date
selection process performs logic for the user when it checks to see whether any timeslots are
left for the current day and, if not, gives a quick link to the next day.
Chapter 6: Usability Considerations Brendon Webber
62
6.4. Screen Flow
There are various methods that can be used to enhance screen flow such as:
User Profiles: A profile for each user can be maintained and navigations may be arranged
based on these profiles where each different profile sees the application behaving
differently.
Priority: From a design perspective and from actual application use, categorize tasks that
users perform most often and make them the easiest to access i.e. at the top of menus etc.
Location: Give the users information appropriate to their location – where information is
location based.
Time: Provide time sensitive information. For example if a user requesting travel
itinerary display the itinerary from the next flight, not from the beginning.
Escape: Like common web applications users should have an escape/undo route. As
there is no ESC/CTRL-ALT-Delete keys this functionality is essential to the system.
(AvidWireless, 2001)
User Profiles and Priority are a very good idea for large systems and could have been used in
BookIt to prioritise menus based on user trends. This was not implemented in the BookIt
application due to time constraints. However, this functionality could have been obtained by
storing trace information about users as they navigate through the system. Each time they
navigate through the system the system will update its menus so that the user’s ‘favourite’
options are easy to get to.
Location was ignored since there is only one booking destination. For a nationwide bookings
system location information could be used to prioritise location options. Considerations about
Time were included to display more relevant information to the user. The BookIt system
constantly checks the current time and adapts its user interface to give more time relevant
options. Escape routes have been implemented in the BookIt application allowing the user
easy navigation around the system.
Chapter 7: Discussion Brendon Webber
63
Chapter 7: Discussion
7.1. Problems Encountered with ASP.NET Mobile Controls
Throughout the project ASP.NET Mobile Controls were experimented with and evaluated.
Overall the controls met much of what was expected of them. However, there were a few
areas where they failed to meat expectations:
7.1.1. The SelectionList Control
One cannot configure the SelectionList control for selection of a single list item. If the
control has its SelectType property set to DropDown, ListBox or Radio (all single
selection options) the control will render on a mobile device and allows the user to make a
selection but fails to post back the index of the selected item. Ridgeway (2002) supports this
finding by saying that the control only works with one of the other options (CheckBox or
MultiSelectListBox) chosen as the SelectType. One can use a method of
dynamically generating controls to provide this sort of functionality. The fact that there is no
built in control that allows developers to provide a dynamic list from which the user can make
a single selection is a major downfall of ASP.NET Mobile Controls.
7.1.2. Link Layout
Even with a links BreakAfter property set to true the next control on the page is still
displayed along side it on the Nokia 3650 phone. If one wants links displayed one below the
other then one has to physically go into the markup code and insert break (<br>) tags after
each mobile link.
7.1.3. Validation Controls
Validation controls do not work correctly when multiple mobile web forms are contained on a
single page. In cases like this one has to do server side validation which is wasteful of time
and bandwidth for clients that support scripting.
7.1.4. Calendar Control
The calendar control is inefficient and has severe drawbacks. It requires more than the
necessary clicks and has no optimisations for more advanced devices. In addition to this one
cannot specify which dates should not be selectable which means that the user can select an
invalid date and has to wait for server side validation before they realise this. Date selection
Chapter 7: Discussion Brendon Webber
64
can be dramatically enhanced, especially if one is catering for a slightly higher level device
and has a good knowledge of how to programmatically generate controls.
7.1.5. Lack of Table Support
ASP.NET Mobile Controls does not permit developers to place tables on a mobile web form.
Tables are used constantly in traditional web page design and new mobile device browsers
support simple tables. It is a severe drawback that one cannot place tables in mobile web
forms since one cannot align columns of data and controls. Hopefully it will be included in
future versions of ASP.NET Mobile Controls.
7.1.6. Hidden Links
When links are hidden on the page they are still sent back to the client and are rendered. On
the Nokia 3650 these hidden links are displayed with the word “Go” and they can still be
selected. This is not an ideal situation and if one wishes to hide links from the user the only
solution is to not actually have the links on the page in the first place. For this reason one
requires knowledge of generating controls programmatically so that one can add the links
only when needed.
7.2. Usability Discussion
Compared with the results obtained during the Mobile Internet initial evaluation the usability
results obtained for the BookIt application are outstanding. Even the results for BookIt First
Version were good, indicating that ASP.NET is a good solution for developing usable mobile
web applications.
Through the user testing it became apparent that users did not find text input easy, and it
seamed usability ratings decreased whenever text input was required. With the common 15
buttoned mobile keypad, text input will never be that easy and so developers must steer away
from it whenever possible.
Developers can greatly increase usability if they are able to target particular devices. For
example, if developing for an organisation it would be a good idea to ascertain which mobile
devices the employees would most frequently use for accessing the system, then enhance
separate user interfaces for those devices.
Chapter 8: Conclusions and Possible Extensions Brendon Webber
65
Chapter 8: Conclusions and Possible Extensions
8.1. Conclusions
8.1.1. Review
This work investigated the effectiveness of Microsoft’s Visual Studio .NET and ASP.NET
Mobile Controls in the development of truly usable mobile web application. A generic
bookings system named BookIt was constructed using these tools and customized to be a
venue and hardware bookings system. The system was then enhanced to target the Nokia
3650 mobile phone. Usability evaluations were conducted both before and after the
enhancement in order to ascertain the usability of both versions of the application. The results
of these usability evaluations were compared and conclusions were drawn about the
effectiveness of ASP.NET Mobile Controls in creating usable mobile web applications.
Chapter 1 introduced the Internet and its evolution into wireless along with various wireless
technologies and the .NET development environment. Chapter 2 described the mobile web
application (BookIt) along with its architecture, methodology for its creation and results of an
initial user study. Chapter 3 explained the issues involved with building BookIt First Version
and problems encountered during its development. Chapter 4 gave details of how BookIt
First Version was enhanced to produce Enhanced BookIt. Chapter 5 compared the results of
the usability evaluations conducted on BookIt First Version and Enhanced BookIt. Chapter 6
covers some usability issues associated with mobile applications and outlines how the BookIt
application addresses these issues, and lastly, Chapter 7 summarises some of the discussions
bought up in the previous chapters.
8.1.2. The Wireless Evolution
The Internet has experience massive growth and recently much of the growth is taking place
in the form of wireless networks. Mobile phone markets have been undergoing enormous
growth for a number of years and now, with the ability for one to use a mobile phone for
accessing the Internet, this growth is making a significant contribution to the growth of the
Internet. This is complemented by the ongoing advances in wireless communications
technologies.
Carrier wireless networks are evolving by improving their data services. As these networks
evolve towards 3rd generation networks so their data transfer speeds are increasing. This
Chapter 8: Conclusions and Possible Extensions Brendon Webber
66
increase of connection speeds along with improving mobile device capabilities open a diverse
platform for delivering services to mobile clients. WAP provides a standard for providing
wireless content, however the limited usability of WAP applications have lead to its slow
acceptance. Thus improving the usability of mobile web applications is vital in order for
mobile commerce to really succeed.
8.1.3. Usability Considerations
When developing mobile web applications there are a number of issues that must be taken
into consideration. Pace of interaction is a critical factor in determining the usability of an
application and BookIt has a smooth pace of interaction. Context can also be important as
mobile applications move through different environments but the BookIt application ignores
context.
Developers need to accommodate for screen and input limitations that target devices may
have. Designers should design for the worst case and accommodate the best case which was
the philosophy that was followed during this project. The initial design was for a very limited
device while the Enhanced BookIt particularly targeted the Nokia 3650. Issues such as User
profiles, Priority, Time and Location should all be considered as usability enhancement
features and Escape paths are an essential component of usable mobile web applications.
8.1.4. The Effectiveness of ASP.NET Mobile Controls
When compared with the initial user study the usability results BookIt First Version achieved
indicate that Microsoft Visual Studio .NET and ASP.NET Mobile Controls is an effective
development tool for creating usable mobile web applications. However, one must remember
during development that the target clients are mobile devices with limited capabilities and
designers must follow usability guidelines. In addition to this, the environment provides tools
that aid in the rapid creation of a mobile web application that is also effective as a usable
desktop application with no additional work.
However, ASP.NET Mobile Controls does have a few drawbacks, the most severe of which is
that the SelectionList control cannot be configured to make single selections. This
leaves the developer with no built in method of providing a dynamic list of options from
which the user may select only one. The only way this problem can be solved is by actually
dynamically generating controls for individual selection. Mobile Links in ASP.NET
Chapter 8: Conclusions and Possible Extensions Brendon Webber
67
Mobile Controls do not break after on the Nokia 3650 phone, even with their BreakAfter
property set to true. Validation controls do not work when more than one Mobile Web Form
is used on a page and forces developers to use server side validation. The calendar control is
inefficient and is missing simple functionality such as being able to specify invalid dates.
ASP.NET Mobile Controls does not support tables, which are supported by XHTML Mobile
Profile browsers and form an integral part of aesthetically pleasing data layout. Lastly, the
Controls fail to hide hidden links and still send them to the client.
If one is aware of these problems they can be avoided or overcome using strategies such as
programmatically generating controls, which does take some time to implement. This was the
approach taken in the development of the BookIt application and, according to the usability
evaluation, produced a highly effective and easy to use application. If, however, these
problems could be fixed with future versions of ASP.NET Mobile Controls, and it is the
author’s opinion that many of them will, this will dramatically decrease development time and
will still result in a usable web application.
Thus it is the conclusion of this work is that Microsoft Visual Studio .NET and ASP.NET
Mobile Controls is an efficient tool for developing usable mobile web applications but good
knowledge of how to generate controls programmatically is essential to complex, flexible
interface development.
8.2. Possible Extensions
There are many ways in which this project could be extended as part of M.Sc. or further
research. Due to the time constraints placed on this project non of these extensions could
have been implemented.
8.2.1. Support for More Devices
This project could be extended to enhance the BookIt application for other devices using
different browsers, and thus build up a host of different interfaces that would be sent to the
client depending on the clients browser. It would have been interesting to note to what extent
the interface could be enhanced for lower and higher level devices than the Nokia 3650.
Chapter 8: Conclusions and Possible Extensions Brendon Webber
68
8.2.2. User Profiles and Prioritisation of Tasks
Along with the usability considerations expressed in Chapter 6 were the issues of User
Profiles and Priority. One could have implemented a system that kept track of which options
each user chose most frequently, then prioritise lists and menus based on this data. In this
way if a user usually books a particular item that item will always be at the top of the item
list, and its category will always be at the top of the category list. In addition to this, if a user
usually books an item for a particular reason, then the next time the user wishes to book that
item the system could automatically display that reason while still providing an option to
enter a new reason. This would help reduce the amount data entry in the form of actual
typing.
8.2.3. SMS Booking Ability
This project could have been extended to provide a quick booking via sms interface where the
user could type specific keywords into an sms and then send that sms to a predetermined
number. The system, receiving the sms could parse it and attempt to make the booking for
the user associated with the sending phone number. The system could then return an sms
indicating success or failure and in the case of failure the reasons why it failed. This would
provide an interface for advanced users to make bookings quickly without logging on, and
would provide a method for non-wap/GPRS enabled phones to make bookings.
8.2.4. Utilising Web Services
This project could have been extended to use web services to make bookings. An application
could be developed that would reside on a mobile phone, this application would then
communicated with the BookIt application using XML Web Services over GPRS in order to
make/view/delete bookings. Since the application has been designed with much of the
business logic decoupled from the user interfaces, implementing this step would not mean re-
designing the application. One would merely need to create a web service that provided the
functionality abstracted from the core objects of the system.
The advantages of this sort of a system would be the increased pace due to the fact that only
data needs to be transferred over GPRS and not the entire user interface, as is the case with
the web application. This would also decrease the costs of using the application. Its
downside, however, is that the application would need to target a subset of phones and users
would need to install the application on their mobile device prior to using the application.
Chapter 8: Conclusions and Possible Extensions Brendon Webber
69
8.2.5. Enabling Lecture Time Booking
Since this application was originally designed for use in an academic institute where lecturers
and other members of staff could book venues and equipment, it would have been appropriate
to provide a option to book for certain lecture times. E.g. all Computer Science 2nd year
lectures for the next 2 weeks. This could have been done by utilising a web service that
provides lecture timetables to retrieve times for the bookings and then simply attempting to
make each of the bookings one by one.
References Brendon Webber
70
References
Adams P (2001). WML Overview.
http://hotwired.lycos.com/webmonkey/01/19/index1a.html?tw=authoring
Aldridge I (2000). Analysis of Existing Wireless Communication Protocols.
http://www.columbia.edu/~ir94/wireless.html
Algorex, Inc (2000). CDMA Reference Blockset. Mathworks Inc. and Algorex Inc 2000-
2001.
http://www.mathworks.com/access/helpdesk/ help/pdf_doc/cdma/cdma.pdf
AvidWireless Technical Staff (2001). 8 Steps to Successful Wireless Projects.
AVIDWireless/VoiceDataWare Inc.
http://www.wirelessdevnet.com/library/8StepsWirelessApplications.pdf
Beaumont R (1999). History of the Internet. Introduction to Health Informatics.
http://www.robinbt2.free-online.co.uk/virtualclassroom/chap6/internet/hist/ hist1.pdf
Bellinaso M, Hoffman K (2003). Chapter 11: Deploying the Site. In ASP.NET Web site
Programming: Problem, Design, Solution (pages 503-514).
Brenner P (1996). A Technical Tutorial on the IEEE 802.11 Protocol, BreezeCom wireless
communications 1997.
http://www.sss-mag.com/pdf/802_11tut.pdf
CGE&Y (2001). The Wireless Internet Evoluton. In CGE&Y: Wireless Enterprise
Application Architecture (pages 3-18).
http://media.wiley.com/product_data/excerpt/ 11/04712095/0471209511.pdf
CHM (2002). XML vs. HTML: A Publishing Comparison.
http://workshops.fedstats.gov/BOCXMLvHTML.pdf
References Brendon Webber
71
Chapman J (2003). Cingular’s EDGE Leads Way to Enhanced Wireless Services.
http://www.gartner.com/resources/116000/116035/116035.pdf
Dix A (1995). Cooperation without (Reliable) Communication: Interfaces for Mobile
Devices.
http://www.hcibook.com/alan/papers/DSE95/DSE95-mobile.pdf
Dragan RV (2002). Microsoft .NET mobile tools.
http://www.pcmag.com/article2/0,4149,1055426,00.asp
Gilbert, J. and Deshpande N. M., 2002. GPRS – How Good Is It? A Study from the User's
Perspective, Intel Corporation 2002. Available online at:
http://www.intel.com/pca/developernetwork/devsupport/gprs_rev4.pdf
Heinicke S (2000). XHTML Overview.
http://hotwired.lycos.com/webmonkey/00/50/index2a.html?tw=authoring
hyperdictionary (2003). Open Database Connectivity.
http://www.hyperdictionary.com/dictionary/Open+DataBase+Connectivity
iTouch (2000). Mobile Promises for Corporates.
http://www.itouch.co.za/news/archive2000/news_15_sep_2000.html
Kahn RE (1999). Chapter 11: Evolution of the Internet. In World Communication and
Information Report 1999-2000.
http://www.unesco.org/webworld/wcir/en/pdf_report/chap11.pdf
Kaiser SE (2001). Fast and Easy XHTML.
http://www.websitetips.com/info/xhtml/xhtml_basics.pdf
Landry N (2003). Microsoft Mobility 101. Component Developer Magazine and EPS
Software Corp.
http://www.devx.com/codemag/Article/16745/0/page/1
References Brendon Webber
72
Lucent Technologies (2003). 3G Wireless Networks, Wi-Fi Wireless LANs, and Secure
VPNs: Perspectives for the Business On-the-Move. White Paper March 2003.
http://www.lucent.com/livelink/ 090094038003ea02_White_paper.pdf
Markatos D (2003). Introduction to ADO.NET.
http://www.sitepoint.com/article/992
Mercuri, M., 2002. Developing Effective Mobile UIs. Visual Studio Magazine.
Available online at:
http://www.fawcette.com/vsm/2002_12/online/mercuri/default_pf.asp
Mitchell S (2002). Create Snazzy Web Charts and Graphics On the Fly with the .NET
Framework.
http://www.dotnet247.com/247reference/a.aspx?u=http://msdn.microsoft.com/msdnmag
/issues/02/02/ASPDraw/ASPDraw.asp : MSDN Magazine
Mobile Streams, 2001. “Yes 2 GPRS” White Paper, February 2001.
http://www.mobilewhitepapers.com/pdf/gprs.pdf
Mobile Web Application Architecture Tutorial (2003).
http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6
MobileOffice 2003. Statistics of Cellular in South Africa (Overview 2/2003).
http://www.mobileoffice.co.za/stats/statistics_south_africa.htm
Nissan M (2003). Retaining State for Dynamically Created Controls in ASP.NET
applications.
http://www.codeproject.com/aspnet/RetainingState.asp
NIST: National Institute of Standards and Technology (2002). Cyclic Redundancy Check.
http://www.nist.gov/dads/HTML/cyclicRedundancyCheck.html
References Brendon Webber
73
Nua Internet Surveys (2002). How Many Online?.
http://www.nua.com/surveys/how_many_online/
Olive DA (2002). Chairman’s Public Policy Report 2002. WITSA Public Policy Working
Group Australia 2002.
Ridgeway M (2002). .NET Wireless Programming (Full Coverage of Microsoft’s Mobile
Internet Toolkit). Alameda, Calafornia: SYBEX Inc.
Rodden T, Cheverst K, Davies N, Dix A (1999). Exploiting Context in HCI Design for Mobile
Systems.
www.hum.auc.dk/~slau01/inf8/artikler/DefinitionExtra/rodden98exploiting.pdf
Rupley S (2002). Visual Studio .NET Debuts.
http://www.pcmag.com/article2/0,4149,103453,00.asp
Seaman D (2003). About Standard Generalized Markup Language (SGML).
http://etext.lib.virginia.edu/sgml.html
Selian A (2000). 3G Mobile Licensing Policy: From Gsm To Imt-2000- A Comparative
Analysis.
http://www.itu.int/osg/spu/ni/3G/casestudies/GSM-FINAL.pdf
Sigurdson J (2001). WAP OFF - Origin, Failure and Future.
http://ebusiness.uoc.gr/~epio383/projects/1_wap_off_.doc
Silicon Press (2002). Before 3G Wireless Networks. Technology Brief.
http://www.silicon-press.com/briefs/brief.before3g/brief.pdf
Tanenbaum AS (1996). Computer Networks. Englewood Cliffs, New Jersy: Prentice Hall
Tektronix (2003). UMTS Protocols and Protocol Testing. The International Engineering Consortium (2003). http://www.iec.org/online/tutorials/acrobat/umts.pdf
References Brendon Webber
74
Usha Communications Technology, 2000. GPRS White Paper. Available online at:
http://www.mobilein.com/GPRS.pdf
W3C (2000). XHTML Basic. W3C Recommendation 19 December 2000.
http://www.w3.org/TR/xhtml-basic/xhtml-basic.pdf
W3C (2003). Extensible Markup Language (XML).
http://www.w3.org/XML/
WAP Forum (2001). XHTML Mobile Profile. Version 29-Oct-2001.
http://www1.wapforum.org/tech/documents/ WAP-277-XHTMLMP-20011029-a.pdf
Walker TJ (1998). HyperText Markup Language (HTML). Information Techniques in
Research.
http://csssrvr.entnem.ufl.edu/~walker/5810/09bHTML.PDF
Watson K, Bellinaso M, Cornes O, Espinosa D, Greenvoss Z, Nagel C, Pedersen J H, Reid J,
Reynolds M, Skinner M, White E (2001). Beginning C#. Acocks Green, Birmingham:
Wrox Press Ltd.
Appendix A: Project Poster Brendon Webber
75
Appendix A: Project Poster