Nov 12

Happy Birthday to Android and devphone.com

Android, Google, Java, Mobile, Open Source, Tech, iPhone 3 Comments »

devphone launch

Congratulations to Bob, Cedric, Romain, and the many many engineers that worked on Android.

Today the Android SDK was released, and along with it a raft of video content and documentation.

For all intents and purposes for developers Android == the SDK right now (until killer phones ship in short order). The development experience for Java programmers will be a dream, and I really like the architecture. They have really learned that declarative markup for UI is a Good Thing &tm;.

If you want to get a high level look at what this is about, I would start off by seeing what the phone can do:

Then, if you want to write some code, start by watching Dan build a simple application on Android and then delve deep into the Androidology that shows you the full architecture. Learn what .dex files are. See how cool Intents are. Check out the markup.

devphone.com: phones are decent now

I am really excited to see the bar being pushed by Apple, Google, and other players out there. You know that when the iPhone came out, Nokia had a lot of meetings and engineers got a better budget for doing innovative processes on their phones. With Android pushing the bar too, in a different way, I think that we can safely say that the phone that we hold in a year or two is going to be amazing.

I am quite astounded at how little Emily uses her laptop since she got an iPhone (apart from Scrabulous. She uses her laptop for her scrabble addiction.). You can see the future today by visiting Europe and Asia. Ben and I were so excited about this, that we went looking for a community to rally this excitement, kinda like Ajaxian for mobile. We were surprised that we couldn’t find it. It seems like most developers hang out in the forums and such of the various platforms. Since we are interested in development that transcends one implementation, we decided to start devphone as a place to throw all of the ideas into. It just launched and is very raw, so who knows what will come of it. Check out our welcome, an interview with Joe Hewitt, and subscribe to the feed

Nov 05

Android: The GPhone is a Robot, and it isn’t a phone

Google, Mobile, Open Source, Tech with tags: , , , , No Comments »

One of the fascinating effects of working for a company that so many love to keep a look on is that you get to be on the inside watching the thoughts of “analysts”, press, and random folk.

Watching the speculation around the “GPhone” has been fun. I particularly loved it when people would come up with suggestions such as:

  • “The GPhone will read ads into your ear before each call”
  • “The GPhone will have scrolling ads through the screen”

Riiiiight. That would go down really well wouldn’t it! I love how some think that Google has to literally put ads everywhere to make it worthwhile. Google needs the web to keep expanding and to have more people on more devices on it. If that happens, Google will do well.

Android

So there isn’t a GPhone, but instead there is the Open Handset Alliance, or Android (for a more fun name), which is an Apache licensed open source stack for mobile. No more walled garden. This is pretty huge. I can’t wait for the SDK to get out in the open on November 12th. I wish we could have gotten more information out there today to be honest. There are a bunch of usual suspects that people who read my blog also read that are a major part of this, so I am really happy for them that this is getting out in the open!

What I am looking forward to

The applications of course. Smart location-aware services will be fun, but what I really wish I could get is for a mobile digital wallet so I don’t have to use cash/credit cards. I want to use my phone for this just as they are able to do in parts of Europe and Asia. With an open platform that anyone can build applications for, I know it is going to happen.

Here is the fluffy look at Android, but for developers, please think about what apps you would like to see on a phone, and come back on November 12th for the real announcement that we care about… the SDK itself so you can see what you can do!

Jan 09

Two button iPhone in the works

Apple, Mobile, Tech 66 Comments »

How long until Billy G comes out with a 2 button iPhone? :)

  • I have wanted a phone that is basically all screen forever. They did it
  • Running OS X (Cocoa developer rejoice)
  • Will Flash/Apollo run on that bad boy soon?
  • How many iPods will be on eBay today?
  • I would hate to be in the room w/ Bill G watching this. Nice try Zune :)
Apr 18

Using a Mobile for Travel

Mobile, Travel 2 Comments »

As I went through the lovely process of international travel last weekend, I found myself thinking about how technology could potentially help out in a few areas.

As I picture the Finns (and others) walking up to a Coke machine, hitting a few buttons on their mobile, and getting a can out of the bottom, I wonder if we could do the same with travel?

Imagine the following scenario:

  • Mobile tells you that you are able to select a seat, and checkin to your flight, 24 hours from NOW
  • You choose a seat on the screen, and are officially checked in
  • You are constantly updated with information on your flight. Its status, the gate number, whether the plane is actually ARRIVED to the gate yet, etc
  • Some kind of handshake between your phone, and the airport systems occurs
  • You can see where your luggage is at ALL times!

It would also be cool if you could select food for your flight from any food vendor at the airport, and have it delivered for your flight. Considering the quality of plane food, that would be a plus (although there are logistical issues such as what if your flight is cancelled, stand-by, etc etc).

Update

I was pinged about Airport Monitor which shows flight info in a nice Java Applet (yes, a Java Applet). It shows a backlog of info, as to not help people use the data for bad ;)

Apr 18

Call by Locality

Mobile No Comments »

I find myself falling for using the Call By Locality pattern. This revolves around calls that I make on my mobile, depending on MY physical location. For example, I was just in europe, and flew via Minneapolis. When at the airport, I called a friend who just had a child, and family that lives there to chat. It isn’t like I was able to see them or anything, so I could have been calling from anywhere… but I did it there.

