Skip to Navigation | Skip to Content



Archive for the 'Uncategorized' Category

About Giving Back | August 27th, 2009

So, in my last post, I wrote about trying to figure out the WebKit source. Now, unlike other open source projects that I played with or contributed to, WebKit isn’t exactly the most obvious one to hack on. The main things that make it difficult to grep and figure out was the the fact that there’s no obvious point of entry for new hackers.

Now, when it comes to other pieces of software with similar complexity, they approach this problem in numerous ways. For example, the Linux Kernel, (which I occasionally try to test and write modules for, none of which are any good to make it past my desktop) has a really good site called kernelnewbies.org, that I would recommend anyone who is new to Operating Systems read. It goes through how the Linux Kernel actually executes, the coding conventions, and how to code, test and patch a kernel. Sites like this are very important to overcome the whole “Einstein” complex that comes with Open Source software.

Now, with WebKit, there’s not as much for new developers to grab onto, so I went back to something that I was more familiar with, which was Mozilla. Now, I admit that in the past I’ve attended some MozCamps, and I’m friends with a few people there, but I’ve never touched the actual Firefox Source.

Until now.

Admittedly, this was a VERY easy bug to fix, of minor importance, and it was flagged as “Good First Bug”. I was looking for something that I could write quickly while working on other projects during the day. I’ve never used Mercurial until I fixed this bug, and I’m nowhere near being a XUL ninja, but I managed to get a bug fixed, which is awesome.

I feel that these social hooks are what’s needed in making a successful open source project, and that the people who put the time into flagging the bugs as [good first bug] in Bugzilla, or maintain things like Kernel Newbies are awesome. I hope that more people make sites that give people who have a passing interest in Open Source development the ability to contribute back, and it’s something that we try to keep in mind here when we make our stuff. For example, If you think that there’s something in PhoneGap that needs to be clarified from a contributor standpoint, please let us know and we’ll try to figure out how we can make it easier, (within reason, we’re sticking with git, because git and hg are awesome).

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

WebKit and a call for Sanity | August 21st, 2009

Recently, someone was talking to me about Apple, and was telling me about how it’s next to impossible to make sure that WebKit was secure and that it was a lost cause. Now, given that WebKit is basically the web experience of most mobile devices, this claim seemed like it required more looking into, and that it’d be a good idea to once again attempt to take a look into the WebKit Internals.

The thing is that there’s literally no documentation for the WebKit project beyond some mentions of events in the iPhone SDK docs. WebKit in general is a very ambiguous piece of software, and each version of webkit is different depending on what platform it’s compiled for and which features were built. The downside of this is that this is all based on conversations over beer, and a broken Bugzilla.

Given that I’m generally new to browser internals, I would have to say that looking at the WebKit source without any idea of how WebKit works is next to impossible. I’ve played with builds of Mozilla in the past, and I think that I’ll probably keep looking at Mozilla code simply because:

  • The edge version compiles under Ubuntu
  • Mozilla’s Bugzilla isn’t some secret thing where you have to be working for Apple, Google or some other company to read the bugs
  • Mozilla seems to want people to look at the code

Open Source is great, but there seriously needs to be a “Hitchhikers Guide” to WebKit, and unfortunately WebKit is just not there. I admit that WebKit is a better browser when it comes to embedding it into various devices, but the clear lack of transparency when it comes to WebKit seems to make me think that the person who told me that it was a lost cause might actually be right. Developers need documentation, and the current lack of documentation is rather frustrating to say the least, that and the fact that you seem to have to have a Mac to develop for it, is another reason why I find myself going back to looking at Gecko.

Because documentation and a friendly community actually does matter.

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

Not all webkits are equal, stories of reading code | June 17th, 2009

Recently, there’s been concern over the state of WebKit on Android. If anyone has ever used the WebView, people realize that it doesn’t have gears. However, once you look at the source code of the Browser in Google Android (You can actually do this), you realize very quickly that it’s not an issue with the browser, it’s an issue with the Shared Library not being loaded.

Now, currently I don’t know if the current SDK would support the NDK-style JNI required for PhoneGap to do this, but it should be coming in Donut. However, I want to know when HTML 5 is coming to Android. If you take this page and try to run it on the Android browser, it will fail, but it should work on the iPhone, Safari and it works on my version of Midori that I’m running on Ubuntu.

I don’t have a copy of the source code to the Palm Pre, although I hope that one day in the future I can see their version of WebKit and see how they managed to get HTML 5 on the phone. I hope that Google follows suit and gets proper HTML 5 support on their browser instead of using gears in a shared library linked in the Browser APK. This is important since Gears is not HTML 5. I honestly enjoy going through the Android Source Code for the most part and seeing how the Java fits with the rest of the embedded system. It’d be great if I could do this with the Pre as well.

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

Open Web Vancouver | June 15th, 2009

Open Web Vancouver was pretty awesome this year. The Pirate Party keynote by Rickard Falvange was awesome, and really was a solid follow up to Zak Greant’s talk on “The Age of Literate Machines”. Given the current climate with people fighting against more oppressive copyright, I really liked how relevant it was, and how it tied to the Civil Rights movement.

The second keyonote talk was also really well put together. I saw Angela Byron’s “Women in Open Source”, and it was interesting to see how many other people were shocked as to how few women were in Open Source. The talk was interesting, and depressing at times, but it was a good talk, and it showed a need for everyone in the Open Source community to wake up to this reality and do something about it.

The thing that irritated me the most about the conference was actually not the fault of the organizers of the conference, and is entirely the fault of Bell Canada, and the convention center. Jake Appelbaum of the Tor Project (and of Noisebridge) was giving a talk on Tor. Tor is an anonymizing router that allows for people in places such as Iran and China to access roughly the same internet as someone living in a country such as Canada or the United States, getting around government restrictions such as the Great Firewall of China. The problem is that unfortunately, the Vancouver Convention Center is more oppressive than the Chinese Government, because they blocked the following sites:

Now, I can understand blocking something like 4chan (the Anime convention had a talk on it, BTW), but blocking Tor and UNICEF is crossing a line. The site in question had information on a project that I was looking to promote during my Android talk, which allowed for formatted SMS messages to indicate where things like Mosquito Nets to prevent Malaria should go, and where buckets for distributing clean drinking water should go. This project actually does a LOT of good. Too bad Bell Canada disagrees with me.

The other talks at the conference were pretty awesome. The big complaint that I had this year was
that the PhoneGap presentation by Brock and Rob was at the same time as Franklin Lopez’s presentation about Documenting Dissent. The Open Data talks by David Eaves were pretty interesting as well, since the City wanted to know what data it should open first.

In short, the conference was great, despite the fact that Bell censored the Wireless. I find that this will be the one thing that sticks in my mind this year, since the organizers did their best to position Open Source, Free Speech and Fair Copyright in the forefront.

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

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:

qrcode

Posted in Uncategorized | 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

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