Ripping mobility from the clutches of telecom
Archive for December, 2007
Adding Pipe and Tab to the N810 Keyboard
Dec 31st
I’ve been poking around with remapping the keys on the N810 keyboard and got xmodmap working this morning. I didn’t think it was available for OS2008, but you can snag the xmodmap binary for OS2008 from here. I used some of the information on the page about using a Bluetooth keyboard with older Maemo releases, but also just read some general hints about how to use xmodmap and where to find info about keysyms.
I started out just testing the modifications I wanted from the command line in xterm. You can use a command like the following to test out a mapping before adding it to any config files:
xmodmap -e ‘keysym m = m M bar bar bar’
My targets for remapping were the euro and pound signs (Fn-M and Fn-; on the built in keyboard). I live in the United States, and as everyone knows one of our favorite pastimes when not destroying other countries during religious crusades is to ignore them completely. So the chances of me needing to use those symbols is pretty low unless I suddenly decide to write some kind of political satire. What I wanted there were the tab character and the pipe character. Essential to sanity when doing a lot of command line stuff, which I do. So I ended up with this .xmodmap file:
keysym m = m M bar bar bar
keysym semicolon = semicolon colon Tab Tab Tab
Fantastic! Now I can run ‘xmodmap /home/user/.xmodmap’ and get the remapped keys I want. I had seen mentions on some of the discussion boards about the keymappings getting reset with every keypress or something. I’m not seeing that on my relatively recent OS2008 install (1.2007.42-19). Once I set the mappings they stay around till I reboot. What I can’t figure out how to do however is to run xmodmap automatically at startup and have it work. I tried adding it to a bunch of different places in startup files, but the remappings weren’t active for some reason. So I just created a nice short script I can run from xterm, which is mostly when I want to enact these mappings anyway. Good enough for now. Still, would be really slick to just have them working, is there a thread out there with a working example for .19? I didn’t run across one in my wanderings.
Maemo Mapper on the N810
Dec 30th
I fooled around a little bit with the mapping application built into the N810, but wasn’t too impressed. Sure, it could be useful for when I get lost and need to find out where the hell I’ve ended up. A situation which I admit isn’t all too uncommon. But it did seem pretty much like a teaser application, bare bones functionality with the desire being to upsell me on some navigation package so that I could get access to the rest of the features. No thanks.
So I also downloaded the Maemo Mapper application and gave it a shot at one point. Unfortunately the first time I tried it I was actually trying to do something with it. Riding along in a friend’s car trying to figure out where we were. It didn’t want to sync with the GPS and then I was struggling trying to figure out how to download map data over my phone’s data connection out in a spot where connectivity was spotty at best. I missed a few options and didn’t quite understand how the thing worked. Ended up just using GMaps on my phone to figure it out, with the intention of coming back to the N810 setup and poking at it later.
Today was later as it ends up, partially cause I was at home and wanted to familiarize myself with it before I was on the road again. But also because I saw a few things on the Maemo Mapper homepage which made me think I had missed some major functions. The first and most important part is to make sure that map auto-downloading is on. Otherwise you might end up like me, trying to figure out how to use the manage maps dialog to define an area to download at different zoom levels. Furrowing your brow over and over at the confirmation dialog telling you the system is about to download -2078382 maps for a total of 15678.6 meg of map data. WTF? You don’t need to worry about that though, just turn on Auto-Download. Thing is it’s on the top level maps submemu, not within the manage maps dialog where I was looking for it. Once I turned that on I was able to start seeing map info and finally got to understand what was going on.
Personally I have trouble with the GPS in my N810 every once in a while. I’ll pop up any of the map applications (built in maps, Maemo Mapper, or even the configuration panel dialog for the GPS) and there isn’t any info at all. No satellites, no fix, no updates, nothing. Turn the GPS off and back on, still nothing. Restart the device, GPS works. Just a note to others out there who might be seeing similar things, if you see no updates to the GPS info after a minute, don’t assume that restarting the device is a useless procedure.
Other thing I realized once I was past the basic setup was that you can actually route live using the software. Go into Route/Download… and you can create a new route on the fly with the assistance of a web service. I created a route from my current home to my old home just to see how sane it was. Simple route, but there are some backroads that could confuse it. Worked quite well! The route info didn’t completely sync up with the OpenStreet map source I’m using, so the route seemed to be slightly off from the road. But more than good enough. And to my surprise it picked up my Festival Lite (flite package) install and started speaking the first steps of the directions to me. There are all sorts of settings in there about how long of a warning distance to give for turns and how to lead the auto-centering on the map. Really amazing setup, I’m impressed all that stuff is in there. And yet I don’t hear people raving about it more often.
With the 3G phone downloading map data in realtime as I’m driving down the road seems to be no problem either. If I were taking a trip through the middle of nowhere I might try to download the map data in advance. But for most of the stuff I do I think I can assume I’ll have decent cellular coverage. It even seems to have support for layering in your own points of interest data and recording routes, stuff I haven’t played around with yet. Unfortunately all this location stuff still seems to be pretty niche activity. Would be great if Nokia would embrace this part of the open source effort and concentrate on getting Maemo Mapper and like apps up the capability curve instead of trying to pimp some commercial app for mapping on top of a perfectly good open source device.
Immediacy of Messages
Dec 28th
Somewhat along the lines of the thinking about messaging that Russ was doing I’ve been thinking about using feeds at different paces. I use RSS feeds to get all my news. Seriously all my news. I don’t make a stop at any normal news source like most folks do. I can remain blissfully unaware of major world events if they don’t happen to come up in casual conversation or get blogged about on Engadget. No problem. But the reason I do that is I don’t want to suck up all the time in my day consuming the media circus, I have other things to do. I want to read my news in 30 minutes in the morning, done.
However there’s other stuff I want to use feeds for, like following comment threads on conversations I do want to participate in. I would like to get those updates immediately so that I can keep the conversation going. But I don’t want to get updates to Engadget as they come in as well, that would just be distracting. So I was thinking about adding options to OMGWTFBBQ to make some feeds update all the time and others only update on a “news cycle”. And I also had considered adding general RSS monitoring to an IM bot I run every once in a while.
But then I thought why not use use Jaiku instead of doing my own stuff. So I created what I guess would be a “personal channel” on Jaiku: #mikerbot that I can add and remove feeds from so that I can track them more realtime. They’re off in their own channel so I’m not spamming junk out to my Jaiku followers, and they come over IM nice and close to realtime. There are a few other services out there that do RSS to IM gatewaying. But I actually like being able to setup a subsection of a service I already use to do it. And I like the fact that there’s also a web page to go along with the channel, if I’m offline for a while and want to check up on what I missed there’s the set of updates pulled together on one page for me.
iPod Videos
Dec 27th
I’ve been using VLC to convert videos for my iPod for a while, but recently had started having issues. Like one video stops playing after 45 minutes of an hour and a half long movie (something I discovered while on the road trying to watch it, very frusterating), others fall out of sync between audio and video even though they play fine when played on my computer, and others get into a loop some ways into playback with either the audio or video stuttering until I turn the playback off.
VLC still seems to be one of the recommended ways to consistently convert videos for iPod usage though, why is no one else having issues? I made sure I had the most recent version of VLC installed and tried to convert the videos again, and had either similar or at least equally frustrating issues. Then I figured maybe it was an odd quirk or the OS X versions, so I took the videos over to my nice fresh Ubuntu system and did the conversion there. Still no dice. I even went and installed the Medibuntu repositories and let it upgrade anything that could be even vaguely related. Still ended up with files that didn’t run through all the way.
Finally I ended up giving iSquint a try. It runs ffmpeg underneath it looks like. And sure, it’s pretty naggy about trying to get me to upgrade to some paid version of the software, but at least the videos it’s created so far play all the way through.
What are other folks using? Say you have a bunch of vidoes downloaded from the internet that you would like to be able to watch on the go, how do you do it. I used to go for downloading them from video.google.com if there was a download for PSP/iPod option, but that feature seems to be screwed up pretty frequently recently. iSquint is nice, but I want a command line converter. Should I just dig out the right options to use for ffmpeg and run it myself? Last time I checked ffmpeg supported a lot fewer formats as input than VLC does, which was why I switched in the first place. Or is there an “iPod happy” version of VLC floating around that I just haven’t run across yet?
Redirection and Other Characters on the N810
Dec 27th
A weird quirk I’ve run into while fooling around with doing a little development on the N810, there doesn’t seem to be a way to enter redirection characters (great than or less than signs, or angle brackets, whatever you want to call them) using the hardware keyboard. They’re not on the keyboard itself. And there’s a “Chr” key that brings up a character picker onscreen for odd characters, but the greater than and less than signs aren’t there.
Escape and page up/page down are on the toolbar. So I figured maybe I could use the onscreen keyboard to add the characters I wanted to the toolbar, but also no dice. Making an entry on the toolbar with a name of ‘gt’ and value of ‘>’ just seems to generate nothing at all when I tap it.
I don’t see any general remapping tools for the hardware keyboard (though there are for a bluetooth keyboard). Any way to get these characters easily accessible? Right now I have to just use the onscreen keyboard (or use the hardware keyboard and physically close the slider, bring up the onscreen keyboard, type my characters, and switch back). There’s gotta be an easy way to get those characters available though.
View in Mowser Opera Mini Bookmarklet
Dec 21st
I was taking a look at a few things this morning along the lines of mobile browser support for extensions and customization. Following along the theme of Russ’s post about using Mowser as a search provider in Opera Mini I just put up a “View in Mowser” bookmarklet for Opera Mini. Thanks again to Dennis at WAPReview for having raised bookmarklet support in Mini to my attention. You can find a collection of Opera Mini friendly bookmarklets at o.yeswap.com.
I have a shortcut setup for this on my install of Mini now. Once you create the bookmarklet and have it working, go into the bookmark manager and select the “Speed Dial” entry. There you can set the bindings for shortcut keys. I have the View in Mowser bookmarklet bound to *1, so I don’t even have to bring up the bookmarks screen to use it.
Opera Mini rocks, I’m surprised to see that the Nokia open source browser still hasn’t grown support for bookmarklets. One other place where it does work however: the Mozilla based browser on the N810. Very cool!
Making the Mobile Web
Dec 19th
If you take a look at mobile websites on the whole you see a structure very much unlike websites meant for desktop browsers. Desktop websites do a lot of linking to each other, they feel very much like, well, a web. Thus the name. Mobile sites however tend not to cross link very much. In web terms they look very much like closed silos. Much of the recent movement on the desktop web has been away from silos of information and into services that allow users and other developers to make use of the applications you’ve provided in a novel way. We’re not yet seeing this on the mobile web however. Mobile websites are using the technologies of the wired web to deliver applications, but effectively ignoring or contradicting everything else about the web that has made it work long term. I think taking some of those learnings from the desktop web and applying them to mobile is necessary for the progress of the ecosystem and one of the primary reasons I joined Russ at Mowser.
Why is cross linking important behavior? If you take a look at the early discussions about why to use hypertext on the web and the decisions that went into the overall architecture there’s a lot of mentions that “anyone can link to anything else without needing permission”. It’s such an ingrained principal at this point that it’s easy to ignore. You don’t need the permission of the owner of the page you’re linking to, you don’t have to worry about whether the users browser will follow the link or not, and you don’t have to get anyone’s permission to use HTML to make the links in your pages. Simple and stupid right? The overall theme is one of lowering the barrier for a publisher to make available new information on the web, and to be able to benefit from the network effects of that information. Every time one publisher puts a new web page online there’s an incremental increase in the value of the web. There’s a new page that others can link to, a new page to be indexed, a new source of information to be mixed up or referenced directly.
If you take a look at the mobile environment however this isn’t the norm from top to bottom. As Tim O’Reilly mentions in his article about openness in the carrier environment at the NY Times things are starting to get better. But it’s still true that there are carriers out there who are not open. Effectively, yes, you DO need their permission to link out from your website to others or to allow others to link to you. Or they deliver different information to different websites depending on their trust of the publisher. It’s directly in contradiction to one of the base first principles of the web.
But even if we get around those issues and the environment across all the carriers and operators becomes sane there’s still a problem with the publisher effort required. The question shifts however to “will this link work across the different phones that my users have”. If someone putting up a new mobile website is able to link only to the other sites out there that already have mobile versions the value of the site that they can create is much lower than if they were able to link to content at all the existing web sites.
Once the mobile web becomes more webbish the trends that we’re seeing now toward openness in the mobile environment become even harder to control or reverse. One of the big chunks of necessary infrastructure was already cracked with AdMob and AdSense for Mobile offering direct monetization for a mobile audience. But there’s still a discovery and distribution problem in mobile. Evolving the ecosystem requires lighting up more mobile content and encouraging content providers to cross-promote and focus on trying to serve their users (rather than just selling them something). That’s why we’ve made it very easy to use Mowser to create mobile friendly links between pages and to make a mobile version of your site. You don’t need to sign up, you keep all the advertising revenue from your pages, and you can link up whatever you want and we’ll make sure everything works.
WURFL Community Participation Site
Dec 17th
Luca recently announced the availability of a public WURFL database site that contributors can use to propose new devices or modifications to WURFL. Managing the large dataset that makes up WURFL has been a problem, so Luca is trying to open it up to the community and allow folks to submit proposed changes directly on the site. There’s information on the site about how to become a WURFL contributor and what’s expected.
I’ve seen a lot of folks complaining about the WURFL submission processes in the past, saying they wished it was more of a community direct participation effort. Hopefully they’ll follow up with some submissions now that it’s heading that way. There are a few things that would go a long way toward helping with the process I think:
- A public view of the different contributors with some stats about their participation, pride is a strong motivator and people love to show off what they’ve done.
- Being able to snag someone else’s working copy of the WURFL would be great as well. Everyone always assumes that exposing this stuff is going to lead to fragmentation, but it’s exactly the way the Linux kernel runs their process and it’s served them fine so far.
- A browser for the proposed changes and some discussion around them. The discussion pages on Wikipedia prevent folks from going through the same conversations over and over again, I could see that being true for some of the decisions about classifying devices that WURFL has to make.
Overall I’m just really happy to see the process opening up, great job Luca and crew!
Promotions, Coupons, and Incentive Programs
Dec 16th
For the same reasons that people tend to think of the mobile as a fantastic advertising medium (always-on, highly personal, uniquely identifiable users, etc) it’s seen as the perfect medium for other forms of marketing as well, such as coupons and incentive programs. So I end up reading about things that the folks in the industry generally tend to term “The Starbucks Example”. It’s the example where a service could somehow figure out you’re near a Starbucks (whether it be location based services or some kind of near field communication system like Bluetooth) and push you a coupon (“RIGHT THEN!”) for 25 cents off your latte. There are a number of variants of the theme, but that’s the overall gist of it. It’s generally accepted as a shorthand way of dismissing a mobile marketing effort: obviously not worked through by anyone who is familiar with either mobile or marketing and destined for a slow and quiet death hardly worth even noticing.
Which is not to say that couponing and incentive programs don’t belong in mobile, just that folks are generally lazy and uninventive when coming up with ways to structure these systems and services. The incentives are just misaligned. The utility of the service really tends to tip toward the provider of the infrastructure necessary to provide the service and the potential advertiser who would want to deliver an incentive program of some kind. The actual end user really gets the short end of the stick. How often do I really want 25 cents off my latte? Is it really worth all the other junk I get in return for it?
In my opinion one of the best examples of an absolutely fantastic promotion and couponing system is the Coinstar Free Coin Counting offer. I hate having things in my pockets, things that jangle even less so. So I always have a cup or bowl around that I throw my change in as soon as I get it, and I never have change with me to use. So, it just piles up like this:
Coinstar has these coin counting kiosks setup all over the place that count your change for you. The way that they make money is to take a percentage of the counted coins for themselves. Simple and straightforward. But do I really want to give a percentage of my money (and it is real money, I have in my hands already) to someone else just to count it? There’s always the errant thought that maybe I will get some of those coin roll things and one day while I’m watching old episodes of Max Headroom I’ll bundle up all that change and take it to the bank. So I didn’t use Coinstar before, but I also didn’t do anything with those coins and they just kept piling up.
But then they started offering an alternative, I could get the full value of my coins back if I would just get it as a gift card instead of cash. And one of the options is to get an Amazon gift card. For me, that’s fantastic. It’s where a large portion of my money goes to begin with. But they’ve been steadily adding backends over time so that you can get your gift card or certificate from a bunch of different providers now if you happen to be one of those weirdos who spends money on websites besides Amazon. Or even worse, spends money in physical stores. They can still take care of you.
In my opinion this is one of the most brilliant examples of promotions and couponing I’ve ever seen. The incentives are aligned all over, the infrastructure provider (Coinstar), incentive program provider (Amazon in my example), and most importantly end user (most important cause in this example it’s me) are all benefiting.
Coinstar saw the problem with getting folks to pour money into their machines and I’m sure thought “Hey, wouldn’t it be great if we could find a way to get people to pour their money in without having to charge them?” Which they’re able to do by directing money down particular paths by using the gift certificates.
Amazon in this case gets to acquire a certain amount of spend on their site by giving up percentage of that spend to acquisition fees. On the larger scale I’m sure they already know that number, how much do they have to spend in marketing for each dollar of spend they generate on the site? If the percentage that Coinstar wants is less than that marketing number it’s a net win for Amazon. They’ve reduced their risk in marketing spend quite significantly, and effectively cut a few steps out of the normal flow.
And as long as Coinstar can operate their kiosks for less than they collect in fees from generating the gift certificates, they’re in a good place.
And for me, the end user, I end up getting to use this money that was sitting around before. I’m encumbered with a minimal amount of effort. And I get to spend the money at a vendor I want. It was my own money to begin with, but because it was stuck in a less useful form I see Coinstar as having done me a real service (which in this case is making my funds digital instead of physical, but we can get more into that point in another post).
I have no idea if the volume of the business is enough to make Coinstar an overall success. Maybe it costs a lot to ship around that much change and do all the accounting. And I see a decent number of their commercials on television, so they’re spending in other areas as well. But as far as structure of the program, I think it’s an awesome way to line up all the participants.
So what’s the equivalent setup for mobile? Where are the incentive programs and promotions that really leave the end user feeling like they’ve gained more than they’ve given, and leaves all the other players in a positive position as well? The “points of interest” style sponsorships in location based services are heading in the right direction. At least they’re not as user hostile as the Starbucks example. But they’re also not as integrated as the Coinstar example. At the end of the Coinstar transaction an end user has a gift certificate for a certain amount in their hand and ready to spend. With points of interest sponsorship it’s still a spray and pray effort to hope that people will notice your location on the map. If I were to wear my marketing hat I might say something like the user is much closer to the goal behavior in the Coinstar example than they are when we display points of interest. All these unique capabilities of mobile should mean that we can structure systems that will end up with users closer to desired behavior without having to be invasive. I’m not sure any of the efforts I’m seeing are doing so however.
Computer History Museum YouTube Channel
Dec 16th
I just saw that there’s a Computer History Museum channel on YouTube, and it includes the Commodore 64 25th Anniversary event from last Monday. I wasn’t able to make it, so awesome to see that it’s online. I spent a lot of time with my C64 back in the day, and have a bunch of those oft mentioned fond memories about the original 8 bit personal computers. I even fire up VICE, my Commodore emulator of choice every once in a while just to fool around. The games were certainly classic, but of course the real appeal for me was programming the thing and poking around in the guts. It had all these interesting ports on the back that were really easy to use to control external gadgets. Once I got to college the CoCo was generally the hardware hackers platform of choice. But I’ve always been a C64 guy at heart.

