Skip to Navigation | Skip to Content



Released: Open Web Vancouver 2009 Schedule for Android | June 10th, 2009

I’m going to be speaking at the Open Web Vancouver 2009 conference, and after visiting Google IO and seeing their app, I decided that I would try out something similar with PhoneGap. Now, the purpose of PhoneGap is to produce applications that work like Native Applications fast. This means that the app has to not have the tell-tale signs that it’s running in the browser, and be just as fast, if not faster than it’s Browser-based counterpart. It also should have access to everything the HTML5 Spec has access to.

Since a schedule doesn’t need Geolocation, or Accelerometer, I decided to make this a static app for the most part. The reason I did that, was because I don’t know whether the Wifi this year will be stable enough in the Conf. Center, or the Waterfront Center Food Court, and I didn’t want to take the chance on it.

I made an ugly prototype in a couple of hours on Monday, and polished it up using xui. I then took it to Yohei to make look hot. Yohei does a lot of iPhone Dev, but hasn’t done any Android dev as of yet. The results are pretty awesome. You can download the application on the Google Android market now, which is pretty good as far as getting your app out to devices. While the search is rather poor (WTF Google!!!), it’s pretty cool. You can also download it onto your phone here, or by scanning the QR Code below:

Posted in Uncategorized | No Comments » | Add to Delicious | Digg It

Rogers Revolution Released | June 2nd, 2009

Rogers just released the Android Phone in Canada. The phone is a special version that works on Rogers 850/1900 MHz frequencies, but other than that it looks like the other phones.

Early Adopters get burnt until Gloabalive comes out with their new Android Phones, which are rumoured to be on the AWS spectrum that T-Mobile uses. It’s rather frustrating, since Edge consumes more battery than any other connectivity method, and is the slowest of the three.

However, this means that the Android Market should be opening up to Canadians, and more people should be able to buy, and use open phones. It’s interesting, since Rogers is even advertising it as Open in their marketing. The question of how open Rogers is going to let the phone be will be the issue as people try to get root on their devices.

But today, Wireless in Canada still got more interesting. Too bad the phone comes with a weak plan, making Wireless Pricing in Canada still suck.

Posted in Android | No Comments » | Add to Delicious | Digg It

Google IO Blog Post and thoughts on the Open Mobile Web | May 29th, 2009

So, Google IO has come and gone, and it was a very well run, organized, and generally awesome event. I learned a lot about Google as far as their HTML 5 strategy, and it was extremely interesting how they are flirting with putting HTML and Javascript on the phone.
Loading
There’s a reason I say flirting. They aren’t betting all their chips on the web like Palm is doing with the Pre, and instead are being more pragmatic. However, this conference was interesting in the fact that PhoneGap was mentioned numerous times and the fact that Google showed people how to use what the Dan Morril called “Augmented Ajax”.

Augmented Ajax = PhoneGap

What I found interesting from a Hacker perspective was the NDK that was coming out in Donut, the new Edge build of Android. The NDK allows you to run native code and native libraries. Native libraries like libgpg, libsphinx and libpcap. Those are pretty important libraries, and can open it up to having GPG, Wireshark and actual Open Source Voice Recognition for those who don’t want to deal with Google Voice Recognition. This adds a LOT of freedom with the apps, assuming that most phones will be ARM.

Things that weren’t addressed was the state of the WebView on Android. I wanted to ask the question about WebView and why gears isn’t there, but I got the impression that the Google Devs don’t really use WebView. I suspect that once Android WebView supports HTML 5, that this will make PhoneGap on the Android Phone concentrate on sensor data, since Geolocation will be baked in by default.

The importance of making PhoneGap obsolete

The purpose of PhoneGap is for PhoneGap to not have to exist. PhoneGap is a statement as much as it is a platform. It says that we’re willing to bet on the Open Web. We believe that Web Technologies are the way of the future of development for most cases, and that things need to be open and communicate with the web. Right now, we’re getting closer with addJavascriptInterface on the WebView, BUT if we could just use HTML 5 to do what we want it to do, and if that could run just like a Native App, with an icon on the desktop, that’s the final goal. To have apps based on the web be first class citizens with apps that are on the mobile platform. Palm is doing this, but we need Google to start taking this seriously as well, since Google wants the web to win. Palm’s betting it all on the web, and that’s great. So are many other people.

And I think it’s clear by looking at what we do that we bet on the web, we want Web Technologies to win! Open Standards, Open Source and an Open Web helps us do our job better and it helps us work with our clients better and in a more transparent manner. I don’t care which platform has the best stuff, I care about which platform has the most open features that I can use anywhere. It’s why I run Linux on my personal systems, and it’s why I currently do Android stuff. It’s not perfect, but nothing is. However, it is a good, pragmatic choice for development that many people can stand behind.

Posted in Android | No Comments » | Add to Delicious | Digg It

