Categories
Semantics

Arbitrary Vocabularies and Other Crufty Stuff

I went dumpster diving into the microformats IRC channel and found the following:

singpolyma – Hixie: that’s the whole point… if you don’t have a defined vocabulary, you end up with something useless like RDF or XML, etc
@tantek – exactly
Hixie – folks who have driven the design of XML and RDF had “write a generic parser” as their priority
@tantek – The key piece of wisdom here is that defined vocabularies are actually where you get *user* value in the real world of data generated/created by humans, and consumed eventually by humans.
Hixie – i’m not talking about this being a priority though — in the case of the guy i mentioned earlier, it was like or
Hixie – but it was still a reason he was displeased with microformats
@tantek – Hixie – ironically, people have written more than one generic parser for microformats, despite that not being a priority in the design
Hixie – url?
@tantek – mofo, optimus
@tantek – http://microformats.org/wiki/parsers
@tantek – not exactly hard to find
@tantek – it’s ok that writing a generic parser is hard, because not many people have to write one
Hixie – optimus requires updating every time you want to use a new vocabulary, though, right
@tantek – OTOH it is NOT ok to make writing / marking up content hard, because nearly far more people (perhaps 100k x more) have to write / mark up content.
Hixie – yes, writing content should be easy, that’s clear
Hixie – ideally it should be even easier than it is with microformats 🙂
singpolyma – Of course you have to update every time there’s a new vocabulary… microformats are *exclusively* vocabularies
Hixie – there seems to be a lot of demand for a technology that’s as easy to write as microformats (or even easier), but which lets people write tools that consume arbitrary vocabularies much more easily than is possible with text/html / POSH / Microformats today
singpolyma – Hixie: isn’t that what RDFa and the other cruft is about?
Hixie – RDFa is a disaster insofar as “easy to write as microformats” goes
singpolyma – Not that I agree arbitrary vocabularies can be used for anything…
Hixie – and it’s not particularly great to parse either

Hixie – is it ok if html5 addresses some of the use cases that _are_ asking for those things, in a way that reuses the vocabularies developed by Microformats?

Well, no one is surprised to see such a discussion about RDFa in relation to HTML5. I don’t think anyone seriously believed that RDFa had a chance of being incorporated into HTML5. Most of us have resigned ourselves to no longer support the concept of “valid” markup, as we go forward. Instead, we’ll continue to use bits of HTML5, and bits of XHTML 1.0, RDFa, and so on.

But I am surprised to read a data person write something like, if you don’t have a defined vocabulary, you end up with something useless like RDF or XML. I’m surprised because one can add SQL to the list of useless things you end up with if you don’t have defined vocabularies, and I don’t think anyone disputes the usefulness of SQL or the relational data model. A model specifically defined to allow arbitrary vocabularies.

As for XML, my own experiences with formatting for eBooks has shown how universally useful XML and XHTML can be, as I am able to produce book pages from web pages, with only some specialized formatting. And we don’t have to form committees and get buy off every time we create a new use for XML or XHTML; the same as we don’t have to get some standards organization to give an official okee dokee to another CMS database, such as the databases underlying Drupal or WordPress.

And this openness applies to programming languages, too. There have been system-specific programming languages in the past, but the widely used programming languages are ones that can be used to create any number of arbitrary applications. PHP can be used for Drupal, yes, but it can also be used for Gallery, and eCommerce, and who knows what else—there’s no limiting its use.

Heck HTML has been used to create web pages for weblogs, online stores, and gaming, all without having to redefine a new “vocabulary” of markup for each. Come to think of it, Drupal modules and WordPress plug-ins, and widgets and browsers extensions are all based on some form of open infrastructure. So is REST and all of the other web service technologies.

In fact, one can go so far as to say that the entire computing infrastructure, including the internet, is based on open systems allowing arbitrary uses, whether the uses are a new vocabulary, or a new application, or both.

Unfortunately, too many people who really don’t know data are making too many decisions about how data will be represented in the web of the future. Luckily for us, browser developers have gotten into the habit of more or less ignoring anything unknown that’s inserted into a web page, especially one in XHTML. So the web will continue to be open, and extensible. And we, the makers of the next generation of the web can continue our innovations, uninhibited by those who want to fence our space in.

Categories
Writing

Whiteness

I don’t know if I’m the only one seeing a white page on the site, but since the upgrade to 6.11 in Drupal, I’ve had problems accessing all my sites. The problem could also be my hosting, and I’m currently exploring the possibility of moving. However, the problem has become much, much worse with the 6.11 upgrade. If you’ve had problems accessing the site, let me know.

