Just Shelley

Did someone say non-techie?

Recovered from the Wayback Machine.

I’ve been writing primarily about technology lately, though I want to assure one and all that this is NOT the focus of this weblog — it’s just one area of interest in my life. I do want to apologize to those who had subscribed to my RSS feeds, as I know my not supporting RSS is inconvenient.

I have a chapter finished in my online book, but I’ve been hesitating about releasing it. I feel that there needs to be at least one other chapter released with it, to present another facet to the story. I have to think on this a bit.

Off to more interviews today. Wish me luck.

Technology Weblogging

Consumer rights and RSS

Recovered from the Wayback Machine.

Yesterday was a disappointing technology day. I had hoped to use the position of devil’s advocate at the RSS-Dev group to see if we couldn’t get a firmer definition of what the group sees as its future direction, strategy, as well as specific reasons for use of RDF. I continue to see confusion reign as to a) what the group sees as its purpose, and b) what the group sees as its direction.

Last week, I found I was having a hard time justifying the use of RDF for throwaway syndication feeds. I’ve always felt that if you can’t easily justify something, or provide a solid argument in support, either you don’t understand the need, or there isn’t a need — one or the other. At this point, I couldn’t continue to support RDF for throwaways.

Phil found out in the last two weeks of very hard effort that sometimes RDF just doesn’t work for a specific application. Doesn’t mean RDF is ‘bad’ — I use it for 3 applications at my web sites and it’s wonderful stuff. But RDF isn’t a replacement for XML. Sometimes XML works better. Sometimes plain text works better. If we start developing an attitude of “It’s on the web, so let’s put it into RDF”, we’re guilty of using the right technology for the wrong task, which doesn’t benefit anyone.

Now, I can support RDF for a different type of business, such as persistently documenting each weblog or news item posting, using something that is Dublin Core like, but geared more towards the document sub-unit business. This then could be used for traditional syndication/aggregation, but would primarily be used to literally document our content — for searches, for identification, for whatever. And I tried to get the RSS-Dev group to bite off on this as a possible direction, but in the end I was left with “we’re syndication/aggregation”, or in another case, “we’re RSS and the purpose of this group isn’t justification but tools development”.

Making a long story short: though I respect many of the individuals involved with RSS 1.0, their effort and hard work and intelligence and capability as well as energy, I can’t continue to support RSS 1.0 or RSS-Dev. Not with this current level of confusion about what the group sees as its purpose.

Unfortunately, not supporting RSS 1.0 is seen as giving victory to Dave Winer at Userland, by forcing us into choosing an RSS 0.9x/RSS 2.0 path. However, I still don’t approve of Dave’s approach to implementing RSS and his unwillingness to give up ownership of it. I can respect Dave’s contribution, and his hard work and effort, and his intelligence and capability, but I can’t support a supposedly ‘open’ spec that’s controlled by one company.

Ultimately, supporting either specification means, to me, continuing to support this competition between the groups, competition which threatens to Never…Go…Away, as can be seen in the comments to Phil’s posting.

Sometimes, when I read these types of comments, I feel as if you and I don’t matter at all; that you and I are nothing more than scraps of meat being fought over by two junk yard dogs. Well, this just peeves me. So, I’m taking the route that’s been available to consumers since the beginning of time: I’m not buying.

I’m not buying into RSS 0.9x. I’m not buying into RSS 2.0. I’m not buying into RSS 1.0.

I changed my RSS 0.91 and RSS 1.0 templates to read the following:


RSS not supported here

This weblog does not support RSS 0.9x, RSS 2.0, or RSS 1.0. If you wish to view entries, may I suggest that you visit the weblog, and save your fast skimming for the New York Times and Wall Street Journal.


My weblog. My web sites. My choice.


Who is your audience and what are you trying to accomplish?

Recovered from Wayback Machine.

Just posted the following over at RSS-Dev (edited to remove typos):

There seems to be three separate threads running along the lines of “Who are we and what are we trying to accomplish”, mixed in with proofs and justification of keeping RDF in the mix. How can the energy expended into these threads be coalesced into a determined course?

I asked the question, here and elsewhere, who is your audience? This isn’t marketing or make work. This is a genuine attempt to understand what this group hopes to accomplish other than working with cool technology for the sake of the technology. What is the business of this group?

