Google Chrome, Metro-Style

Windows 8 is a pretty bold new move for Microsoft. It’s bright, vivid, touch friendly and puts apps and contents way up top. It appears to have ditched the traditional desktop metaphor and filesystem. Apps look very different. Here’s what Internet Explorer 10 looks like:

IE10.png

That new look and feel for apps is being referred to as “Metro-style”. Metro-style apps run fullscreen and navigation happens through edge-activated interfaces. While I’m concerned about discoverability for edge-activated interface controls (essentially this is classic mystery meat navigation), I do like that apps are full-screen and that Metro-style apps ditch all archaic notions of UI chrome.

Which brings me to Google Chrome, capital C. Really great browser, my such of choice. From a high-level perspective, Google built this browser to accelerate the pace of web technology development, so that Googles own web-apps — Gmail, Calendar, Docs — could adopt newer features sooner. To that end, Google has gone to great lengths to make sure Chrome is not only cross-platform (Windows, Mac, Linux, soon Android), but that Chrome looks native to each platform. This tenet has been taken to the extreme, actually, with Chrome on Windows XP featuring the horrible “Luna” skin, and Chrome on Linux more or less establishing GTK as the de-facto UI toolkit on the platform, just to be able to use said toolkit. It’s really quite impressive, the amount of work put into making Chrome not only look native, but be native.

Of course we’re only on the cusp of the future. The next round of operating systems are likely to be much more mobile inspired. Windows is blazing a trail with adopting the Windows Phone Metro UI, OSX is likely to become even more iOS-like, and Ubuntu is already exploring more touch-friendly UIs. If Google is going to keep following the path of full-on nativity, Chrome engineers are going to be having some nasty headaches in the not too distant future. Is it even technically possible to replace Internet Explorer 10 as your browser of choice? With Windows 8 treating HTML5 web-apps as first-class citizens among native apps, it’s likely that IE is baked in to the operating system more deeply than it ever was before.

It’s also an interesting mind-game, imagining what Google Chrome would look like, if it were to theoretically be re-written as a Metro-style Windows 8 app. The Metro-style UI is already so minimalist in layout, icon style and even interaction patterns that it’s difficult to think of Metro-style Chrome looking very much different from IE10. The racing-car diagonal tabs for instance, which are important to Chrome’s branding, are hard to translate to Metro-style. Though I suppose if Google were to go this way, they could make their tabs look similar to those of the Android Honeycomb browser (which is likely to spell the direction of how Chrome will look like on Android, once that happens).

Will it happen? I think so, but I think Google will want to play the wait-and-see game for a while. Just like Android Ice Cream Sandwich may be a make-or-break proposition for Google, so do I think that Windows 8 is for Microsoft. Could be that Windows 8 adoption is too slow to worry about. Could be Google’s already working on Metro-style Chrome.

IE9s “Pinned Websites”

Paul Thurrott has the lowdown on the new IE9. It takes the Chrome approach: websites are apps, and the browser should get out of the way. One new thing is that Windows 7 users will be able to pin bookmarks to the taskbar just as though they were apps:

IE 9 allows you to pin web site shortcuts to the Windows taskbar and Start menu just as you would application shortcuts. To do so, you drag the site icon from the One Box (address bar) to either location. If you’re familiar with how this works with applications, there are no huge surprises. But when you do pin a web site, the IE window will reappear with automatic customizations: The Home button is gone, replaced by a new site home button that appears to the left of the Back button. The Back and Forward buttons are colorized to match the site design. And the pinned shortcut gets some default jump list items, assuming the site hasn’t customized that.

Paul has already done this to his own site, and perusing “View source”, I found out more. The pinned taskbar icon will be derived from the sites favicon (good luck with that, Mozillas tried to tackle their low res back in the day). In addition to this, Microsoft wants you to add a few lines of vendor specific meta tags:

<meta name="msapplication-tooltip" content="SuperSite for Windows" /> 
<meta name="msapplication-task" content="name=Windows 7;action-uri=/win7;icon-uri=/images/icon_win7.ico" /> 
<meta name="msapplication-task" content="name=Windows Phone 7;action-uri=/mobile;icon-uri=/images/icon_phone.ico" /> 

This is a different approach than that of Google, which — to be fair — pioneered this whole “the web is the app” strategy. Chrome Web-Apps may not be integrated in your Windows 7 taskbar, but they will be pinned to your Chrome browser and synced. Chrome Web-Apps are bundled in zip files containing icons and permission lists, and you’ll be able to buy these bundles in the Chrome Web-App Store. While either strategy may fail, Googles is certainly the most ambitious one.

Quick Thoughts On The IE9 PDC Preview

Good old Microsoft still think they have something to offer the web community. Segway: maybe theydo! Internet Explorer 9 is in the works, and if everything goes according to plan, it’ll sport 2D hardware acceleration (faster and more smooth scaling and rendering of fonts and CSS borders and images), CSS3 support (the interviewer seems to think border-radius is something Microsoft has just invented) and a new faster JavaScript engine. Of course you need Microsoft Silverlight installed to see the videos, this is still Microsoft after all.

I’m assuming the new font rendering engine will eventually propogate to the entirety of Windows; in fact I was expecting it would replace the default font rendering engine in Windows 7 which was not the case. Until then, if IE9 really does smooth fonts differently from all other apps on the system, it’ll be the odd man out, just like Safari and iTunes were until they ditched their custom smoothing.

The rest of the hardware acceleration (for CSS, images and so on) is intriguing, however. It’s DirectX based, so it’s Windows only (again, what did you expect). This could potentially put IE9 back on the map as a semi-serious contender. On the other hand, WebKit has WebGL on the way, and Google will no doubt do what they can to speed up webapps with their Chrome OS. It’ll be interesting to see this play out.

IE9.jpg

The CSS3 support is welcome by default, if only because IE8s lack there-of turned out to be a completely unnecessary and useless stepping stone. As usual, it’ll have little immediate impact for us poor web-developers, as Microsoft refuses to push the browser as a mandatory security update. Even so, I never thought I’d hear Microsoft talking about the ACID3 test. Fun times.

In the video presenting their new faster JavaScript engine, they’re using Gmail as an example of their JS compatability. They’re also comparing to Google Chrome (clearly treated as a competitor now) and Firefox. Is this the new open Microsoft?

So, faster, hardware accelerated and with CSS3 support. All good things. Now what I really need to know is: when will this benefit webdevelopers who’ve struggled with IE6 for nearly a decade. If a browser falls in a forest, and no-one is there to hear it, does it matter if it’s hardware accelerated?

Elegant Finger

There’s a little game of cat and mouse going on between Google and Microsoft, a game that just got a bit more interesting. Just now, Google sent a love-letter to web-developers worldwide; everyone except those at Microsoft. They got a Dear John letter.

Fresh off the stove, Google Chrome Frame allows users of Internet Explorer to leverage the speed and advanced rendering features of Google Chrome. In a nutshell, it lets users browse the web using the browser that came with their operating system, but actual page rendering is done by the Google Chrome engine.

Here’s an awesome HTML5 demo website in Internet Explorer 8:

HTML5_IE8.png

Here’s the  website in Internet Explorer 8 with Google Chrome Frame:

HTML5_IE8_Chrome_Frame.png

For web-developers, including myself, this is a joygasm. Where I used to be able to offer my customers two options: not caring about Internet Explorer and asking extra payment to hack and compromise, I can now offer to detect and/or suggest that users install Chrome Frame. It’ll even make Internet Explorer more secure. How about that.

There are a few thorns on this rose, of course. It takes a second more to load the Chrome Frame engine on websites that ask for it (but once Chrome Frame is “warm”, it loads unnoticably fast). Also, it’s a plugin; people will still have to install it. Finally, to leverage the power of Chrome Frame, developers have to add a single line of code to their websites to invoke Chrome Frame when available. All that, I find, is fine, comparing it to the alternative.