I now have seven Drupal installations, though two are “stealth”. One I’m using to write my new book. I stripped away all styling and then designed a Drupal theme that supports ePub. I’ll be adding a second theme that supports Mobi/Amazon, and possibly a third that supports a PDF book. One of the advantages of being comfortable with XHTML is that you can take your mad XHTML markup skillz to the eBook world with only a little effort. Once I’ve published the book, and know the themes are working 100% I’ll upload them to the Drupal theme site, for people who want to use Drupal to write eBooks.

I will say that self-publishing is a different world now. There are so many resources. One wall I hit, though, was getting an ISBN. I could swear these were free at one time, but now, ISBNs in the US have been “contracted out” from the government to a privately owned monopoly.

You don’t need an ISBN for an eBook, though some sellers prefer ones. But if you’re going hard copy as well as eBook, which I am, you’ll have to have one. You can also “borrow” an ISBN from some distribution companies, but they don’t recommend this approach, because you’re then stuck with them as publisher. You can also buy a single ISBN, but it’s a lot cheaper just to buy a block of ten, and then if you need a new ISBN for another edition, or a new book, you have it.

It’s just that having to buy an ISBN wasn’t a cost I was expecting. Again, these are free throughout the world. Only in America do we contract what should be universally accessible to monopolies. How else to explain our cable systems?

Regardless of the unexpected expenses, there’s something very rich, and satisfying, about having some control in all aspects of my book. O’Reilly is a good publisher, and the company has been generous with me, but I’ve always felt out of the loop with my books. For instance, I didn’t know my books were going to be published to the Kindle until after the fact. I didn’t know they were all being released as DRM free ebooks on the Kindle until after the fact. I’m happy about the books being offered DRM free, but I sure would have appreciated a quick note before hand.

(Not to mention having some say in the cover, formatting, and subtitles…)

No, the success or failure of a self-published book is really dependent on the author. This is both scary, and wonderful.

Categories
SVG XHTML/HTML

Whipping boy

I noticed a passing twitter message from Laura Scott. It said One word: standards. Firefox follows w3c standards. Internet Explorer does not. She wrote it in response to another Twitter message from tutu4lu, who was having problems with a web page appearing differently with IE than Firefox.

It is true that Firefox implements more standards than IE, especially in when it comes to some of my favorites, such as SVG. And I appreciate the fact.

Firefox does not necessarily get an A+ for all of its effort, though. In particular, if Microsoft’s lack of implementation of XHTML has been one force against broader implementation of XHTML at web sites, Firefox’s own handling of XML errors in XHTML is another, more subtle force against XHTML.

Here’s an example. I added an ampersand (&) to a URL in one of my posts, which generates an XHTML error. The following are three screen shots from Chrome, Opera, and Safari, respectively, that demonstrate how they handle the error:

XHTML error in Chrome
Opera XHTML error
Safari error

Safari and Chrome are both built on WebKit, which handles XHTML errors by parsing, and rendering, the document up to the error. This has the advantage of providing some content, as well as being able to more quickly find the error when you’re debugging.

Opera doesn’t render the document, but it does provide a display of the source with highlighting where the error occurs. This is extremely helpful when you’re debugging a larger document. In addition, Opera also provides an option to render the document in HTML, rather than XHTML, which is helpful for everyone else.

Contrast and compare these screenshots with the following, from Firefox.

Firefox error handling

The Firefox XHTML error handling is also known as YSOD, or Yellow Screen of Death. It’s harsh, abrupt, and somewhat punishing in nature, with its sickly yellow background, and bright red text. The message is typically cut off by the edge of the browser window, so one can’t easily see where the error has occurred. It’s most definitely intimidating for readers who accidentally stumble on to an XHTML page currently in a broken state.

All four of the browsers do support the XHTML standard, and all stop processing the XHTML when an error occurs, as is proper. But where Safari/Webkit, Chrome/Webkit, and Opera try to provide a useful web page, Firefox picks up a ruler and gives the owner of the web site a good whacking.

It’s easy to fall into the trap of blaming all web development and design problems on Microsoft and IE, and to use IE as a whipping boy—to the exclusion of looking, critically, at the other browsers in the web space. If the lack of support for XHTML in IE is a primary inhibitor of the spread of XHTML, Firefox’s YSOD has to take the second place prize. Support for XHTML doesn’t end at the parser.

Categories
HTML5 W3C

