Many wireless phones provide much more than calling capabilities. Phone users expect to place voice calls, but they also assume their equipment will offer additional functionality. They look for features that software phones are designed to provide.
A traditional wireless phone, back when dinosaurs ruled the Earth, did very little beyond initiating and receiving voice telephone calls. Phone manufacturers slowly built up their feature list by adding a few simple games, a calendar, a phone book, and perhaps a camera. Software phones were still on the horizon, but customers happily purchased new models to take advantage of amazing features along with increased battery life and a much smaller footprint. These older models certainly contained software, but they did not come close to the vision of the modern software phones. Today, a very inexpensive wireless phone is expected to do things that were simply unavailable even 10 years ago.
What are Software Phones?
Start by considering what is not a software phone. Without question all wireless phones are digital; therefore all wireless phones contain computer programming, or software. The software may be permanently ensconced in silicon or stored on a device that can be reprogrammed without removing the back cover. Either way, we have not yet reached the ratified air inhabited by software phones.
Given that the term software phone is more a marketing moniker than an engineering definition, we identify a few common characteristics of modern software phones:
- A software 'desktop' similar to that of a typical laptop computer.
- An operating system closer to that of a laptop computer and providing a similar user experience.
- The capability to add software applications by downloading them from the Internet.
- A file system roughly equivalent to that of a typical laptop computer operating system.
Precious little of this functionality is actually necessary to place a voice-to-voice telephone call. Software phones are obviously moving closer to fully functional laptop computers.
Can Software Phones Replace Laptops?
A laptop may run a distant second place to a software phone in some situations. Certainly the laptop offers a much more convenient keyboard and a significantly more enjoyable display device, but the trade-off is a relatively huge footprint compared to a smart phone that drops easily into a purse or a suit jacket.
One of the coolest hardware upgrades for software phones might be a purpose-built full-size keyboard. A company called Matias manufacturers such a device; the phone 'docks' into the keyboard and accepts keystrokes from it. Instead of poking tiny keys with a stylus or clumsy fingers, users of software phones can type with both hands and still have their telecommunication device in full view. It's almost comical to look at; the keyboard is many times larger than the computer to which it is connected.
Wanted: Developers for Software Phones
Ironically, the popularity of the hardware is often driven by the amount of free (or nearly free) software available for it. To that end, manufacturers of software phones often provide heroic levels of support for third-party software developers. Apple has created a web site dedicated to connecting iPhone owners with iPhone developers. Google provides voluminous volumes of software development tools at little or no cost. Entire development companies have sprung up, dedicated to creating apps for software phones. Writing code for a software phone is not always analogous to targeting a traditional desktop computer or laptop computer. Given that the traditional phone user is limited to a relatively tiny screen, minuscule keyboard, and less available storage, developers that target smart phones must think 'small' and 'compact' as they ply their trade.
More by this Author
A useful text editor is an essential component of any personal computer. Every day we need to make notes, compose documents, and record vital pieces of information. We depend on our text editor. Microsoft provided...
Data Hiding is an aspect of Object Oriented Programming (OOP) that allows developers to protect private data and hide implementation details. In this tutorial we examine basic data hiding techniques in Java.
Ever been to a NASCAR race? I thought not. Here are my top 10 reasons why NASCAR racing doesn't rock.