Internet-Enabled Handheld Devices, Computing, and Programming
Latest Publications


TOTAL DOCUMENTS

14
(FIVE YEARS 0)

H-INDEX

1
(FIVE YEARS 0)

Published By IGI Global

9781591407690, 9781591406280

Author(s):  
Wen-Chen Hu

There are two kinds of handheld computing and programming, namely client- and server- side handheld computing and programming. The most popular applications of the latter are used with database-driven mobile web content, whose construction steps were described in the previous section. The remainder of this book will be devoted to client-side handheld computing and programming, whose applications do not need the support of server-side programs. Client-side handheld applications are varied and numerous, covering a wide range of everyday activities. Popular application examples include: • address books, which store personal information such as addresses, telephone numbers, and email addresses in an accessible format, • appointments, which allow users to edit, save, and view times reserved for business meetings and visits to the doctor, • calculators, which may be a standard 4-function pocket calculator or a multifunction scientific calculator, • datebooks/calendars, which allow users to enter hourly activities and show a daily or weekly schedule, or a simple monthly view, • expenses, which allow users to track and record common business expenses such as car mileage, per diems, air fees, and hotel bills, • mobile office functions, which include viewing and processing documents, spread sheets, presentations, and inventory. • multimedia, which includes playing music and videos, photography, and personal albums. • note pads, which allow users to save, view, and edit text notes, • to-do lists, which allow users to enter a list of tasks to be performed, and • video games, in addition to those on-line video games that require the support of server-side programs.


Author(s):  
Wen-Chen Hu

Wireless application protocol (WAP) (Open Mobile Alliance, 2003) is a suite of network protocols that specifies ways of sending data across the airwaves. A wireless device is said to be WAP-compatible if, and only if, it has software that is fully capable of handling all WML 1.1 DTD entities. WML (Wireless Markup Language) (Open Mobile Alliance, 2001) is the XML-based language that is used in conjunction with WAP to format documents. As with all such protocol suites, WAP is organized hierarchically. At the bottom there are low-level protocols that are used for basic operations such as establishing connections, coding alphanumeric characters, and so on. At the top are the high-level protocols such as WML, which passes on page information. For more information on other WAP protocols, please visit http://www.wapforum.org/. WML script writing and applications will be discussed in Chapters VI through IX: • Chapter VI: The current chapter introduces fundamental WML components such as tables and images. • Chapter VII: Advanced WML, especially dynamic WML pages using CGI (Common Gateway Interface), will be introduced. • Chapter VIII: WMLScript, a lightweight JavaScript language used in conjunction with WML, is explained. • Chapter IX: The construction of a database-driven mobile web site using WML is explained step-by-step.


Author(s):  
Wen-Chen Hu

Most client-side handheld programming uses either Java or C/C++. This chapter introduces Java ME (previously known as J2ME), which is a version of Java (Sun Microsystem Inc., 2004). Java ME is a collection of technologies and specifications used to develop a platform that fits the requirements of mobile devices such as consumer products, embedded devices, and advanced mobile devices. It creates a complete Java runtime environment tailored to fit the specific requirements of a particular device or market. Java ME includes user interfaces, security, built-in network protocols, and support for networked and offline applications that can be downloaded dynamically. Compared to other client-side handheld programming languages, Java ME is light-weight and easy to learn, although this also means that Java ME may not contain as many features as other languages. Advanced Java ME programming will be discussed in the next chapter. Chapters 13 and 14 will discuss Palm OS programming, which uses C/C++.


Author(s):  
Wen-Chen Hu

Mobile users interact with mobile commerce applications by using small wireless Internet-enabled devices, which come with several aliases such as handhelds, palms, PDAs, pocket PCs, and smartphones. To avoid any ambiguity, a general term, mobile handheld devices, is used in this book. A mobile handheld device is small enough to be held in one hand and is a general-purpose, programmable, battery-powered computer, but it is different from a desktop PC or notebook due to the following three special features: • Limited network bandwidth: This limitation prevents the display of most multimedia on a microbrowser. Though the Wi-Fi and 3G networks go some way toward addressing this problem, the wireless bandwidth is always far below the bandwidth of wired networks. • Small screen/body size: This feature restricts most handheld devices to using a stylus for input. • Mobility: The high mobility of handheld devices is an obvious feature that separates handheld devices from PCs. This feature also makes possible many new applications such as mobile recommendations that normally cannot be done by PCs. Short battery life and limited memory, processing power, and functionality are additional features that impose limitations on handheld devices, but these problems are gradually being solved as the technologies improve and new methods are constantly being introduced. Figure 3.1 shows a typical system structure for handheld devices, which includes six major components: (i) a mobile operating system, (ii) a mobile central processing unit, (iii) a microbrowser, (iv) input and output devices and methods, (v) memory and storage, and (vi) batteries. Brief descriptions of each of these components are given below, followed by a more detailed description in the main body of the chapter.