Samsung Android Phone, big news, but not for Canada | April 27th, 2009

The news on the Android blogs is that the Samsung Phone is going to be coming out. This is pretty huge news, since this is the first non-HTC Android Phone. For those people who don’t like HTC phones, this sounds like an awesome phone to get for your Android needs.

However, here’s the problem. It’s built for the T-Mobile network, and the T-Mobile network is incompatible with other North American networks, and as such, will not work in Canada. That means that if you own the new Samsung Android Phone, you will be stuck with the EDGE network, and it also means that once again Canadian Developers pretty much are stuck with the Blackberry and the iPhone.

The issue is simple, Wireless in Canada still sucks. We had a spectrum auction not too long ago, and because the big three own the towers, the new entrants are having a hard time entering the market. This in some cases keeps obsolete technologies prominent, and makes it so that being barely competent at running infrastructure can give you a competitive advantage over the entire smart phone market.

I was really hopeful that the Samsung phone would be a phone that works on the 1900 Mhz 3G network that Rogers currently offers, but instead works on the 1700/2100 network. This means that the Canadian market is still stuck in some weird infancy. I am disappointed that I still can’t buy an Android phone at any mobile provider in Canada, and that it’s still like the ill-fated openmoko up here.

Posted in Uncategorized | 1 Comment » | Add to Delicious | Digg It

Going to Google IO and Android 1.5 | April 24th, 2009

First, I’m going to be going down to SF for the week for the Google IO dev conference. Since it is going to be the biggest event of the year for Android, and since I’m working on the PhoneGap Android port, I figure that I’d head down to it and check it out. I’m also going to be going to MakerFaire as well, and I plan to check out NoiseBridge, the local hackerspace in SF as well. If you’re at any of these events or places, and want to meet up, please let me know.

Secondly, I decided to give the Open Source Cupcake Branch a new test drive. A while back, I compiled what was in the Open Source repo and tested out the “Cupcake”, and overall wasn’t impressed with the responsiveness of the User Interface. Given the fact that there will be more devices, such as the HTC Magic and later a part of the Samsung Omnia line of phones, I thought that putting Cupcake on the ADP1 was like putting a V6 in a Model T.

What else is interesting is the decoupling of the Google API and the Android Core. For people who have been running Android Open Source builds on actual devices and using them, it seems that Android + Google is a different target, and practically a different product than what lives in the Open Source repositories. Another thing that I’ve noticed is that the Call Stack breaks more often on the Open Source builds. It’s really unfortunate that I can’t actually use the Open Source build for day to day calls, but Cupcake is looking pretty good, and Google IO should be interesting.

Posted in Uncategorized | No Comments » | Add to Delicious | Digg It

PhoneGap Android - Looking for Contributors | April 2nd, 2009

Today is a pretty huge day for PhoneGap. We released the Simualtor and the Android version of the PhoneGap demo. However, we need your help.

PhoneGap is an Open Source Project. This week, we have been working to put parts of the HTML 5 spec onto the Android version of PhoneGap, and we have currently implemented the following:

  • Geolocation - Currently supports Latitude and Longitude
  • Accelerometer - Gets the X, Y and Z variables from the Accelerometers
  • Notification - Plays the Notification Sound and Vibrates

We are hoping to do more with the device, and to help get it up to speed, we are looking for more contributors. This week, we will be merging these changes back into the Android branch, and we will be pushing this code back up to the blessed repository. If you are interested in contributing to PhoneGap, please contact us.

Posted in Uncategorized | No Comments » | Add to Delicious | Digg It

PhoneGap Demo Application - The First 24 Hours | April 2nd, 2009

Right now Andre is down at the Web2Expo, and is going to be presenting PhoneGap. The past couple of days, I’ve been working on the PhoneGap application, and I had to get it to Andre (I did a recent fix to Accelerometer, making it more in line with the new API). I signed the app and posted it here, however that didn’t work for Andre to get it on the phone. Andre then said to post it to the Android Market, and I did, even though I know that Beep does not work.

Why beep didn’t work until this morning:

Well, anyone who says that Java doesn’t have NullPointerExceptions is LYING! The whole concept of PhoneGap is to use Javascript to gain access to the APIs. However, there is an issue that I kept running into with the latest version of Android when adding APIs, and that is that WebKit often throws an exception on certain methods or interfaces (like the Device interface) when it tries to call it. This is a pretty HUGE bug for this version of Android, and it’s caused by not calling the right Java interface.

So, if you do something stupid like this:

Device.do_stuff();

And do_stuff() doesn’t exist, you would expect a Javascript error, right? Well, instead you get a misleading NullPointerExtension. This is rather bad behaviour, and shows that they aren’t checking for nulls in this. I’m going to write a proof of concept and send it to Google, but this bug is a pretty serious flaw in the Android SDK for obvious reasons.

Overall Success

