Monday 4 February 2008
Recap Part 2: Foo/Baa Camp
Baa Camp was pretty good again. I have to admit I'm a cynic about a lot of Web companies so I'm not the most sympathetic attendee, but it's good to see what people are doing and of course there are a lot of interesting people there who aren't doing Web stuff.
I went to a talk on AIR by John Ballinger. The pitch seems to be "The best of Flash and Web apps, on the desktop". That's confusing because there are a bunch of different and mostly orthogonal features that tend to distinguish Web apps from desktop apps, and AIR addresses several of them at once and kind of conflates them. For example, we heard about offline usage, persistent local storage, users dragging files into the application window, client-side image compression, giving applications their own dock/taskbar icon, and handling local file types --- all features that can and should be provided by browsers too, possibly via extensions like Gears for the laggards, ideally via standard APIs like HTML5. There are few philosophical differences between AIR and the browser. The biggest one is that AIR doesn't sandbox apps, so users have to make a trust decision to use an AIR app. I don't know how high a barrier that is to AIR app adoption; I hope it's a high one, because users should be reluctant to let applications abuse them! Another, related difference is that AIR lets apps escape browser chrome such as the forward/back buttons and the address bar. I can see that app designers would love that --- yay for integrity of artistic vision! --- but I'm not sure users would. Browser navigation (back, forward, bookmarks, addresses and autocomplete) is a powerful mental model that is not only deeply entrenched but is actually very useful. Some people have suggested this issue is one reason why Flash Central didn't work out. It'll be interesting to see how it plays out this time.
One thing that came up a few times independently was that people really want vector graphics they can print out nicely --- so Flash currently doesn't cut it. Thanks to cairo our SVG printing is really nice in FF3. (It sucked on Mac for beta2 --- we took an image surface path for SVG on Mac to handle some edge cases --- but I mostly fixed that for beta3 by taking an optimistic approach and recovering with the image surface path only if we actually hit the edge case.) Of course recommending SVG is hard as long as IE ignores it. I just encourage people to ignore IE if they can get away with it and yell at Microsoft loudly if they can't (or even if they can).
At the camp I heard about Microsoft and Yahoo. It seems crazy to me; merging two losing operations isn't going to produce something that can beat Google. The infighting and integration difficulties will most likely push them even further backwards. Who knows how the technology chasm will be bridged; either Yahoo's FreeBSD/PHP/Hadoop etc stack gets replaced by MS infrastructure, at unbelievable disruption and cost, or it doesn't and they eat the cost of supporting dual architectures, leaving a lot of the putative cost savings on the table and in fact adding additional complexity. Lots of good Yahoo employees are bound to quit. I can hardly believe this, Steve Ballmer must be truly desperate.
On Friday night, before I arrived at the camp, a certain Ross Howard had "volunteered" me and Nigel Parker for a "WWF Smackdown" over the IE8 meta mode switch on Sunday morning. Of course I was up for that! It was a lot of fun ... for me at least. Most of the Web developers were pretty upset about the idea, more so than me actually, and Microsoft hasn't given Nigel much to work with. Anyway, I actually learned a few things, partly because we were able to question Nigel. I asked whether IE8 has an IE6 mode; the answer was no. That's as expected, but it's actually quite important because the motivation for the IE8 switch is the problems that prevent people from moving from IE6 to IE7. IE8 will actually do nothing to address those problems! The new mode switch will only help address any differences between IE7 and IE8. I'm not sure what giant IE7 standards-incompliance bugs IE8 will fix that require this big hammer.
I asked Nigel if IE8 will support any new CSS features. He said no, it's just CSS 2.1. That shocked me; I guess we'll have to wait and see.
I made it clear that non-IE browsers are just going to ignore the meta switch so it's really a Microsoft solution to a Microsoft problem, and as such, it doesn't bother me all that much. My biggest concern is that "IE8 mode" will actually be uniquely buggy while being nominally "more standards-compliant" --- i.e. that Microsoft will feel free to do random things where the standards are silent, instead of being careful about being backwards- and Web-compatible the way we and Webkit and Opera do.
Now I'm back at work grinding away at bugs again! I hope we can polish off FF3 soon so I can start working on and talking about new stuff. I also want to get FF3 into the hands of users because it's already quite excellent.
Comments
You mean "yay" for interaction, experience, and user interface design right? Many things incorporate artistic elements (I would say even code), but are not done solely for artistic purposes.
I think AIR actually gives users more control over tasks which they need to spend more un-interrupted time doing, and not mixing it up with general web browsing tasks.
Not everything is "browsing".
"I hope it's a high one, because users should be reluctant to let applications abuse them!"
Yes, I routinely let applications abuse me too, I should be more reluctant about that. :)
The balance between ease of deployment, and alerting users to an application with more privileges is a delicate one indeed. I think Adobe is really doing some extremely important work here in exploring this. Getting this right is huge, and I think they're on the right track.
I don't know where Nigel got that about CSS2.1 - we're not talking exact features quite yet.
Here I responded that as Chris has previously stated (http://brainstormsandraves.com/archives/2007/12/06/ie8/) that the new IE8 rendering engine is focused on adhering to the Cascading Style Sheets (CSS) 2.1 specification. There may be work going on within the team implementing some CSS3 features but we’ll just have to wait and see what comes out in the beta.
http://www.guardian.co.uk/technology/2008/feb/01/internet.explorer
The point made by the author is that the net is not as broken as MS might think. It only appears that way to IE users because web developers have been using the browser agent string for years to determine whether to send out buggy HTML or standards compliant HTML.
The solution, of course, is to change the IE8 browser agent string to something with a longer compliance track record. Perhaps Firefox could think of patch for IE8 users that would do this.
In other words, it's great stuff!
FF3b2 is indeed better than FF2.
Sorry to drop in, but I'm particularly interested in animations and rendering speed ( redraw and/vs reflow ), and in this area FF3b2 is still behind Safari 3b and Opera 9.5b.
Some CSS updates are not optimized/categorized properly in FF3 and reflows are triggered when only a redraw is necessary.
Who should I talk to to try and improve this ?