82
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

Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 2: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 3: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 4: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 5: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 6: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 7: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 8: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 9: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 10: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 11: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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)

Page 12: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 13: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 14: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 15: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 16: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 17: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 18: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 19: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 20: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 21: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 22: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 23: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 24: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 25: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 26: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 27: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 28: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 29: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 30: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 31: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 32: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.).

Page 33: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 34: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 35: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.).

Page 36: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 37: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 38: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 39: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 40: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 41: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 42: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 43: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 44: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 45: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 46: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 47: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 48: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 49: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 50: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 51: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 52: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 53: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 54: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 55: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 56: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 57: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 58: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 59: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 60: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 61: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 62: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 63: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 64: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 65: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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).

Page 66: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 67: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 68: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 69: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 70: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 71: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 72: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 73: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 74: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 75: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 76: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 77: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 78: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 79: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 80: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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

Page 81: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

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.

Page 82: Using Microsoft’s ASP.NET Mobile Controls to Develop a ... Writeup.pdf · Validation Controls 63 7.1.4. Calendar Control 63 7.1.5. Lack of Table Support 64 7.1.6. Hidden Links 64

Appendix A: Project Poster Brendon Webber

75

Appendix A: Project Poster