Archive for September, 2008

* Web’s Most Visible Vancouverites

Posted on September 30th, 2008 by Dave Johnson. Filed under Nitobi, Web, vancouver.

As a way to procrastinate from more important things at the moment, I thought that I would compile my own numbers about the recently published web’s most 20 visible Vancouverites. Note that they got David Eby’s web address wrong and seem to think that Flickr is a microblogging site. I digress.

It all seems to have created a little ">Vancity ">controversy. So I figured that rather than using some secret equation as NowPublic is using I would just list some of the stats for different people from different web sites such as Google, Twitter, Flickr and so on and readers can draw their own conclusions.

Name Rank Links* Twitter* Flickr* YouTube* LinkedIn*
1 Darren Barefoot 2180 1810 5196 305
2 Tim Bray 3020 2151
3 Boris Mann 761 877 9265 19 418
4 Kris Krug 1060 1314 17694 200 500+
5 Roland Tanglao 1730 1251 39586 286
6 Tom Williams 237 2120
7 Megan Cole 379 173 4845 50 103
8 Rebecca Bollwitt 1730 4729 2784 5 55
9 Arianna Schweber 504 13049
10 Tod Maffin 367 2175 32 8
11 Dick Hardt 159 369 24 1 500+
12 Tris Hussey 124 7303 10799 4 354
13 Alfred Hermida 989 743 203
14 Matthew Good 1530 1024 6
15 Ian Andrew Bell 36 122 1334 500+
16 Travis Smith 340 740
17 Danny Robinson 137 279 94 412
18 Paul Sullivan 3
19 David Beers 1780
20 David Eby 454

Take it with as many grains of salt as you like. It is interesting that some of the people were not that easily discoverable on many of the sites that I checked yet are still considered visible… let along checking Jaiku, FriendFeed, Tumblr, Delicious, Meetup, Upcoming, Dopplr etc

I also decided to check on how Andre and myself fit into those numbers.

- Andre Charland 211 2194 7480 54 348
- Dave Johnson 91 1452 521 2 67

Clearly I am out of my league when it comes to incoming blog links but I hold my own on the Twitter front and at least have some amount of content on each of the sites listed (and more of course). On the other hand, Andre seems to be in the top 25% in each category aside from lagging in the bottom 25% for incoming links to his blog.

Anyhow, food for thought. Damn web socialites ;)
Disclaimer: Darren does online marketing for Nitobi (so I guess it’s partly his fault we don’t have more incoming links ;)). I also couldn’t sleep last night and therefore produced this piece of garbage.

Tags: , , .

* Complete UI Q4

Posted on September 26th, 2008 by Dave Johnson. Filed under AJAX, JavaScript, Nitobi, completeui.

Some big changes are coming in the Q4 release of Complete UI. Big!

Of course there is a slew of JavaScript bug fixes for all the components with Grid receiving the most attention for IE 8, Safari 3, Firefox 3 and Chrome.

There are a bunch of changes to the Java side of Complete UI with more great JSP and JSF code to make it even easier to use Complete UI in your Java project.

Finally, we have also made huge changes to the ASP.NET Grid and Combo code - and are working on the rest of the components as I am writing this! I think that anyone using ASP.NET will be very happy with the new direction of the ASP.NET code :)
We are shooting for an on time Oct 1 release but there is so much we are trying to fit in it might be a bit late - but it will be well worth waiting for!

Tags: , , , , , , , .

* Sponsoring MerbCamp!

Posted on September 25th, 2008 by Dave Johnson. Filed under Web2.0.

It looks like we be sponsoring MerbCamp this year! I think that there will be a good group from Nitobi going on down to sunny San Diego for this event and hopefully even making some presentations.

Tags: , , .

* PhoneGap: It’s Like AIR for the IPhone

Posted on September 18th, 2008 by Dave Johnson. Filed under Web, Web2.0, adobeair, mobile.

A few weeks back Brock and Rob from here at Nitobi built an amazing IPhone framework down at IPhoneDevCamp that we have named PhoneGap. While I have attributed the injustice of us not winning any of the competition categories of IPhoneDevCamp to the completely jaw dropping achievement of our team, in just two days of development (with most of the competition winners having developed their apps weeks or months before IPhoneDevCamp) it does not take away from the excitement I have for our PhoneGap framework. And there is lots of excitement around PhoneGap with some blogs about it, lots of activity over at GitHub, and 60 people signed up to the PhoneGap Google Group in just a few short weeks!

While some may not have realized the impact of PhoneGap (including the judges at IPhoneDevCamp), we here at Nitobi think that PhoneGap is the Adobe AIR of the IPhone (not to mention Blackberry, Android, Symbian and Windows Mobile). Just like Adobe AIR enables web developers to build Windows and OS X applications using the HTML and CSS skills that they know and love, PhoneGap allows web developers to build applications for the IPhone with web technologies while taking advantage of the native IPhone APIs like GPS, the camera, SQLite, contacts and more!

