The Wireless Development Method
The development method is special for wireless projects (see Figure 38) and resulted in very successful, quick production of wireless applications for Sony New Technology communicators and General Magic wireless vertical market applications throughout the 1990s. It involves the following key steps.
Figure 38 Wireless development method
Study the mobile user. The interaction designer identifies and studies the audience. The mobile user drives the actual application with the interaction designer's creation of a persona, the primary typical user, and the scenarios in which the persona acts. A wireless architect then reviews the persona, the potential devices, networks, and messaging, browsing, interacting, or voice applications. The interaction designer determines suitability from a user's standpoint. The architect determines feasibility from a technical standpoint and produces a wireless application plan that serves the mobile user, while the interaction designer produces an information design for the content and storyboards that outline the flow of mobile activity.
Create a mobile database with content. The mobile content developer takes the persona study and application plan to develop an information design. XML suitability is examined for both the wireless application and server utilization. Content is loaded for use during early development.
Design a logical application. The wireless programmer quickly lays out a working model suggested by layouts drawn by the interaction designer. Universal to wireless is the next step. A developer fires up a simulator, builds wireless screens, and codes business logic while attached to real content.
The major components in the application are:
Wireless field application. The primary application for the mobile user on the go is the focus of a project. Many early wireless projects stop here and do not include the next steps, which are necessary for mature wireless applications.
Back office administrative application. You may have built an incredible wireless application, but remember that someone must manage the mobile user content on the server. Some engineering thought must be given to building useful tools with a good interface and to the necessity of administrative involvement to maintain a wireless system.
Design a Web PC start page. If it is appropriate to the persona and application, a personalized Web PC start page is added where the user sets up an account and personalizes the mobile application. This can let the mobile user administer the account and set up a mobile site to make it ready for mobile use.
Use a device. A consumer device using a real wireless network exercises the application. A good test uses the scenarios established when the persona was created. Ideally, the device is put into the hands of a real mobile user who matches the persona. Real content can then be generated.
The wireless project quickly gives you one mobile user, one working database, one application, and one wireless device to show off. But you take time continuing to enhance the content and the application. Unlike most software projects, wireless development often requires quality assurance testers up front in the design process. Experienced quality assurance professionals are aware of the potential mobile audience and help the interaction designer with insights into the persona profile.
You have noticed in the process that the emulators and devices appear later. Ideally, you have an open-ended wireless contract to select the correct network and device after you have studied the mobile user. Quite as often for commercial reasons, the wireless hardware and networks are fixed before the project begins. In either case, a wireless application plan is produced and signed off. You need to know what tools to get for your development platform. Tools are listed by device later. Ideally, each wireless device requires its own storyboard. The storyboard will show how content is displayed and how input and navigation work based on the characteristics of the device.
To show the world that small is beautiful, a demonstration or prototype is often required that is the basis for the final application. A prototype of the application, a demo, or a pilot test of a working sample is helpful to establish the working nature of the solution and show this example to investors or participants. This often takes the form of a demo that can inspire the beginning of project. A great wireless demo (Figure 39) largely involves stage production skills. Unlike PC demos where you can use a large projection monitor, wireless demos should move around with real devices and close-ups. It is important to avoid using a device emulator. It is more effective to show the application running with an occasional camera close-up of the real data appearing on the wireless device and changing on a PC "big board." By big board, I mean a large control roomstyle information display that is being updated in real time as wireless devices make changes from the floor.
Figure 39 Recipe for a great wireless demo
The complete business operational plan, completed designs, and a production schedule are required. This happens some time before making a prototype and definitely before production. Just as in making movies, wireless development requires a well thought-out storyboard and a detailed set of working plans. A solid requirements plan and architectural description can save a fortune.
In production, professional application and content teams write large amounts of code and collect or repurpose content. With a plan, teams go about their work on devices and servers, and content is often generated during production. Without a plan, production can come to a standstill as people go in different directions. The software cycle approaches completion with rounds of testing that include ever-larger audiences. Finally, the product can be planned for distribution where any steps for provisioning are made.
Some large organizations actually provision the devices and the wireless service for their customers. Provisioning makes available to a customer a tested package including the right wireless device, compatible peripherals such as memory cards and earplugs, the right version of the software, and any account setup. When the customer receives the shipment, it works right out of the box. Wireless provisioning is a large task that can include hundreds or thousands of users each month.
Wireless Developer Best Practices
There is a saying that best practices are used because no one paid an engineer to figure out how to do it right. Best practices are professional guides that help professionals avoid doing things that waste time and money and help them produce high-quality products. Recall the wall of wireless complaints in chapter 2 (Figure 10); you want to resourcefully overcome objections of early wireless technology. To avoid those traps during the course of development, experienced developers keep in mind a number of general lessons to improve the quality of their wireless applications.
Design mobile database and load sample content early.
Use interaction design to minimize navigation and eliminate unnecessary tasks.
Use information design to simplify content.
Use big fonts as often as possible.
Simplify the content with unformatted text in short sentences.
Design black-and-white composition first. Gray, not color, screens are the first market.
Explore mobility. Play with portable information. Forget the PC Web model.
Identify core business utility and key transactions.
Characterize only the mobile audience and get early participation.
Convert all input text fields to choices and buttons, if possible.
Save the user's time.
Review for consistent navigation and layout.
Do not mix interfaces (i.e., voice, gesture, keying text); stay in one medium.
Allow for misspelled input.
Make error messages clear, helpful, and actionable.
If you resourcefully steer around limitations and provide a meaningful implementation, then users say good things about the wireless Internet.