The question is whether “fixing” Internet Explorer is actually conducive to the adoption of superior browsers (i.e. all other current browsers on the market), or whether it hurts the cause by letting people snooze in their trainwreck blast-from-the-past browser. It’s like making your Cadillac Escalade fuel efficient and safe for others than yourself with a snap of your fingers;  but do we want people to drive a Cadillac Escalade in the first place?

We’ll see how things play out. For now, Google has elegantly raised their middle finger in the general direction of Internet Explorer, and all Microsoft can do is sit back and suck it. Again.

Running Windows On The Mac: Did It Ever Work? [Update 3: Returning It]

Just last week, I bought myself a brand new unibody Macbook Pro 15, a rather expensive piece of hardware. I bought it, expecting it to run Windows natively via multi-boot; Apple advertises that their Boot Camp feature will do just this:

[Mac OSX] Leopard is the world’s most advanced operating system. So advanced, it even lets you run Windows if there’s a PC application you need to use. [...] Setup is simple and straightforward – just as you’d expect with a Mac.

As it turns out, sure, setup is easy, but that’s pretty much where the trademark simple and straightforward ends. Windows, running on my late 2008 Macbook crashes, freezes and Blue Screen Of Deaths me constantly, as in at every 10 minutes of plain use. To preempt your question, “Why run Windows at all?”: gaming.

There are a number of problems:

  • Windows doesn’t seem to control the cooling fans at all, and so it overheats
  • Windows can’t switch between the two (fast or power friendly) graphics adapters
  • Windows freezes when simply browsing websites

So overall, Windows on the Mac is a consistently unpleasant experience, which brings me to the purpose of this post. I need to decide whether I should return the Mac for a full refund and buy a different laptop for half the price, or alternatively, establish whether it’s likely that Apple will address all of these issues given reasonable time. It would really be a pity to return the unit, as I have already grown quite fond of the hardware. Furthermore, despite prior gripes, I can actually now see myself switching to OSX for day to day work, only to boot Windows for the occasional game of Fallout, whereas I bought this Mac with the expectation to do both while in Windows.

Because I genuinely want to make this thing work, I have a number of questions I would love to hear your opinions on, and preferrably before thursday this week where my 14-day right of return expires:

  • Do you have a late 2008 Unibody 15 Macbook running Windows, and are you having similar troubles?
  • Do you have any other Mac running Windows, and if so, is that unit running perfectly?
  • Have you had problems like these on older Mac hardware, which Apple fixed with firmware and software updates?
  • If you are running Windows on a Mac, is it Vista or XP, and did switching from one to the other fix your troubles?

Please note again that I’m referring to Windows running in Boot Camp, not in emulation or virtualization like Parallels or VirtualBox.

While I have done some a lot of research on the topic and found that quite a few others are having the same troubles, and even articles on Apple supposedly working on a fix for these issues, I would love to hear updated feedback on this. As a point of note: OSX runs just fine, doesn’t crash and cools the machine aptly, which leads me to believe this is mainly a Boot Camp software / driver issue, rather than solely a hardware issue.

So there it is, the current state of my fling with The Mac. Please help me turn this into a love-affair. I’ll end this with a Steve Jobs quote:

Design is not just what it looks like and feels like. Design is how it works.

If you’re reading, Steve, right now it doesn’t work.

Update: I’m putting a signed print of your choice on the line for the author of the comment that fixes the problems I’ve been having—not that I think that’s possible without Apple actually getting involved, but it’s worth a shot.

Update 2: After reading an article on The Inquirer, I’m now finding it likely that this Macbook and many others are suffering from bad Nvidia hardware. Please help me decide whether I should return the unit, or request a repair.

Update 3: Returning it. More to follow.

Tags And Labels vs. Sections. It's Archiving Smart, Stupid!

