Mike Rowehl: This is Mobility
Ripping mobility from the clutches of telecom
Ripping mobility from the clutches of telecom
Oct 20th
I had heard that there was a great presentation floating around by Steve Yegge about dynamic languages, virtual machines, and optimization. And I forget what got it in front of me, but yesterday I hit the transcript of the talk, definitely recommended reading even though it seems really long.
Stuff that I particularly liked was the talk about JIT optimization techniques (polymorphic inline caches, trace trees. Fantastic! Wish I had more time to keep up on stuff like that), introducing a new (unknown) language, and his commentary about systems optimization and local vs global optimization. I loved this:
Small systems are not only easier to optimize, they’re possible to optimize. And I mean globally optimize.
So when we talk about performance, it’s all crap. The most important thing is that you have a small system. And then the performance will just fall out of it naturally.
Loved it so much I’m considering developing a tattoo design around it. I’ve seen some horrid atrocities committed in the name of optimization, and then seen those systems fail outright at what they were supposed to be doing.
Definitely worth the time to read through. Even if you’re too ADD to read it, at least skim.
Oct 15th
The topics and schedule are now posted for the 2008 Mobile 2.0 event in San Francisco. We’ve separated out a “Builder Track” in the afternoon with presentations more suited to engineering/technical/design folks, and have an all day long Business track covering topics that should be of interest no matter what role you play. I think it’s still the best value you can find for a day long conference. Online registration is open, hope to see you there!
Oct 10th
I hadn’t posted for a while, and then when I tried to found that my WordPress admin interface was all screwy. Probably something I did, but I’m not sure what. And it’s languished for a few weeks while I was trying to find a few minutes to debug it. Finally I just gave in and installed the new version of WordPress over what I had and let it do it’s upgrade magic. Kapow! Admin interface alive again.
What I was originally going to post was that there was a Mobile Monday last Monday (kinda late for that now). But instead I can post a pointer to the presentation that Nikunj from Oracle gave about AtomDB. One of the striking things about what they’re working on is that it’s from some folks who actually deeply understand both mobile and web technologies.
Example: Check out the mention of ACID vs. BASE models of distributed application development. Read the ACM Queue article about BASE. The CAP (Consistency/Available/Partition Tolerance) Theorem is something I bring up frequently in discussions. If you find areas where you can relax consistency constraints you can make a system work at a much higher volume and generally a lot faster. I love finding areas where I can do that in putting something together, always feels like a magic trick when you get it right.
Interesting that this general scaling principle from loosely coupled web applications translates pretty directly to intermittently connected mobile applications as well. There’s lots of good nuggets in there, great presentation from Nikunj!
There should be a binary form of the Windows Mobile version of the AtomDB work up on the feed technology site some time soon. They’re working on being able to get the source code out there as well, but apparently that might be a bit longer in coming. Unfortunate, cause I would love to have something of the sort for my N810. Generally they’re looking for feedback about the technique, discussion of development models and APIs, and to try get a community going around web programming for mobile devices. There should be more info and downloads up on the site soon. In the meantime ping them if you’re interested in the work.
Aug 21st
I just marked a few thousand items in my feed reader as read without looking at them, and pulled a few messages from the hundreds in my inbox and deleted the rest. Just too much to do. Sorry if I didn’t get to something you sent me. I hate to let things drop, always makes me feel bad.
Jul 21st
Gregory and Matt invited me to participate in a developer focused pre-event session on Thursday right before MobileBeat 2008 kicks off. The session is going to focus on the evolution of mobile operating systems and services platforms.
It should be interesting, cause in general I think the services platforms are a load of junk, and mobile operating systems are generally moving in the right direction. The services platforms are fundamentally mismanaged and misaligned efforts to try to replicate the success of user generated content from the web and apply it to application development for mobile platforms. Generally they seem to be shiny trinkets to dangle in front of business folks to make them salivate over addressable audiences, but I know of very few successes running on top of any of these platforms.
Compared to say something like GetJar, on which I’ve heard good feedback from both existing businesses and entrepreneurs looking to bootstrap distribution. The iTunes App Store could be the counter example, but I think it’s too early to know for sure. Too bad the iPhone as an overall platform isn’t one that I would pick out as a real boon for developers, generally closed off as it is. Still, everyone seems to fail their saving throw vs. shiny when an iPhone shows up, so they could have at least a sustainable success going there.
Should be a great discussion. If you want to attend make sure to contact Jacob as described in the post. Even if you have a ticket for MobileBeat, this is a different deal. The folks at MobileBeat need to know how many folks are going to drag themselves out of bed for a 9:30am session. This is a developer focused session after all, that’s like 6:30 in the morning in real-people time. Hope to see you there!
Jul 10th
We had some great discussions at the metrics and analytics focused Mobile Monday earlier this week. The turnout was fantastic:
We had a much more representation on the business side of the house, I think mostly due to the help in promoting the event by VentureBeat (who also helped to organize the evening, thanks folks!).
The discussion around understanding the overall market layout and how people are using their phones tilted in the direction that people want to use the same sites and services on their handset as they use on their desktop. A very PC-centric view of the world, but there’s some weight behind the argument that it’s the way to drive adaption anyway so I just let it roll. Folks of course want versions of those sites that respect the restrictions and allow the optimizations enabled by being mobile. But at core people are doing the same things with their handset browsers as they do with their desktop systems – they’re searching a lot, they’re using social networks, they’re checking financial and sports updates, etc.
So my question was are there any holes in the usage patterns? If people are tending to do the same things mobile as they do desktop, what are the places where there isn’t an equivalent amount of mobile activity for a corresponding slice of desktop usage. And the main answer there was commerce. People aren’t buying things with their handset the same way they buy things from their desktop. Mobile payments and commerce is a topic I’ve been paying attention to for a while.
It’s an interesting area, cause the folks selling ringtones and wallpapers are doing it. That area has been a major cash cow for a while. So because there’s a counter-example most folks don’t see there being a “lack of mobile commerce”. What I’m talking about however is off-deck sites, and for the most part they have a lot of trouble completing a transaction. If something doesn’t happen to allow sites to sell “stuff” (whatever that stuff might be) in a more streamlined and self-service way there’s a large chunk of the ecosystem missing, and it needs to get filled in if mobile as a whole is going to keep progressing the way we want it to.
Jul 3rd
There’s a thread at Internet Tablet Talk with amazingly simple instructions. I was up and running in just a few minutes:
Wifi networking worked, as long as you were already associated with access point under Maemo before you run the launcher to start up Android:
It is kinda sluggish on this hardware, there are some keyboard quirks, and I’ve had a few different apps (including the apps launcher app) crash away for seemingly no reason. But it’s a fantastic first effort, amazing they got it working at all. Kudos to the whole team!
Jul 1st
Posted the meeting details for the July Silicon Valley Mobile Monday this morning:
Hope to see you there!
Jul 1st
The news is out and public now that I’ve joined Skyfire in full. I’ve had to dance around the subject for a while. Luckily I was already doing some consulting with them before I joined, so I was able to hide behind that (sorry to the folks who asked me nice simple direct questions and got convoluted answers back). We wanted to make something of a PR push around me coming on board. I just started to get the point of doing PR around hiring this past winter, when I began recognizing some of the names in the releases and realizing I thought about the companies differently after I knew some of the folks there. In the case of Skyfire however we have another goal, we need people. Engineers in particular.
My official title is Scalability Architect, but my cards say Deliverator:
Both are very accurate. We’re standing at the intersection of a bunch of tough problems both within mobile and in the context of building large online systems in general. We have the normal challenges of building and delivering a native application for multiple mobile platforms, running and scaling an internet service meant to be used by large numbers of users concurrently, accommodating partnerships and other specialized business deals, and developing our own content meant for mobile devices.
As if that wasn’t enough, we’ve also got to figure it out in a way that’s best for the existing mobile set of services as well. We don’t want to steamroller all of the efforts that are out there already to provide customized content to mobile devices. However that system has always been very difficult to navigate. It’s a relatively fragile mix of technologies and standards based as much on heuristics and best practices as on any cohesive standard or platform. Even if you figure out how to make things work technically there’s no unified set of expectations from the user point of view. Look at some of the discussions around Opera Mini for example. Sites that have both mobile and desktop versions can go either way on Opera Mini. If they deliver the desktop version there’s always something screaming that it’s stupid to give the full desktop version when there’s a mobile optimized alternative. If they deliver the mobile version there’s always someone screaming that “of course they want the desktop version, that’s why they use Opera Mini.” Frustrating and confusing, but we’re also working to find a way to navigate those dangerous waters.
So if that’s the kind of stuff that tickles your fancy, or if you love the hard problems that go along with implementing systems that are meant to handle hundreds of thousands of active users and tens of millions of requests a day, or if you’re into how to design mobile optimized content in rich functionality browsers – check out the positions we have open and let us know if there’s something that pushes your buttons. We’ve got a great team working on a fantastic product, and it’s certainly the right time to hop on board if you love hitting things at the early stages.
Jun 30th
I don’t really have time to write anything proper, but I just wanted to weigh in quick on the whole Nokia-buying-Symbian-and-open-sourcing-it discussion. It’s stupid, Nokia should have gone with the Maemo platform as the future. Here’s why: