Thoughts From Eric Archive

Emergent Semantics

Published 20 years, 3 months past

Just a quick link to my slide deck (when did that term gain currency, and why didn’t I get a memo?) for “Emergent Semantics“.  I was honestly surprised by the number of attendees, and there were some great questions and ideas from audience members.  Throughout the rest of the day, I had some great conversations with people about their own microformat ideas.  Another measure of the level of interest in microformats and the semantic web was attendance at Tantek’s “The Elements of Meaningful XHTML“, which was so heavy that after the seats and floor space in his room filled up, a knot of people stood outside the door, turning their heads slightly and standing on tiptoe in an attempt to hear what he was saying.

On a very related note, I’ve updated my blogroll with some new met values.  I’ve met a ton of people I’d never met before, and hope to meet still more—so if I do assemble a metroll, it’ll have to wait until I get home.


Deep Linking, Shallow Thinking

Published 20 years, 3 months past

So a few weeks ago you might have noticed a bit of brouhaha that surrounded the new Terms and Conditions for Orbitz.com, set to go into effect today.  For anyone who missed or forgot about it, a refresher:  in Section 6, you find this wonderful bit of total cluelessness:

We reserve the right to require you to remove links to the Site, in our sole discretion.

Linking to any page of the Site other than to the homepage is strictly prohibited in the absence of a separate linking agreement with Orbitz.

So under their Terms and Conditions, it would be forbidden for me to point to a press release that announces Orbitz suing some former employees; or to their mangled-markup list of press releases; or, for that matter, to a medium-resolution JPEG of the Orbitz logo (which is rather ominously referred to in the Terms and Conditions as a “Mark of Orbitz”, which sounds like something that might have been mentioned in the first draft of the Book of Revelation).

It should be noted, however, that Section 4 of the old Terms and Conditions contains this amazing little gem:

You agree not to create a link from any Web site, including any site controlled by you, to our site.

Because nothing could be worse than increasing traffic to your site.

So yes, this post is in complete violation of the both the old and new Terms and Conditions for Orbitz.com.  And if I had ever been, or ever planned to be, a customer of Orbitz—thus agreeing to said Terms and Conditions—that might actually bother me for a second or two.  But, as they say:

If you do not accept all of these terms, then please do not use these websites.

Boys, you got yourselves a deal.


Social Protocols

Published 20 years, 3 months past

Seems like half the Web is already at SXSW, and I’ll be there myself soon.  For those of you who love to build networks out of your social contacts at such events, Tantek’s recently shared the secret of metrolling, which is a great way to get into XFN if you haven’t already.  I’m already planning to add metrolling to my presentation on Sunday as an example of ground-up semantics.  (And I really wish I could be at the Semantic Web panel on Monday, but it’s at the same time as “Women of Web Design”… oh well.)

It’s interesting to see how interest in evolutionary semantics is itself evolving.  A recent example of this is David Berlind‘s ZDNet article “Will social networks give way to social protocols?“.  I firmly believe the answer to be “yes”, even though there are a lot of skeptics (some of them on conference review committees, as it turns out).  Berlind clearly understands the advantage of social protocols.

You might then wonder, “Then what’s up with you writing a whole document about how to set up XFN ‘me’ values in a bunch of services?”  At this stage of social networking, that sort of thing is necessary.  Without interim steps, the information sitting in those services will stay scattered and isolated.  Thanks to the me value, XFN offers a very simple, lightweight solution to the problem of identity consolidation.  As I recently wrote in a poster proposal:

As the Web has evolved, a number of personal-information sites have arisen.  Some of these sites exist to help create and increase professional contacts; others are intended to help bring together one’s friends or even find potential mates.  In every case, however, the user must create a new profile for each site.  Each of these profiles constitutes a small island of identity.  Over time, a person can end up with a fairly extensive identity archipelago.

Unfortunately, there has… been no easily created machine-discoverable way to bridge the gaps between the islands.  An author might publish a page containing links to all his profiles, but to an indexing engine, these links are no more or less notable than his links to the latest amusing Flash animations.

With XFN, it becomes very easy for an author to annotate a link to indicate that its destination is one of the islands in his identity archipelago.  This kind of link is referred to as a “me” link throughout the rest of this paper.  By creating symmetric links between the islands, the author can make it possible to consolidate the various pieces of his online identity into a more cohesive whole.

The same is true for a person’s links to other people.  By pulling them all into one place, or at least by marking them all with XFN and then using “me” links to tie together all the bits of his identity archipelago, real social networking start to emerge.

Now, one of the things that people like to carp about is the limits of XFN.  The first of the two most common complaints are that it’s impossible to capture the full range of human relationships in fifteen words.  We agree.  The other complaint is that we only picked “positive” terms; that is, we have friend but not enemy.  We did that on purpose, as we explained; besides, it’s called XHTML Friends Network, which should be kind of a clue.  Apparently this choice makes us arrogant, or clueless, or some combination thereof.  Maybe that’s so.  What I find interesting is that the people who complain that we didn’t include their preferred relationship terms never do anything about it.  They just complain.  What’s so interesting to me is that the guys who decided to focus on the positive went out and did something; those who want to mix in the negative seem to have nothing to offer except complaints.  That says something, I think.

Because XFN is not, nor was it ever meant or represented to be, the final word on social protocols.  We fully expect it to either be improved, or else superseded.  Suppose one of the critics actually did something to address his concerns, and published an “XHTML Relationships Network”.  This could include all the XFN values, plus their negative counterparts, plus whatever else is thought to be useful by the author(s) of this new XRN.  At that point, you have competing protocols.  The more useful one will win.  The loser will be eventually discarded, although some of its memetic genes may live on.  This isn’t a problem: it’s a strength.

It’s also in many ways the entire point of XHTML Meta Data Profiles.  See a need to fill?  Fill it!  At the end of his column, Berlind says in an update:

Looking at the XFN profile, it suddenly dawned on me that perhaps there should be an XBN/XB2BN that’s strictly for the relationships between businesspeople/businesses. Thoughts?

Here are my thoughts: go for it!  He’s almost certainly right that there’s utility in such a protocol.  All it takes now is for someone to look at the problem and write up an XMDP-based protocol that solves the problem.  The microformat approach makes this so simple, pretty much anyone could do it.  What’s needed is someone who actually will do it.

At some point down the road, it’s possible that the protocols that define personal and professional relationships would merge.  Again, that’s completely in keeping with the vision we have.  The whole point of this kind of ad-hoc semantic enrichment is that it’s evolutionary.  New players will enter the field, and will either prosper or wither.  Anyone can join in.  There is no star chamber of lofty experts to say whether your idea passes some sort of ideological muster.  It’s a great big landscape, and there a million conceptual niches to be filled.

As those niches are filled, the ways in which different protocols interact can trigger truly astounding results… but for thoughts on that aspect of the whole subject, you’ll have to come see my talk.


Gatekeeper 1.5 RC2

Published 20 years, 3 months past

Thanks to the good offices of Server Logistics (providers of the Complete MySQL package) and Jonas Luster (who gave me the database import command I actually needed) I brought my local copy of WordPress back up to speed last night and was able to test the Gatekeeper update script.  Thus, WP-Gatekeeper RC2 makes its debut.

Here’s what changed:

  • Added “reset to default” links for the challenges and the markup template on the management page.  Remember that if you say “OK” to the pop-up dialog box, the data will be reset to install default and there’s no going back.
  • Fixed a bug where logged-in users still had to answer the Gatekeeper challenge.  Now there should be no challenge for logged-in users.  This assumes that your install allows people to register and log in, of course.  (Thanks, ColdForged!)
  • Tweaked the scanning routines to be more cross-platform friendly, the form scanning to be kinder to 1.5 themes that were ported from 1.2 installs, and fixed (I think) a slash-insertion bug that could affect the markup template.  (Thanks, Scott!)
  • Added theme-root support.  (Thanks, Terrence!)
  • Changed the gatekeeper_default_template option to be called gatekeeper_markup instead.

That last change was the original motivation to create the update script, since the plugin would break without updating the option name.  While I was at it, I decided to throw in routines to let users of the 1.0b1 version migrate their challenges over to version 1.5 and then delete the old tables.

So if you’ve run any previous version of WP-Gatekeeper, you’ll need to download and run the update script.  It’s called wp-gk-rc2-update.php.  To run it, uncompress the archive and drop the PHP file into your main WordPress directory, then load it up in a Web browser.  From there, the script should walk you through the update procedure.  If you’ve only ever used  GK 1.5 RC1, then it will be two steps and painless.  If you were running 1.0b1, then it’ll be three or so steps and still painless.  (Unless of course I have bugs, in which case there may be pain.)

Basically, you’ll need to run the updater either immediately before you install the RC2 plugin, or immediately after.  In the interval between the two, there will be trouble.  I’m sorry, but I don’t know of a way toclose that window.  My recommendation is to run the update script and then drop the plugin into your plugins directory as soon as the updater finishes.  However many seconds passes between the two will be the window of possible breakage.