Despite the Beep Drawback, things seem to be going well for the first 24 hours of PhoneGap on the Android Market. I’m hopefully going to have my first free Java application up to the Android market in the next couple of weeks as well. Now that we have one published Android App, we’re going to try for more!

Posted in Uncategorized | 1 Comment » | Add to Delicious | Digg It

Android in Vancouver? | April 1st, 2009

In my spare time around here, I’ve been working on the Android version of PhoneGap, partly to help make the vision of a write once run anywhere javascript framework happen. However, since I’m also a hardware hacker, I’ve been messing with the Android Internals, and doing other geeky stuff with the device.

It seems that more and more I hear about other Vancouverites running Android phones, which is interesting. It should be noted that the ADP phones will never get 3G in Canada from the big three providers, since they are using a totally different 3G technology, so if you are a person in Vancouver with an Android, you are probably a developer, and you are probably interested in hacking it.

If I’m right, and assuming that there’s at least 10 people who own this device in the entire Vancouver area (including the 4 people at Nitobi, and Tim Bray), I’m wondering if there’d be any interest in yet another meetup, camp or get together, even if it is just a bunch of geeks with laptops and beer, it should be fun.

Any thoughts?

Posted in Android | 4 Comments » | Add to Delicious | Digg It

Ada Lovelace Day | March 24th, 2009

Today is Ada Lovelace Day. The purpose of Ada Lovelace Day is an international day of blogging about women in technology. Now, there are the obvious people that I could blog about, namely Limor Fried (aka ladyada) who runs Adafruit Industries, or Susan Kare, who designed the Macintosh Trash Can, the Happy Mac, Claris the DogCow and now is at Chumby, or Mary Lou Jepsen, who designed the One Laptop Per Child and then went off to start her own company called Pixel Qi.

No, I’m going to talk about Grace Hopper instead, only because she is attributed to this quote:

“It’s better to ask for forgiveness than to beg for permission”

She’s also the mother of COBOL, and a female pioneer in computing. She obtained a PHd in Mathematics, and she was credited for being the person who found the Moth in the computer which is often referred to as the first computer bug. It also should be noted that she had a long career in the US Navy and she eventually also got promoted to Commodore, which later got renamed Rear Admiral, Lower Half. She also has a US Naval Ship named after her as well.

Honestly, I think I really like Grace Hopper because of the quotes that she’s attributed to, namely the one above and this one.

“I believe in having an open mind, but not so open that your brains fall out.”

It’s this sort of attitude that leads to go open source projects, in my opinion and is similar to how other people explain their pragmatism, and it shows the ability to get things done. In my opinion, we need more people who show this sort of dedication to what they are doing. She was a fan of the paperless office, and she hated clutter. She also believed (and rightly so) that we wouldn’t be able to get rid of paper, and that microcomputers (AKA PCs, Laptops, iphones, etc) would take over from the Mainframe. She really understood where we were going and how we were going to get there.

While I’m not a fan of the military, I think you would have to be a fool to not salute the memory of Grace Hopper. Someone who worked hard and got things done!

Posted in Uncategorized | No Comments » | Add to Delicious | Digg It

Review: Android Cupcake Build | March 20th, 2009

I just realized that I haven’t blogged in a couple of months. This is partly because I’ve been busy working on various projects, some of which I may write about in later posts. However, I’m going to contribute yet another blog post about Android and this time it’s about the build, flash and hacking process.

Android is meant to be an open platform, and I’m proud to say that I’m able to easily reflash my phone to Cupcake and test out the latest and greatest. However, my verdict on the latest and greatest is that it’s not ready for primetime. Anyone who says it is clearly hasn’t ate their own dog food. The device I used to test Android is my ADP1 phone, which is an HTC Dream. That being said, it should be clear that Cupcake is not meant for this phone.

The reason I say this is obvious:

  • The On-Screen Keyboard buttons are too small
  • The animations are slow and choppy

Now, if I turned off the animations, and the on-screen keyboard, I would have no problems with this phone, BUT it would mean that I would be running the exact same thing as Android 1.1, which makes this exercise somewhat pointless. I also did run into other bugs, but I chop that up to me actually grabbing the trunk and throwing it on the phone every day for a week instead of grabbing cupcake-stable (does that exist?)

I’m assuming that the HTC Magic and later Android Devices will be faster, and have larger screen real estate, and as such will not have the problems the HTC Dream currently has with Android. Then, what I have to ask is when will Google distribute these handsets? If Google raises the bar on the dev platform’s minimum requirements, then what will developers have to do to keep up. Having to buy a new Dev Phone every 6 months is fine, but not at $400 a pop.

Perhaps they’ll speed up the Animations and fix the keyboard in future releases of Android, but right now, Cupcake isn’t quite ready for primetime on the Dream, of course assuming that’s the device it’s meant for.

Posted in Uncategorized | No Comments » | Add to Delicious | Digg It