Sunday, December 30, 2007

FExplorer, the free file manager for Series 60 phones

To gain full access to the phone filesystem, you need special software to get around the limitations imposed by the phone UI. For Series 60 devices, the freeware FExplorer, written by Dominique Hugo, does that for you. You can download the latest version of FExplorer, or make a donation to support its development, at http://www.gosymbian.com/. Alternatively, a commercial product called Extended File Manager, from Psiloc (http://www.psiloc.com/index.html?id=159), has similar functionality.

The filesystem naming conventions that the Symbian OS uses are similar to those in the Windows OS. The C: drive letter is for the storage space for the system-level files in the phone's internal flash memory; D: is the RAM disk that stores runtime information; E: is the MMC card, storing applications and media files; and Z: is the Read-Only Memory (ROM) for the device's system software. The FExplorer program lets you create, delete, and manipulate directories and files in the filesystem. It also allows you to send any file to remote devices via Bluetooth, IR, MMS, or email. Now, let's explore some common files on a Nokia Series 60 smartphone.

What about Series 40 devices, you ask? Series 40 devices use the closed Nokia OS. Hence, only native applications developed by Nokia can have direct access to the filesystem. Nokia has not released any such application. In the future, the Java runtime on Series 40 devices might support the J2ME File Connection extension API, which would support file access from third-party Java applications. But for now, there is no reliable way for you to access the underlying filesystem on Nokia Series 40 devices.

The Nokia Gallery Feature

On Nokia devices, the closest thing to the file explorer is the Gallery, which is available on both Series 60 and Series 40 devices. Inside the Gallery, you can choose to access either the phone's main memory storage space or the MMC card. In each storage unit are several folders with names such as Images, Sound clips, and Video clips. Those folders hold files and subfolders. They function just like folders on a computer. When you open a file in the Gallery, the phone operating system uses the filename suffix to determine which application should be used to open any particular file. For instance, a .jpg file is opened with an image viewer; a .3gp file is opened with a video player (e.g., the RealOne player), etc. You can rename, delete, and move files around from one folder to another.

On older Series 60 devices (e.g., Nokia 3650), there is no Gallery application. On those devices, the Images application is equivalent to the Gallery found on newer Series 60 and Series 40 devices. Despite its name, the Images application holds images, audio files, video clips, and other multimedia files.

The limitation of the Gallery, of course, is that you have no control over which files are saved in it. The phone automatically saves the following media files into the Gallery:

  • Image files from photos captured from the Camera application
  • Audio files captured from the Recorder application
  • Video files captured from the Video Recorder application
  • All media files of known formats downloaded via the Services browser
  • All media files of known formats downloaded from the Messages Inbox
Non-multimedia files, such as installation package files (i.e., .sis and .jar files), text files, office documents, and executable files, cannot be saved into the Gallery.

Introduction on Series 60 Phone File System

Nokia devices feature PC-like filesystems. The Gallery application supports limited access to media files. But using special software, you can get around these limits and do a lot of cool things with the files.

With all the talk about how a smartphone is supposed to have PC-like functionality, it still does not quite feel like a PC. On a PC, the data and applications are separate; the data is stored in files in the PC's hard drive, and you can use any application to manipulate any datafile in the system. For example, you can use a text editor instead of the email program to open an email message and see what's going on inside. That gives you the flexibility to determine how to use your data.

A mobile phone, on the other hand, integrates the data with its handling application. For instance, the email messages are accessible only from the Messaging application and the contacts are accessible only from the Contacts application. However, under the hood, the phone still organizes data and executable programs into files and folders. In this hack, I'll cover the concepts of the mobile phone filesystem, the tools you can use to explore it, and what you can do with the raw files.

How to Use Voice Commands?

Finally, most Nokia smartphones have a utility application for voice commands. Depending on your phone model, you can access it via the Tools Voice commands menu, or the Extras Voice commands menu, or the Settings Personal shortcuts Voice commands menu. Using the voice command utility, you can map any voice recording to a selected number of applications. For instance, you can record yourself speaking the word camera and map it to the Camera application. The voice commands for applications work similar to the voice dialing tags. You simply press and hold the right soft key for the phone to pick your spoken command and launch the matching application.

