Archive for the ‘Open Source’ Category

Mobile Payments Discussion Part 1 - Problem Setup

Saturday, March 1st, 2008

There’s an event called BarCamp Bank coming up in Berkeley in a few weeks. I saw that a few people signed up for the event were already listed as interested in digital cash or mobile payment systems. I figure it’ll be a good chance to gather some folks and discuss what options we have available, and I want to kick the conversation off so that we can get to the real meat of the discussion while we’re there.

The first thing I want to say is that existing mobile payments do not work. I’ve heard it said a number of times that mobile “comes with a built in payment system”, but that’s really a load of shit. Allow me to elaborate.

First of all theres the structure and revenue share of the existing payment infrastructure. In the cases where it’s possible to bill back to the customer bill the functionality is backdoored in frequently through premium SMS messaging. The carrier generally takes a large share of the transaction (I hear numbers like 50 percent here in the US, and I’ve been told it’s even worse in India). And of course the transaction isn’t directly from merchant to carrier to customer. Oh no, of course not. Theres the premium SMS provider in the middle as well also wanting their cut. It’s a hostile environment for merchants with way too much lockin for existing players. The base costs to use these systems are so high, and the overhead so steep, that it really discourages lots of potentially interesting usages.

Second is the off-deck payment systems. Stuff like Google Checkout for mobile, PayPal Mobile, and Obopay. First is of course that there are some user interface or user perception issues around the services. They also assume a credit based economy. No problem in the US and Europe, but a horrible problem in Africa, India, and China. “Who cares about people in China” you say? (particularly if you live in the Bay Area, people around here just love to dismiss the rest of the world) Well, ask anyone who watches construction and commodity markets where they think interesting stuff is happening. I bet those folks are interested in China at the very least. For all the nastiness of carrier billing, at least it handles the cash based economy and prepaid cell plans relatively well.

And finally, say we had a magic system that everyone could use with minimal setup and a great experience, every user had access to it, and every online merchant accepted it. Now you start having to worry about some pretty heavy regulation. There are banking and financial regulations meant to insure the basic level of trust. But recently there are also more regulations meant to curb money laundering and nefarious activities. How many people are familiar with those regulations on a global level? Even if we crack the technical problems and solve the user interface issues and gain user trust there’s still some potential issues with the G-men, whoever those shadowy puppetmasters might be.

So thats what we’re looking at. Tough, but things worth tackling normally are. Next post on this topic is a bit of background on whats been tried in the past and what technologies exist. The hat will be tipped to David Chaum I’m sure, but I need to read up a bit before I’m ready for that.

USB Host on the N810

Friday, February 29th, 2008

Looking at the recent updates on maemo.org I noticed a utility for putting the USB controller into host mode. I had seen Kate’s post about modifying a standard cable or getting a USB On the Go cable to take advantage of host mode. So I didn’t expect it to work when I just hooked up my USB flash drive with the shipped cable and an adapter, but it did:

USB Host Mode on the N810

Here’s a shot of the df output:

4 gig USB drive on N810

Sexy huh? So of course the next thing I was wondering was if my 250 gig travel USB hard drive would work. No dice though. Even with a powered hub. With the native compiler, thats a great little standalone system.

More Public Support for the Abundance Economy

Thursday, February 28th, 2008

It looks like the world at large is starting to take up the challenge of understanding what it means to base an effort around the economics of abundance instead of scarcity. It’s already a pretty common thread with folks who geek out about things like nanotech, but didn’t really seem to be getting wide attention till just the last few days. It’s something I’ve struggled with explaining for a long time. I’ve been working on and with Linux for more than a decade, been running a free event for mobile enthusiasts for almost 4 years, helped out with barcamps and other community events, and most recently started working on a free service aimed at making every web page mobile.

Over the years, every step of the way, there’s always been someone saying “you know, people value something based on how much they pay for it, not how much it’s worth.” Which really sounds like it gets at a core truth, if for no other reason than because everyone seems to say it. But Linux has succeeded despite all the insistence by all the experts that it would never be able to compete “in the real world”, open source in general continues to roll along and gain more and more steam all the time, open community events are becoming more popular and more accepted (especially within tech). I’m hoping that this thread works itself out and that Chris can do for the economics of abundance what he did for the long tail - turn it into such an accepted and obvious model that folks start to laugh about how often it’s mentioned. It would really save me a lot of time in explaining the things I do. So please, read the Wired article, and some of the follow on conversations and earlier posts:

Hopefully they’ll do a better job of explaining why you can’t dismiss free stuff than I’ve been able to.

SMS on Alternate Ports

Thursday, February 28th, 2008

Following up on some of the mobile applications pondering I was doing the other day, I’ve been pointed at and run across some new info about SMS usage. I figured I would post it to share, seeing as how that post pondering if it can be done is currently the number one search result for “sms alternate port”.

First of all, yes you can send to alternate ports through many of the aggregators, though the feature seems to be used so infrequently that it isn’t included in the standard docs and might be a bit obtuse and hard to use. Comments to my last post pointed me at these:

That’s all well and good, but SMS is relatively nasty and expensive and very regionally segmented, hard to use for most folks. But then Dan pointed me at the Betavine APIs. Part of what they do is allow sending SMS, for free. Including application trigger SMS messages, which are SMS messages on alternate ports. Interesting, but I was skeptical to say the least. I’ve been working through some issues trying to use them from the US, but I’ve been told that yes, the API should allow you to send a message anywhere. Yep, anywhere in the world.

