After working in Maemo and MeeGo for the last 5 years I’ve become the proud owner of a N810, a N900, a N950 (by now) and a N9. Obviosly, my old and beloved first maemo device, the N810, has been pushed into the background.
Thinking about how to still keep doing a good use of it, came to my mind the idea of turning it into a Skype phone. Nokia’s hardware is superb and the sound quality of the N810 makes it a good choice for this.
Still, I didn’t need another Skype phone myself but my parents, who have a lot of troubles for making use of Skype’s software in the computer, were the perfect candidates. Also, placing the N810 24/7 online side by side to their land line phone would let them receive and check at any moment for the availability of their regular Skype contacts. That’s it, my oldest’s brother family, who lives in Germany, and myself, who have already spent the last year and half in Finland and will be there, at least, for another six months.
Therefore, I copied all the remaining data out of the N810, cleaned the internal MMC and re-flashed the device with the latest available image and the needed flasher. Afterwards, and for having an easy way for maintaining the device, I upgraded to the OS2008 Feature upgrade and installed Skype, openssh and x11vnc packages. Also, I set the “Red Pill” mode in the Application Manager and added the following repositories:
~# cat /etc/apt/sources.list.d/hildon-application-manager.list deb http://repository.maemo.org/extras-devel/ diablo free non-free deb http://repository.maemo.org/ diablo/tools free deb http://catalogue.tableteer.nokia.com/certified/ diablo user deb http://catalogue.tableteer.nokia.com/non-certified/ diablo user deb http://catalogue.tableteer.nokia.com/updates/diablo-2/ ./
In addition, after being able to ssh into the device, I installed the screen package.
Then, I set the connection manager to be connected to my parents WiFi automatically, without energy saving, with the smallest searching intervals, in case it would lose connection, and with unlimited inactivity time.
I modified the display settings for having the bright level, the bright timeout and the timeout for turning it off to the maximum, unchecked the option for blocking the display and keyboard on turning the display off, and set the display to not being permanently on ever. In the LEDs settings I left everything checked but when the device is on.
Because of the possibility of connecting with a bluetooth headset, I also set the bluetooth to be always on and visible.
Finally, I launched Skype and configured a new account for my parents.
The only thing left was to be able to launch Skype automatically at boot time and in fullscreen mode. As I said before, my parents are not really skilled on technology or gadgets use so the simplest approach would be to have a fully working Skype client just after booting and with no more distractions that the contacts list and the button for calling.
I’ve developed the package skype-autolauncher for this task. This package would launch Skype automatically on boot time through a init script. Yes, I know it is not the cleanest way but it just works™ and other strategies are not much cleaner. The init script makes use of dsmetool to monitor the Skype instance so, if it crashes, or is closed by mistake, the application is relaunched. Also, this package adds a cron.daily task which will restart the service so it will also shut down and re-launch Skype for having fresh memory and a healthier running environment.
Automatic Skype Launcher’s code is kept in gitorious. For downloading the code, just type in a terminal:
$ git clone https://git.gitorious.org/skype-autolauncher/skype-autolauncher.git
For the matter of automatically turning the launched Skype instance into fullscreen mode, I’ve also developed the package apps-fullscreener. This package sends a fake fullscreen hard key event to a XWindow by its process name.
Applications Fullscreener’s code is also kept in gitorious. For downloading the code, just type in a terminal:
$ git clone https://git.gitorious.org/apps-fullscreener/apps-fullscreener.git
That’s it. Comments and patches are welcomed!