Tom Hume Posts about the Ghost Detector

Tom Hume has a post up about launching an application that was used in combination with a live broadcast in the US. I almost missed it, but Mario and I caught the end of the show. I didn’t have a handset that I could use with the app itself, but we did watch the other bits of the audience participation on the television and pulled up the website. I think the whole set of stuff is really interesting. I happened to have wandered across a program on G4 called Star Trek 2.0 a few months ago, and spent quite a bit of time poking at it. Since then I’ve been paying a lot of attention to audience participation of the sort, watching for what interesting stuff happens.

The Ghost Detector stuff is a fantastic example. Leave alone the question of ghosts and paranormal activity, effectively what they did during the show was build a distributed participatory sensor network spread across the whole United States. Usually when people talk about that there’s a ton of infrastructure cost involved. Setup the right environment and you have people happy to pay you to participate. Fantastic!

Posted in Community, Technology, ThisIsMobility | 1 Comment

iPhone Ads

Some of the iPhone advertisements have been posted for all of us to drool over. Sure, eyecandy eyecandy. How does the device actually work should be the big question right? What’s the battery life like? Will the market tolerate just EDGE in such an expensive device? Will a completely touchscreen based interface work? Those should be the important questions.. but let me remind you of a crappy overpriced little gadget called the RAZR that still sells in mindboggingly huge numbers.

Fear the eyecandy. Respect the eyecandy. Understand the effects of the eyecandy. Admit it, there was some point where your heart skipped a beat and you thought “wow, now that’s awfully cool” before the more logical part of your brain convinced you it was impractical. I’m no expert in consumer behavior, so I can’t tell you which is more important – the skipped heartbeat or the logical analytical side of your brain. But I was sick for a while last week and ended up more exposed to the phenomenon of daytime television than I normally am. Maybe it’s just shellshock, but I’m pretty sure it’s not always logical practicality that drives what people do.

Posted in Technology, ThisIsMobility | 3 Comments

Amp’d Declaring Bankruptcy

Om has a good writeup giving an overview of the Amp’d bankruptcy issues. Aside from the actual info about Amp’d I loved this: “Amp’d had raised $360 million in funding, but in recent days ran into strong headwinds of reality…” That’s a fantastic turn of phrase, and Google shows only three occurrences! I’m going to start the effort to get that entered into the general vernacular. Then instead of having to admit that I was just pulling shit out of my ass when I came up with projections, instead I could say my project ran into some strong reality headwinds.

As far as info out of Amp’d itself I find this very interesting:

As a result of our rapid growth, our back-end infrastructure was unable to keep up with customer demand.

I’ve been having a lot of conversations with some folks who like to say things like “carrier grade” as a way of expressing that things have to scale without significant hurdles and be monitorable so that you can identify and react to potential bottlenecks before they become issues. It’s also a euphemism for “this is going to cost you about 15 times what a sane person would expect it to.” With all the cost built into the system of building a carrier network under that justification, to hear about scaling being an issue one has to wonder just how horribly wrong things have to be going.

Posted in ThisIsMobility | 1 Comment

Mobile AJAX

I was about to be a big ball ‘o negativity, but I managed to stop myself. After not being nice about the whole Foleo thing earlier, I was going to go right off ranting about the whole Mobile AJAX thing, prompted by reading over the Mobile AJAX FAQ. But then I realized that’s wrong, I shouldn’t just rant all the time. Most of the time perhaps, but not all the time. Instead, I took a deep breath, calmed down, and examined why it is exactly that the mere mention of mobile AJAX normally makes the bile rise in my throat.

I don’t want to rail at Ajit and the other folks working on the FAQ, I know they’re trying to do something positive. So instead I’m trying to find a constructive way to contribute to the conversation. Why is it that I think the discussions about mobile AJAX are just too premature? Why do I consider them ‘dangerous’ even?

Way back in the deep dark depths of time I worked on a DHTML and Javascript project in a faraway galaxy called Rochester NY. I honestly don’t remember when it was, but I have to guess probably 1997. Long enough ago that there was a version of a browser that AOL was distributing that was different enough from whatever its original form was that it was considered a distinct browser. And it was important to pay attention to cause almost everyone was still getting online via AOL disks mailed to them. Very much pre-history. I don’t remember any giant lizards roaming around, but there may have been.