They even allow you to register a web mashup and give it it’s own id so that you can send SMS from it. The default bucket of messages is only 100 for a user, and I need to dig a bit more into how that gets refilled and if this would be workable for a real service running at volume. But hell, if nothing else it lowers the barrier to entry for mobile developers. If you’re looking to try out some SMS stuff and want to be able to send arbitrary messages anywhere in the world, check out Betavine.

Microb Browser Extension Testing

Wednesday, February 27th, 2008

After my IUI Maemo Microb hackery the other day I started pondering making the browser lie to say it was an iPhone. More cause I wanted to hack around some with extensions and Microb than because I really find myself using iPhone sites all that often (though I will say that ShifD on the iPhone is way way more pleasing than it is on any other device).

I expected it to be no problem, there’s a Modify Headers extension for Firefox, there’s documentation about how to package an extension, there’s a working set of extensions to start from. Yet still I have failed.

Microb doesn’t support XUL, so I knew I couldn’t rely on the stuff for preferences and additional windows, etc. I just created a version of the plugin that held a static Modify user-agent rule to make the browser emit the same UA as an iPhone example I pulled from my logs. I loaded the xpi into my desktop browser, and sure enough when I restarted it was telling everyone it was as iPhone. W3wt! Used the instructions from the Microb site to package the extension, but there the browser behavior didn’t change. The extension wasn’t listed. I must be doing something wrong says me, how can I test this out?

Fast forward to some time hours later and way way into the wee hours of the morning. I’ve stripped out all the chrome, rewritten the install script, repackaged the browser extra packages to make sure things weren’t funky with my build system, pored over the adblock source, merged modify headers /components directory into adblock to get it to load that way, compared the installed files to my starting files, and attempted installing the extension by hand.

I know a hell of a lot more about Mozilla extensions than I did before, but I can’t help but feel much of it was in vain. Why do all these extensions work no problem on my desktop browser but fail to load on Microb? Is there a way I can get some kind of console or debugging info out of Microb? Should I be running Microb on my desktop when debugging these things? I would love to be able to just hack out Microb extensions on a whim. The way this worked out in my head was actually that I could have a few bits of pieces of stuff I liked to use and I could hack the extensions right on the device. Totally p1mp, I might even have to get a new velvet coat to wear while I do it if I can get it working. But my experience is running very counter to my expectation so far.

Vote N810 for “Handheld of the Year” at Engadget

Monday, February 25th, 2008

I’m going to pick up the handheld of the year thread from TabletBlog and encourage all you N810 fans to go vote N810 at the Engadget awards.

IUI Dev on OS2008

Friday, February 22nd, 2008

I’ve been fooling around a bit with doing IUI dev on and for the N810. IUI is the javascript library behind those cool iPhone web apps. It does a menu style rendering and slides and all that. It actually works quite well on the Microb browser that ships with OS2008. Here’s one of my test pages for instance:

IUI sample page on N810

It renders well on the minefield browser at well, but navigation doesn’t currently work:

IUI sample in minefield

And kick ass, with VIM installed on the N810 hacking on the pages when disconnected even is possible:

Editing the test page

That colorscheme is delek by the way, and I think it works great on the device.

Microb Spellcheck Extension

Wednesday, February 20th, 2008

Some of the comments to my previous posts about Firefox mobile pointed me toward the packaged extensions to the Microb browser, which is the default browser on the N810. One of the extensions is a spellcheck extension that underlines misspelled words right in a text area. Fantastic! Now I can blog from my device without fear of looking like a complete eediot cause I spell worse than a 4th grader. Now if I can just find extensions to correct grammar, poor sentence structure, and boneheaded predictions and market analysis.

Linux Router

Monday, February 18th, 2008

I have a problem with wifi routers. I don’t know why it is, maybe I abuse them too much. But I’ve gone through a few routers over the last year. At AdMob we had the same kinds of problems, wifi routers would just do odd things. They would just stop routing, or slow down to a crawl after a while. This one that I had at home last started “stuttering” when I connected to IM. It would stop routing packets for about 70 seconds when I connected to IM. I verified that I wasn’t crazy by running a ping to an external site from another machine while I connected to IM from this one. Sure enough there were a bunch of dropped packets right when I connected. Why? No idea.

Russ jokes that I have inverse technical ability - the more complex something is the more likely it is that I’ll get it working. And for some reason, the less complex it is, the more likely it is to cause problems for me. So naturally it would seem the right way to solve this simple technical issue of getting a base networking component to just route packets for me would be to make it more complex. So I was going to dig out one of my old Linux systems, put two network cards in it, and configure it as my router.

However, I also noticed that Linksys WRT54GL routers are on sale. The Linksys WRT54G was the router that folks hacked to run Linux, but then Linksys changed the design so that they could run VxWorks instead. The WRT54GL version is the old version, brought back by Linksys cause there was a lot of vocal support for the design from the hackers.

What’s this? A way to run Linux on my router using a platform and distribution system I’ve never even touched before? Well that’s sure to work! I just tried it out today, and it did:

OpenWRT login

Actually took less time to get this router working than it did to get the last commercial router swap working last time I decided to try a new bit of kit. Looks like Russ’s theory might have some legs.

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.