Archive for June, 2007

* Ajax and Flex Job Opportunities

Posted on June 28th, 2007 by Dave Johnson. Filed under AJAX, Flex, Nitobi, Uncategorized, air.

Who wants a job? We have some very exciting Flex and Ajax development opportunities coming up with some high profile companies and we need some kick ass people to help us out.

To apply just do something awesome with our components or maybe something cool with say JavaFX, Adobe AIR (not that Adobe AIR) or Flex.

Send it to

Just to give an idea of what goes on here and why it is great …

view from nitobi office
mmmmmm mountains - don’t worry it’s really nice in the summer too

view from nitobi office
xbox 360 or wii anyone?

sea monkeys
sea monkeys ???

we also work
we also work … sometimes

Tags: .

* Popfly Management

Posted on June 22nd, 2007 by Dave Johnson. Filed under AJAX, Business, Web.

The Popfly project over at Microsoft looks pretty interesting if not just a cheap rip off of Yahoo! Pipes.

I just wanted to comment not on the application itself but an interesting thing that I noticed when looking at the list of people on the team - all of whom I am sure are very smart and skilled people. But here is the list of titles of the team members.

Group Program Manager, Program Manager, Developer, Developer, Program Manager, Program Manager, Engineering Manager, Test Developer, Developer, Product Manager, Developer, Program Manager, Program Manager, Product Unit Manager, Developer.

This can be summed up nicely in a simple graph.

Coming from a small company with something more like a 10 to 1 ratio of developers to managers I can’t help but feel somewhat bewildered! It just makes it even more amazing that large software companies don’t just crumble under the immense weight of the bureaucratic bloat.

Tags: .

* Grid 3.5 and Beyond

Posted on June 20th, 2007 by Dave Johnson. Filed under AJAX, Nitobi, Web, air, safari.

Just a quick note about the recent release of Complete UI and Grid in particular.

There are a few things to note about the recent release.

As Mike mentioned, both Grid and Combo now, like the rest of Complete UI, support standards mode - w00t. This has been a long time coming but it seems to be working pretty well so far!

Also of note with Grid is that it is much faster to load up in most cases. For example, the editors sample loads in about half the time of the the previous release. But don’t worry, there is still lots more room to improve there and we are actively working on it!

Complete UI also has two new components - Calendar, and Spotlight. AND Calendar has been integrated into the Date Picker control for Grid!

More fun stuff coming up with support for Safari 3, AIR and some new components and major updates to old ones like Tree and Grid.


* Grid With AIR and Safari 3

Posted on June 14th, 2007 by Dave Johnson. Filed under AJAX, Components, Nitobi, Web, XSLT, air, apollo, completeui, safari.

With the release of Safari 3 Beta and the recent renaming and Beta release of AIR (formerly Apollo) from Adobe, we have started to work on getting our components running in both of them.

We have run across a few problems - the biggest of which is the lack of any decent debugging tools for either one. I am sure that this will soon change. Currently the best thing around for debugging is Scout.

Grid is being a bit of a challenge given that there is no XSLT support in AIR - though there is in Safari 3. Jake and I got it almost working with a day or so of work / screaming at our computers. Here is a screenshot of what we got so far:

We are pretty happy with the progress and the fact that no one has been hurt - yet ;)
There a few known problems in AIR currently such as CSS opacity not working, table width=0px with colgroups does not work and a few other small things like that. We are certainly happy that Safari 3 and AIR both support addRule and insertRule for working with CSS while a little disappointed in no XSLT support in AIR yet good support in Safari 3.


* Firebug “Copy XPath”

Posted on June 6th, 2007 by Dave Johnson. Filed under Uncategorized, rails, ruby.

I have been playing around with the Ruby plugin Hpricot the last few days while I have been creating a news reading tool. It is pretty darn cool and hopefully I will get my project done this weekend.

However, the point of this post is Just a note for others using Firebug to get XPath expressions for use in Hpricot - don’t do it!!! Well ok, you can do it, but make sure you watch out for any <tbody> elements that Firebug sneaks in there that don’t exist … I spent _way_ too long figuring that one out.

Tags: , .

* CSS Pseudo Class Madness

Posted on June 4th, 2007 by Dave Johnson. Filed under AJAX, CSS, InternetExplorer, quirks.

Through the course of building an Ajax Grid component we have come across many a quirk in both Firefox and Internet Explorer.

The latest thing we found was something that cropped up when we finally converted our Grid to support standards mode in Internet Explorer 6 and 7. To do this we had to fall back on a good blog post from a while back about the use of the table-layout: fixed; and white-space: nowrap; styles in creating an HTML table where the contents of the cells do not wrap if the contents are wider than the cell width.

Essentially what he came up with was that you needed the following:

      width: 0px; and table-layout: fixed; on the table
      white-space: nowrap; and overflow: hidden; on the cells
      and use <col> tags to specify the column widths but place them at the bottom of the table

How he came up with that last one I don’t know!

At any rate, that seemed all well and good; things were great in our small prototype in both quirks and standards mode. Then when we actually brought it into the product, it was not working at all in standards mode. Several hours and coffees / beers later I finally determined that there was some other completely unrelated CSS that was causing it not to work. The culprit was one of the great new CSS features of IE 7 - the pseudo class. We were using pseudo classes like :hover since it makes life much easier in a lot of cases so you don’t have to attach mouseover / mouseout handlers to some elements just to change a color.

So just having any :hover pseudo classes in the page would cause the nowrap behaviour of the table to fail! Even if they were on some random class that is not used with no contents inside the CSS rule, as soon as you move your mouse onto the web page the table layout reverts to not respect overflow: hidden; on the table cells. Check it out here in IE.

At that point I thought I was home free… clearly I had been sniffing too much of the Internet Explorer glue.

Once again I moved my code into the actual product and once again it did not work. At that point the only difference between the product and the prototype was one thing: in the product we use generated CSS. What we do is use XSLT to build a stylesheet with all the column widths etc and then insert it into the page using document.createStyleSheet(); and then set the CSS contents using stylesheet.cssText = myCSS;. Once again we were astounded (really???) at the crapness of IE 7.

In the end it came down to adopting the age old approach of placing div’s inside of each table cell and setting the overflow and white-space CSS properties on it. This really sucks since it dramaticall increases the number of elements in the web page and therefore can really slow down application performance.

In the past I have posted a few other interesting tidbits about using a:hover being bad as well as inline event definitions. We have recently found a really great problem in Firefox with calling focus() on an element that I will cover soon.

Tags: .

* Complete UI Q2 Released!

Posted on June 3rd, 2007 by Dave Johnson. Filed under AJAX, Nitobi, Uncategorized, completeui.

We were able to get out the Q2 release of Complete UI without too much trouble!

With the help of a keg of beer last night Jake, Mike, Alexei and I were able to pull everything together at the last moment (of course there are a few small things we are still fixin up) and get it out there. Grid is looking awesome with much improved performance and we have also released Spotlight and Calendar - as I have mentioned previously.

Its up online so check it out and let me know what you think :)
Time to catch up on my blog reading / writing and have a looooooong sleep.