How to Quickly Switch Applications in Series 60 Phones?

The slow response of launching applications is one of the major complaints among Series 60 device users. As most users have several frequently used applications, a neat trick is to keep those applications running in the background all the time, thereby saving on startup and shutdown time.

The background applications are possible only with the multitasking Symbian operating system. This feature is not available on Series 40 devices.

You can place a running Series 60 application in the background by pressing the red "End call" key (the key with the red telephone symbol) while the application is running. The next time you open the same application, it will pop up instantly and appear in the state exactly as you left it.


You can see a list of background applications by pressing and holding the Menu key. You can select any application from the list and bring it to the foreground. If you press the c key while you are scrolling through the list, you can force the background program to exit.

How to use Speed Launcher?

If you need quick access to a user-installed application on a Nokia Series 60 device, you can use the speed launch feature, which allows you to launch an application with just one touch of the keypad from the Main menu. To do that, first you press the menu key to enter the Main menu. All the applications and top-level folders are listed in a grid of icons in this menu. For the first nine applications in the grid, you can simply press their corresponding number key to launch them. Please note that the numerical shortcut works only immediately after you enter the Main menu. If you use the navigation pad (a.k.a. joystick) to move the highlight around, the shortcuts stop working. They will work again if you go back to the idle screen and get back into the Main menu.

The 0 key does not launch any application in the main menu screen. But in the idle screen, if you press and hold the 0 key, the phone's default web browser (i.e., the Services application) is automatically launched.

You can use the Options Move menu to move the icons around in the grid and hence, change their speed launch numbers. Naturally, the application icons near the top of the grid are easier to access since they require less searching and scrolling once you are in the Main menu.

Wednesday, December 19, 2007

How to assign softkey shortcuts?

You might install a lot of applications, and if you're on a Series 60 phone, you might run a bunch of them at once. With all this potential disorder, you need to be able to quickly launch and switch between applications.

Nokia smartphones can be loaded with applications both factory-installed and user-installed. However, to launch any application, you must go through multiple menu items (for Series 40 devices) or scroll up and down in a grid (for Series 60 devices). It is a slow process for busy people on the move.

Different phone users want quick access to different applications. For instance, a mobile photographer probably wants to start the Camera application quickly to catch a precious moment. The frequent instant-messaging user wants to keep the Messaging application available at all times, even though he might temporarily switch to other applications from time to time.

Assign Soft-Key Shortcuts
The easiest way to add a shortcut to an application is to assign it to a soft key in the phone's idle screen (a.k.a. the home screen). On a Series 60 device, you can use the Tools Settings menu and then select Phone Standby mode to customize the soft keys. On a Series 40 device, the menu path is Settings Personal shortcuts (see .

Some Series 40 devices, such as the Nokia 6230, allow you to customize the application shortcut for the right soft key only. The left soft key is always mapped to the GoTo menu, which contains a customizable list of applications and bookmarks for quick access, and the middle soft key is always mapped to the Main menu.

Notice that only the factory-installed applications can be assigned to the idle-screen soft keys.

On some Series 60 phones, such as the Nokia 3650, assigning the Call Forwarding application to a soft key is the only way you can launch the application.

Tuesday, December 18, 2007

How to Write Your Own Python Scripts for your Smartphone?

You can write your own Python scripts in any PC text editor and deploy them to the phone using the web or Bluetooth methods described earlier. But the key benefit of a scripting language is the ability to quickly prototype scripts. In fact, Python for Series 60 allows you to prototype Python scripts right there on the phone!

You can use the interactive_console.py script that comes with the Python runtime to open a text console for the Python interpreter (or, you can simply use the Options Interactive console soft-key menu). Then, you can type Python statements from the phone keypad and see them run! The print statement and math formula statement generate output in the console. The statements at the bottom of the last image in image below display a Series 60 style UI dialog box.

How to run scripts directly in the Python interactive console