Going non-standard

As you may have noticed and will continue to notice, my sites are changing. Sometimes not for the better, as I try something out and it doesn’t work. All of this effort is for my new book, which will include coverage of web page markup, in addition to other technologies, though the book will end up being more of a narrative than the tutorials and how-tos I’ve done in the past.

Currently, this page is set to XHTML5, and I’ve even added a nav element, though not the script that will “trigger” its inclusion in IE. I’m trying to work out how one can use X/HTML5 elements without being forced to incorporate JavaScript, which is not a progressive solution.

Without getting into too many details on the book, it does get into discussions on the future of the web, though I find that when it comes to page markup, I’m having an increasingly difficult time determining what to include. I find I have little faith in the ongoing effort at the W3C and WhatWG on a new HTML, especially after recent discussions in the IRC and mailing lists.

For instance, the web site Last Week in HTML5 snarkily points out IRC entries from Mark Pilgrim, where he accuses Sam Ruby of being either intentionally divisive or stupid in relation to a mailing list item that Sam posted *suggests if Sam Ruby had posted the item, it would be intentionally divisive, but since Chris Wilson from Microsoft posted the item, it’s just plain stupid. I thought at one time Sam and Mark were friends, but obviously those times are in the past. Regardless, such petty bickering only undermines the credibility of the entire effort. Is this demonstrative of a new “hip” professionalism in the web world? If so, I can understand now why some Ruby/Rails folk thought it acceptable to incorporate soft porn in a technical presentation. Frankly, I’m finding this whole “rock star on the edge” thing is getting old.

Immaturity of actions aside, there is obviously a split between the leadership of the HTML effort in the W3C, and the editorial leadership in the WhatWG, and though perhaps this is the “norm” in these efforts, it fills me with dismay about the future of web markup. A Hatfield-McCoy type of feud makes for great Americana, but lousy standards.

What adds to my overall sense of discouragement about the HTML5 effort, is knowing that there is no longer even a pretense of openness in the effort. Today, I read in the whatwg IRC (and continued into the microformats IRC channel) a discussion between Tantek Celik and Ian Hickson, where Ian basically lets Tantek completely control what happens with the so-called “microdata requirements document”—a move which demonstrates Ian’s bias, and an absolute disdain for an entire group’s (RDFa) efforts. Not to mention a disdain for the Creative Commons effort, too, which Ian condemns for its “license proliferation”.

I never thought I would someday write that I long for the stodgy, pedantic W3C of yore, where the smallest detail is meticulously discussed and recorded, excessively so at times—a process I felt was comparable to fingernails across a chalk board. However, I have seen the other side now, on IRC and in the mailing lists, where individuals casually scratch their various itches in public, and the result becomes part of the specification we’ll be stuck with for years.

An end result of such shenanigans is that web page validity no longer means what it used to mean. And is no longer as important, either. In the future, to get a “valid” stamp means that we have to adhere to a small, controlling group of people’s interpretation of what the web should be, and I’m just not willing to go there. Not for a stupid graphic that states “This page is valid in crappy biased markup”; markup, whose only purpose now, from what I can see, is cool, oversexed, overscripted Ajax applications, and stuff Google wants.

Obviously, this state is acceptable to the representatives from Mozilla, Opera, Apple, and Microsoft, not to mention other members of the W3C. If it weren’t, the companies would, I presume, use their collective clout to tell the members of this effort to grow the hell up. No, these companies would rather go off and do their own thing, in competition, rather than in cooperation, and we will face a future of the web, where cross-browser issues are the norm, rather than the exception. Yup, keep your eye on the ACID prize, and just forget about the real world, where people have to make things work.

As for the SVG working group, and the RDFa working group, not to mention MathML and Web Accessibility groups, and others that have tried to incorporate some form of extensibility and usability, not to mention accessibility, into this mishmash of a standard: I admire your patience and determination to look beyond the pettiness in order to appease one small group’s idea of what is an ideal web, but I can’t help thinking that if you bend over backwards too much, you only end up kissing your own ass good-bye.

*Sorry, misread the original IRC entry.

Categories
Diversity Technology

Open Arms

Regarding the recent Golden Gate Ruby Conference…

Sara Allan

The second low point was Matt Aimonetti’s talk “CouchDB + Ruby: Perform Like a Pr0n Star.” It is unfortunate that he took this joke too far. What might have been a short, juvenille, eye-rolling bit of humor continued throughout the talk to become increasingly disturbing. Amidst this normally warm, welcoming community, I spent an uncomfortable half hour wondering if I had somehow found myself in 1975.