So there you have it.  Assuming no problems are encountered, the plugin will reach 1.5 final within the next week.  Let me know if you hit any roadblocks or see ways in which the code can be improved.

Update: problems have been encountered.  The automatic-placement routines seem to have failed, so no challenge will appear unless you use the gatekeeper_pose_challenge() call in your comment form template.  This means nobody will be able to post unless they’re logged in (and maybe not even then).  I’ll post an update as soon as I figure out what’s failing and how to fix it.  Sorry for any inconvenience!


Stuck

Published 20 years, 3 months past

I have two coding projects going, and both are for the moment stalled.  Maybe you can help.

The more recent of the two is WP-Gatekeeper, which is almost ready to go from RC1 to RC2 except for one tiny little problem: I upgraded my local copy of MySQL, and it blew away my WordPress database.  So I mysqldumped the database from meyerweb.com, copied it down to my hard drive, and tried to mysqlimport it.  And tried, and tried, and tried, until eventually my eyes started bleeding.  No dice.  Therefore, no possible chance of my testing the update script, which is necessary because it actually deletes tables from the 1.0b1 version of Gatekeeper.  I don’t want to put it out into the wild without making sure that it deletes the right tables, and no others.

Obviously, without a successful import of the dump file, I can’t test the script.  I’ve read the MySQL documentation, and done everything it says to do.  It fails.  I tried logical variants, in case there was something the documentation was leaving out.  No dice.  Then I tried illogical variants, including some SQL statements that included words I wouldn’t ordinarily type, let alone say out loud.  The error message is basically always the same, and it never helps.  It goes something like this:

~/mw > mysqlimport -u root meyerweb meyerweb20050309.sql.dump 
mysqlimport: Error: Table 'meyerweb.meyerweb20050309' doesn't exist,
 when using table: meyerweb20050309

Well, no kidding, geniuses; there is no table called that, because it’s the name of the dump file, not anything in the database.  And yes, when I dumped the DB from meyerweb, I did it so that it contained the CREATE and USE directives at the top of the dump file.  They don’t seem to make any difference at all.

Plus all that was after I reinstalled MySQL about seventeen times because it refused to start up even though the installation was supposed to be point-and-click.  Eventually I switched to a different, third-party install package, and it went like a charm.  Serves me right, I suppose, for assuming that the MySQL.com folks could put together an install package that actually works.  At this point, as far as I’m concerned, MySQL is the rotted corpses of the maggots that once infested the corn inside a pile of moose droppings.

Not that I’m bitter that this wasted four hours of my life or anything.

The other project is, of course, S5.  It’s currently stuck at 1.1b5, because there’s this problem in Firefox for Windows that I simply cannot figure out.  I commented on it a little over a month ago; the basic problem is that when viewing the testbed slide show in Firefox for Windows, it seems to “jiggle”, apparently from constant re-scaling of the fonts.  I can’t figure out how to stop it.

So any ideas, anyone?  At this stage, that’s pretty much the last major problem before going final.  Safari still blocks use of Page Up and Page Down when in the outline view, but that’s something I can live with.  The nervous-twitch display in Firefox for Windows isn’t acceptable in a non-beta version.

I’ll still be using S5 1.1b5 for my SXSW presentations, but that’s okay because I’ll be using Firefox for Macintosh, which doesn’t appear to suffer from the same problem.  If it does start having problems, I’ll just switch to Safari.  No big deal.

Anyway, that’s where things stand on those two projects.  Hopefully I’ll get over the roadblocks soon, and be able to get them moving again.


Part of the SXSW Herd

Published 20 years, 3 months past

Okay, everyone else is doing it, so here’s my “headed to SXSW” post.  Baaaa!

I’m getting in Saturday afternoon, just in time to miss Jeffrey’s opening remarks, and will be around through Tuesday.  Early Saturday evening, I’ll be at the WaSP/WD-L/CSS-D/WSM/AIR meetup at Buffalo Billiards; the festivities kick off at 6:00pm, and no RSVP is needed, so drop on by!  It promises to be a madhouse (a MADHOUSE!) of standards and billiards.

On Sunday, I’ll be speaking from 10:00am until 11:00am on the topic of “Emergent Semantics“.  I’ve been scheduled to do a half-hour book signing at 12:45pm that same day; if it’s anything like last year, there will be a few authors sitting at a signing table at the same time.  I’m told there will be copies of Cascading Style Sheets: The Definitive Guide, Second Edition, the CSS Pocket Reference, Second Edition, and More Eric Meyer on CSS in stock, but you don’t have to buy a copy at the show to get one signed—if you already have a book of mine, bring it and I’ll gladly sign it.  Heck, bring me anyone’s book and I’ll sign it.  I’m easy.

