Archive for the ‘Open Source’ Category

Poking Around in the Minefield

Sunday, February 17th, 2008

After getting an initial version of mobile Firefox (currently called minefield) compiled and running on the Maemo SDK, I compiled a version for ARM and put it on my n810:

Minefield on the N810

It’s definitely a very early effort, like all of the pages say. It’s not even a release yet, just a hint of things to come and an attempt to start the effort rolling along. I’m actually impressed that it worked out so well. I was able to build the code for both targets, get it installed, and poke around some. It loads pages, settings work, extensions work, tabs, session saving, etc. All told, fantastic for what is effectively a rough port of the desktop version with few tweaks made.

I installed Greasemonkey to poke around some. I’m just really interested in there being a user contributed set of hacks to get existing web content to work on mobile devices. This seems to provide an excellent way to fool around with that concept. I tried out a few user scripts and they do work, although I had a few crashes here and there while fooling around. It’s still an early effort, so no surprise there.

This whole thing has me really excited. I wasn’t sure what to make of the announcement that there was going to be a mobile Firefox somewhere down the line. With so much momentum behind the Webkit based browsers I wasn’t sure if Firefox was going to be able to make a dent. I’m happy to see working code and an early demo, nothing gets interest for an open source more than a working set of code. Fantastic, this just might work out yet.

One of the aspects that I think is a huge deal is that Firefox is actually open source. When you look at the Nokia open source browser (like that included in the N95) and the Safari browser in the iPhone they’re both based on the open source WebKit project. However, they are not themselves open source. WebKit includes the guts of the web browser (HTML parsing, CSS, rendering engine, JavaScript, DOM interface, etc) but that’s not all that goes into a browser. So there are proprietary bits of code that go in with WebKit in order to make up the browser on my N95. The result being, I can’t decide I don’t like the way my N95 works and get in there and hack up a new version of the browser that suits my taste. With the mobile Firefox browser that will be the case. And I’m hoping that a genuine open source browser on the mobile end will catalyze innovation in the client the same way that having an open source desktop browser has kept things interesting in that arena.

Now if only I could get the browser compiled for a device with a cellular interface in it, or get a Maemo device with a cellular interface.

Walk Through Minefields

Saturday, February 16th, 2008

I got networking going in my scratchbox install and was able to build my own minefield 1.9 Mozilla and get it talking to the intarwebs:

Mozilla Minefield OS2008

Pimp, I know, you’re jealous. Turns out Brad is way more pimp, and actually had debs packaged that I could play with and all.

I actually found his stuff before I did this, but I wanted to figure out how to build my own so that I could hack on it a bit. Unfortunately the extension developers extension didn’t install cause it doesn’t “provide secure updates”.. whatever that means. But Greasemonkey did:

minefield_greasemonkey

I know, it’s hard to comprehend. I’ll give you a bit of time to catch your breath, I’m getting all excited myself.

Why I Don’t Care About LiMo

Friday, February 15th, 2008

There’s a whole bunch of noise about the LiMo Foundation and comparisons to the Google Android project and the Open Handset Alliance. That’s cool, I’m happy there are people taking a look at both and poking around and trying to figure out how to make things better. But right now I don’t really care.

I don’t care because LiMo doesn’t seem to be an open source project at all. It’s a consortium meant to steward communal intellectual property and license rights. Just a quick glance over the open source definition and then the LiMo website should spark thoughts like “Hey, where’s the source code?” and “What’s with all this talk about membership?”

I’m not saying that LiMo isn’t a great effort. It might drive down the cost of manufacturing handsets and drive significant innovation back into Linux. But the project is really aimed at device manufacturers. They’re trying to bill it as a savior for consumer application developers as well because it supposedly standardizes Linux, but until the devices are out in market and I see some numbers that’s going to be a really hard case to make to me. Show me the code or show me the install base. Don’t claim open source without any public code and claim an end to device fragmentation without significant units in the market. I’m going to assume you’re just bullshitting.

Mobile Search as a Web Service

Saturday, February 9th, 2008

I was poking around a bit today with identifying mobile search traffic. I dumped a few million records out of the Mowser traffic DB and parsed through the referer URLs to pull out keyword info from searches that land on Mowser pages. First things first, I wanted to share. So here’s my current version of a mobile search term referer parser. I just wanted to get that out of the way cause I’m starting to get tired, by tomorrow I might forget about what I did if I don’t post it.

There’s a lot that’s different between the mobile world and the web world currently (and it’s all headed for what’s sure to be a noisy, violent, and I’m betting pretty damn interesting collision). In the online world Google owns most of the search market, for better or for worse. However on the mobile side many service providers are building out their own search index, usually licensing some technology from someone to run their own site or white labeled version. Say what you want about Google, but at least as a property owner I know how to get search traffic to my site: get ranked on Google. What does the world look like off-deck if every operator keeps building out their own search index? How does it affect end user perception of search as a service as well if every service they try out works different?

Also, how as a site owner do you attempt to tune your site for search traffic when many of the search services that are driving users to your site aren’t available unless you’re a customer of the same carrier? Check out these referers I have from Mowser:

If I can’t even see the pages it really makes it difficult for me to understand traffic flow to my site and attempt to tailor my content appropriately. Carrier searches are actually driving a pretty decent amount of traffic still, but already they’re lagging behind Google in terms of driving numbers. Carrier search is only going to get worse by comparison, especially as higher capability devices work their way out into the market and folks begin expecting their mobile search to work like their desktop search (because that’s the way the rest of the web does).

