Tuesday, November 22, 2005

Nokia 770 talk at MIT

Last week I had a great time to talk about the Nokia 770 and the Maemo Story at MIT, and as usual Nokia 770 evoked a great response. It was also great to meet and discuss with the handheld guys about maemo. This was also my first time to Boston and weather being excellent I enjoyed the city and especially the duck tour ,which is basically a world war II amphibious vehicle which gives a great tour of boston on and off the road (when it plunges into the charles river)

Sunday, November 13, 2005

Maemo Streamripper Control Panel Plugin

Some time ago just to dig into hands on maemo programming I started to write a control plugin which would allow me a easy way to rip streams. So I started with Streamripper and modified it to run as a daemon and controlled by DBUS. Then wrote a simple UI and control panel plugin to rip streams

I started a berlios project here https://developer.berlios.de/projects/streamripper-ui/ which still awaits for me a cleanup code and import in SVN. some day !! (well code is quite dirty, so I dont think it will every get into mainstream, but the changes to streamripper itself are quite small, just modification to the console utility). Code could also be useful to people looking for sample D-BUS code and sample code for writing Maemo Control Panel Plugin

At some point I thought I could also put some nice feature like the Streamripper32 where it can list the stations and tracks available for ripping.

Btxfer : Simple tool for Bluetooth OPUSH/OBEX transfer

This had been pending for a while, gathering dust. I wrote a small utility originally intended for Maemo , but I found it quite useful for my Linux desktop too, especially when I have to transfer tons of pics from my phone to laptop. There are offcourse other utilities and tools for the same purpose, but then I just decided to test how quickly can I write one.

Now on Nokia 770, the device announcement is turned off, but now with so many developers with root access, can simple turn that on in their /etc/bluetooth/hcid.conf

BtXfer
- Simple UI for discovering devices
- Select a device and select files (you can select multiple files), and send. It will send if the other receiving device has OPUSH profile. The utiltiy also has SDP query capability to get the right channel number on the receiving device
- You can also receive
- Nice little progress bar for send/receive progress
- Multithreaded so, send and receive happens independent of each other

I ripped most of the code from the obex-apps
Some features I really would like
- a simple tray for droping files for transfer

Code exist here : https://stage.maemo.org/svn/btxfer
so feel free to hack

New minor release for Maemo GAIM

Ok, whats happening on Maemo GAIM
1. I opened berlios project for maemo gaim, so now if someone wants to join in improving the port for maemo feel free https://developer.berlios.de/projects/maemo-gaim/
2. Made another minor update release which is available from http://download.berlios.de/maemo-gaim/maemo_gaim_1.5-dk-1_arm.deb

New features
- Hildon stype toolbar and menues (did a real bad hack) more on that in a bit
- Preference dialog is now a Appview, so its quite convinent to use
- App should now be able to also work in non-fullscreen mode
- Should be more stable :) [since when has stability become a new feature ;)

Ok, now about the hack
GAIM makes extensive menues using the factories, and I just couldnt find to sew the existing menu widget to the appview. while there is an API to get the menu widget e.g to attacj menuitem etc, there is no API I could find for repacing the menu with a user provided menu.

So I started to dig into the hildon_appview.c file to see what is the magic. The widget is having a pointer to priv struct , the first member of it is the menu widget, which I wanted to change, so using brute C pointer force, I just changed the pointer of the internal structure to contain pointer to my menu widget :)

void **ptr = HILDON_APPVIEW(app_buddy_view)->priv;
*ptr = gtk_item_factory_get_widget(gtkblist->ift, "");

Hopefully I wont have to rely on this hack and HildonAppView widget would have an API to enable this.

Tuesday, November 01, 2005

GAIM 1.5 for Maemo/Nokia 770

Finished port of Gaim 1.5 internet messenger for Maemo/Nokia 770. This had been my hobby project and took me not long to get all the dialogs etc work nicely for n770 screen size.

DISCLAIMER :) This is my hobby project and Nokia has nothing to do with it.




It works in full screen mode only
To switch, use the home key to switch between other apps
[+/-] zoom keys are mapped to get as much screen estate to chat window as possible. It will work when the converasation window is in view, so you can pretty much get the entire screen for chat
[fullscreen key] is mapped to switch between buddy window and conversation window
I left the menu as they are (i.e did not oconvert them to hildon menues), didnt see a need why as the app works in full screen
Modified most dialogs and windows to reasonable sizes and where possible use the tabs


Here are some of the screen shots (eye candy)