Using PhoneGap, a developer need not write any Objective-C code and yet they can still have a proper app installed on an IPhone that is essentially a slightly customized PhoneGap application that sports a custom icon and a certain URL where application lives online (very much like AIR). When a user starts PhoneGap it essentially creates a headless (ie no address bar) browser on the IPhone and navigates to the specified URL where the author of the web page can access IPhone APIs through JavaScript like this:


//GAP will invoke this function once it has the location
function gotLocation(lat,lon){
    $('lat').innerHTML = "latitude: " + lat;
    $('lon').innerHTML = "longitude: " + lon;

Or access the accelerometer data like this:

function updateAccel(){
    $('accel').innerHTML = "accel:"+accelX + " "+accelY+" "+accelZ;

Someone has even tried to get a PhoneGap on the App Store - however, has had little success so far.

The aim of PhoneGap is to bring mobile phone development to web developers just as AIR has brought desktop application development to the web community. One of the next steps will be packaging _all_ the HTML, JavaScript and CSS into the application that goes on the IPhone so that the application can even run offline much like AIR does.

There is still lots to be done!

Image by

Tags: .

* Grinds My Gears: Canadian Tire Website

Posted on September 14th, 2008 by Dave Johnson. Filed under Web, usability.

I am going to run with Dion’s frustrating user experiences, or what I like to alternatively call “grinds my gears” care of Peter Griffin.

At any rate, like all good Canucks I have spent many hours wandering the isles of my local Canadian Tire store looking for a hammer, cooler, fishing rod, car part, or hockey stick. In general the in store experience of Canadian is a nice one that brings back memories of childhood for many. Canadian Tire stores from my experience (aside from the new Wal-Martesque mega stores) are notoriously dirty and unorganized and when you finally make your purchases you always get your Canadian Tire money that goes into the car glove compartment never to be seen again.

Meanwhile the Canadian Tire website experience starts something like the image below…

The first thing that they want to know is your postal code. WTF! I just want to buy something, take my Canadian Tire money, and leave. I definitely do not want to engage in a relationship beyond that with you Canadian Tire and yet just to browse your products I have to enter my postal code.

Now I know that Canadians tend to be pushovers (though not always) but I can’t help wonder how much more money Canadian Tire would make if they did not require people to enter their postal code just to browse. If anyone reading knows someone with any pull at Canadian Tire online please put me in touch because I want to buy a solar panel from them!

Tags: , , .

* AIR Support

Posted on September 4th, 2008 by Dave Johnson. Filed under AJAX, air.

When Andre went on the final leg of the Adobe AIR tour back in the spring I needed to build a nice Ajax + AIR demo for him. Ultimately I had to drop the project and Andre went without. The main reason that I decided not to build the application was due to frustrations with building HTML / Ajax apps in AIR - though I had previously built several successful HTML / Ajax AIR apps in the beta versions of the AIR runtime.

This was the first real application that I had tried to build since the Beta 1 and of course there were some API changes - as can be expected between beta versions and a release - but more importantly the security restrictions in Ajax AIR applications make it almost unusable for certain use cases. At least for my HTML apps.

There are two main problems that I found exceedingly annoying and that ultimately led to the shelving of the project.

The first problem was that you cannot use innerHTML to insert HTML that contains event handler code such as <div onclick=”foo()”>Bar</div> when you are in the Application Sandbox. This is of course to prevent people from inserting malicious code on HTML events - which is equivalent to doing an eval if the user somehow triggers that event or the event is triggered manually through JavaScript.

That meant that I had to put most of my code in the Network Sandbox to get around the security restrictions. Fair enough I thought until Murphy reared his ugly head.

It just so happens that you cannot pass complex objects across the Sandbox bridge since they become of type “Object” on the other side. So for example I wanted to pass an XML document from the Network Sandbox where my application UI is residing into the Application Sandbox so that I can do some cross domain requests with it and / or save it to disk for use later when offline - essentially to do anything interesting it needs to be in the Application Sandbox. So to do this I had to write my own code to serialize and deserialize any custom objects that I wanted to pass around, essentially converting my XMLDocuments and so on to strings on one side and then loading them into XML documents again on the other. Pain. In. The. Arse.

A second, and maybe more important result of not being able to pass complex objects across the bridge is that it pretty much means that if you want your UI to be in the Network Sandbox you cannot do file drag and drop unless you have a special place that is in the Application Sandbox where the user can drop onto. This may not seem like such a big deal, however, it poses other problems with the UI layout since the best way to layout the UI in an HTML AIR app is to have the custom chrome in the Application sandbox using the CSS border-image (which is awesome) and then have the rest of the UI in a 100% width and 100% height IFrame with some margin to take into account the custom chrome edges. In that case there is not really any opportunity to have a special drop area in the Application Sandbox to accept dragged information from the desktop.

So to make a long story short, building AIR apps that use dynamic UI generation and some of the APIs that make AIR awesome, like drag and drop, means that HTML / Ajax AIR apps are simply not feasible due to the security restrictions.

Tags: , , , .