What Is a Smartphone
Pages: 1, 2, 3, 4

Share Multimedia Contents

Today's smartphone typically has a built-in digital camera and a sound recorder. You can not only take still photos, but also movie clips with the smartphone. With the prevalence of MMS services, you can easily send the photos and movie clips to other smartphones or friends' email addresses. With some additional software, you can post those contents to your blog or photo sharing/printing web sites like Another approach for multimedia sharing is to simply download the camera phone photos and movie clips to your computer via Bluetooth, and share them from there.

In addition to multimedia-contents capturing, the smartphone can also be used as a networked multimedia player. You can get contents from your friends over MMS or email. You can also watch TV or other wireless contents via streaming media players like the RealOne player or Microsoft MediaPlayer.

Developing Smartphone Applications

Smartphones would never be so successful without thousands of third-party software applications. If you are a computer programmer, you can write smartphone software as well--either to meet your own needs or even to sell for a profit. Most smartphones can be programmed with standard programming languages and APIs. Here is a list:

  • The Java Micro Edition (previously known as the J2ME) allows you to write cross-device applications. It is supported out of the box on virtually all smartphones from mobile phone vendors like Nokia, Samsung, Motorola, and RIM. For Palm and Microsoft devices, you might have to install the Java virtual machine after you purchase the device. To use Java ME, all you need to know is the Java programming language with some standardized API add-ons (e.g., the device UI API, the wireless messaging API, the location API, and so on).
  • C and C++ are the most popular languages for device programming. Palm-, Microsoft-, Symbian-, and Linux-based smartphones all use C/C++ as their native programming language. For those devices, you can make native operating system function calls in C/C++. So, C/C++ applications have the native look-and-feel, can take advantage of all the device hardware (e.g., camera, GPS chip, keyboard), are tightly integrated with the rest of device software, and have high performance. However, the C/C++ APIs are device specific and they take quite some time to learn, even for experienced developers. If you need to port a C/C++ application from one device to another, you need to learn entirely new APIs all over again.
  • Visual Basic is one of the most popular generic programming languages. It is supported on Microsoft PocketPC Phones and Windows Mobile smartphones. Products like AppForge's CrossFire allow you to cross compile Visual Basic applications to non-Microsoft devices such as the Palm smartphone and Nokia Series 60 Symbian smartphone.
  • Scripting languages like Python and Perl are also supported on some smartphones. For instance, there is a nice Python interpreter available for Nokia Series 60 smartphones.

So, What Is a Smartphone?

Smartphones are converged devices that combine mobility, connectivity, and programmability. They are quickly taking over the market for mobile phones and PDAs. In fact, if you purchased a new mobile phone in the last year or so, there is a good chance that you already know a smartphone. You just need to explore it and make best use of it, if you have not done so already. For computer programmers, smartphones represent great opportunities for developing new applications or just hacking for fun.

Michael Juntao Yuan specializes in lightweight enterprise / web application, and end-to-end mobile application development.

Return to the Wireless DevCenter