What we were working on was evaluating if the company could replace it’s desktop based relatively thin client installed application with the genuine thin client of a browser plus web app. The problem being that they wanted to do some relatively complex stuff for the day. DHTML, relatively heavy javascript processing, and they wanted it to look good and feel slick. We got it put together but it was a real pain to get working. Lots and lots of trial and error debugging, posting to mailing lists and news groups to find out what other tricks people were using, doing server side adaption to work around differences across IE and Netscape, and CSS really didn’t exist at all to speak of so styling was a real pain. The browsers were slow and clunky, it was relatively easy to crash them with simple stuff, IFRAMEs were even a relatively new advance. So DHTML and Javascript to do rich internet applications just left a bad taste in my mouth.

Then a few years ago, people started talking using the browser as a Javascript based thin client again and the hairs raised on the back of my neck. Why was this a good idea now when it was so horribly painful before? What makes DHTML and Javascript workable where it hadn’t been? The answer is maturity and scope of the standards and maturity and (relative) consistency of the browsers that implement them. It’s pretty difficult these days to take out a desktop browser with crappy javascript. The standard browser will cope with tons of junk thrown at it. It might not render anything, but it also won’t normally just disappear on you. You can use CSS to do styling consistently, and when you need to work around browser quirks you can do that within the browser itself.

The whole setup has led to common libraries of javascript that developers can reuse across projects so that not everyone has to deal with all the details at every level of the implementation stack. There are even some honest to goodness debugging tools like firebug to make a developers life easier and shed some light into the dark corners. AJAX on the wired web works cause the browsers are stable and mature enough to be considered a development platform. However ten years ago that wasn’t the case. Trying to build an app inside a browser was like trying to build on quicksand. And every once in a while even the quicksand would just up and disappear on you without warning.

So what’s happening now with mobile browsers? Over the last few years we’re seeing mobile browsers in significant numbers that support XHTML instead of WML, the browsers are starting to grow Javascript support, implementations are coming out based on existing desktop versions, and the network connections are getting fast enough to make a browsing experience pleasant. But even given all that we’re just at the start though. The very very very start. We can’t even get online validators to agree what is and is not valid mobile markup. And yet we think we can leapfrog to where the web is in terms of using the browser as a base platform for richer client development? All I can see that doing is setting us up for a whole bunch of pain and then a whole bunch of disappointment again. Haven’t we done that enough?

But I don’t just want to whine, so I tried to figure out what I could do to help set the framework properly for thinking about how to get us to that point if we decide we do want to be there. The Mobile AJAX FAQ says that most existing web based frameworks are too heavy to use on a mobile device (this should be counted as a warning sign by the way), but I’ve been fooling around with using prototype.js with the Nokia Open Source browser and generally found that the stuff worked. So I decided today to really dig at it and find out if I’m just being a naysayer without justification or if I would find an environment that was as unformed as the one that existed back in the day on the web.

The first thing of note was that the common pattern in AJAX programming of shipping around fragments of HTML instead of JSON if what you want to do is just update some portion of the display causes some issues right off the bat. The problem is with the carrier gateways, who will frequently try to “correct” problems they see like missing but required doctype declarations and elements. That’s really just an annoyance however, you can just always return your snippets with a content-type of text/plain (which is really more technically valid than text/html anyway, cause it’s not an HTML document on its own). Just something to keep an eye out for if you’re playing with this stuff.

Then I managed to do what I knew it should only take a bit of poking to do, I managed to find a nice simple one-liner of Javascript that takes out the browser on my E61:

var str = ‘You survived!!’.replace( new RegExp( ‘xx([\u0001-\uFFFF]*?)xx’ ) );

That’s it, just looks like funked up Unicode handling in regular expressions. But something like that is in the prototype.js library to strip scripts out of inbound HTML fragments. I found a pretty significant bug in an existing browser implementation within about 3 hours of sitting down to try to do so, and it’s a fatal error. Imagine if what I was trying to get done was write an application and not just use an existing library to vet a browser implementation. I would probably be cursing the prototype library for being buggy, and I would be dead wrong. This isn’t a new browser, it’s a port of the existing WebKit code to the Nokia devices. That gives it a leg up in terms of maturity, but it certainly doesn’t account for everything. Here’s a link to my “crash the Nokia OS browser” page by the way if you want to try it out.

