Categories
HTML5 Semantics

Separating presentation from semantics

After all these years, we have finally reached the point where we’ve separated page organization from presentation, and now we’re about to embark on the same mistakes again, but this time with presentation and semantics.

I’ve been following the issues associated with the vocabindex Drupal module, including one where the person submitting the bug stated the vocabindex use of UL was incorrect. We’re supposed to, MXT writes, use definition lists rather than unordered lists for any lists of terms with associated definition.

At first glance, it does seem as if the vocabindex module is using the unordered list incorrectly. After all, look at any of my category pages (such as the one for the Semantic Web)—what you see is a list of “terms” and their associated definitions. An obvious candidate for definitions lists.

Look more closely, though. In my sidebar menu I list the vocabindex terms as links to web page URIs, but there is no definition attached to any item. The description, if one is given, is, instead, added as a title attribute to the item and displayed only when the item has cursor focus. Yet, it’s the same data. Does this mean, then, I’m somehow not properly displaying my menu items? Should I have a huge sidebar, with the item description given underneath?

More importantly, whether I have a given text description for each item is purely optional, some do, some don’t. Yet the items in the list have meaning without any associated description. In fact, each item in the list is really nothing more than a label for a bucket to hold content. I could just as easily use foobarsillyputty as labels, except that I’m trying to use “meaningful” labels in order to enable you all to better find past content.

In the absolutely ancient W3C page where lists are covered a list of ingredients is given as an example of an unordered list:

  • 1 cup sugar
  • 1 cup oil
  • 2 cups flour

However, I don’t see that anyone would have a problem with adding parenthetical information to this list in order to further clarify the items:

  • 1 cup sugar (light brown granulated by C & H)
  • 1 cup oil (canola or corn, but not olive)
  • 2 cups flour (white or mixed white and whole wheat)

This is really nothing more than what the vocabindex is doing with the vocabulary index terms within both the index pages and my sidebar menu: a listing of items and a (parenthetical) description to clarify what that item is. However, it’s only when the description is displayed as a “tooltip” that one sees the item as a clarification phrase, only. When presented in the index pages, it “looks” like a definition list, and so we want to have it marked up this way— mixing up semantics and presentation.

A definition list is assumed to have two pieces of information; the term or phrase and an associated definition. Even when not present, the definition is still assumed to be forthcoming at some point— not having it is the exception, not the rule. An unordered list is just that: a list of items. They can be a list of items to buy at the store, select from in a form, or click on in a web page. There’s no assumption that any additional information is necessary for the item. If there was, Drupal would make this information mandatory rather than optional. The application and associated developers would definitely discourage the use of the items in a tag cloud or other format where only the term is given because the term, by itself, would be meaningless.

Yet we look at how the terms are portrayed in a page like the vocabindex page I linked above, and that’s enough for us to say we should use one form of markup over another because it’s more “semantical”. Further exploration online at other sites who attempt to define the differences between unordered lists and definition lists shows the same thing: if we see two pieces of data, we’re assuming a definition list, because that’s what it looks like—not what it is.

The HTML5 document adds another key element to the discussion of definition lists by stating that definition lists are name-value pairs. From this can we deduce, then, that the name has no meaning without the value. That’s my interpretation: that a definition list is the proper semantic markup only when data is defined within a context of names and associated values, both of which are meaningless without the other. If, however, *HTML5 allows us to list the names without values, or the values without the names, then the HTML5 document is imprecise, and we should just use whatever we want to use— semantics can not be derived from imprecision.

Currently, in Drupal, vocabulary terms are discrete labels, nothing more. Any description is for clarification not definition, and isn’t essential to the meaning of the term. Forget how the vocabindex pages “look”, and focus on what the data means. If we can’t do that, then this whole semantic markup thing is a bit of a farce, really.

*Confirmed: it doesn’t

Categories
Specs

The nobility of specification work

Hank Williams responded to the recent ECMAScript Harmony announcement with a post titled, Ru Roh! Adobe Screwed By EcmaScript Standards Agreement. In it, he writes:

Adobe provided support to the standards body in helping to define the standard, and most importantly, in creating an open source virtual machine called Tamarin that would run EcmaScript 4.0. But they did all of this before the standard was officially sanctioned. EcmaScipt 4.0 was nothing more than a draft proposal. But Adobe needed to make this bet because they needed a better language than the early ActionScript was, and the existing template, JavaScript, hadn’t moved substantively forward in years.

And so Adobe released Tamarin, the EcmaScript 4.0/ActionScript 3.0 running virtual machine, and a raft of products based it…Unfortunately, while the technology of EcmaScript 4.0/ActionScript 3.0/Tamarin is compelling, the politics sucked.

Adobe and Microsoft are bitter rivals, and the last thing Microsoft would be willing to accept is wide-spread adoption of a language that is strategically critical to a competitor…And so this meant EcmaScript 4.0 was stillborn.

At the end of his writing, Hank summarizes Adobe’s plight, now that it has been betrayed:

the interesting question is what will Adobe do now. The technology they have is no less impressive today than it was a few days ago. But they are now totally on their own, which wasn’t exactly the plan.

Poor, poor Adobe. Lost in the wilds of the web, all alone.

Balderdash.

Hank is correct with his assessment of the politics and rivalry, (though not all decisions were political in nature). But he’s incorrect about his assumption that ECMAScript 4 is dead. Certain pieces of pre-existing ECMAScript 4 effort are not being pursued, true, but there will be an ECMAScript 4, they same as there will be a 5, 6, and on and on, as browsers and other applications that support ECMAScript evolve over time.

That’s really been the issue all along: there’s a group within the ECMAScript community that has been pushing a much more aggressive course in the development of the next specification release than other players have been comfortable with. By other players, I don’t mean only Microsoft— Google, Yahoo, Opera, Apple…all of the companies impacted by ECMAScript have agreed, with relief, that an interim specification release with full browser company support is the wisest course, with more cautious development in the future.

In addition, Hank also overplayed the nobleness of Adobe’s contribution of Tamarin, as well as the company being “screwed” in this decision. For one, Adobe agrees with the Harmony effort, while managing to get its digs in about the superiority of its offering, as implemented in Flex et al.

Make no mistake: Adobe knew it was throwing the cat among the pigeons when it contributed Tamarin. In 2006, I expressed my concerns about Tamarin:

So what do I think of all of this? I think it’s exciting, I love the canvas element and I’m interested in many of these other innovations, it’s good to revisit HTML, but I wouldn’t be me if I also didn’t note concerns: HTML element bloat; confusion as to direction of standards and where people should be heading; vastly incompatible web pages as browsers desperately try to keep up with all the changes; frustrated web page developers and designers also trying to keep up with changes; and a growing dominance of Mozilla/Adobe in regards to JavaScript and whether this could lead to a non-neutral ECMAScript 4.x, which does no one any good.

In a way, Hank’s biggest misunderstanding is his assuming that any of the other organizations involved with ECMAScript are somehow more “noble” than Microsoft in their involvement. Frankly, that’s a naive assumption. The best we can interpret all of the organizations’ involvement in the development of the ECMAScript specification—any specification, really— as being based on enlightened self interest. I wouldn’t trust any organization that says otherwise.

No, Adobe took a gamble, and the gamble didn’t pay off. It will now shrug its shoulders, reflect on the ubiquity of Flash, and continue its merry course. Forgive me if I don’t greet its noble stoicism at being stood up at the prom, with tears in my eyes and murmurs of “poor baby”.


Interesting comment in the Adobe post in answer to another comment:

Unfortunately, standards aren’t also the smartest things. Dumbing down is often a fact of standardization. We haven’t let that stop us from innovation in the past; we won’t in the future.

Yes, trying to establish a standard that is implemented in all the major browsers is really a dumb thing to do. What we should be doing is picking a winner in this little contest, and then celebrate by increasing the number of torturous cross-browser hacks for the next two decades. That’s the ticket: let’s show everyone how really smart we all are by continuing our worst practices. As long as we call it “innovation” why, it’s all right.

Yes, it’s all right.

Categories
Books

Grumbles in Kindletown

I have written before about my satisfaction with my Kindle, and even hope to write a couple of book reviews on new discoveries. However, not all is well in Kindletown at the moment, and reason is prices for Kindle editions.