If RSS, past and current, is based on providing syndication and aggregation feeds, and nothing more, than I agree with those that say RDF adds nothing to the mix, and not because RDF adds complexity — the reason is because the business of RSS isn’t necessarily compatible with the business of RDF.

In the last few weeks, Phil Ringnalda has been working on a application to process RSS 1.0 files and combine this with FOAF to provide a sophisticated interface allowing us to find who has posted or commented on what topic. Yesterday he hit what is probably the core difference between the business of RSS and the business of RDF — the fact that tools generate labels for blank nodes, and that these labels will vary each time the same file is parsed. (See RDF/RSS (RSS 1.0) has blank nodes.

RDF is a meta-language for describing items that exist in such a way that this data can be processed with the same set of tools and combined with a great deal of confidence that this mergence results in a valid pool of rich data. It is literally a markup version of the relational data model, and as such, is extremely useful and necessary to help with the chaos that XML created. However, there is an implied persistence to the items described with RDF, the same as there is with relational databases. Data may change and be removed, but there is no temporal self-destruct attached to the items.

RSS, as the majority of those who view it (the users, not the tool developers) is a syndication feed — nothing more than recently updated items that can be polled and aggregated. There is no implied persistence. In fact, the business of RSS is based on impermanence.

This is a major difference in ‘business’ between the two concepts. From a database perspective, this is equivalent to using an RDBMS when a flat file of comma-delimited data is all you need.

If this group wants to continue providing a specification that defines syndication feeds, then it needs to consider that RDF not only doesn’t buy the group anything — it can harm the tool developers that use the spec. (Not to mention that trying to use RDF inappropriately can actually negatively impact the acceptance of the RDF specification.)

If, however, this group sees that what they’re working on transcends throwaway syndication feeds, then it needs to formally define exactly what the business is _before_ trying to create a spec that implements it. Hence my questions: who is your audience and what are you trying to accomplish?

Specific instances of technology aren’t an answer to these questions. This isn’t answered by, “Well, we’ll just continue as is and use XSLT to handle any problems in the future” or “We’ll use modules”. If you find yourself answering these questions by referencing technology, then either you’re missing the point, or (more likely) I’m doing a piss-poor job of explaining myself.

What is the problem this group is trying to resolve? What is the benefit this group is trying to provide that no other technology or specification provides? Who is your audience? Not the tool developers — people don’t write tools for no reason. Who are the consumers of the tools developed?

What are you trying to accomplish?

This understanding of the basic business goes beyond a name, though the name of ‘RSS’ is drastically adding to the problem by forcing a type of business on this group that this group really doesn’t want, as well as adding an element of competition that is both unnecessary and harmful.

Perhaps this group really isn’t interesting in throwaway syndication feeds. Perhaps this group is interested in finding ways of describing publication units that may or may not be smaller or bigger than an individual web page, and a side benefit of this is that the data can be used for aggregation purposes. Or not. I don’t know — the group hasn’t told me what the business is.

If you continually have to justify the use of something over and over again, either you’re wrong, or your audience is wrong. In either case, you need to re-focus your efforts, and either find a different audience, or stop beating a dead effort.

People Places

What the folks say in the midwest

Recovered from the Wayback Machine.

I am not a very outgoing person. It’s uncommonly difficult for me to just start talking to strangers, not because I don’t like people, but because there’s a part of me worries that I’m encroaching—intruding into people’s personal space.

During the trip last week, I deliberately went out of my way to get into situations of talking to people I didn’t know, every day; at rest areas, at breakfast, gas stations, whenever the opportunity arose. We generally talked about weather, traveling, destinations, but occasionally the conversation would focus on the Middle East, Iraq, and the war on terror.

Almost all of the people I met were retired (hence traveling in September), and most were from the mid-west, though there were some exceptions, such as my flower children of a previous post.

There was a couple I met in the Roosevelt National Forest who were from New York. She was the one who told me to look out for the wild horses, with coloring unique to the area. She told me many things, her talkative nature matched by her husband’s absolute and complete silence.

They had flown out of New York before September 11th, because they didn’t want to be in the city. Their son had been in the World Trade Center the day of the attack, though luckily he had gotten out, but he still works in the general area. She talked with a friendly smile, but with a desperation as if she had to talk and talk and talk. And the more she talked, the angrier and more quiet her husband became.

I sat with another couple at breakfast in Wisconsin and we talked about Iraq. They had voted for George Bush and support him still, but are confused: they didn’t understand what the urgency is in going after Saddam now. They expressed concerns about how difficult this fight would become, and the potential loss of lives. I was particularly pleased and proud, though I’m not sure why, when I heard them say that they were concerned about the loss of innocent Iraqi lives. Not just our people, but people over there, too.

There was the elderly man at the rest area with his ancient mutt that he jokingly referred to as a miniature Great Dane. The puff of fur was no bigger than my last stack of pancakes, and it was hard to say who of the two was creakier when they walked but sweeter of disposition.

When the weather drove me to an early day in Rapid City, South Dakota, I chatted with a woman taking her two daughters to college in upstate New York. We were both thankful to have found a hotel room. I watched her as she walked off to join two daughters, two smaller boys, and a cat in a carrier. And she could still smile. Amazing.

In one combination gas station/restaurant I stopped to get gas and some coffee. When I walked over to the help yourself coffee pot, a group of farmers sitting nearby stopped talking, uncomfortable in continuing their conversation with a stranger in their midst. However, as suddenly as they stopped, they started talking again, as if aware that their silence said just as much about them as their conversation.

And in almost every inn and hotel, a television set was running with a story that seemed to continue round the clock: invasion of Iraq. It formed a backdrop for all of the conversations, sitting as a silent participant at the tables, walking along side the paths, mingling in the crowds — not heard directly, but felt.


Well FOAF you too!

Recovered from the Wayback Machine

It would seem that there are folks out and about playing with RDF, in particular FOAF,a Friend-of-a-Friend RDF vocabulary. Mark Pilgrim’s playing with it. So is Sam Ruby and Phil.

Phil had some problems with the original FOAF file generated for him by the FOAF-o-matic in that it includes blank nodes — equivalent to a subject-predicate-object (noun-property-value) that doesn’t have a specified subject. He provided his own ‘label’ to the nodes so that they then wouldn’t be blank.

Usually a blank node is used when a label doesn’t serve a purpose or doesn’t yet exist. For instance, I might use a blank node (these used to be called anonymous nodes) to represent a “location” object. I don’t really care about accessing the location, I want to access the location’s parts: the city, the state, the zip code. I only use an object to group these items schematically, but I’m not interested in actually accessing the grouping directly.

If I decide to have multiple locations and I do want to identify them individually, then I would add labels to the nodes for the locations and they would no longer be blank.

One assumes the FOAF designers didn’t see one accessing specific person’s as much as one would access those attributes of person: name, SSN, etc.

In relational database systems, the concept behind a blank node is analogous to dummy keys or auto-generated identifiers given to uniquely identify a row in a database table. This identifier is mainly used by the database system, rarely be applications built against it, and never directly by people.

Anyway, back to FOAF. Friend of a friend. The purpose behind FOAF is increasing our knowledge about people in a community according to an article by Edd Dumbill. I’m most interested in FOAF because of the possibility of using it to build a complex web of trust based on the idea of this person knows someone, who knows someone else, who knows someone else, who knows someone else, who knows you, and so on. If you know and trust me and I know and trust Phil and he knows and trusts Joe down the road, you’re more likely to trust Joe because of this indirect relationship then if you just found him by happenstance.

FOAF becomes more usable, as with most RDF, when data from the various FOAF files are parsed and merged into a common data source, and then the recursive querying can occur. Who knows this Joe? Well, Phil knows Joe. I don’t know Phil, so who knows Phil? Shelley knows Phil, and on and on. It’s handy being able to query for Edd’s email address and nickname with FOAF, but it’s handier knowing who Edd trusts.

FOAF files are easy to generate and fairly easily to consume with any number of RDF APIs and tools (in Perl, Java, Python, PHP, and so on).

It’s an interesting vocabulary with some potentially interesting uses. I’ll be curious to see what uses the weblogging community come up with in their current explorations.