I did the same in London. When I landed, I started to text my old mates to say hi, even if I couldn’t see them. It isn’t like I couldn’t have done that from home.

I even had a call from an English friend who is living in Canada, calling me in England, as he knew I was there!

I know the simple answer is that being somewhere reminds you of a person, but it always makes me laugh.

Mar 30

John Carmack finds Mobile Java

Java, Mobile, Tech 2 Comments »

John Carmack, the creator of Doom to Quake to Doom 3, and plenty others… has found the pleasure that is Mobile Java. It is really quite interesting to listen in to such a low level guy, as he learns the issues that are inherent in the Java platform.

He starts off quite positively:

I wrote a couple java programs several years ago, and I was left with a generally favorable impression of the language. I dug out my old

Feb 17

AspectJ2ME: Using AOP for running J2ME on any phone

AOP, Java, Mobile, Tech 1 Comment »

Michael Yuam explains how Tira Wireless does WORA with Aspect Oriented Programming.

Tira Wireless is a very successful J2ME game porting house with big name customers like Disney and Warner Brothers. It takes J2ME games from developers and port them to more than a thousand handset/wireless operator/language combinations for global distribution. As one would expect, they have intimate knowledge and hands-on experience with many JVM implementations to know how exactly “write once, run everywhere” does not work in J2ME. :) Today, Tira Wireless sent two engineers from Toronto down to Austin on a Sunday to sit down with me and explain to me exactly how their approaches work. To my pleasant surprise, their approach is “aspect oriented programming” using a customized version of Javassist (the same underlying library for JBoss AOP)!

The concept is really pretty simple. In regular AOP, the aspects are cross cutting several different classes. In Tira Wireless’s Jump transformation engine, an aspect is a specific class-level bytecode modification that has to be done (i.e., cross cutting) across several handsets. Better yet, Tira wireless’s has profiled more than 200 handsets and distilled a set of commonly used transformations for you! Those prepackaged aspects/transformations include swapping soft button labels, using multiple images to replace faulty image flip calls, catching certain exceptions, changing thread behaviors, and changing app start/pause behaviors. For each application port, Tira Wireless’s Jump developer tool lists a set of recommended aspects/transformations for those two devices and other possible transformations for you to choose. The following shows the aspects available for the Nokia 3650 to Motorola V300 port and the Nokia 7210 to Nokia 3650 port.

AspectJ2ME ?

Feb 17

AspectJ2ME: Using AOP for running J2ME on any phone

AOP, Java, Mobile, Tech No Comments »

Michael Yuam explains how Tira Wireless does WORA with Aspect Oriented Programming.

Tira Wireless is a very successful J2ME game porting house with big name customers like Disney and Warner Brothers. It takes J2ME games from developers and port them to more than a thousand handset/wireless operator/language combinations for global distribution. As one would expect, they have intimate knowledge and hands-on experience with many JVM implementations to know how exactly “write once, run everywhere” does not work in J2ME. :) Today, Tira Wireless sent two engineers from Toronto down to Austin on a Sunday to sit down with me and explain to me exactly how their approaches work. To my pleasant surprise, their approach is “aspect oriented programming” using a customized version of Javassist (the same underlying library for JBoss AOP)!

The concept is really pretty simple. In regular AOP, the aspects are cross cutting several different classes. In Tira Wireless’s Jump transformation engine, an aspect is a specific class-level bytecode modification that has to be done (i.e., cross cutting) across several handsets. Better yet, Tira wireless’s has profiled more than 200 handsets and distilled a set of commonly used transformations for you! Those prepackaged aspects/transformations include swapping soft button labels, using multiple images to replace faulty image flip calls, catching certain exceptions, changing thread behaviors, and changing app start/pause behaviors. For each application port, Tira Wireless’s Jump developer tool lists a set of recommended aspects/transformations for those two devices and other possible transformations for you to choose. The following shows the aspects available for the Nokia 3650 to Motorola V300 port and the Nokia 7210 to Nokia 3650 port.

AspectJ2ME ?

Jan 16

MobTaxi: Getting a taxi to you quicker than ever

Mobile, Tech No Comments »

I was stuck trying to hunt down a cab today. I didn’t have a cab number, and although I could 411 for one, I just wanted to hunt one down.

I am sure that someone is probably working on this, or it is already out there, but wouldn’t it be cool if there was a service that did the following?

  • I open my mobile and either: text message, or hit a button in an app, or browse online to an app (depending on what I want to do at the time)
  • A service gets my message, and gets my location via GPS
  • It sends the information to cab companies
  • The nearest cab comes to save me!

The service could then partner with various taxi companies. Perfect :)

Aug 27

Why does Jonathan care so much about Nokia, Vodafone, and Mobile

Java, Mobile, Tech No Comments »

Is the mobile industry large? massive. However it feels like a broken record when you read press releases such as: Nokia, Vodafone Collaborate on Mobile Java.

Jonathan and Sun seem to really want to talk about this stuff too.

I am not trying to say it isn’t important, but there are many other fish in the sea too. How about innovating in those areas? How about seeming like you care about the other communities (e.g. enterprise java in general, not just when accessing it via a phone :)

So much could be done.