Monday, June 11, 2007

Broken by Default

I recently had reason to use Firefox's bookmarks' feature, "Open All in Tabs". I was unpleasantly surprised to discover that it closed my open tabs, and navigated away from my existing pages (including breaking my VPN connection to Borland's network). It's one of those features that's broken by default, by design, because - well, I don't know why. Apparently there's been some secret discussion somewhere 3+ years ago, that decided that the current behaviour is best. I have no doubt that the reasons are bogus :)

Anyway, I found out about about:config setting browser.tabs.loadFolderAndReplace, which fixes this behaviour and sensibly creates new tabs, rather than overwriting your current tabs and bringing your network down around your ears.

Here's another, more verbose link, describing how to fix the broken behaviour. Yes, I'm editorializing, but I'm just pissed because I had to fix everything back up again, after this "feature" exploded in my face.

Monday, June 04, 2007

Acropolis: The Second Coming of MFC

I notice that MS have released some early bits of a new rich client application framework. I also note that the XAML namespace prefix in the demo video ("Introducing Acropolis") is Afx, the same as the old MFC header file name.

The initial wizard looks eerily familiar, very MFC - but everything has been updated, and something that's particularly interesting to me is how the Application XAML - an object serialization format, not necessarily limited to UIs - is presented in a design view that looks quite similar to a web page. In a past life I worked on a system that used a lot of metadata, and one of the many design metaphors we looked at was document-like layout for non-document (or at least, non-traditional document) data.

I'm waiting for the day when people incorporate 3D zooming transitions into these document layouts, taking advantage of the rich client power and modern hardware / WPF, to pack more data in the spatial screen landscape. Defining a 2D/2.5D (I count zoomed depth as 0.5 of a dimension) mapping for an application's structure has for a long time seemed to me like a good way of getting a higher-level, more abstract visualization / editing experience for today's larger application source bases.

Having worked on some fairly complex systems from front to back, top to bottom, and known how everything was put together - having written most of it - it was always frustrating to me not having first-order unified view (as opposed to derived, or via stale documentation) that explained how the application fitted together.

My comment is at quite a tangent to the specifics of the Acropolis release, but this little artefact hinted of a direction that I hope development UIs take in the future. For what it's worth, I don't believe in UML - I'm talking about something which is qualitatively different, in that the visual mapping function is domain-specific and tailored to the different functional aspects of an application, is 2-way with its component structure, and has hyperlinks connecting related parts. Perhaps the mapping function could be rotated around different axes, to get different perspectives on the app. Making the source code for a system look more like blueprints. Musings for the future...