detees
20th May 2007, 22:46
Contacts Browser Plugin
Background
From the user perspective a desktop user interface is usually the preferred way to access the Internet, if available, because of the obvious advantages of having a large screen and full keyboard. On the other hand, the mobile is always available, always on and has the telephony and messaging functionalities.
We believe that the best possible mobile user experience requires bridging the gap between the mobile and the desktop. Now that the mobile browsing experience is getting close to the desktop (check out the new S60 Browser), we have taken a different viewpoint and spent some time thinking of another way to bridge the gap.
A key ingredient in this is the Mobile Web Server, also from Nokia Research Center, which turns the mobile phone into a service provider and enables new innovations. The Contacts Browser Plugin is a concept demo that was built to show the exciting possibilities of combining the mobile and desktop web experiences. It is a small, yet useful, application.
We hope you enjoy it!
Introduction
So there you are browsing the web with your PC looking for
a place to eat,
a colleagues phone number, or
some cool ringtones to download.
With the help of modern search engines you find the contact information easily. So what do you do next? You grab your phone and start entering the number you have found manually to your contacts. After entering the information you probably call the restaurant to reserve a table or send an SMS to your colleague.
What if you could simply just click the number and select what you want to do?
Actually, you can. We have created a browser plugin and phone software package that let’s you remote control your phone from your PC web browser. On the phone we have used the Mobile Web Server and Python for S60 as a platform. The browser functionality is implemented on top of GreaseMonkey plugin.
Example
Let’s assume you want to book a table at Restaurant Zetor in Helsinki. First you find the web page, for example with Google search. Then you click the phone number, which brings up this pop-up.
[Only registered and activated users can see links]
Clicking the call-button will initiate the call. You can also edit the number prior to calling, hang up the call, send a SMS to the number, and add the number to your contacts.
[Only registered and activated users can see links]
[Only registered and activated users can see links]
Technology Employed
Before reading further it’s a good idea to familiarize with Mobile Web Server, Python for S60, and GreaseMonkey.
Overall the system has three active components (see figure):
A PC running a web browser
The user's mobile phone running Mobile Web Server
The Raccoon Mobile Web Server gateway
In the web browser we have added a GreaseMonkey user script that modifies the contents of each loaded page so that the telephone numbers become clickable elements. Clicking a number opens up a dialog box to call, send SMS or add a contact to your phonebook. These options invoke AJAX calls to the Mobile Web Server.
On the mobile phone side we have a set of mod_python scripts to receive these calls. Since the scripts have access to all the python APIs (contacts, messaging, telephony, etc.) on the phone, it can initiate phone calls, send SMS and modify contacts.
[Only registered and activated users can see links]
Install Python for S60 and Mobile Web Server to your mobile phone. The easiest way to do that is to install a bundled SIS file containing both as instructed in the Mobile Web Server wiki. Please, note that the bundled SIS file needs to be installed to the Phone memory on 3rd Edition devices! Also, remember to sign up and set up the Mobile Web Server in addition to installing the sis file, as instucted on the wiki.
On your PC you need a Firefox browser with the GreaseMonkey plugin. Support for S60 3rd edition phones is available as well, see below for installation instructions.
Install PluginSetup3rdEd_1.5.SIS for 3rd Edition devices. Please, note that you have to install the PluginSetup application to the Phone memory on 3rd Edition devices.
Run PluginSetup on your phone. The application will prompt you to create a username and a password. You have to provide these to the browser plugin later, so memorize them. You can, but don’t have to, use the same username and password as in the Mobile Web Server. Note that the information is sent as plain text over the Internet.
The setup application can be run multiple times to, e.g. create a new username and password (note that the old ones are not deleted). On subsequent runs you can also cancel the username query, in this case new username is not created but the Contacts Browser Plugin setup is otherwise verified to be correct.
More Info: hxxp://research.nokia.com/research/projects/contacts-browser-plugin/index.html
Background
From the user perspective a desktop user interface is usually the preferred way to access the Internet, if available, because of the obvious advantages of having a large screen and full keyboard. On the other hand, the mobile is always available, always on and has the telephony and messaging functionalities.
We believe that the best possible mobile user experience requires bridging the gap between the mobile and the desktop. Now that the mobile browsing experience is getting close to the desktop (check out the new S60 Browser), we have taken a different viewpoint and spent some time thinking of another way to bridge the gap.
A key ingredient in this is the Mobile Web Server, also from Nokia Research Center, which turns the mobile phone into a service provider and enables new innovations. The Contacts Browser Plugin is a concept demo that was built to show the exciting possibilities of combining the mobile and desktop web experiences. It is a small, yet useful, application.
We hope you enjoy it!
Introduction
So there you are browsing the web with your PC looking for
a place to eat,
a colleagues phone number, or
some cool ringtones to download.
With the help of modern search engines you find the contact information easily. So what do you do next? You grab your phone and start entering the number you have found manually to your contacts. After entering the information you probably call the restaurant to reserve a table or send an SMS to your colleague.
What if you could simply just click the number and select what you want to do?
Actually, you can. We have created a browser plugin and phone software package that let’s you remote control your phone from your PC web browser. On the phone we have used the Mobile Web Server and Python for S60 as a platform. The browser functionality is implemented on top of GreaseMonkey plugin.
Example
Let’s assume you want to book a table at Restaurant Zetor in Helsinki. First you find the web page, for example with Google search. Then you click the phone number, which brings up this pop-up.
[Only registered and activated users can see links]
Clicking the call-button will initiate the call. You can also edit the number prior to calling, hang up the call, send a SMS to the number, and add the number to your contacts.
[Only registered and activated users can see links]
[Only registered and activated users can see links]
Technology Employed
Before reading further it’s a good idea to familiarize with Mobile Web Server, Python for S60, and GreaseMonkey.
Overall the system has three active components (see figure):
A PC running a web browser
The user's mobile phone running Mobile Web Server
The Raccoon Mobile Web Server gateway
In the web browser we have added a GreaseMonkey user script that modifies the contents of each loaded page so that the telephone numbers become clickable elements. Clicking a number opens up a dialog box to call, send SMS or add a contact to your phonebook. These options invoke AJAX calls to the Mobile Web Server.
On the mobile phone side we have a set of mod_python scripts to receive these calls. Since the scripts have access to all the python APIs (contacts, messaging, telephony, etc.) on the phone, it can initiate phone calls, send SMS and modify contacts.
[Only registered and activated users can see links]
Install Python for S60 and Mobile Web Server to your mobile phone. The easiest way to do that is to install a bundled SIS file containing both as instructed in the Mobile Web Server wiki. Please, note that the bundled SIS file needs to be installed to the Phone memory on 3rd Edition devices! Also, remember to sign up and set up the Mobile Web Server in addition to installing the sis file, as instucted on the wiki.
On your PC you need a Firefox browser with the GreaseMonkey plugin. Support for S60 3rd edition phones is available as well, see below for installation instructions.
Install PluginSetup3rdEd_1.5.SIS for 3rd Edition devices. Please, note that you have to install the PluginSetup application to the Phone memory on 3rd Edition devices.
Run PluginSetup on your phone. The application will prompt you to create a username and a password. You have to provide these to the browser plugin later, so memorize them. You can, but don’t have to, use the same username and password as in the Mobile Web Server. Note that the information is sent as plain text over the Internet.
The setup application can be run multiple times to, e.g. create a new username and password (note that the old ones are not deleted). On subsequent runs you can also cancel the username query, in this case new username is not created but the Contacts Browser Plugin setup is otherwise verified to be correct.
More Info: hxxp://research.nokia.com/research/projects/contacts-browser-plugin/index.html