October 10th, 2007

Summary:   Wherein author picks up both stick and carrot, paying particular attention to the attached metadata: Me relate stick. Me relate carrot. Me class hitting. Stick class hit. Carrot class eat. Me relate Microsoft. Translation: I am hitting the stick with Microsoft, while eating a carrot.

  • Open source developers, providers of free or inexpensive shareware applications, those working on open standards and specifications, or providing documentation, tutorials, and help for all of the above: you almost make me believe there is a land over the rainbow, and that it has fairies and unicorns and we never have to wear shoes. I don't thank you, as often enough, and as much as you deserve.
  • Speaking of which: whoever came up with the original idea for CSS, you deserve chocolates
  • Everyone is mad at Apple for iPhone, but I don't care: Safari 3 is a wonderful browser. Color management, far out. And Opera? Thanks for standing up for standards. Firefox, you're cool, too, but you need to commit to implementing one spec before you start on others. Oh, and it would be really nice if you didn't crash so much. No, really that would be cool.
  • The WhatWG and (X)HTML5 efforts are, in my opinion, not the best use of resources. We've spent years separating presentation values from page layout, only to turn around and make the same mistake with semantics. Accessibility is in; accessibility is out. Machine versus human semantics; Indent versus blockquote. Hey! Poem markup! SVG isn't 'semantically rich' . When semantics have to be hard coded into the syntax, satisfaction will never be guaranteed. Open models, not new specs. When will they ever learn? When will they e-v-e-r learn.
  • Regarding microformats: Using "rel", "class", and "profile", as the only available means in which to add semantics to markup is the same as using LOLCats to re-define the Bible: it's pidgin markup. "Me class sitting. Me relate chair. Chair relate desk. Me class watching. Me relate windows. Window relate Woman. Woman class running. Woman relate street. Woman class feeling. Feeling relate weather. Weather class cool. Weather class fall. Me class wistful. Me class wishing. Me relate woman."–this is my sad attempt to describe my sitting in a chair at my desk, looking out through my open window at a woman jogging along in the wonderfully cool fall weather, wishing I was her instead me being here at the computer. At some point in time, simplicity breaks down and you want a richer method in which to express your meaning.
  • Chew on this: pictures as data, as well as visual, entities.
  • Canvas is cool, but SVG is better. It's not just because SVG elements become part of the Document Object Model (DOM) and are easily scriptable. It's because we can find SVG similar to what we want, copy it, manipulate it, and we don't have to know any scripting. I wanted images of musical notes and searched on "music notes svg", which led me to this Wikipedia page and this (as well as this) public domain SVG. I copied the SVG file and deleted the SVG creating the bars–no bitmap tool magic needed to pull the notes separate from the bars. I split the notes into two separate images by coping and pasting the two different elements. I copied the SVG for both into this post, and scaled them into tiny little representations of themselves. Though the browser had to reach to scale them so small, we're not left with a tiny little bitmap blobs.

    I did think about using the following image, copied from this resource. Oh look, the original SVG contains metadata defined using RDF/XML. Isn't it marvelous when you can merge rich, well defined XML vocabularies together? Just like that?

    –svg image–
  • Silverlight: Why? There's nothing in Silverlight 1.0 that doesn't exist as an open standard and can't be supported for IE applications–if Microsoft would just support them. Silverlight as a 2D graphics system? Both SVG and Canvas are 2D graphics systems. Microsoft supports form controls like buttons? Hey! Guess what we've had in HTML for years? Silverlight 1.1 integrates web browser and ASP.NET functionality, which means you can use your Microsoft Visual Studio and Microsoft Web Expression applications to create Rich Internet Applications? Fantastic! It still doesn't change the fact that Microsoft pushed its browser on the same developers it's trying to suck into the Silverlight world, and then abandoned it, and us, for five years; effectively holding up advances in internet development for half a decade.
  • Adobe Flex/AIR: Why? It's true that Flash has done much for us over the years, and we're grateful, but we're ready to move into a new era of open standard applications and, frankly, Adobe, you're rather hit and miss when it come to 'open' and 'standard'. Take your SVG plug-in. It's cool and we thank you for providing it so that IE users could see what they're missing using a half-assed browser. Now you're going to pull the plug-in and your support for it. Why not open source it, and let the open source community decide if it wants to continue to support it? Is it because, as has been noted elsewhere, you want us to consider converting [our] SVG application to an Adobe Flex® application? Golly, I just love these opportunities to get sucked into another bloated, proprietary application environment. It makes me feel so good when you finally, inevitably, stop.
Comments
1
Paul Tomblin - 2:21 pm 10/10/2007

The word is "pidgin", not "pigeon". It's an artificial simplified language, not a bird of the family Columbidae.

2
Shelley - 2:37 pm 10/10/2007

Thanks, Paul.

3
Kevin Marks - 3:55 pm 10/10/2007

I'd say microformats are a creole derived from the exiting element pidgin, with RDF somewhere on the Esperanto/Volapük/Loglan/Lojban line of thought.

4
Shelley - 4:09 pm 10/10/2007

Mwen vle ede; Ki jan mwen ede?

5
Scott - 4:51 pm 10/10/2007

Man, I had a nice long comment typed up. Then the post went away. Then it came back.

Suffice it to say, Flex and AIR aren't what *I* think you think they are. Flex is a framework/API that uses Flash. And AIR is a cross-platform deployment environment. In theory, if the version of Webkit Adobe embeds into AIR supports SVG, you could use AIR to write a desktop application using Actionscript or Javascript and use SVG for the UI.