I’ve been wanting the second book in Mercedes Lackey’s Obsidian trilogy, but Amazon only offered the first and third books. A few days ago, I noticed that the second book, To Light a Candle was available…for $22.63, which was equivalent to about 300% the price of the paperback (currently at $7.99).

I was astonished and more than a little peeved at the price, and posted a note about it in the Kindle forums. Not long after my note, another reader noticed that another Tor book by Mercedes Lackey, The Phoenix Unchained was also set to a price more expensive than the paperback ($16.61 as compared to $7.99). What’s even more odd about The Phoenix Unchained, it was originally set to a discounted paperback price of $6.29, and the price only jumped in the last week or so.

Today, To Light a Candle was reduced to $7.19, which compared to $7.99 for the paperback was an acceptable value. However, The Phoenix Unchained is still set to $16.61, effectively 150% the cost of a paperback. Though incidental to this discussion on books prices, I also noticed that the third volume in the Obsidian trilogy has vanished from the Kindle lists, which is odd considering that it makes no sense to “sell out” a digital book.

What seems to be happening with The Phoenix Unchained is that the Kindle volume is being offered at a discounted value…discounted from the hard cover price, not the paperback. Not for all of the books, either, but enough to generate some concerns.

In addition, I noticed my own Painting the Web has a discount of about 9% for the Kindle version, which is different from O’Reilly’s 20% discount it offers for the eBook bundle at the O’Reilly site. However, my paper book is discounted by Amazon, while the Kindle book is given less of a discount, so again, we’re talking about difficult to understand variations in Kindle pricing.

Another reader mentioned wanting to read the Janis Ian Autobiography, but the Kindle price is $16.01, while the hard cover is $17.79. Both are discounted from the retail cost of the book, which is $26.95. However, what happens when the paperback of the book is offered? Will the Kindle then become discounted from the paperback cost? Or discounted from the original hard cover?

Chances are, the pricing issues we noticed with the Tor books are related to Amazon being a bit overwhelmed with trying to load books, and making mistakes in the pricing. I can’t see how a publisher would expect to charge more for a Kindle book than a paperback, though I’m not sure I should make this assumption. Without any understanding of how the pricing schemes work, with books appearing, disappearing, and then appearing again, as prices vary significantly between publishers, we readers have become the ebook version of a Wall Street trader: forced to continuously check book prices, and be ready to scream out “Buy!” when the books we want hit that sweet spot (as O’Reilly has defined it).

I never knew book buying could be such an adventure. Or so stressful.

Categories
Social Media

Long-term goals may mean short-term costs

“If I had asked my customers what they wanted,” the great car making pioneer Henry Ford once said, “they would have said a faster horse.”

Kevin Gamble points to Twitter’s recent decision to cut outgoing SMS for UK clients:

On Wednesday, we announced that Twitter has suspended outgoing SMS to our UK number. The blue in the chart above illustrates the percent of outgoing SMS we stopped sending. 2% of our user base consumed 4% of our outbound SMS over the UK number at a price which disproportionately impacted overall operational cost.

Kevin concurs with this decision, writing:

Twitter has been taking a bit of a beating over this, but when you examine the metrics it makes sense. Every feature consumes time, money and resources. Twitter is making a conscious decision to remove a costly feature that is used by a small number of users.
… I can think of tons of things that if you really examined your customer’s behavior you would deep-six. This should happen a lot more.

I don’t agree and I point to the recent discussions on broadband capping as an example where basing a decision on “typical” customer behavior doesn’t necessarily lead to good decisions for long-term growth.

The broadband companies want to add caps so that heavier users are “blocked” from using more of the service. They give as an excuse that 5% of the people use 90% of the service, and thus feel justified by caps.

The problem with this approach, though, is that it’s providing a short-term solution for a short-term problem. People’s habits change, and though only a percentage of people watch video over the internet today that number will eventually increase, generating more demand, as well as increasing dissatisfaction with draconian bandwidth caps. Additionally, schools and colleges are now offering long-distance teaching for rural communities, leading to a very real possibility that these same communities will legislate against such caps—not to mention the possibility of anti-trust actions if such capping is seen as anti-competitive.

