Archive for December, 2006

Going to 3GSM This Year

I’m going to be going to 3GSM this year in an official capacity for AdMob. Which means I get to hit the MoMo event on Monday too, w00t! I’m sure the schedule is going to be pretty packed by the time we make it out there, but I would like to take at least one or two evenings to meet up with folks who don’t normally make it to the states (or the Bay Area in particular, since I tend to be pretty sedentary these days). Particularly from other Mobile Monday chapters, I would love to find out some more what’s going on out in that wild wild world outside the US. Ping me if you’re going to be out there and would like to meet up.

Greenphone – shipped, snagged, installed, compiled, w3wt!

My Greenphone came this morning. I hid it from myself during the day so that actual work would get done. But once I got home this evening I decided that I would get an app compiled myself installed on this thing before the end of the night. While not quite as slick as the SDK layout for the Nokia 770, the Greenphone SDK (and the device itself) definitely seems like it’s very well setup for developers. The ISO image containing the SDK is actually a VMware images containing a configured Debian desktop system all setup for doing emulated or native compiles. Looks like this running:

Greenphone SDK under Linux

So what if you already have a Debian desktop and just want to grab the tools? That I’m not sure about. I did the install for this on my Ubuntu system actually, and far and away the hardest part was getting VMware installed and working. There were a few other very minor issues: For some reason one of the files that the installer tried to copy failed. Could be just dodgy media for my burn of the SDK. And the install.sh script living on an ISO image from which you’re supposed to run isn’t a fantastic idea in the day of default noexec iso9660 mounts. Those are just nits though.

The setup once the SDK is up and running looks great. There’s a ton of connectivity options, USB networking, media card, the tools that package an app will also install. Simple operation. Sweet:

App installed on Greenphone

Still a lot more to do, but it’s going to have to be an adventure for another day. I would love to be able to swap over to this as my primary phone in a bit. I’m really digging the touchscreen, small fonts, camera. Yum.

Greenphone Ordered!!!

At 12:28pm PST I received an email from Sue at Trolltech informing me that the Greephone is now available for general order. It is now 12:38pm and I have the receipt sitting in my inbox. W00t!! Now begins the appropriate planning to get this thing running some Ruby.

v3 Firmware for E61

I installed the v3 firmware for me E61 using the self-service updater. The hardest part of the update was getting the Windows machine to actually get back onto my wifi network after a reboot, would be great if they could use something like the Linux based 770 firmware updater for these things as well.

The UI feels a little less sluggish, but I certainly wouldn’t call it snappy. SMS sending feels just about the same. Hitting the record button on the side definitely doesn’t start recording right off though. YAY! That was a tremendous pain, cause you would accidentally start a recording, and when you go to delete it the app would say it was open (cause you’re in the recorder, duh). So you would have to exit out of the recorder, go searching for the gallery app so you could delete it, which of course you never use the gallery app cause the device has no camera.

I tried out the native email app, again. It just disconnects when I put it in the background, again. I started up my IMAP mailbox and put the phone in my pocket when I left my place. When I got to work and went to check on my messages the messenger app wasn’t up and I had to reconnect it to the mailbox. The same thing happened here at work as I was resetting my Putty options. The messenger app still gets an D overall. It works for some small set of stuff you would want to do. It does those things slowly. And generally doesn’t work for a large swath of practical use cases that should lie inline with the supposed enterprise focus of the device.

The Nokia Open Source browser seems to be pretty much the same version as before. I had heard that at some point the OS browser would start dealing with WML and passing a UA-Prof header like the Services browser, but that doesn’t seem to be the case yet:

