Categories
RDF Semantics

And it jiggles, too

I’ve been playing with mash-ups lately for the book, and at one point had to slap myself in the face to get me to Stop! Stop! Not another service!

straup at Flickr’s announcement of “machine tags” is significant, because, as he demonstrated, it really is the same as RDF, except without the scary name (and we’ll shoot the first person who mentions reification). Of course, now I’m looking at my mash-up examples for the book and thinking, like jello, there’s always room for more.

Speaking of integrating services and data, I still like RDF as XML. I can do things with it, such as load it into the browser XML Parser and manipulate the data using DOM methods. Unfortunately, I have to copy the RDF file, such as Dan Brickley’s FOAF file, to my home directory before using Ajax–it’s not packaged correctly for cross-domain browser access. It wouldn’t be difficult for any RDF/XML source to be packaged as end points for cross-domain access. Leaving aside issues of trust.

Danny, who points to a nice semantic/scripting challenge (but…iPod?), asked about RDF Turtle notation and Ajax, and sure you could use Turtle in XMLHttpRequest (XHR) requests, or as endpoints and dynamic scripting. All you have to do is either return it as text for XHR, or as a valid parameter in an endpoint (wrapped in a function call, and used with dynamic scripting). What we need, is an transformation between Turtle and JSON, and return Turtle formatted as JSON (and we have it). But I like RDF/XML because I can just cram it into the browser’s parser and use the DOM. Either XML or JSON works for me.

The Flickr API’s “machine tags” works, too, basically flattening triples and squeezing them skinny thangs into a JSON response; The API provides an endpoint, too, so that you can call it from the browser. If you’re as curious like me, as who would use the dc: namespace at Flickr, click the dc: button in the example page I linked earlier, and you’ll see the most recent cases. From the pictures, it looks pretty much like everyone.

Let me say that in the crowded field of photo services, Flickr just got all pretty and sparkly, and is still *Queen of the game.

Sparkly…sparqly…say…that gives me an idea

Yup. There’s always room for more.

Update Try out the end button, which pulls in the dc:subject from my RSS 1.0 file. Click on an option, and it searches for all the matching photos in Flickr. Of course, I’m the only one who has used dc:subject with Flickr…still.

Quick note: The example application I linked works on most browsers, but this is just a quick hack, for fun. It hasn’t been heavily tested other than me playing around, nor have I optimized the code. I haven’t tried it on IE 6.x or IE7 yet, me having ‘fun’ being the operative concept in this paragraph.

Bonus points: Kingsley Idehen: SPARQL, Tagging, Ajax,…

*What, you thought I was going to say King? Don’t know me well, do you?

Categories
Semantics

Honest Cruft

When I went looking for a FOAF file to copy for my playing around with Ajax, RDF, Flickr, and so on, I immediately thought of Dan Brickley’s FOAF file, and once I had copied it locally, I just plugged it into my application, without validating the RDF/XML first. I did so with confidence because I knew that, if there was one FOAF file guaranteed to be cruft-free, it was Dan’s.

There’s more to ‘trust’ on the internet than is covered by openID: a person can create cruft and still be honest. What we need, as the number of services and data endpoints expand, is a way of attaching trust to the quality of a service–not to mention trust as to whether the service can be hacked and we’d be at risk using their data in our Ajax applications.

I have a great deal of trust with Flickr, but even when I was working on the book, one of their services went out, just for a few minutes, just as I was testing something. Still, I knew it would come back. Why? It was Flickr. The entire site would most likely be taken down before the API would be stripped–or Stewart Butterfield would be fired before he’d let it be stripped.

This is a measure of trust associated with how long a service will be available. If a service is pretty stable, such as Google Maps, or Flickr, or others of that sort, we can integrate such more heavily into our work. However, if the company is a startup, in trouble financially, well then, we better keep any integration at a surface level, ready to cut loose at any moment.

There’s issues associated with whether a service was meant for internal or external access. The recent del.icio.us JSON endpoint service, the Tagometer, wasn’t necessarily meant for completely open-ended use. I’m sure the organization won’t yank it, but…I’d only moderately integrate it into my applications, and keep a replacement handy.

How about ads? Payment? Google has always kept the door open for adding ads to Maps, but the company has said it would provide several days notice. Still: if our mashups, widgets, what have you become dependent on Google Maps, what happens when the ad drops?

We’ve focused so much on people and trust, that we’ve forgotten how much we’re putting our applications, our widgets, our web sites, and even our businesses at risk because of the services and data we’re tying into. What we need is an OpenID for data services: can this data be trusted, is this data trustworthy, is this data coming from the correct spot–hey, is this company going belly up? Does it have dangerous elements? Perhaps what we need is a trust scale we can apply to a service to determine how much we want to depend on such. ProgrammableWeb has a rating system, but let’s face it, that’s more a rank on the ‘coolness’ factor, than the stability, trust, and general warm and fuzziness.