If people’s usage really is impacting on the whole, the companies could implement throttling during busy times, while working to improve the infrastructure. Another approach would be to use tiers, but they have to be reasonable, not the obscenely small caps I’ve seen bandied about. If tiers are used, the excess bandwidth fees, in addition to other profits, should go into improving the infrastructure— not into shareholder pockets. Infrastructure improvement funds should never be diverted to profit sharing.

The companies could also work with communities to see if they would buy into effort where the cost is distributed between companies and community, though in this case, any infrastructure improvements should be accessible by all broadband providers.

The point is that companies should look to make a long-term strategic decision even if it might cost more in the short term. This applies to broadband companies, and also applies to a company like Twitter.

Unfortunately, the problem with Twitter is that it doesn’t know what it wants to be when it grows up, so all the strategic and management decisions are reactive—hit-or-miss changes based on immediate short term cost cutting or performance goals, rather than based on long-term plans and interests.

If Twitter sees SMS as an integral part of its service, cutting SMS for part of its customer base is only going to create a level of uncertainty that not only will impact the UK customers, but all customers.

An alternative approach could have been to begin to talk with its customer base about premium memberships, which may include services such as outgoing SMS. Outgoing SMS is not an integral component of Twitter, and therefore people won’t be deprived of any essential Twitter service. By making a long-term strategic decision—yes, we’ll support outgoing SMS, but you’ll _all_ need to pay a tiny premium for this service— the company may risk grumbles across the entire customer base, but it will also have made a long-term sustainable decision that won’t leave customers in a continuous state of alt.

Adding service, removing service, adding service, removing service…This is the hallmark of a company that isn’t keeping its eye on the horizon.

Categories
Social Media Technology Weblogging

Creating social networks few want

Recovered from the Wayback Machine.

There has been considerable discussion this week on Techmeme about weblogging tool as social networking platform, based on Six Apart’s release of Movable Type Pro 4.2. The announcement was still wet from its birth when the WordPress folks started touting BuddyPress, a variation of social networking based on WordPress.

Among the social networking requirements for a weblogging tool are:

  • Support for FriendFeed and other feed aggregation
  • Support for Twitter
  • Forum support
  • Creating user accounts, with profiles and avatars
  • Enabling community-driven content
  • Content voting, ala Digg

I waited for the Drupal folks to tick off each of these, as this type of behavior is already built into Drupal, or provided via plug-in. For instance, support for the just given list can be met by Drupal via the following:

  • Aggregation support is a module included with the Drupal installation. In addition, the FriendFeed Drupal module provides two-way FriendFeed communication.
  • Ditto with the Twitter Drupal Module
  • Forum support is another module included with the Drupal installation, though it doesn’t have a traditional forum look and feel. The upcoming Advanced Forum module supposedly provides the missing pieces for a standalone forum.
  • All of the user functionality is also built-in, or provided as installation module, including adding users, profiles (with avatars), as well as being able to create user profiles with differing permissions. For instance, registered users to this site who I know are given a “Trusted user role” wherein they can post comments without the comment going into moderation. I could also allow users to post photos, in addition to posts of their own — it’s all role-based.
  • You can use the Voting API module with Drupal for content voting, and there have been other efforts to create a Digg-like functionality, though there just doesn’t seem to be much interest in this within the Drupal community.

In fact, Drupal began its life as a bulletin-board system, adding weblogging functionality at a latter time. It is “community-based” from the ground up. Knowing all of these, I watched Planet Drupal for someone to mention about all of this already existing capability in Drupal. And I watched. And I watched.

Nothing. Not a word. Oh, there may be those who are in the process of writing about Drupal’s capability, as compared with the new Movable Type/Wordpress initiatives, but the interest has been more about the upcoming DrupalCon, upgrading to the newest releases, and various other activities; providing yet another demonstration of the differences in communities surrounding Silicon Valley based applications, and an application with beginnings not only outside California, but also outside the United States. Differences that not only don’t include that sense of competition that seems to exist with both MT and WordPress, but that also represent a general lack of interest in becoming part of whatever new movement is currently deemed to be itit for the moment, that is.

