Daperl's story

From Internet Tablet Talk

Contents

Daperl's Story

Original Post

Originally Posted by eiffel
Thanks for your response, Ryan. I could discuss it in detail but it wouldn't serve much purpose.
Every developer and user needs to find the platform that meets their needs, and I've not found mine here
despite being a happy N800 owner.
I admire the talent and dedication here, and will miss this forum. All the best, and good luck!

Wow, I didn't think I would have to, but because of this comment I think it's just about time I told my story. It's not going to happen in this post 'cause it's long and I generally hate writing. But I will state it's conclusion in order to at least inform Roger that there are good reasons why he should stay.

Roger, this platform is so far from perfect it's scary, but it's kicking a*s relative to anything else for this kind of platform. That is a plain and simple fact. You won't find what you're looking for anywhere else, but the best part is: you won't have to. Plenty is happening right here! Or if it's happening somewhere else, it's either made its way here or it's making its way here.

Look, it seems that Nokia is making decisions that couldn't be more wrong for me, and I've felt this way for some time. But I'm not letting it affect me because the FOSS genie is out of the bottle. Nokia and others have provided me with enough infrastructure that I am getting some great work done. Yes, there are areas that either don't exist, don't work or work poor enough to be unusable. I've noted these areas and I've moved on. My n800 is one of those really fat Swiss Army Knifes, and yes, there are a few blades I can't open at the moment.

Like I said, I have a story to tell, and it's a really good story. I'm saddened by the recent dejection of qole, I'm still in shock that brontide disappeared, and I was compelled to write this because eiffel seems to be disheartened enough to fade away. But I beg all of the developers and integrators that are reading this to just take a deep breath and relax. Even though all is not perfect, all is good. Trust no one. Because things are good enough that you don't have to. More later.

Nokia Has A Present For Me?

Until I started writing this I couldn't remember why I even bought an n800. Back in November '07 I was reading in some A/V forum how people were using a small wireless device to control a computer jukebox server. This was something I could certainly use, but I didn't have a clue what they were talking about. I was optimistic because of the information's source, but like most skeptics my motto is "If something is too good to be true. It is." Yet sure enough, here it was, a somewhat-open GNU/Linux based hand-held for about $225. A no-brainer if there ever was one.

From the start, this "internet tablet" was delivering nicely, and it quickly reshaped some of my routine. But where was my music control program? I wasn't concerned about finding a client solution for the jukebox server, but I needed something better than my A/V receiver's inadequate web interface. It was obvious that this next piece was gonna be on me...

Brave New Hello World

So, I had just figured out that I needed to write some code, but I knew very little about the tablet environment from a developer's perspective. No matter. Nokia supplied a tutorial, an SDK and a "hello world" (HW) package. There was a chance that this could be quick and painless.

At first glance, the HW code seemed close to unabridged for interacting with the hildon window manager. For a proof-of-concept, I decided to create a statusbar applet to control my receivers volume, and I wanted it to have the same look-and-feel of Nokia's sound applet.

I twitched my nose twice and *poof*, there was my volume control applet! And It was working like a charm. It didn't look exactly like Nokia's sound applet... Hey wait. Why didn't it look like Nokia's sound applet? It looked more like a dialog box... It was a dialog box! But the statusbar applets all looked like popup menus. Something wasn't right here; I was gonna need some help...

The Storm Before The Calm

I found myself in an all too familiar place: Ready to implement my functionality, but instead taking a detour because of some non-standard system integration. Conventional wisdom dictates not to stray at times like these, but I knew my enthusiasm was going to suffer if I didn't take care of this now.

After the Maemo tutorial disappointment, it was time to see what the community had been up to. Sure enough, the Advanced Backlight (AB) project was in a mature state, and at first glance it seemed that they had already solved my problem. Whew!...Saved!...Not! It so happened that AB was frustratingly stuck exactly where I was; they had been for months. And where was Nokia in all this? Not to be found.

One bright side was that I didn't know GTK, and based upon its growth rate and installed base, now seemed like a good time to learn it. The dark side of course was that I was getting further and further away from where I really wanted to be. But maybe I would enjoy the ride? Or maybe the solution would come to me from a Google search? I didn't and it wouldn't. About 10 long, dead-end days passed. I was burnt and ready to throw in the towel. But just as I was packing up my things, Murphy decided to take a vacation...

Blue Highways

I implied earlier that my journey for UI nirvana was all hell. That was somewhat misleading. It's true that I ended up empty handed, but I did see some fascinating stuff along the way. And I just want to make some brief remarks before I get back to the main thread, 'cause as frustrated as it got, I did learn some things.

The set of libraries and API's that make Hildon possible are very decoupled. For instance, Hildon depends on GTK which depends on GDK where both depend on GObject where all depend on glib. But there are no dependencies in the opposite direction, i.e. GObject is only dependent on glib, but glib depends on none of the above. The result is an excellent C-based object-oriented environment. And because of the way it implements and instantiates its class, object and parent hierarchies, it's somewhat trivial to create bindings for popular scripting languages. The result: A powerful tool set, but not always for the meek.

And this is where I found myself, in a complex world of windowless child widgets and stolen input foci. I had seen this place before, but Nokia had left this particular frontier barren, to the point that it was in need of some formidable UI methods. Thankfully, a writer from the high plains was drifting in...


All times are GMT -4. The time now is 03:23 PM.