If we want all this stuff to work as a whole we really need to figure out how to make it less painful to develop the stuff. As someone who still primarily writes code for a living it still very much pains me to see the visionaries point everyone into what I know is just a meat grinder in terms of what the folks implementing these systems are going to have to deal with. I’m a tremendous fan of the mobile web, so I would love to see this stuff work. But there are a few iterations to go before we can realistically think about using something like AJAX for the average mobile web developer. In the meantime all it does is muddy the waters, causes confusion, and distracts from what the real goal should be – building killer applications that expand use of the mobile web to people who never found it attractive before.

That said, I love the idea that eventually we could end up with a rich mobile web environment that could surpass the wired web, that gives me the warm fuzzies. What do we need?

  • Would someone please finish the standards and get one consistent set of documents that everyone can develop to for mobile web content? Why isn’t this done yet? The wired web is an unorganized mess, the mobile web is ground zero after a nuclear blast. And it seems to be getting worse instead of better. Just when there started to be some unity around the XHTML format itself, now we have SVGt and FlashLite and compound document formats and XML widget descriptions. Any and all of which might save the world at any given moment, and may or may not be available in the next version of any given browser, and one of which will definitely obsolete everything it is that you could possibly be doing right now – we just don’t know which one. STOP IT ALREADY! One damn format, everywhere. Get it working. Get it shipped. Get it in the hands of users. Then lets talk about how to make your location enabled Javascript based widget run both in the browser and on the home screen.
  • If you want to drive faster maturity of your implementations you need to open source the whole thing and let others help you find the holes in your code. The Nokia OS browser I’ve been playing with is based on the Apple WebKit code used in the Safari browser, so this should also be a problem for Safari, right? Not as far as I can tell. There are some mentions of problems with Unicode expressions in WebKit, but that seems to be back around 2005, well before the firmware I have in this device should have gone into development. I assume this is something specific to the Nokia OS implementation.
  • What’s the equivalent to CLDC for Javascript/browsers/DOM? The Java environment specification requires a certain minimum amount of memory available to a Java process so that if a developer keeps under that they know their program will run without issues. As far as I know there’s nothing of the sort for ECMAscript/Javascript, is there? On limited devices like these the minimum application environment specification issue becomes a lot more important than on the desktop.
  • Lets figure out what really drove the web side to consistency and make sure we setup the same situation on the mobile end. There are some fundamentally different environment issues between the two. The internet operates in an open and end-to-end manner so that new servers and new clients can be used without having to change the network in the middle. Is that how the carriers are going to operate their networks when it comes to data services? How about the device manufacturers? What makes them install a heavier and more costly web browser when there are few rich mobile web apps and few users? Or what makes mobile web developers build rich mobile web apps when there are few devices that can access them? I think the Moto RAZR and it’s 8K page limit has proven to all that the mobile web isn’t going to roll on like a juggernaut with no steps backwards. What really locks the value chain in and makes sure that no device manufacturer would dare approach a carrier with a device that had a substandard browser? And makes the carrier care enough to validate the implementations coming in and push back when there are problems? Or what’s going to happen that makes it irrelevant if these things happen because there’s a different driver for the issue?

I spend a decent amount of time talking to independent mobile media property owners trying to evaluate their service evolution and what they can expect in the future. If we don’t get at least some of those questions answered we’re not really doing what we should be doing to grow the mobile web.

Posted in Community, Open Source, ThisIsMobility | 20 Comments

Charles Stross Weighs in on the Foleo

Charles Stross, my new favorite scifi author, has just weighed in on the Palm Foleo. W00t!! I love it when worlds collide like this, things get all plasmic. And you know my dislike for standing on solid ground for too long.

I was going to hold off on commenting about the Foleo. But I’m highly caffeinated and talkative. It’s a Saturday so almost no one will be at work, Mario caught whatever bug it was that knocked me out last week and is asleep on the couch, and Russ is watching Alex today. That’s pretty much everyone I know in the real world… so I’ll use my blog for what God intended them to be used for, wild speculation and useless blathering.

First of all, what do I love about the Foleo? Linux, first and of course. Not just running Linux, but running Linux and meant to be an open platform. Personally I think that gets right to the heart of what makes Palm interesting. When I got my first Palm 1000 I got it for exactly one reason: there was a GCC based toolkit that I could use to build apps for it myself. If I couldn’t make apps for it myself I would not have gotten it. If the tools weren’t open source I wouldn’t have gotten it. If it were some random set of tools outside the established project of GCC I wouldn’t have gotten it.