The idea that I can write a cross platform desktop application using HTML + Javascript + whatever nifty JS widget library I want is pretty cool to me.

6
Shelley - 5:04 pm 10/10/2007

Scott, sorry, I switched out one of the SVGs for another.

I currently can use Notepad to write SVG. And I'd really like to see if we can't get the browsers to working across the board before we abandon them for the desktop.

Adobe has a habit of being generous with technology that vanishes at some point, just when it suits the company.

7
Sam Ruby - 6:50 pm 10/10/2007

Feed weirdness. Perhaps you can explain what is going on because I'm confused.

I didn't see your pretty SVGs on Planet Intertwingly, so I went digging. Whereas your feed once expressed your text as type="xhtml", I now see type="html". But that's not my point of confusion.

When I take a look at your feed directly, I see what appears to be escaping errors that the feed validator doesn't catch. That concerns me more, but when I view source, I see a different feed, one with lines like the following:

<title type="xhtml"><![CDATA[Stuff]]></title>

Any idea why this might be?

8
Shelley - 7:26 pm 10/10/2007

Sam, this feed is generated by code directly from the WP 2.3 update. I dug out the html_type in the database and set to XHTML, but this is going to end up causing problems with other user agents so will have to turn back.

9
Sam Ruby - 7:34 pm 10/10/2007

Oh dear, now look at how your entries look on Planet Intertwingly. But whatever you did, the Feed Validator now sees the same thing as view source does.

10
Shelley - 7:47 pm 10/10/2007

I edited the feed directly. It validates now, and should work on Planet Inter. I just have to remember that I can't overwrite it when I do one of the many, many WP upgrades.

11
Sam Ruby - 3:36 am 10/11/2007

Cool. Now that the feed has been fixed, let's see if we can work on solving that upgrade problem. I don't know how "vanilla" your WP install is these days, but can you try this patch instead of your feed edits to see if it works for you? If so, I will try to get either it or its equivalent into WP HEAD.

12
Shelley - 8:21 am 10/11/2007

Sam, there's an html_type option for Wordpress, that's used to set the content type in the feed. Unfortunately, it seems to be a bastardized system, and I'm not even sure why it's in the options table, as there's no way to change this.

However, it would seem to to me that it's preferable to use this rather than loading the content into an XML parser, every time the feed is accessed. Actually a better time to run things through the XML parser and look for an error is before the post is saved.

This goes to the bigger picture that Wordpress needs to be XHTML aware, and it's not. In fact, it actively works against serving up XHTML pages and this isn't the only hoop I have to go through.

An approach I'd rather take is to discover the 'anti-xhtml' areas of the tool, and come through with an overall upgrade strategy for upgrading the tool to support XHTML. This includes running the XML parser on back entries and finding and fixing error, which I haven't done myself with older entries.

As far as I know of, I'm one of the few WP users who is serving XHTML, and the only I know of integrating SVG and possibly even RDF. Aside from remembering not to override files where I put comments with my name (my way of finding ones that need to be preserved), there's no rush to make this change.

Supposedly this is an open source tool and contributions from the 'outside' are welcome. Frankly, I'd like to take a shot at making these fixes myself, but I'm not going to be doing them immediately, I'm on a deadline. In fact, the work I'm doing with SVG is testing for the book.

After this book is finished, and after I'm finished with a current contract, if it ever takes off, I should be set to have a few months time to do work of this nature before I have to focus on money making work again.

I'm not the greatest expert on XHTML, and this will give me a chance to increase my learning in this area. I'd like to then hit your and Jacques up for help, because you both are experts. However, I realize that others might want to grab this now, and do their thing. Such is open source. Still, WP has been 'anti-XHTML' for years–I don't think there's a huge rush.

Anyway, that's what I'd like to do.

Sound cool?

13
Sam Ruby - 8:45 am 10/11/2007

You are certainly welcome to not install this patch and to develop your own. If/when you do so, I will follow your efforts and endorse them. But meanwhile a few thoughts:

I, too, am mostly on the outside, but I contributed in a minor way to wp_app.php in 2.3. That work was done on a deadline, and there is a number of ways that I'm not happy about it; in particular the code needs a cleanup.

One of the primary ways in which the code needs a cleanup is that wp_app.php and feed-atom.php produce entries in different ways. That code really should be refactored into a single, common way. The patch I uploaded was a first step in that process.

While my weblog, too, is served as xhtml, I have code that verifies the output on the way out. A safety net, as it were. Early on, it would help me find bugs in my code. I effectively have similar safety nets in Venus which ensure that its output is always well formed no matter how mangled the input.

In any case, I would like to proceed with my patch and then onto greater refactoring to the point where wp-app and feed-atom converge. Any way you can help — and if now is not a good time, even testing or suggestions would be welcome — would be greatly appreciated.

14
Shelley - 10:51 am 10/11/2007

Sure, Sam. Like I said, I'm a month behind on a book that's not been going well, so I really can't help much. Frankly, this will probably be it for me and the weblog until the book is done. The weblog does not help the book writing process.

Good luck with the feed and the app changes. If there's anything left to do later, maybe I'll try my original idea of doing an organized XHTML port.

Thanks to all those who have contributed to the discussion. Comments are now closed, but you can contact the author of the post directly.