First look at MSN blogs

Since Scoble pointed to his (content-free and Japanese) blog on the new MSN Spaces blog server, I thought I’d take a quick peek. Several hours later, I need an extended entry.

Starting at the start, the headers: the HTML itself is sent with no useful-for-caching headers other than Cache-Control: private, so you’ll be reloading it every time. The CSS is delivered with both a Last-Modified: Fri, 06 Aug 2004 02:06:22 GMT and Etag: "0e338f8597bc41:628" header, which would make it quite cacheable if not for the fact that for two of the three external stylesheets, the Etag: changes on every page load, despite the CSS being unchanged. Four images are able to return 304: Not Modified, seven are uncached. In part, that’s because two of the images are web bugs: one for and one for (which strikes me as exactly two more than you should need for statistics when it’s your own damn server). Javascripts return one 304 and two 200s, probably in part because they are used for the blogroll.

The HTML is, of course, execrable. The one possible way they could have gotten some approving buzz from tech bloggers was to use extremely clean (X)HTML, but given the apparent total lack of a corporate culture believing that code is poetry, at least when it comes to HTML, there was little hope of that. It might be possible to persuade Microsoft tools to produce valid HTML, but judging by what mostly comes out of them, they must think of HTML as a hot dog factory, where nobody in their right mind would ever look inside. Validating Robert’s page, without even a post, produces 166 errors, but judging by the way they become confused toward the end, it’s one of those cases where cascading errors completely baffle the validator, and the actual number is unknowable. Validating another weblog, with one post, produces 186 errors, but they are equally confused toward the end. Given how pervasive and external the errors are (the first error is a missing DOCTYPE, there’s a slug of errors from the table (!) at the top that inserts the MSN branding), I’d say there’s no hope of an individual altering a template (assuming they even have templates) enough to be able to use the validator to check their own HTML. (As it turns out, no template, and also no user-produced HTML, so it probably doesn’t matter that much.)

The actual HTML is… painful to look at. Clearly generated, it includes special delights like a table of all-caps tags in the middle of a table of lower-case tags, unquoted attributes that include units, “id” attributes that start with utterly illegal characters like underscores, a mix of tables with spacer gifs, inline style attributes, and divs and spans with id attributes to apply CSS, along with utterly jarring things like a <LINK REL="stylesheet" HREF="Parts/Css/Parts.css" type="text/css"> element appearing in the middle of the body. The fact that it appears in readable form in more than one browser is an amazing testament to the skill and hard work of browser makers.

Semantically? There are no semantics. Zero headings, meaning-free classes and ids and names, table layout, blogroll marked up as list items, but not within any sort of list… no semantics whatsoever. None. Posts are marked up as paragraphs, rather than with pairs of break tags, and that’s the only thing I can find to praise.

The design is moderately pleasant: reminds me of one of my favorite designs from the old Blogger template contest. Reminds me of it a lot. A very great deal, I must say. Quite reminded. There are three layouts, three column and two two column with sidebar left and right, seven color choices, and a rather nice drag-and-drop tool to move around the various possible chunks of the layout.

Permalinks go to individual entry pages, with crufty members/username/Blog/cns!1pgo08wW8299KK4zVpfEl7tA!113.entry URLs. Archives are also available by month and by category if you have Javascript enabled. The “link” to a monthly archive is something like javascript:BoldArchives('82004');javascript:DispatchHelper('BlogByArchives', 'ayear%3d2004%26amonth%3d8', 'BlogView');. The only possible explanation I can come up with is to discourage accidental linking to somewhere other than the permalink target, but at a simply astonishing cost.

Both comments and trackback are supported, though they don’t include the RDF for Trackback autodiscovery, making pinging a bit more awkward. The Trackback URL is just the permalink with the “entry” at the end replaced by “trak”, so at least it’s less difficult than it could be. To reinforce the opinion of all those doubters of TypeKey who said it was just the return of Passport, there’s a big fat Passport login right above the (disabled until you sign in) comment form. Oddly, signing in doesn’t convey any benefit to the commenter: not only do you still have to fill in your name, email, and URL, there isn’t even a cookie to remember them, either for that single blog, or to leverage the community nature of everything being on by remembering them for all Spaces blogs. It’s just a senseless hurdle, easily leapt by any half-competant spambot scripter.

Warning: your email address will be displayed, in a mailto, without even the courtesy of useless entity encoding. Be sure to either use your favorite equivalent, or just skip it: Name is the only required field.

Up to this point in my looking around, my complete lack of any Japanese wasn’t much of a problem: HTML is HTML, and blog layout is standard enough that I can find my way around most parts in any language. However, Robert wasn’t kind enough to post an entry where I could play with comments and Trackback, so I had to sign up for my own Space.