This is just another one of those issues where we’re probably going to have to suffer through long and painful process of carriers finally coming to understand search after multiple failed and user-frustrating attempts. I’m not saying that mobile search isn’t different than web search. But if you’re going to run a web service run it out on the web. Pay attention to all the people who are affected (and who can help you improve your service). Operators: going off and running web search with everyone having their own instance off in their own little tidepool is stupid. Please stop doing it.

Native GCC on the N810

Friday, February 8th, 2008

I started out trying to install the rtcomm update that gives all kinds of new protocol support to the built in messaging app. I was having install problems even with red pill mode on. Then when poking around in the app manager I saw an entry for gcc. gcc? Oh my dear, how pimp would that be? Hell yea:

Native GCC

There’s gcc, g++, and dev header installs for all kinds of stuff. Why was I not informed of this earlier?

Getting my Nerd On

Friday, February 8th, 2008

I’ve been using a MacBook Pro as my main computer for a while. When I purchased my last laptop for personal use Lenovo was having some serious problems with their supply, so I got pissed off and went out and got a laptop I knew I could get that day. And actually it worked out quite well all things considered. My main work system for years has always been Linux, and I just can not use a Windows based machine any more. However the swap to OS X was relatively painless.

I’m getting back into developing on a regular basis though, like sitting down and spending a few days at a time actually coding. And the little things started to irk me about working under OS X. Apache config weirdness, MySQL problems after having to install a different version for testing, having to start up a distinct X server to run Ethereal, that kind of thing. Not killer stuff, just annoyances. Stuff I’m sure I could overcome if I took the time. But I’m a Linux user at heart, so instead I snagged an old server system I had sitting around and reinstalled the aging Ubuntu distro it had, and now I’m back to a Linux system as my daily workhorse:

Linux Desktop

A few things:

  • I love the notifications on OS X, little bubbles that pop up and stay off on the side of the screen for a bit to notify you of events. Just about all the popular OS X apps for communication integrate with it, and I like the way it works. Well joy of joys, Gnome has a notification system as well. Grab the python-notify package for some command line tools you can use to hook up your own stuff (there’s supposedly a notify-bin command line tool… not sure what package that’s part of but it wasn’t in my default install). Use the Mailbox Alert plugin for Thunderbird to be able to execute arbitrary commands on new emails so that notifications from Thunderbird match the style of the other messages
  • The state of the sound system is still pretty nasty. When I first installed sound wasn’t working for Flash under Firefox. Poking around some I found some libs and got it working, but only one program could access the sound device at a time even though the Gnome control panel had sound set to use esound. Eventually it was just randomly flailing through the options in different places to eventually get a set of settings that actually mix sound sources. I’m assuming there’s just no easy way to query stuff out of sound card and figure out support, but that’s been so crappy for so long. I haven’t even tried out Skype yet. I’m afraid to, cause I might start poking options again and end up with a completely non-functional sound system with no way to get it back working again.
  • I miss Quicksilver already. The Gnome replacements don’t live up yet. If there’s a project I need to spend a bit of time hacking on to scratch a personal itch, that’s definitely it.
  • I was really impressed with the install options. Turns out the optical drive in this system is on the fritz. I was going to do a network install with it, but along the way I ran across the options for moving the install ISO over to a USB stick. Fired up my laptop and transferred the image to a stick I had sitting here and I was up and running. That was awesome.

Testing out Maemo WordPy 0.6

Thursday, January 24th, 2008

I saw the post on Maemo Apps about the WordPy update. I just installed it and used it to upload an image to Flickr, now I’m posting from it. The image I uploaded is my Serial Experiments Lain inspired N810 background:

Swapped Keyboard Mapping Techniques on the N810

Wednesday, January 23rd, 2008

In the comments to my previous post about remapping keys on the keyboard of my N810 there was a mention of editing the X server keyboard mapping file at /usr/share/X11/xkb/symbols/nokia_vndr/rx-44, which I assumed was a pretty nasty hack. But Daniel Stone, who does the X server development for Maemo, said that it wasn’t a hack at all. xmodmap is the hack.

Yesterday I was starting to get annoyed at having to manually load the mapping at every reboot (cause I have to reboot frequently to get GPS working again, groan), so I swapped techniques. The format of the file is pretty easy to understand, use “bar” where you want to put the pipe symbol and “Tab” where you want to put tab. And while I was in there digging at it I changed my mappings to, I made Fn-space the tab key instead of using semicolon. Just seems like a more intuitive setup.

BarCamp Mobile and Embedded

Thursday, January 17th, 2008

Enrique just posted about the Mobile and Embedded BarCamp happening alongside the Mobile and Embedded Developer Days. I don’t think I’ll be able to make it down till the afternoon on Wed, but sometimes getting a second wave in fresh for the evening helps keep the momentum going ;-) You don’t need to be participating in the MEDD to go to BarCamp (I’m not going to the conference myself), so come by and check it out if you’re in the area.

Subversion for OS2008

Tuesday, January 15th, 2008

I’ve been keeping an eye out for OS2008 software that I was using on my N800, and last night I just saw that Subversion is now available. That’s a killer bit of software for me. I use my own svn repository to sync up the stuff I’m working on, keep notes and little scripts, etc. The N810 (now with hardware keyboard) I expected to be killer for little bits of hackery here and there. And it has been, just getting the stuff onto and off the device hasn’t been as braindead as I had hoped. Now it is. Can world domination be far behind? I expect not.

I haven’t quite made it to the point of keeping everything in Subversion. But enough stuff is creeping in that direction that I’m thinking it might not be a bad idea to give it another try.