mike@www:~$ nc -l -p 8080
GET / HTTP/1.1
Host: madgat.com:8080
Accept: text/html, application/xhtml+xml, text/css, text/vnd.nokia.rs-tgd, */*, text/x-hdml, image/mng, image/x-mng, video/mng, video/x-mng, image/bmp, text/html
Accept-Charset: iso-8859-1, utf-8; q=0.7, *; q=0.7,*
Accept-Encoding: deflate, gzip
Accept-Language: en;q=1.0,es;q=0.5
User-Agent: Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es61 UP.Link/6.3.0.0.0
x-up-subno: SWC_1164934299401_6444_1680434716_vmag.mycingular.net
Via: 1.1 alpmagr1fe09-dmz.mycingular.net

The wifi does seem to be a bit more responsive, but it’ll take some testing to be sure on that one. Sometimes connecting to a network would take forever with the old firmware, but this one has gone pretty quick so far. Granted, every test I’ve run so far I’ve been sitting about 3 feet away from the AP that I’m using, so some more extensive probing is required.

Hopefully it would spuriously reboot when it can’t connect either, that was always a real gem. “Yea, it’s got wifi on it! Check this out!” . . . reboot . . . “Sorry about that, here goes, must have just had the wifi driver in a bad state.” . . . reboot . . . “Yea, still some kinks to work out, but it really is a good phone. Seriously. Of course I’m not laughing, it really is a good phone. Yes I see the irony, I just don’t think it’s laugh worthy.”

Motorola Open Source

I was going to leave Andrea a comment on his post about Motorola open source, but Blogger comments seem to be screwy at the moment. I’ve spoken to a few people from Motorola and I have to admit that honestly I have no idea what’s going on there. I keep getting told that I can’t yet built Linux native apps for these phones, though that might be incorrect. So that’s my answer to why I’m looking at the Greenphone so far, I know that I can write native apps and do what I want. I’m not so sure with the Moto stuff. Anyone tried it?

Personal Location Based Communications

I’ve been skimming through a few of the presentations from Nokia World and taking a look at the MEX manifesto and thinking about some of the themes that came out of the >play conference. Location based services and advertising keep coming up, I commented about that in my initial post after the conference. I’m still feeling a disconnect though, the loop just hasn’t been closed on this one. I think there’s some fantastic potential there, but there are big gaping holes in what needs to be done.

I’m definitely a huge fan of the whole personal communications aspect of mobile. Sure the handset can be just another “pipe to the consumer” that content gets shoved down, but that would suck. It’s a personal portable communications mechanism that should allow me to connect with who/what I care about the most, not just consume. I’m sold on that part, top to bottom. What I haven’t figured out yet is the location based services part of that, and the impact on advertising in particular.

The problem with the location based stuff is that almost everything is invasive to a degree, and for the most part to a pretty great degree. The kinds of location based services that are personal and community focused should be the most valuable if we assume that the personal communications aspects trump the consumption aspects. The Loopt friend finder application is an excellent example of a positive personal communications focused LBS. People keep insisting that this is a great avenue for local advertising, but I’m not feeling it yet. I would like to be, so help me out.

The problems I see:

  • No one who uses the app actually wants information about the 300 Starbucks locations within 20 feet of their current location cluttering up the map of their friends. Try it out, snag a teenager in some major metro area and ask them how they use their phone. Seriously, just stop someone with a skateboard and talk to them. They don’t give a shit about businesses in the area. But then ask them if they have any photos and videos on their phone and how they’re sharing them, sometimes you’ll find out they have relatively complex adhoc networks and publishing mechanisms that aren’t being serviced by any current offering unless you really twist on MySpace to make it work for you. It’s not that they don’t care, they just don’t care about what you have to offer.
  • In order for that location based information to be “relevant and contextual” (MEX principle #3) it pretty much needs to be profile or recommendation based. Both of which are problematic in the extreme. I’m not saying that they can’t be solved, I just don’t see the necessary solutions coming up yet. Are they out there? Is there someone building an open and sharable community focused platform for mobile recommendations and preferences? I would love to chat with them.
  • Mobile publishing is still a major stumbling block. It would be great to introduce people to venues uniquely suited to their personal preferences in their local area, but does that quirky mom and pop breakfast shop down the street have something up online in mobile format that is going to convince the user to wander down and check them out? Usually not. We’re going to have to rely on user generated content for this stuff also. I think stuff like Plazes is driving this in the right direction. But how long has that been going on for, and it doesn’t seem like it’s really hit critical mass yet. Even in Palo Alto, which outside of SF itself tends to be one of the highest density tech communities I’ve found. And their info is really tied to wifi hotspots and not true geolocation info (argue all you want, you know I’m right).
  • Location based advertising requires the advertiser to work in a way that’s very significantly outside of their experience. Their campaigns simply aren’t structured in terms of “sending 2000 coupons to people within 4 blocks of Union Square”. If they don’t have a way to measure it and fold it into their other metrics it’s a useless feature to them. It takes time for models like this to work themselves out. And so far I haven’t been hearing the advertisers talk much about location based advertising. Actually what I keep hearing again and again is that dealing with the advertising agencies that control big budgets in advertising requires that you conform to the models they already understand and gradually shift things in the direction you want. There’s a lot of momentum to overcome in the trillion dollar advertising industry. I think it’s worth doing, otherwise I wouldn’t be working on mobile advertising. But a technology focused solution isn’t the answer, no one is going to pay attention. You need to figure out how to make people with money for advertising give it to you. The technology itself is the easy part. But people with the technology stand up and declare the problem already solved. That’s disconcerting to me, and indicative of a pretty major disjoin between the technology providers and the market (not that this particular situation is anything new to mobile). Something like this needs to be bottom up, and the bottom is where the smallest margins and most work are. Yet LBS is seen as a “premium” that can be charged at astronomical rates, and that just sets the bar too high for advertising supported services.
  • People familiar with online advertising, and user generated content in particular, know that you make advertising money from Google and YPN not based on your persistent users but based on search traffic. Someone searches on Google for an answer, clicks on the search result linking to some comment to one of your blog posts, doesn’t find what they want there, and leaves via an advertisement. Your persistent readers aren’t a great source of advertising revenue, they’re a great source of content. Let them communicate without interruption and maybe you get to use that content to make some money off of. It’s not clear to me how that maps to mobile and LBS. The key online is that context can be inferred based on the reverse of the index used for searches, but there is no equivalent for the essential location metadata. How do you make that system self-regulating?

There seems to be more and more geolocation/LBS stuff going on all the time, I know you folks are out there, definitely weigh in on this one.

Greenphone Availability Rumours Greatly Exaggerated

I got a response back from Trolltech a little while ago. I had heard that orders were being taken for the Greenphone now. Turns out the Professional edition is available for order now, but others will be sold online (supposedly in about a week, we’ll see). The professional edition tips the scales at $5,645. Almost five thousand dollars more than the open source developer edition. I’m a fan, definitely, but not that much of a fan. Guess I’ll have to punt on it for now and answer the cattle call later on. Wonder how quickly they’ll run through their initial run of hardware? I’m betting they’ll go really fast. Would be cool if the emulation environment was available to the public so I could at least poke at it. Wouldn’t that be cool?

I Want My Communications Implants Already Damnit

I’ve been playing around some with the way I send notifications to myself and how I respond to them and get more info. What I would really like is a constantly running connection to the network streaming me updates, but I have SMS, IM, and email notifications for now. I’ve been fooling around with different ways of getting follow on info. I was trying to embed an URL in the messages that went out, but particularly for SMS that was pretty cumbersome. So now I’m playing around with just putting a short ID into the event that comes to me and using that to link back to more info.

So when an email comes in it should have an id at the start that I can use to get more info. Like I get a message that says “3829 from: dbbackup@admob 6532347 archived (W)”. The W at the end should mean that there’s a warning to go along with it. How do I grab that info though? MGtalk does pretty well with allowing me to cut inbound messages out of it. So I’m playing around with sending the ID back to an IM bot to get more info. Like sending “@3829 b” would give me the full body of the message, and “@3829 u” would give me an URL for the message that I could snag and forward along or use to generate a response.

I’m still working on just pulling everything together at this point and getting it flowing through the system right, so this is just speculation at this point. I also would like to make sure that running this on my server doesn’t become an issue either. If my server is down or my filters are buggy I need to have backup systems in place. It would rock to be able to have my handset integrate the messages, giving me the version that came from my server in preference to the one from outside, and merging them together so I only have to look at each event once. Maybe once I get my Greenphone…. which Trolltech still hasn’t contacted me about. Was Benoit just spouting off saying that they would be shipping soon? Are they really as behind as the interweb says they are, and Benoit was just covering up? Maybe Norway is just frozen solid this time of year, and they’ll give me a call when the phone thaws out?

Greenphone. Gimme gimme gimme gimme.

I went to the Homebrew Mobile Phone club meeting last night (I would put a pointer up, but their site seems to be down, which has already resulted in more email than I can handle right now… but trust me, there is a group, it does still exist, and I was there last night). One of the presentations was from Benoit Schillings from TrollTech talking about the Greenphone, a phone built using the Linux operating system and the Qtopia application platform. In a few previous lives I did a lot of Linux embedded systems kernel hackery, so I’ve been drooling over the chance to get my sweaty mitts on one of these things to play with.

Looks like they should be shipping soon, and Trolltech is taking orders from developers, open to the public. Just pay the $700 dollars and you get your phone. $700 for an open source phone!! Apparently people are complaining about the price. Insane. It costs a lot to make some phone hardware that actually works and get it running Linux. This is rev 1, of course it costs. I’ll happily pay the money to get me a real honest to goodness open phone. Still waiting for someone from Trolltech to get back to me so I can put my order through. I was going to try to mug Benoit in the parking lot. But he looked pretty spry and energetic, so I decided to just purchase one instead.

So how open is the open phone? You get the source code to everything. Every little bit. Kernel included, and you can download your own to play around with using the included SDK setup. EVERYTHING! I got dizzy when he said that, it’s too good to be true. So of course I need to check it out.

Blog Comment Spambot Problem

Over the past few days the Apache server on my personal server has konked out a few times. Normally I’m in the middle of something else, annoyed, and running mostly on caffeine and willpower. So I just kick it over, restart it, and call it finished. But today it was hung again and I decided to bite the bullet and figure out what was up. After a couple of “how the hell did you find that out” kind of questions I figured I would post this for posterity.

It looks like the problem is that spambots are posting to the server and then keeping connections open forever (or at least for a long time). So how do you figure out something like that? Apache2 has a server status interface that it publishes via HTTP, but it’s turned off in most of the default configurations I’ve seen. You’ll probably have something like the following somwhere in your apache2.conf:

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

I add “ExtendedStatus On” below that section so that I get a detailed list of requests in the output as well. The page can only be loaded from localhost, which means I have to setup an SSH tunnel from my desktop in order to hit it.

Once you have that you setup you’ll be able to see what pages a request is hitting, how long it’s been going for (the “SS” column in the status table) and what IP it’s coming from. Then it’s just a simple “iptables -I INPUT -s $ip -j DROP” and that ip effectively no longer exists as far as you’re concerned. As long as you don’t mind dropping chunks of the Internet out of existence as far as your server is concerned in order to keep your web server up (turns out I’m fine with it) everything should be peachy. Sure I could also change the Apache config to not allow that behavior, but when my own poorly written junk needs to hold a connection to the server open for 5 minutes I would have problems myself. See, that’s what us in the biz call “engineering” right there.

Here’s the list of IPs I’ve banned so far cause they were hitting my comment form too agressively:

  • 213.240.225.101
  • 80.231.205.88
  • 82.137.247.132
  • 209.88.89.183
  • 61.220.150.2
  • 212.138.64.172
  • 148.233.159.24
  • 222.124.11.218
  • 68.110.103.157
  • 148.233.229.235
  • 193.233.82.10
  • 217.153.32.42
  • 213.182.158.167
  • 85.13.112.53
  • 212.138.64.178
  • 200.68.62.164
  • 210.102.99.71
  • 200.105.208.66
  • 195.137.188.92
  • 66.194.196.7
  • 148.233.159.57
  • 200.148.246.180
  • 80.34.213.167
  • 210.245.33.36
  • 64.181.43.7
  • 82.137.247.131
  • 201.17.197.43
  • 203.154.224.16
  • 193.226.105.151
  • 200.96.206.30
  • 148.233.229.236
  • 66.110.119.170
  • 218.26.14.194
  • 200.88.125.9
  • 81.183.209.6
  • 200.80.130.60
  • 200.43.196.131
  • 148.233.159.58
  • 200.65.127.163
  • 203.147.0.48
  • 200.129.163.7
  • 213.251.177.115
  • 69.79.152.26
  • 200.215.32.10