After the signing, I’m planning to sit in on Tantek’s presentation, “The Elements of Meaningful XHTML“.  His talk and mine make a good one-two combination, so if you’ve any interest in either, you might consider checking out both.

Come Monday, I’ll be getting a late start with an appearance on the panel “Where Are The Women of Web Design“.  Before I get raked over the coals again, I’d like to point you to Molly’s post about the panel and its genesis, as well as the comments that followed (particularly this one).  Just after that panel, assuming I haven’t been burnt to a tiny crisp, the SXSW folks have me doing another book signing.  That’ll be from 4:45pm until 5:15pm.

As soon as I’m done there, I have to skedaddle over to the Red Eyed Fly for Vox Nox, an early evening of New Riders authors showing their “B” sides.  Vox Nox, which starts around 6:00pm and is scheduled to end around 8:00pm, is in many ways a sort of mini-Fray Cafe, which is appropriate… because Fray Cafe 5 is going to be held at the Red Eyed Fly on Sunday, the night before Vox Nox.  I have to admit to being a touch nervous about my part in Vox Nox, because the piece I’ve created is deeply personal and I’m not totally certain how the audience will react.  But that’s one of the interesting things about public performance, right?

Tuesday I got nothin’.  No scheduled events at all.  I can just kick back, check out sessions, hang out in the halls, and generally act like I don’t have a care in the world.  Trust me, it’s just an act, but I’ve gotten kind of good at it.  That evening I’m doing whatever, and by the next morning I’ll be gone.

So if you’re going to be in or around SXSW, come over and say “hi”.  Even if you don’t have that much interest in me personally, you should still come by, because the concentration of Web design stars, standards gurus, and forward thinkers assembling at this year’s SXSWi is frankly a wonder to behold.


Gatekeeper 1.5 RC1

Published 20 years, 3 months past

Now playing: WP-Gatekeeper 1.5 RC1, a complete overhaul of the Gatekeeper plugin.  This version is compatible with WordPress 1.5, and is basically plug-and-play.  Why “basically”?  Because like Windows, there are situations where the plug doesn’t lead straight to play—but more on those in a bit.

First, if you’re using the default WordPress template or a template that uses the same markup, then literally all you have to do is install and activate the plugin.  The challenge will be placed into the comment form using the same markup patterns used for the other inputs (name, email, and so on).  In fact, this will happen for any theme that uses the same markup as the WP 1.5 default.  In cases where the plugin can’t find the appropriate markup pattern, it will insert the challenge just after after the textarea element in the comment form.

So suppose that you’ve completely altered your comment form markup, and what’s more, you don’t want the challenge appearing after the textarea element.  No problem: insert a call to gatekeeper_pose_challenge at whatever point in the form you want the challenge to appear, surround it with whatever markup is needed, and you’ll be good to go.  That’s the kind of situation where you have to do a little more work than simple plug-and-play.  Otherwise, the installation should be quick and painless.

There is a potential exception: non-UNIX servers.  I think I have things set up so it shouldn’t matter, but I may well be wrong, not having other servers on which to test.  So if you run into trouble, disable the plugin and everything should go back to normal (unless you added gatekeeper_pose_challenge to your comment forms, in which case you’ll have to remove those too).  Let me know if you hit trouble, and we’ll see about getting it fixed before going final.

I’m running GK 1.5 on meyerweb now, and everything seems to be proceeding without incident.  My upgrade problems earlier today were due to forgetting to pull out the hooks I’d hacked into wp-comments-post.php and other files for the old version of Gatekeeper.  Those hooks are no longer needed in GK 1.5, and leaving them in place broke commenting.

If you were thinking about using Gatekeeper but were put off by the long DIY instructions in the old version, then now’s the time to try it out.  It’s easy to install, and even easier to back out if you run into trouble.

I’d like to thank Scott Sauyet for helping me with a number of the new routines and features in GK 1.5, including the use of the built-in options table instead of having to set up a separate table for Gatekeeper, the form-scanning routines, and more.


Comments Are Back

Published 20 years, 3 months past

Thanks to some version skew problems with WP-Gatekeeper, I managed to break commenting last night.  I believe I have things fixed now, but if not, leave me a comment.  I kid!  Speaking of WP-Gatekeeper, the new 1.5 version is almost ready to go, so if you’re interested, stay tuned.


Browse the Archive

Earlier Entries

Later Entries