What’s the difference between a category and a tag?

I’ve been asked that question a number of times, and the answer always escapes me. Reading that Microsoft will be redesigning their Xbox interface, dropping fixed sections and adopting a non-hierarchical structure reminded me of tags vs. categories. Now I think the difference between the two is paradigm sized.

Gmail calls them labels. Flickr calls them tags. In both cases, they’re simply ID pins you put on anything you feel fit together. For instance, you might put a label called “music” on both Sonic Youth and Rihanna content, but an additional label called “outstanding” would only be tacked on to the former. Categories, on the other hand, approach things differently and discriminate content into hierarchical sub-categories. The idea is that a tree-like structure allows for more directed browsing of the categorized contents.

As such, the most elaborate difference between tagging and categorizing content is the ad-hoc nature and lack of hierarchy inherent in tagging mechanisms. Tags are born equal and earn their fame with repeated use. This encourages the creation of many more tags than you would create categories, further refining casual users ability to drill through the depths of specific content.

Because of the casual nature of tags, the creation of single-use throwaway tags is not a problem. The more tags, the better1—so much that it might even make sense to allow end users to tag your content. Think about it, users plow through your Mariana Trench deep archive leaving little golden crumb trails in their wake.

Tags are the cake and the whipped cream of usable future interfaces. I find that a safe bet.

When tagging mechanisms are added to various content exploration interfaces, quite a few things become immediately obsolete. Any hierarchical structure such as folders become near-worthless when you can see the “folder contents” of your choice by simply clicking the appropriate tag. The mystery meat discoverability problems inherent in having hidden subfolders go the way of the dodo; in its stead is a marxist non-hierarchy.

The requirements for tags seem simple: a flat structure and scalability. Of course, simplicity is no simple thing.

For one thing, the flat structure of tags begs the question from the couch potato: which tags are the good ones? Sizing up tags according to usage popularity—tag clouds—only lets us know which tags have the most content. Picking out the ones that hide the good stuff requires a human editor.

The other thing, scalability, doesn’t come easy. For a moment, let’s forget the fact that categories are usually lists, just like tags, and instead visualize a finite number of sections. Because each section of an interface can hold content according to its section title, sections can be compared to parent categories. When there’s a finite number of sections, we can design them like tabs or stacks or whatever physical metaphor you can think of. Now what if we need a new section but we’ve run out of room? Well you’d be screwed and you should have designed a scalable interface. Enter the PlayStation and Xbox dashboards.

XMB

The PlayStation 3 dashboard uses a cross media bar, or XMB for short. The XMB consists of a horizontal line of icons floating in space, as many icons as are needed. Highlight one icon and another list of icons will cross the bar, allowing you to select sub contents vertically.

The current Xbox dashboard, on the other hand, uses a blade-like interface; tabs span the height of the screen and sections are selected by flipping left and right. Like with all other section-divided interfaces, the amount of room for sections is finite, hence putting quite the responsibility on naming those sections. Have you tried this interface? Where would you look for downloadable games; In “Xbox Live”? Or in “Games”? Suffice to say, discoverability is low and scalability virtually non-existant.

It seems, however, that Microsoft, come next Xbox system update, will be switching to a scalable interface to the system.

Xbox

Could this be the contents of a Halo tag?

Instead of the finite amount of blades, the Xbox will sport a Playstation XMB-like cross-navigation system allowing for an infinite amount of vertical and horizontal sections. While the not-entirely-flat structure will require some drilling, at least the potential will be there to create clever, throw-away content-hubs that simplify finding content. Microsoft calls this the “New Xbox Experience”, and they think it’ll do well in Europe. I say it might. But it all depends on whether they dare use this new tag-like, flat and scalable interface structure the way it should be used. That is, like you would use tags and not categories.

The difference between a tag and a category is that one tries to organize chaos and falls flat; the other accepts chaos and deals with it.

  1. To a certain degree, of course. As with all good things.