Then there is the issue of our service requests: how about a ‘signature’ we can attach to our requests? Hi, this is Shelley passing through. No worries, I’m not a spammer. Looks like this one has been asked at the OpenID forum. It would be nice to have an API key that I could use with all services. More importantly, though, I’d like to establish a level of trust, so when I hammer the service, hopefully those who are monitoring the service see it’s only me, and I wouldn’t hurt a fly.

Categories
Political

The surest indicator

he surest indicator of how things have changed since the election is that Bush came to Missouri today, but the lead story in St. Louis Today (The St. Louis Post-Dispatch online site) ended up being about the winning Powerball ticket being sold in Missouri.

Bush’s visit was relegated to the back pages; along with an interview with the brother of the man who was arrested for kidnapping the two kids who have been in the news too much; a corpse discovered in the ditch in Centerville; a delay in the Highway 40 construction project; and a pit bull mauling in the bootheel.

Personally, I was interested in the Highway 40 construction project delays.

According to the story:

Bush met at St. Luke’s Health System’s Lee’s Summit hospital with a group of small business owners and employees to discuss how his plan would effect them.

Dan Jones, an engineer for a St. Louis-based computer company, said he’s uninsured because he couldn’t afford the premiums, which he said increased to $400 a month.

“That $4,800 (a year’s worth of premiums) is a lot of money,” he said. “That’s money that could go toward a car or a house.”

Bush said the plan would save Jones more than the cost for an insurance plan.

“Here’s a classic case, a young guy in the market place priced out of the individual market,” he said. “The plan helps him.”

Is there a new math involved here? Can someone explain to me how a tax deduction on the first $7500.00 of a single person’s income tax would save more than $4,800.00 a year?

Categories
Healthcare Political

Benefiting the insurance companies, not the people

Bush is making a visit to Missouri on Thursday to push his health care plan. How appropriate, considering that our Republican governor has cut the number of children and other people covered under Medicaid and Medicare. Over 100,000 400,000 were dropped, and I’ll tell you one thing: they won’t be covered under Bush’s plan, either.

Here’s the deal: I as a single person would not be taxed on my first $7500.00 in income, in order to pay for health insurance. What does health insurance run? About $200-400.00 a month for a single person without pre-existing condition. Monstrously more if there is an existing condition–if you can even get coverage.

Now, if I make let’s say 25,000 a year–that’s a tax savings of about $750.00 or so. This will buy me, on average, 2-3 months of so-so coverage under most of the HMOs in this state. All at the cost of those lucky people who have decent health care coverage for their families having to pay more in taxes, just so that I get enough tax saving to not have enough money to pay for my own health care coverage.

Now, if it were enough to actually allow most working people without insurance to get such, they’ll be joining these HMOs and other medical plans, adding to the profits these companies make. However, the quality of care will continue to degrade, as more and more of these organizations are denying even basic care in an attempt to further increase profits.

The health organizations will like it because they don’t have to cover quite as many ‘bums’ and ‘deadbeats’ and, you know, the people who most of the Republicans would prefer to just die, and eliminate the problem.

It is universal health care or nothing. No more Bushian ‘drug plans’ that helped few. No more compromises, and absolving this country of its social duties in ensuring that everyone has basic health care. No more embarrassing ourselves in the eyes of the rest of the world, as the people who put up with this shit from our politicians, and who don’t have the brains to demand better.

The cost to pay for all this really isn’t the problem. What is, is the health care organizations that are overcharging for services that are being underutilized because someone somewhere wants to make a buck off the backs of Americans. There is a Health Machine that doesn’t want universal health care. It’s not because people are worried about you and me, or jobs, or because of increased taxes, and it’s not because of what the country can and cannot afford. It all comes down to profits and quarterly reports and executive bonuses.

The Health Machine: that’s who Bush’s plan is for and to be frank, he’s not welcome in this state. Let him takes his sorry ass elsewhere.

Categories
JavaScript

Progressive Enhancement

The book title, Adding Ajax, should be synonymous with the concept of progressive enhancement in Ajax development, and I’ve gone through the earlier chapters and adjusted accordingly.

Progressive enhancement (or should that be Progressive Enhancement?) is the philosophy that you create web pages that don’t require any scripting at all, first; then add scripting effects in such a way that each degrades gracefully and doesn’t impact on the accessibility of the page.

Most web development should use progressive enhancement, because most sites aren’t creating Word in a web page, or yet another spreadsheet. Most web sites are providing information, stores, how-tos, whatever that aren’t dependent on scripting. The scripting is an enhancement.

Starting with the script and then adding accessibility comes off as clumsy. Starting with the basic application and adding scripting and Ajax effects is a much more elegant approach.

The one last step in all of this is how to make dynamic web page changes apparent to screen readers. Juicy Studio has documented approaches with JAWS, first in Making Ajax Work with Screen Readers and recently with Improving Ajax Applications for JAWS Users.