Author(s):  
Wen-Chen Hu

Numerous server-side handheld applications are available for devices. Some popular applications include: • Instant messages, which require service providers to relay the messages, • Mobile web content, which consists of web content that can be viewed via handheld devices and can be implemented using markup languages such as HTML, WML, cHTML, and DIAL, • On-line games, which are video games playable on the Internet that allow remote players to play the games together, and • Telephony, which is the most common operation performed by smartphone users and requires the telecommunication company to provide the service. Among the various mobile applications, mobile web content is the most popular application and this chapter will be devoted to a detailed consideration of the construction of database-driven mobile web content. The term “handheld programming” is used here to refer to mobile-commerce programming for Internet-enabled mobile handheld devices, which requires various programming and markup languages and utilities. As in previous chapters, the concepts involved in handheld programming are illustrated using a case study, in this case the construction of a B2C, mobile, online video-game store. A database-driven mobile web site is often implemented using a three-tiered client-server architecture consisting, as the name suggests, of three layers: 1. User interface: This runs on a mobile handheld device (the client) and uses a standard graphical user interface (GUI). 2. Function module: This level actually processes data and may consist of one or more separate modules running on a workstation or an application server. This tier may be multi-tiered itself, in which case the overall architecture is called an n-tier architecture. 3. Database management system (DBMS): A DBMS on a host computer stores the data required by the middle tier. The three-tier design offers many advantages over traditional two-tier or single-tier designs, the chief one being that the modular structure makes it easier to modify or replace one tier without affecting the others. Figure 9.1 shows a generalized system structure of database-driven mobile web sites. Note that web and database servers are not hardware; they are the processes running on host computers that manage web pages and databases, respectively. Many approaches can be used to create a database-driven mobile web site; the following list suggests the construction steps for a typical approach: 1. system setup, 2. database design and implementation, 3. mobile web user interface construction, 4. web and host-computer connection such as CGI, and 5. database accesses and management using host languages with embedded SQL such as JDBC. These five steps are not definite, nor are they unique. Other approaches may also be used. An example of a B2C video-game store construction will be used in this chapter to demonstrate the above steps, except for Step 1, which was discussed in Chapter V.


Author(s):  
Wen-Chen Hu

Commerce, the exchange or buying and selling of commodities on a large scale involving transportation of goods from place to place, benefits from the convenience and ubiquity conveyed by mobile commerce technology. There are many instances that illustrate how mobile handheld devices help commerce. Important considerations that must be taken into account when trying to categorize applications include the nature of the communicating parties (e.g. people, intelligent agents, databases, sensors), the types of handheld mobile devices involved (e.g., cell phones, smart phones, PDAs, tablets), the nature of the transaction (e.g., push or pull delivery systems), and the actual content of the communication (e.g., a bank transaction, weather alert, or digital image). Not all m-commerce consists of buying and selling; other types of transactions such as banking transactions (e.g. bill paying) or polling (on-line surveys) are also of interest. In fact, “mobile transactions” or “mobile services” are probably more general terms for the concepts that we will discuss here. Obviously, no transaction can take place without some means of communication, whether it be face-to-face speech, so-called “snail” mail, e-mail, telephone, inter-office memos, or other means. Thus, one way in which mobile commerce applications can be differentiated is by their means of communication. For handheld mobile devices this will always involve some form of wireless technology, but the connection could transmit either voices or data. Another way in which mobile commerce applications can be differentiated is by the nature of the entities originating the communications on either end of the transaction; participants in m-commerce might be humans, or they might be intelligent agents representing humans or business entities, and in either case may be either at a fixed location or mobile. A third way to differentiate mobile handheld applications is by the computing demands they place on the handheld device. Applications which can run on ordinary cell phones are suitable for a mass market, while those that require more powerful clients like laptops are more likely to be aimed at smaller groups of users. Mobile applications that are location-aware will require a client device to have GPS capabilities, so that the user’s physical location can be ascertained. Table 2.1 uses these taxonomy features to identify the fundamental nature of applications in each category. The physical devices that support all of these various applications are evolving rapidly. At present there are a number of differently named devices competing in this application arena, including cell phones, “smart” phones, PDAs, tablet PCs and laptop computers. Future research is likely to focus on designing and producing a single device that will support all of these applications for most users. Although calling such a multi-purpose object a “phone” seems grossly inadequate, it will surely include that communication capability because cell phones are the most popular mobile devices today and are generally regarded as indispensable by their owners. The name that will evolve for this gadget is yet to be imagined.


