Saturday, November 17, 2012

Mae-Fi for MeeGo Harmattan



I have been working on a new application for the Nokia N9 and N950, which I call "Mae-Fi".  It is a simple Eye-Fi application written in Qt/QML, with a Python backend.

For those that do not know, Eye-Fi refers to a series of SD cards by the same name that have a Wi-Fi capability.  Their use is primarily for transferring images wirelessly from your camera (DSLR or P&S) to your computer or to online photo sharing sites. 

I have often taken some nice shots with my DSLR, but lack a convenient way of viewing or sharing them via e-mail until they are downloaded to my home network.  Eye-Fi cards can be set to use preconfigured networks, with sharing to online services, or FTP.  With FTP protocol, however, the images are first sent to Eye-Fi servers, and then back to your FTP server.  This is not ideal for my use case, as I do not like my photos being sent unnecessarily to online sites.

Eye-Fi does have dedicated apps that work with a Direct Mode, which enables transfer of images between the card and a mobile device.  As one would expect, the platforms where such functionality exist are iOS and Android.

Being a Maemo/MeeGo enthusiast, I thought I would try my hand at making an application for Harmattan.
Mae-Fi makes use of a python script called eyefiserver.  It was written originally by Jeff Tchang.  The N9 and N950, being mobile Linux computers, are able to easily use this script as-is.  I created some hooks to tie it back to a Qt/QML user interface.

The application has a start/stop button which enables the python script to start listening for the Eye-Fi card.  It also has buttons which launch the Hotspot and the built-in gallery application so that you can connect to the Eye-Fi card, and view images that get transferred to the N9/N950.

Requirements for running Mae-Fi are:

1. Nokia N9 or N950
2. Eye-Fi X2 card with Ad-Hoc capability.  Since Harmattan does not support infrastructure mode in its Hotspot, the more expensive X2 cards are required.
3. Hotspot mode on N9 or N950.
4. Eye-Fi Card configured to use the N9/N950 hotpot in Ad-Hoc mode
5. Eye-Fi Card with Relayed Transfer mode disabled.
6. Upload key from your Eye-FI card.

Mae-Fi can be seen running in a YouTube video I created a few weeks ago.  It shows the Eye-Fi card connected to my N950 hotspot, and also shows the transfer of a picture from my DSLR to the N950.



A more recent screenshot of Mae-Fi can be seen below:



Mae-Fi is close to being ready for distribution.  I need to add a way of entering the Upload key in the application, and I would like to add some visual indicator of image transfer within the application itself.




Digg Technorati Delicious Google Bookmark slashdot