(A difference I’ve not, yet, come to absorb, being still imbued with the vestigial impulse to validate my choice of tools by pointing out We are first! We are better!, and hence, my earlier paragraphs. )

However, to be fair to the vast majority of MT and WP users, there isn’t that much communication in the general WordPress or MT communities, either, about the newest social networking “needs” that seem to be the driving force behind these new tool developments. Regardless of tools used, I find it unlikely that most people are interested in much of the social networking capability that is now being touted as “necessary”.

In her post at ReadWriteWeb related to the release of the new version of MT, Sarah Perez asks, Is this the future of blogging? Or is this the future of web publishing altogether? I think we’ll find, ultimately that the answer is no. The Silicon Valley mindset, for wont of a better term, wants social networks, and assumes the rest of must want the same thing. However, I think we’ll find that most of us just want a web that’s both open and accessible, and there is a vast difference between an open web and a social network.

In an open web, we may try to annotate our writings with metadata, so that the information described in this metadata could be merged by other applications. We work to ensure our work is easily accessible, and (though not always), try to engage our readers. We hope that the site is viewable by a variety of devices. To facilitate these interests, we’ve added syndication feeds and comments, some use of microformats, semantic markup, and even, on rare occasion, RDF, and perhaps a feed aggregator or photo feed in the sidebar. We try to create valid web pages, and use CSS to add a little of our own personality to the site’s look. At a stretch, we may include FriendFeed or Twitter postings, too, but I think interest in these is rarer than one would expect by the cacophony of noise that seems to accompany both services.

An open web, however, does not demand a web whereby the line of demarcation between the writer and the reader becomes blurred, and the reader is assumed to not only be reader, but writer, editor, and critic too— becoming one of many, which seemingly are then used to not only prove the popularity of the site, but also help monetize it.

Specifically, the success of our spaces is not a measure of noise but of satisfaction. What’s happened, though, is that to the Silicon Valley mindset, noise is a measure of satisfaction, so the more accouterments enabling noise, the better.

Posting writings and allowing comments are not enough: we must also give people profiles, with avatars and ranking systems, and the ability to vote comments up and down. By providing multiple levels at which our readers can engage, we create that noise that is seemingly so important in order to justify the worth of our spaces. What we’re finding, though, is that based on such activity, the noise level may increase, but it increases as noise, rather than the thoughtful comments that inspired our original interest, years ago.

As we invite the readers to become more involved, we probably will increase the popularity of our sites, but at what cost? We lose the ability to own our own spaces; to be able to suddenly switch one day from writing about HTML5 to writing about art. Even having comments means we give up some control over what we do in our spaces. All too often when I visit tech web sites and the author is writing on some other topic, I read in comments: “That’s not why I read your site, I don’t care about foo. I want to read about bar”? Or the newer complaint many of us have begun receiving since the advent of Twitter: “*This post is too long to read.”

Voting up and down may increase the number of visitors, and they may feel increasingly engaged, but look at what happens at sites like Digg. Though interesting stories may appear in the front page, such as the one about CAPTCHA technology being improved with the help of old manuscripts, many more are based on the amount of controversy associated with the topic, and not whether the topic is useful, or even relevant. More importantly, popular sites proliferate in popularity driven listings while less popular sites are pushed to the back, making it that much more difficult to find not only new and interesting information, but new and interesting sites. The reader becomes not only writer, editor, and critic, but also gatekeeper.

I’m not writing this to be critical of Six Apart’s new Movable Type social networking software, or the upcoming BuddyPress by WordPress—more power to **both groups in working to expand their offerings. To extrapolate, though, from these new offerings to a whole new web is typical of a mindset that is becoming increasingly isolated in how it views the web and how the web should be.

More importantly, to extrapolate one small group’s determination of what’s necessary in order to be “successful”, to the broader population can actively hurt rather than help the web. Do we really want a web without nooks and crannies, small voices, quiet places, and serendipitous finds? That’s not the web I want. To say that we’re all becoming increasingly narcissistic, is to say that one group’s self-obsession is shared by all, and I don’t think that’s true.

*And I include this post among those considered “too long to read”.

**But Drupal was first.