To the surprise of exactly nobody, when I clicked the signup URL in Firefox, I was told to get a better browser. Instead, I switched to Internet Explorer.

If you’ve ever doubted the benefits of standard user interface, try signing up for a service and using it, all in a language where you don’t even know a single word. Thanks to almost everything being exactly where I expected, I only made one misstep, with what must have been Cancel when I wanted OK. (And, for a little cheating, it does help that the URLs are in English, so I could tell Profile.aspx from SpaceSettings.aspx.)

The posting form is a basic rich-text editor, with an uneditable date, a title, a select list for categories prefilled with a dozen with a link to add a new category, the editor with the usual bold, italic, underline, left/center/right align, ordered and unordered lists, indent and outdent, link (your choice of http, ftp, or mailto, nothing else), and color buttons, then a section to add photos (gif or jpeg, less than 1MB, upload from your computer to, included as a thumbnail linked to the full image with no option to add alt text), a section to add a Trackback URL (or possibly multiple URLs, separated with something: being able to read the directions there would help), and buttons to post, save a draft, and (apparently, at least) cancel the current edits (delete an unsaved entry, but not a drafted entry), and a preview tab.

The editor seems a bit touchy: quite often, I’d wind up with only part of it loaded, so the textarea itself didn’t exist, though a refresh generally cleared it up. If there’s any way to edit the HTML directly, I couldn’t find it.

Of course, they have RSS feeds (though you can choose not to publish RSS, in the settings). Dave will be delighted that they are RSS 2.0, with no sign of funk that I could spot: items are title, link, description with full encoded content, comments, a guid which is a permalink, and a pubDate (though, sadly, no orange XML button). Sam will be delighted to know that they validate out of the box. Charles will be delighted to know that they include both Last-Modified and Etag headers, and apoplectic over the way that when presented with the proper If-Modified-Since and If-None-Match headers to reply to a request with a 304 Not Modified, they instead return a 200, with the exact same Last-Modified and Etag headers, and the exact same content. I am interested to note that the feed I get while I’m signed in to Passport includes draft entries, unlike the feed I get when I’m signed out. Since most RSS readers aren’t going to be sending a cookie that includes the Passport login information, <wide-eyed-and-innocent> that would seem to make an RSS reader built into the browser more useful than others </wide-eyed-and-innocent>.

The main page and archive pages both support RSS autodiscovery, though with an XHTML-style <link ... /> which I think is one of the things contributing to the huge cascade of confused validation messages.

Trackback pings worked just fine, both from another Spaces entry and from Movable Type, though I’m a bit disappointed by the way they ducked the i18n issue by only displaying the URL of pinging sites.

Beyond the way that editing your weblog requires Windows and IE 5.0+, the only other bit of “evil” I noticed was in the way comments and Trackbacks are displayed: in Firefox, the links from the blog main page for comments and Trackbacks go to #comment and #trackback in the individual entry, while in Internet Explorer with Javascript enabled, they are Javascript “links” to open (but not close) the comments and pings inline in the main page. I seem to remember reading somewhere that there’s a bit of browser sniffing built into ASP.NET to be evil in that way, but I can’t get too excited about it: I don’t like the inline effect anyway, so I’m not going to miss it. It’s much more useful where you can’t escape being in IE, heading into the post editor. On your way to a new post, you pass by a list of your posts, with the number of comments and pings listed, and a toggle to display and delete (though not edit) them.

In a very curious twist on the usual system, weblogs are presented without ads other than the self-advertising line of links to MSN and to sign up for MSN Spaces, while the editing interface, ad-free in every tool I’ve ever used, has a huge (well, 728×90, big by my standards) banner ad at the top forcing content down below the fold. I’ve got in my Hosts file, so I don’t know what sort of thing they are selling, but it’s hard to imagine advertising that’s displayed while you are in a web app, with a task in mind, being very effective.

I’m sure there’s more to look at, including the mobile features (which aren’t standard enough for me to be able to guess what the setup was asking for, without a translation), and whether or not there’s any option to ping update services, but I’ll have to leave that to someone who reads Japanese.


2004-08-12 00:26:08

Floods, Harry Potter Tribute Bands and Other Oddities

Finally a use for all those inner city SUVs: The rescue services say the situation is likely to get worse. They are appealing to people who own four-wheel drive cars to help reach some of the worst-affected areas. The…

Trackback by moblog #
2004-12-02 06:45:19

MSN spaces – blogging from Microsoft

MSN has just released its new blogging service known as MSN Spaces. The service had been running quietly in Japan and Phil Ringnalda gave it a thorough going overback then. The outcome wasnt great in terms of technical competance.


Sorry, the comment form is closed at this time.