Aimed squarely at the entrepreneur who knows little about mobile applications but is eager to know more, this primer explains in simple language this fast-growing segment of the world economy. The burgeoning smartphone and tablet market presents opportunities and new income streams for enterprising business managers. Avoiding jargon and technical language, the basics of mobile web applications are explained, and practical advice about using open-access development tools such as PhoneGap are discussed. A sample app is developed through the course of the book, providing a handy model for the reader. Even rookie developers with no programming experience will be able to create effective mobile applications using this handy introduction to a thriving billion-dollar industry.
|Publisher:||Huron Street Press|
|Product dimensions:||5.80(w) x 8.90(h) x 0.30(d)|
About the Author
Scott La Counte is an author, a public librarian, an app developer, a book publisher, and a writing instructor at the Gotham Writers' Workshop. Under the name Scott Douglas, he wrote The N00b Warriors series and Quiet, Please: Dispatches from a Public Librarian. He lives in Anaheim, California.
Read an Excerpt
Build Your Own App
For Fun and Profit
By Scott La Counte
American Library AssociationCopyright © 2012 the American Library Association
All rights reserved.
Before You Begin
Mobile App: A Definition
An app, short for application, is a piece of computer software intended to help the user perform specific tasks. A mobile app is a piece of application software created for use in mobile phones and other handheld devices. It's difficult to write about mobile devices because that phrase can mean so many things. When I say mobile app, does that refer to an app that runs on any phone? Or on a specific phone? Just to be clear, there are two types of cell phones:
Feature phone: A feature phone is what the average person carries in his or her pocket. Although many feature phones are becoming more sophisticated, for the most part, feature phones are the more popular basic phones that you can buy. They make calls, they offer texting, and most can take pictures and have very limited web browsing. More than 80 percent of Americans have a feature phone.
Smartphone: Smartphones are best described as computers in the palm of your hand. Several times more powerful than feature phones, smartphones not only can surf the Internet but also can surf at relatively fast, third/fourth-generation (3G or 4G) speeds. The iPhone, Android, BlackBerry, and Windows Mobile are all examples of this kind of phone.
Many of the ideas in this book are universal; they can be tried on pretty much any phone in existence; the majority of ideas, however, are maximized for use with smartphones.
What is the point of developing apps that fewer than 20 percent of the population can access? Smartphones are the future of cellular technology. Smartphone prices have dropped significantly in recent years. When the iPhone was released in 2007, it cost $599; less than five years later, it cost as little as $99. The same is true of BlackBerries and nearly all other smartphones. As costs continue to drop, the smartphone is becoming more and more affordable to the average consumer.
Mobile development has become one of the biggest growth sectors of web development. People still use computers to surf the Internet, but the amount of time they spend on a computer will decrease as other devices become more prevalent.
The advent of XHTML-MP (XHTML for the Mobile Phone) and WCSS (Wireless CSS) converted two of the most powerful tools in web design into forms that are suitable for those who need to build mobile websites, that is, websites that are specifically designed to be viewed only on mobile phones and not computers. At the same time, WYSIWYG (what you see is what you get) editors currently provide templates for mobile websites, which makes it possible for just about anyone to design simple websites.
Perhaps the biggest reason businesses and other organizations need to embrace this growing technology is because the youth of the world use it to speak to one another. The average teen, if given the option, would probably prefer to text a person than to visit them in person or even call them. If your company is going to continue to grow, then now is the time to start considering the trends of our youth — the rapid growth of SmartPhones has proven this trend is not turning into a dying fad. When people buy phones, they are starting to expect apps, and when they don't see them, then they might just go to the company that does. Apps don't have to be flashy, at least right now; being able to tell your customer "I see you have an iPhone — make sure and download our app. It's free and tells you a little more about our company" is enough to give them the impression that your company is one that values technology.
The beauty of apps is that they are always evolving — there's plenty of time to grow the app into something that is truly eye-catching; if you can at least get something basic on Apple's app store (the online marketplace on which iPhone and iPad apps are sold), however, you'll have the competitive edge. For many customers, the app store is becoming more and more like the yellow pages. Need to buy a house? Go to the app marketplace to see what's available. More and more people are finding businesses through the app marketplace than the traditional phone directory. For some businesses, a top-rank match on the app marketplace will lead to ten times more customers than being the first name that pops up in a phone directory.
There are hundreds of thousands of apps, which sounds intimidating — until you consider the percentage of these apps that are merely games, fart sound effects, or big corporations like Disney, NBC, and CNN. The percentage of smaller businesses that have apps is next to nothing — meaning in almost every sector, you can get there before your competition does. Don't be intimidated by the numbers — there is still plenty of room and plenty of opportunity to get the competitive edge over other businesses.
What Is a Mobile App?
Another question that should be answered before proceeding any further is, What do I mean by "mobile app"? Mobile apps generally refer to two different things:
Mobile website: A mobile website is mobile phone-friendly and is developed taking into consideration the limitations of cellular devices. If you invested the right amount of time in your business's website, it probably looks pretty good on a ten- to twenty-inch screen (the size of the average desktop or laptop screen). But if you try to access the website from a mobile phone, it probably will look pretty lousy — if it even loads at all. Having a mobile-friendly website would simply mean that the business has a separate web address (e.g., m.business.com — the m standing for mobile) to point mobile phones to. This can be done easily by inserting code that redirects the device on the basis of its resolution. For example, if the site detects a device resolution of 1280 x 1024, then it's obviously a desktop, laptop, or tablet computer, and so would be directed to the main page; if the resolution is 320 x 480 or less, then it's some sort of mobile device, and so would be directed to a mobile page.
Native app: A native app is one for which the business has gone the extra step to create an app that is available for purchase in mobile app stores (e.g., iTunes, Android Market)
At the very least, every business should have a mobile-friendly website; it's a relatively easy process that I'll talk about in forthcoming chapters.
Developing a Mobile App
Businesses that want to take the extra initiative and do something more innovative should devote some time to developing a plan for the delivery of native apps to their users. To develop a native app, you have to understand how to develop a mobile website app — so by understanding one, you are actually learning to do two things. By the end of this book, you might realize that you don't want to have a native app, but you will at least know how to develop one, and in doing so, you will be able to develop a mobile app.
The problem with developing a native app isn't the skill level (which is actually about the same as for developing a mobile-friendly website); the problem is the number of phones that are on the market. If you want to develop a native app for all users, then you have to develop one for every phone: iPhone, BlackBerry, Android, Palm, Windows Mobile — and those are just the major ones! In short, developing a native app requires a substantial time investment, and each business needs to consider that when deciding whether to invest in a native app.
The good news is that most phone makers supply app developers with plenty of free tools and resources to make development a little easier. The bad news is that actually getting the app into the marketplace requires a bit of money; each phone requires that developers pay a fee, and some apps are compatible only with Mac operating systems, such as those for the iPhone. These costs, though, help prevent people who are not serious about app development from flooding the markets with apps. The box below illustrates the system requirements and fees for each of the five major phones. The information can be a little overwhelming, and chances are that you will not be able to get a business app on every phone. What you need to consider, however, is that if you get a native app on just two phones (e.g., iPhone and Android), then it will be compatible with most smartphone users. In the summer of 2011, more than half of smartphone users are expected to have iPhones; Android is catching up quickly, with more than 30 percent of the market. That means that if ten people walk into a store to buy a smartphone, eight or nine will walk out with either an iPhone or a phone with the Android operating system.
System Requirements and Fees
Fee: $25 unlimited
System requirements: The Android software development kit (SDK) is free. It requires
Windows XP (32-bit) or Vista (32- or 64-bit)
Mac OS X version 10.5.8 or later (x86 only)
Linux (tested on Linux Ubuntu Hardy Heron)
Fee: $200 for 10 app submissions
System requirements: The BlackBerry SDK is free. It requires
Windows 2000 SPI or later, or Windows XP
32-bit Windows Vista (BlackBerry JDE v4.2.1 and higher)
Java SE JDK v6.0
Fee: $99 per year
System requirements: The iPhone SDK is free. It requires Mac OS X or later to run the program.
Fee: $99 per year
System requirements: The Palm SDK is free. It runs on Mac, Linux, and Windows.
Fee: $99 per year
System requirements: Windows XP or later with Visual Studio 2008 and Microsoft .NET Compact Framework v2 SP2.
The Essence of the Mobile Web
Mobile websites should look and interact much differently than traditional websites. Mobile websites involve different design concerns than regular websites that you view on a computer. In some ways, designing mobile websites is like designing sites in the past, when the download speed of a page was of primary concern. Although today most mobile connections are quite fast, some mobile phone users pay by the minute for Internet connectivity; thus, it's in their best interest to access sites that download in short order.
The language of the Web is HTML, or HyperText Markup Language. For older mobile browsers, the language is WML, or Wireless Markup Language. Today smartphones and mobile browsers generally make use of XHTML-MP. The differences between HTML and XHTML-MP aren't too radical, and anyone with HTML experience should be able to figure out XHTML-MP with little difficulty. There are other requirements that mobile websites have to accommodate to make sure that their elements display correctly on all of the many mobile browsers on the market. Some of the features they require are the following:
very simplified navigation
layouts specified using Cascading Style Sheets (CSS), not tables
compact, efficiently written content
a color scheme that is consistent across all browsers
reduction in bandwidth-heavy elements, such as pictures, videos, and audio
navigation options such as "back" and "next" on every page
Most mobile websites are built around a utilitarian aesthetic. They aren't the places to show off your design department's abilities or to debut new and untested features. When people surf the mobile-friendly Internet, they're generally looking to find the information they want as quickly as possible, and that information is usually not for pure entertainment. Efficiency is always the first order of business with mobile sites. For example, for business sites, most users will primarily want to get directions to different offices, and e-mail/phone numbers of employees — chances are they won't want to use their phone to do something complex, so it's perfectly acceptable to keep it basic. Most modern businesses have found success in making their company more personal — giving their company a voice; this can be done by something as simple as daily or weekly blogs that are fed into the app; if you have time, then a few videos of employees and the office environment can also give your company that friendly voice you want — and, again, these videos can be hosted off the app like blogs and fed into the app — that way you can update the videos without updating the app.
Dimensions in Pixels
iPhone: 320 x 480
Blackberry: 160 x 160 to 480 x 360
Android SDK: 320 x 240 (because different phones use the Android platform, here the dimension is the standard resolution in the developer kit)
Generic Windows Mobile: 240 x 320 (standard resolution, but varies from phone to phone)
Nokia: 95 x 95 and higher (varies from phone to phone, but 240 x 320 is standard)
Palm Pre: 320 x 480
Another concern in developing mobile websites is space. A smartphone, useful as it is, has a small-format screen. This means that you must maximize the space available and not create a mobile site that is useful only to those users who have relatively large mobile screens.
It's also important to see the actual phones and know what they look like. The average phone has a screen dimension of 320 x 480 pixels (about the same as a playing card); ideally, that is the resolution that you should aim to develop your mobile website for.
Before you continue with developing an app, it's a good idea to understand who your clients are and what kinds of mobile services they want. For example, what percentage of clients have smartphones? What kinds of smartphones do they have? (Many people don't know which kind of phone they have, so it's a good idea to ask to see their phone.) If they don't have smartphones, do they use the Web on their feature phones? Most web analytics sites (e.g., Google Analytics, StatCounter) will indicate users' resolution, which lets you figure out whether they are using a phone to view the site. But this doesn't always help because these sites let you know only whether users are accessing the site via their phone, not what kind of phone (e.g., iPhone, BlackBerry, Droid) they are using.
A lot of this book focuses on the iPhone, because when people talk about wanting to learn how to make apps, they are usually referring to making them for the iPhone — the holy grail of app development. Depending on your clients, however, you might want to consider starting on another device. There is no point in developing an iPhone app if most of your smartphone-carrying patrons have BlackBerries.
If you decide to continue with developing an app, then you have to ask, what do your clients want? Knowing if something is in stock? Photos from events? A calendar of events? GPS tracking to find the nearest business site? Instant messaging with a business representative? It's important to consider that what the business finds important is not necessarily what clients find important.
The business might face resistance early on from staff and/or your boss. Chances are the company has been run successfully for several years, so you are bound to face someone who asks you, "Why waste time and energy in something that's unproven when the company is running just fine?" If you are the boss, then it doesn't really matter what people think — but you still don't want to lose staff morale. That's why it's especially important to get everyone in as soon as possible and make them feel like they can contribute. The most important thing to point out to staff or company owners is that this is cheap, and this will not take that much time. Also, it helps to show, not tell. Basically, that means that it's better to show a scene than to simply talk about what is happening. So, if you simply tell staff what the business wants to do, many might not see the necessity of an app, but if you show them the app and what it can do for the business, they're more likely to get excited.
How do you show? The best way is to carry out a survey on an iPod Touch or Android tablet. SurveyMonkey and other popular online surveys are great tools for collecting data, but actually placing a device in the hand of a staff member unfamiliar with such devices will help him or her become more comfortable with using the interface. These devices are also small, so they're easy to store. And for surveying clients, you can buy an iPod lock (e.g., the Targus Defcon Notebook/iPod Lock Combo costs $39.99) or lock an iPod to an unattended desk for clients to fill out the survey.
The iPod and Android tablets also use the same kind of interface as the iPhone, and there are plenty of survey apps that you can purchase for them; best of all, they are relatively cheap (less than $200). The Samsung Galaxy and Dell Streak tablet have received a lot of media attention, but there are many other tablets available — there are many Android tablets available on eBay for less than $150.
You can use Survey on the Spot (free for iPhone) or Askdroid and ODK Collect (free for Android) to create a survey, and then have librarians use the app to ask patrons a series of questions. Or use Tally Counter (free for iPhone) or CodeArk Tally Counter (free for Android) to count the number of people using smartphones. More powerful (and detailed) tally counts are also available for a price: Tallymander ($3.99 for iPhone) and Advanced Tally Counter Pro ($0.99 for Android) lets users count several different stats at once (e.g., types of questions patrons ask at the reference desk).
The results of the surveys, in most cases, won't be as powerful or specific as those you would get from sites like SurveyMonkey, but that doesn't matter; what matters is your letting people who don't regularly use the device know what it is. Even though people might resist change, almost everyone loves to play with gadgets!
Many times businesses implement technological innovations that don't take off because the staff members don't promote them to clients. But in surveying staff and patrons on an iPhone or tablet, even though you might not convert anyone to a smartphone user, you will at least give people a better understanding of their importance.
Excerpted from Build Your Own App by Scott La Counte. Copyright © 2012 the American Library Association. Excerpted by permission of American Library Association.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.
Table of Contents
Contents1. Before You Begin,
2. Developing a Mobile Web Application,
3. Using CSS,
6. Building Your First Native App,
7. Beyond the Basics,
8. Other Ways to Go Mobile,
Most Helpful Customer Reviews