Unlike full-blown programming languages such as Java and C++, which require setup code and non-code resources for even the simplest application, a scripting language such as Python actually allows you to write useful programs with only several lines of code. A great way to learn Python is through examples. The BigBold web community has a page for user-posted Series 60 Python examples (http://www.bigbold.com/snippets/tags/series60). There, developer Korakot Chaovavanich posted several useful snippets covering topics such as camera operation, Short Message Service (SMS) messaging, file exchange, and SQL database queries. Check them out, and share your own!

How to Write Series 60 Python Scripts on a Computer?
Programming Python with the mobile-phone keypad is not pleasant. Luckily, the bt_console.py script bundled with Python for Series 60 opens a Bluetooth console on the device, which can be connected to a console program on a computer. The computer console sends everything it receives from the keyboard to the device via a serial port emulated over the Bluetooth connection. In turn, the phone console sends all the response data back to the computer console. This allows you to type Python commands on a regular computer keyboard and have them executed on the phone in real time. Very cool!

Series 60 Python scripts do not run in the regular Python environment on a desktop computer, since they use Nokia-specific Python libraries for UI, messaging, and multimedia operations. The Series 60 Compatibility Library (http://pdis.hiit.fi/pdis/download/) ports the phone library to computers and allows you to run Series 60 Python scripts on Windows, Mac OS X, and Linux computers. This library is developed by the Personal Distributed Information Store project at the Helsinki Institute for Information Technology.

On a Windows PC, you can use the console program bundled in the Nokia Python SDK to work with the Bluetooth Python console on the phone. Read the Nokia Python SDK documentation to see how it works.

The Nokia documentation does not cover how to run the serial console on Mac or Linux computers. But it is a straightforward process once you set up the Bluetooth serial port on the computer. Here are brief instructions for Mac computers, adapted from Erik Smartt's blog at http://www.eriksmartt.com/blog/:

  1. Pair the phone with the Mac computer (see "Configure Bluetooth for Mac OS X").
  2. Set up an incoming RS-232 port over Bluetooth using the Bluetooth Serial Utility program in the Applications Utilities folder. Give the serial port a name (e.g., PythonConsole) and remember it.
  3. From a Terminal window (Applications Utilities Terminal), you can use the screen /dev/tty.portname command to redirect that port to the terminal. portname is the name of the port you assigned in the last step (i.e., PythonConsole).
  4. On the phone, use the BTConsole application to search for available Bluetooth devices and choose your Mac from the list. You should see a Connected message in your Mac Terminal window, followed by some directions and a Python prompt.
After you are finished with console programming, you can press Ctrl-D on the Mac to exit the BTConsole and shut down the process on the phone.

Saturday, December 15, 2007

How to install Phyton script in your Nokia smartphone?

Run Python Scripts
Click the Python icon to open it and then select Options Run script. You should see a list of installed Python scripts and applications. If this is the first time you've run Python, the scripts that appear will be the demo scripts from Nokia. You can try any of them. The filebrowser.py script is a good start. It allows you to browse the filesystem on the Series 60 smartphone, similar to what FExplorer does.

Install Python Scripts
Of course, ultimately you want to install and run your own Python scripts on the device. To do that, you can put the Python script (with the .py filename suffix) on a web page and download it using the Services browser, or you can simply send the script to the phone via Bluetooth. The phone recognizes the Python script and prompts you to install it. Once the script is installed, it becomes available under the Python script list and you can run it from there.


The user-installed scripts are placed in the C:\System\Apps\Python\my\ directory (or in E:\System\Apps\Python\my\ if Python for Series 60 is installed on the MMC card) You can delete those files to delete Python scripts.

Friday, December 14, 2007

How to prepare Phyton environment in your Nokia smartphone?

While Java and Symbian C++ are powerful programming languages, their learning curves are too steep for most smartphone users. Most users do not need a full-blown programming platform to develop small hacks for their phone. A scripting language is the perfect tool to automate simple tasks and perform simple logical processing.

Python is a widely used scripting language in the computer world. It is easy to learn and supports object-oriented program construction. Nokia provides support for Python on most of its Series 60 devices.

Speaking of running scripting languages on Nokia Series 60 smartphones, there is an unsupported Symbian port for Perl 5.8x and 5.9.x. You can find the installation package and usage instructions from this mailing list posting from a Nokia engineer: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2005-04/msg00439.html.


The current Nokia phones do not come with the Python runtime environment preinstalled. You have to download and install Python yourself.
You can download the Python for Series 60 package from the Forum Nokia web site under the Series 60 Platform Tools and SDKs category. The download package is a zip file with the .sis installation files, documentation, and example code. Make sure you read the Getting Started document in the download bundle to choose the correct .sis file for your phone. Then, you need to install the extracted .sis file to the phone, following the instructions in "Run Symbian Applications". The .sis file installs the following components to the phone:
  • A Python language interpreter
  • The necessary libraries (DLL files) to run Python applications
  • A plug-in for the phone to recognize Python scripts and Python libraries downloaded from the Internet or embedded in incoming messages
Once the Python runtime is successfully installed, a Python icon appears in the Main menu.

Thursday, December 13, 2007

How to write symbian application?

If you are familiar with the C++ language, it is fairly quick to learn how to write Symbian C++ applications for Nokia Series 60 devices. Compared with regular C++, Symbian C++ requires a complex build structure with a lot of resource files and configuration files. A good IDE tool hides those complexities, and hence, greatly reduces the Symbian C++ learning curve. I can recommend two Symbian C++ IDEs:

The Borland C++BuilderX Mobile Edition is available at
http://www.borland.com/mobile/cbuilderx/index.html.

The CodeWarrior Development Studio for Symbian OS is Nokia's Symbian C++ development tool. You can download and purchase it from the tools section in the Forum Nokia web site (http://www.forum.nokia.com/
).

Sunday, December 9, 2007

How to register a Symbian Application?

Most Symbian applications are commercial software. To reduce piracy, they typically require that you activate the software after it is installed. If you do not activate the application within the specified trial period, it will stop working. The activation process ties the software purchase to a specific device. It works as follows.

Each Global System for Mobile communications (GSM) device is uniquely identified by a 15-digit International Mobile Equipment Identity (IMEI) code. You can get your device's IMEI code by typing *#06# on the keypad

Write down the IMEI code of the device you installed the software on and submit it to the software store or the developer. The option to submit the code will be made available to you when you download or purchase the .sis file.

The vendor or developer then sends you back an activation code (usually within minutes, but sometimes within a few days). You bring up the Activate menu of the application and type in the code to complete the activation process.

The Symbian application uses a secret algorithm (probably a secure hash algorithm with a secret key) to calculate the expected activation code based on the IMEI code. The software store and the developer know how to calculate the activation code from the IMEI code as well. In the meantime, as the user, you do not know the secret and hence cannot calculate the activation code yourself. So, if you supply the correct activation code to the application, it "knows" that you have gone through the official activation process. If you need to use the application on a different device beyond the grace period, you might have to repurchase the product and get a separate activation code. However, you should contact the vendor and explain that you are switching phones. They might offer you a new activation code for little or no cost.

The activation process enables Symbian software developers to offer trial versions of their software. For most commercial applications, you can download and install the .sis file for free and try it out during the trial period. You need to purchase the software only after you verify that it works with your device and are satisfied with its performance. The trial period could last a number of days or a number of restarts after you first install the application. In fact, Nokia Series 60 devices often come with trial versions of Symbian applications preinstalled on their add-on memory cards. They typically allow you to use them 510 times before activation

Friday, December 7, 2007

How to install Symbian application?

Symbian application file is a file with .sis extension. The best way to install a Symbian application is by first download the file. It usually done by downloading the .sis installation file on your computer and then pass it on to the device. Unlike Java applications, which are usually distributed by the wireless operator, Symbian applications are available through software or independent stores, the developer's own website. You can access these sites through the browser on your computer and select the software product. Once you accept the license (or buy it), you will be presented with a direct link to the. Click on the link and opens your browser to download. In most cases, the browser does not recognize the extension or contents of the .sis file. So, you may see random characters in the main browser window. But do not worry, just use the Menu File Save As to save the file to a local file with the.

At this stage, you can run the Nokia PC Suite software to install the .sis file to the camera via a local connection. However, if you have an infrared or Bluetooth connection established between the computer and the device, it is probably easier to just send .sis file to the device. The file appears as a new message in the inbox of the device. Once you open the message, the system automatically installs the Symbian applications. You will be asked to confirm a series of choices to make sure you understand what's happening before the application is actually installed.

Thursday, December 6, 2007

How to write your own Java Application?

If you know how to do it, Java is an easy way for writing your own Nokia smartphone applications by using J2ME. You can use the Nokia Developer's Suite for J2ME, which is a free download from the website of Forum Nokia (http://www.forum.nokia.com/). The Nokia Developer's Suite for J2ME is running under Windows, Linux, and offers the following features from a simple graphical user interface (GUI):
  • An editor of Java source code
  • A drag-and-drop user interface (UI) builder to generate classes of the user interface for the phone application from a visual designer
  • Tools for compiling the source code of Java and construct the JAD and JAR for distribution
  • Emulators to test your applications on the computer before they are deployed on the physical device. Nokia PC Suite for J2ME comes with a Nokia 6230 emulator and a generic Nokia Series 60 phone emulator. You can download and install other emulators free from the website of Forum Nokia. The Nokia Developer's Suite for J2ME manages all installed emulators.
If you are a Java developer and prefer to work with the Integrated Development Environment (IDE) tools, you can install the Nokia Developer's Suite for J2ME inside a popular IDE such as Eclipse. In this way, the J2ME development features in the IDE appear in the menu rather than a graphics.

Wednesday, December 5, 2007

How to manage Java application?

You can manage any application at the Application Manager and select the 'Option' to display the Management Menu for the application. With this menu, you can delete the application, access to the update history, and automatically update the application for a newer version if downloading web address is known. Via the Settings menu, you can change the way the application asks the user permissions before making sensitive actions. For example, you can configure the application to ask for confirmation every time it accesses the Internet or sends messagesAs noted above, on an old series 60 devices (eg Nokia 3650), you can access the MIDlet settings in the Options menu when you select the MIDlet Games or Apps. From the menu. Please note that these old devices offer less configurable options latest Series 60 devices such as the Nokia 6600, as they are in accordance with an earlier version of the J2ME/MIDP specification.

On a Series 40 device, application management functions are accessible from the Options menu associated with each request pursuant to the application or applications Collection Games menu. Instead of the Settings menu, you use the "App. Access" menu in the series 40 device.

Monday, December 3, 2007

How to install Java application in your phone?

Sometimes, you might need to install a Java application from your PC to the phone. You may have obtain the JAD and JAR files by email, download them manually from web site, or write it yourself or, perhaps your phone does not support General Packet Radio Service (GPRS) or WAP services to get the applications from internet. In these cases, you may use the Nokia PC Suite to install a pair of JAD and JAR files from your Windows-based PC to the phone. The Nokia Application Installer program in the PC Suite allows you to choose a JAR file from the local hard drive. Once you click the green arrow to install the JAR file to the phone, the PC Suite searches the directory the JAR file resides in for a matching JAD file of the same name. If such a JAD file is found, the JAD and JAR pair will be installed automatically. If the JAD file is not found, you can install the JAR file by itself (the JAR-only installation).

If you use a Mac computer or simply cannot get the Nokia PC Suite working on your computer, you can send the JAR file over to the phone via a local connection, such as Bluetooth or Infrared. The file shows up in your phone's messaging Inbox. When you open the message, the AMS is invoked to install the application . This method is one way to perform a JAR-only installation.

Saturday, December 1, 2007

How to install Java application OTA (Over The Air)?

The quickest way to install a Java application is by downloading it through the Internet. This is called Over The Air (OTA) installation. In order to do this, you must use your phone WAP browser. You should then direct your browser to an Internet site that provide mobile Java applications, and then click the specified link to directly download the application you need to install. The browser downloads the file and load JAD Java applications management software (AMS) for installation process. The AMS will notify you to confirm a series of choices, after that it will automatically download the JAR file, and does the rest of the installation process. Please note that you cannot use any of the non-native Nokia Web browsers because they do not know how to invoke the AMS. To ensure OTA run properly, the web server that offers the download must map the .jad file suffix to the text/vnd.sun.j2me.app-descriptor Multipurpose Internet Mail Extensions (MIME) type and the .jar file suffix to the application/java-archive MIME type

You may buy or try Java applications from many websites. Your WAP browser's probably already bookmarked with a selection of these websites.