It was something that was just right about the initial Palm platform. However, it wasn’t also something that I think Palm did intentionally. If I remember correctly there were a few commercial toolkits for the platform, but then someone in the outside community realized that support for the processor instruction set was already in GCC, the architecture just needed to be supported by the tools, add a resource bundler, and kapow! you have an open source toolkit end to end. Even the much revered Palm Emulator started life as an open source project called Copilot. And Palm took over the project only after the original author no longer had time to maintain it.

Whatever the cause I am absolutely convinced that it was the open nature of the platform and the thriving developer base that led to the success of the early Palm devices. They were cheap, but just about anything you wanted to do with one you could find some bit of software to play with. The Palm users have continued to provide a thriving software audience still. Compare percentage wise numbers between Palm users and other smartphone styles. As of last year, the last time I checked on the numbers, the Palm users were still much more likely to have installed a third party application on their phone than any other style of smartphone. I have to assume that the Windows Mobile numbers have really caught up, but I’m sure no one else has.

So I love the open part, love the Linux part. What do I not like? The battery life is too short, it costs too much, its too big, it doesn’t have a touchscreen, and can’t be used in a tablet layout. Even if I completely detach myself from my very geek-centric outlook, I just have a hard time imagining the user for whom this is a good choice.

That being said, there is a void right now in the set of devices available for “information workers”. I think that’s what much of the tablet and UMPC market is going after. The post in which Michael Mace describes the device he would like to see produced, which he calls an info pad, I think really captures a lot of what I think is missing from the current landscape of devices.

When I heard that Palm had released a device meant to be used as a companion to the Treo for more information rich interactions, I assumed they hit something of the kind. Then I read the posts about the device and realized, it’s just a PC. It’s just naming. Somehow marketing got to take over the whole thing, everyone got suckered in, and a random comment that “actually the phone is your primary device, and the PC is just an accessory to that!” that someone popped into some brainstorming session got blown all out of proportion. And we end up with what is effectively a laptop with a new name. However, calling it a Foleo doesn’t change the fact that it’s a PC.

So how about going after the corporate user? Palm has a platform that they’re going to put out, which the Foleo ties into, that enables a Blackberry style ultrakickassemail style experience, but apply that same slickness to other applications as well? Interesting. Very interesting. However, I don’t believe it. It could happen, I’m not saying it won’t. But damn it would be a long shot. Why?

First off, Palm isn’t an infrastructure company. They’ve never done that right when they try to be, and they sure have tried. Second, Linux server developers haven’t managed to make good hookins to existing corporate infrastructure for general Linux PC users. I’m a Linux user at work, I just can’t get anything else really setup comfortably to do dev work on. I have a Mac laptop, but my main machine is Linux. We have an Exchange server at the office and the thing is the bane of my fucking existence! It works with nothing, the IMAP support is buggy, no one seems to know how I can do calendaring from anything except Exchange, I can’t even get ical feeds out of the thing, the web access functions only really work from IE, there are some Evolution plugins that do the job but are buggy (or not open source, which in my book counts as buggy by default). I have no idea how this piece of junk is the “enterprise standard” for workgroup applications. I wish I had had the time back in those days when it got installed to fight against it and get Spikesource involved. However now I’m stuck with it, we’re stuck with it, and although it makes some peoples lives easier, I would like to chuck the thing out the window.

This is life on the corporate network, and we’re a startup company even! I can only imagine it’s worse at bigger companies, which is what I have to assume Palm would be going after if they’re going after the sweet corporate meat. Do they have the jujitsu required to get whatever they’re doing installed instead of the current “industry standard” solutions? Or are they going to compete with Microsoft and Blackberry head to head? And with Microsoft it’s competing for the mobile extension to a platform they already own, and given the direction of Windows Mobile are obviously not interested in handing over to someone else.

No, I think the Foleo is just a laptop, and the magic platform that Palm is supposedly cooking up to solve the corporate woes is just bunk. Wrong market, wrong time, wrong device. Next!

Posted in Open Source, Technology, ThisIsMobility | 2 Comments

Growing and Managing Off-Portal Communities

Just happened across some notes from Dave Harper’s talk at MobileCampNYC, some great stuff in there:

If it doesn’t work on 1 billion phones, don’t bother with it. No rich media experience, all through the browser.

RSS is an easy transport mechanism for a shared experience, not just for personal feed reading. Start with some content via RSS and add community and sharing.

Next version of Winksite is already built on major standards: MobileOK, dotMobi Ready Report happy, generates mobile sitemaps automatically.

The broadband world doesn’t have a grasp of how much activity there is in the mobile world. Realigning around helping the wired world discover whats out there in the mobile world.

At Winksite playing the role of introducing the online world to the mobile world led to problems, social problems as well as general web problems. People causing trouble in chat rooms, harassing each other.

Winksite didn’t want to be big brother, but by providing the introductory service it forced them into that role. The “report abuse” link is being used by people to report physical and sexual abuse, not just abuse of the service.

Posted in ThisIsMobility | 2 Comments

Working Around Banking for Mobile Payments

I love it when stuff like this happens, apparently folks in Africa are working around a lack of support from banks to create mobile payment systems based on trading minutes of airtime. Fantastic! A few more insights like this and they’ll have their mobile business models well lubricated enough that they should be able to rocket by us in terms of innovation. I’m hoping that something of the sort would prove to be enough of a smack in the face to get things really kicked up here in the “developed world”. If not, I could just move to Africa. I’ll have to get a pith helmet so that I’ll be ready, just in case.

Posted in ThisIsMobility | Leave a comment

Mobile Web Server

Juka Pusa – Nokia

advantages – personal, interactive, context dependent. Web servers just need a little love.

technology – S60 3rd edition devices, python, mod_python, apache, http

mobile device. get your own domain name when you register.

differences between Raccoon and MWS – MWS is divided open and closed, original content source code is not available, but there are example python content applicatinos that can be used as a basis for new apps.

This is the first time theyre taking about it in public, not available yet. It will be at mymobilesite.net

key features – every website has its own domain, MWS settings managed in the UI, appearance of site defined through browser, gateway can block unwanted visitors, access identities are based on contacts, you can give user accounts and groups access to your web applications, when your site is unreachable a message is shown to the visitor, you can edit the message in the MWS settings.

MWS applications – welcome page, blog, gallery to share images, camera to send live images, guestbook, messaging to allow people to send you messages, calendar, send SMS from the web using your device as sender, phone log, contacts.

demo.mymobilesite.net is up whenever Juka isn’t on a plane.

Decided to go with a mixed open and closed model so that it could be made a little more consumer friendly, secure, operationally friendly.

Posted in MobileCampNYC | 5 Comments

Google – Freedom with Speech

1-800-goog-411

What kind of successful speech applications are out there. TellMe, Asterisk.

Speech interfaces not representing the low end. Letting people self service. TellMe is priced up too high. If Google wants to do something they should offer a low cost per minute service, pre-paid. SIP based for example.

Voice application gadgets, drag and drop the same way that the google homepage is. For instance voice search of NYC restaurants.

Rich brought up the point of initiation time. Push to talk for voice services. Better to call a friend. (But Google is your friend!). Asynchronous. Voice is cool, but better to not happen over the phone. Different transport. TellMe CEO has a call open all the time, like a conf call to a session on all the time. Wildfire? I haven’t seen that, could be worth checking out.

goog-411 uses VoiceXML.

Noise is a big problem, not a big problem. There doesn’t seem to be an agreement about that.

Mention of multimodal, voice and web, simultaneous.

Amount of voice presence huge, sms big, data not really there. Even with all the installs that google has gotten for its apps, the numbers aren’t significant.

what you need – VUI (voice UI, VoiceXML), Grammars (top movies, neighborhoods), community.

IMS (IP Multimedia System)? not there might never be there. complicated and ambitious. No real deployments yet.

What is the equivalent of text advertising in voice applications? Sponsored listings?

translation service. call something and say “ask this guy where the nearest restroom is in chinese”, and then pass the phone to him.

Private acoustic models, especially for people with accents.

machine learning, be able to correct the system and have it learn from that.

pick up stress level, emotion, feelings. So that you can pick up some additional context. That’s one already that acts as a lie detector.

Posted in MobileCampNYC, ThisIsMobility | Leave a comment

Notes for MCNYC

I got together some notes about traffic growth techniques while I was on the plane.

Posted in ThisIsMobility | 1 Comment