Author(s):  
Wen-Chen Hu

Chapter XI introduced the basics of Java ME programming. This chapter will build on this, focusing on advanced Java ME programming. The following two major topics will be discussed: • Persistent storage: This refers to the type of storage embedded in handheld devices. Random access memory loses its contents when the power is off, but the contents of persistent storage are preserved even when the power is off. Flash memory, and very occasionally hard disks, are usually used for this kind of storage. • Network connection: Many client-side applications such as weather reports and location-based applications require a network connection. The generic Connection framework of MIDP can be used for this purpose. Although these two chapters, Chapters XI and XII, introduce Java ME programming to readers, it is not possible to fully cover Java ME programming in only two chapters. For a deeper understanding, readers can consult the section on Java ME References provided later in this chapter for more information.


Author(s):  
Wen-Chen Hu

Chapter VI discusses the creation of static web pages, which have a fixed content at all times. In order to change static web pages to dynamic ones, it is necessary to implement advanced WML, the subject of this chapter, which requires support from external programs containing procedural languages. There are several methods available for calling external programs the two most common being: • PHP (Hypertext Preprocessor): PHP is a server-side, cross-platform, HTML embedded scripting language that allows programmers to create dynamic web pages. In an HTML document, PHP script (with a similar syntax to that of Perl or C) is enclosed within special PHP tags. Because PHP is embedded within tags, it is possible to jump between HTML and PHP (as in ASP and Cold Fusion) rather than relying on heavy amounts of code to output HTML. PHP is executed on the server, so the client cannot view the PHP code. PHP can perform any task that a CGI program can, and PHP-enabled Web pages can be created and edited just like regular HTML pages. • ASP.NET (Active Server Pages): ASP.NET is a free technology from Microsoft that allows programmers to create dynamic web applications. An ASP.NET file can contain text, HTML tags and scripts. Scripts in an ASP.NET file are executed on the server. ASP can be used to create web applications ranging from small, personal websites through to large, enterprise-class web applications. This chapter will focus on applications that use CGI because of its simplicity.


Author(s):  
Wen-Chen Hu

The introduction to Palm OS programming given in the previous chapter provided an overview of its structure and basic concepts. This chapter examines an advanced aspect of Palm OS programming, focusing on one major subject that is particularly relevant for handheld devices: forms. User interfaces such as check boxes and radio buttons can be contained in a form, allowing users to enter data that is, typically, then sent to a server for processing. It is important to note that this topic was selected to allow the reader to become familiar with how Palm OS operates; for other Palm OS topics such as databases and menus, readers may check the section later in this chapter on Palm OS References for further information. • In Palm OS, every file is a database, which is similar to the persistent storage of J2ME. A Palm database does not correspond to a “relational database” but is actually closer to a structured, flexible, and mobile binary data file. • A menu bar is displayed whenever the user taps a menu icon. The menu bar is also displayed when the user taps in a form’s titlebar. The menu bar, a horizontal list of menu titles, appears at the top of the screen in its own window, above all the application windows.


Author(s):  
Wen-Chen Hu

WML is a markup language used for text formatting and displaying (Open Mobile Alliance, 2001). However, the functions of a markup language are limited if there is no support from other programming languages. Two kinds of programming languages can help to extend the functions of WML: 1. server-side scripts such as CGI Perl running on servers, and 2. client-side scripts such as WMLScript running on handheld devices. This chapter focuses on WMLScript, building on the descriptions of WML and CGI provided in the previous two chapters. WMLScript (Open Mobile Alliance, 2000a) is a light JavaScript language (Netscape Communications Corporation, n. d.) that must be compiled into byte code on a server before it can run on a handheld device. It is based on ECMAScript but has been modified to better support low bandwidth communication and thin clients. WMLScript can be used in conjunction with WML to provide intelligent content to clients, but can also be used as a stand alone tool.


Sign in / Sign up

Export Citation Format

Share Document