Nitobi
About Nitobi
Services
Products
Home -> Blogs -> Dave Johnson

Dave Johnson

Archive for the 'AJAX' Category

Popfly Management

June 22nd, 2007

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.

Grid 3.5 and Beyond

June 20th, 2007

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

June 14th, 2007

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.

CSS Pseudo Class Madness

June 4th, 2007

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.

Complete UI Q2 Released!

June 3rd, 2007

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.

Release Creeps Closer

May 30th, 2007

A mere two days now until the next quarterly release of Complete UI!

We be workin hard like little elves to get out a very much improved version of Grid and new products called Spotlight and Calendar.

To celebrate our efforts we will:

a) Ship Complete UI Q2
b) Drink a keg of beer and play XBox
c) …
d) Profit!

I don’t even want to think about what might happen if we don’t release on Friday!

Complete UI Q2 Update

May 28th, 2007

In between all the other exciting stuff happening here like JaveOne, XTech and RobotReplay, we have also been working on improving the Complete UI suite!

In particular we will have a new Calendar control (which is integrated with Grid of course) and also something we call Spotlight that can be used to build a tour of your web application for help users.

What I have been working on (as anyone who has seen my twitter can attest to) is fixing up our flagship product, Grid. I have mostly been focusing on two aspects of it:

  • Improving layout and theming. This has been a long time coming and it is much better now but there is still some work to do to get it up to par with all the other components. Layout has been changed a lot and should make it much nicer to work with.
  • Improving performance. Another thing that has been a long time coming is better general performance. We have slimmed things down a bit in terms of code size and in fixing the layout we have also increased performance significantly.

I should also mention that Mike has been doing a bang-up job lately on getting the Java backend code ship shape as well as improving the docs - which everyone will probably be very happy about!

There has also been a slew of bug fixes going out for several of our customers that will become available to everyone with this release.

We are shooting for June 1 (this coming friday) so stay tuned!

XTech Declarative Ajax Slides

May 21st, 2007

Finally, here are the slides from my XTech presentation about declarative Ajax. Hopefully there is something vaguely useful for people in there :)


JavaOne Slides: Pragmatic Parallels Java and JavaScript

May 12th, 2007

I have got my JavaOne sessions slides up on Slideshare now. Slideshare rocks!


Nitobi News

May 12th, 2007

It is nice having time to actually look at my email and check out what has been going in the world! Having been thoroughly swamped with preparing JavaOne / XTech talks, conitnuing product development and support, and flying half way across the world I finally have a spare moment to report on a few things of note that happened this past week at Nitobi. Luckily I can lift most of it from Alexei ;)

First of all we have released some new support for Complete UI on Java. This coincided with our presence at JavaOne of course. The new stuff includes support for Eclipse, JSP taglib, servlets, Struts and more. Check it out here. Alexei even created a way cool video overview and posted it here - he has such a good screencast voice!

There is some other video to watch as well and that is a video interview Andre did for WebProNews about Nitobi and RobotReplay.

The Enterprise Ajax book is now available on Rough Cuts. The other thing in this vein is that it looks like we will also be producing some video content to go along with the book - should be interesting to see how that works out!

Next week, I will be in Paris to give a presentation at XTech on declarative Ajax programming - 9am Thursday May 17. I will talk about some of the driving factors behind declarative Ajax and have a few examples / demos. XTech is a really good quality conference I think and there are lots of interesting people going to be there - it should fun!

Some other Nitobi people (Jake and Brian) are going to be down in Portland for RailsConf over the Canadian long weekend (ha!). Hopefully they will find some good Rails action and have a few nice Portland brews!

RobotReplay is continuing to evolve and we are getting very close to moving some of the service over to EC2 and getting all the servers organized in preparation for a few way cool new features. Last week we got around to implementing a few new things as well and started to purge people’s old sessions to help keep things working smoothly :)

We also have a few cool new projects and products on the go that we will be blogging about soon!


Search Posts

You are currently browsing the archives for the AJAX category.

Pages

Archives

Categories

All contents are (c) Copyright 2006, Nitobi Software Inc. All rights Reserved
Dave Johnson Entries (RSS) and Comments (RSS).