If he had left it at a few introductory jokes, I would be writing a very different post. Instead the porn references continued with images of scantily-clad women gratuitously splashed across technical diagrams and intro slides. As he got into code snippets, he inserted interstitial images every few slides (removed from the slides below). The first time it happened, he mentioned that he wanted to keep everyone’s attention. It had the reverse effect. This technique was distracting and disrespectful to an audience who, frankly, is turned on by code.

Audrey Eschright

Here’s another problem in this tangle: Ruby (and Rails in particular) loves the rock star image. You see it in job posts, how people talk about their work, and the way Rubyists rant on their blogs. It’s macho, it can be offputting to both genders, and it makes it easy in this kind of situation to say, “what’s your problem? I’m just busy being awesome”. It’s also a significant barrier to adoption for people who aren’t already a part of this culture, and don’t find it appealing.

Mike Gunderloy

For what it’s worth, I think the original presentation was an inappropriate and regrettable mistake. However, far more disturbing to me are the reactions to the discussion on the part of some of the Rails community.

Folks, the idea that women are disproportionately underrepresented in engineering and software in general, and open source development in particular, should not be new and controversial in 2009 – anyone who cares to look can find such things as the FLOSSpols findings, or any amount of academic literature on the subject. Anyone who cares to take the time to actually talk to the women who are a part of the open source community will have no trouble getting an earful about how challenging it can be to participate.

But unfortunately for me, in parallel to the public discussion there have been private ones. I can’t reveal details without breaking confidences, but suffice it to say that a significant number of Rails core contributors – with leadership (if that’s the right word) from DHH – apparently feel that being unwelcoming and “edgy” is not just acceptable, but laudable. The difference between their opinions and mine is so severe that I cannot in good conscience remain a public spokesman for Rails.

Victoria Wang, in comments

DHH’s attitude seems to say that the more we lower ourselves to the most base level of marketing scum in the name of entertainment, the better, even if at the end of the day there are no more women, or anyone worth knowing, in the room. It kind of makes me want to never touch Rails code again.

Rev Dan, in comments

What chaps my ass about the whole thing is that it’s doing little more but reinforce the bullshit “developers are immature, overgrown 14-year-olds” stereotype. I’m sick to death of that one, especially because I run into that type of jackass more often than I care to.

We kinda have a “chicken and egg” scenario going on here… unless there are more women who attend these things then the few women who do will always feel like outsiders… but if the few women who attend now are offended, then why will more attend?

Matt Aimonetti’s response

In the case of my talk, people knew what to expect, they *picked* the talk, and were warned by the organizers before I started that I would be using imagery potentially offensive to some. The topic of my talk was obvious, and I would have hoped that people who were likely to be offended would have simply chosen not to attend my talk or read my slides on the internet. It’s like complaining that television has too much material unsuitable for children, yet not taking steps to limit their viewing of it. You can’t have it both ways.

We can argue forever about morals, professionalism, ethics, respect, etc., though this is all a distraction from the real problem that was raised by Sarah, namely that we have very few minorities in the Ruby community, especially women. Minorities do need to be more represented!

Ryan Bigg

I fear that it will rip a community apart. A community that should be working together on getting past this issue and bettering themselves, not regressing to childish bickering. That’s what gives this community an “immature” stamp by the [insert other programming language here] groups.

All I ask for you guys is to…

Chill.

Sho Fukamachi

Other reactions include pathetic “I am being victimised” attention-seeking, lame attempts at demonstrating how much “I truly care about women” etc, hilarious “I am leaving the Ruby community and re-installing Visual Studio” threats (please do!), and every combination thereof. I cannot help but think that if Matt’s presentation has the effect of getting rid of these disingenuous wowsers then he should henceforth be invited, nay required, to present at every Rails conference.

DHH, the father of Rails



But wait…there’s more…

Alpha Male Programmers aren’t keeping Women Out

You certainly have to be mindful when you’re working near the edge of social conventions, but that doesn’t for a second lead me to the conclusion that we should step away from all the edges. Finding exactly where the line goes — and then enjoying the performance from being right on it — requires a few steps over it here and there.

update

Excellent aggregation of opinions from women in the Ruby/Rails community. Particularly liked Amy Hoy’s take in comments

If you are going to try to be edgy and push boundaries and shit, you should at least be sure you’re good at it and know how to handle that kind of content, first. Otherwise, it’s just destructive.