January 21, 2007

Social Content Services and REST

This article from Leigh Dodds about Connecting Social Content Services is an extremely well written summary of several social content services, a greatly pragmatic description of REST and an extremely useful review of the service APIs from those social content services.

If you need a quick list of aspects for engineers to consider when building a ReST based system (the list is derived from Joe Gregorio's site), try this:
  • How does the API use URLs to identify resources?
  • What HTTP methods does the API support?
  • What status codes are returned?
  • How are users and applications authenticated to the API?
  • Are resources linked to one another (use of hypermedia)?
  • What data formats does the API support?
This review notes that nearly all services do not use hypermedia which I think is unfortunate but understandable. I've always had a problem resolving the desire to be flexible in allowing the internal data identifiers to be used in many situations and the desire to be trivally easy for clients to access other resources by simply using links - the mashup problem. One issue I have is that the server-side software that generates the representation might not know all the possible resources made available by sibling services. Think of a US postal zip-code - if you have a service that provides weather based on zip code, should that representation also be responsible for linking to all other services - either provided by your system or some other server - that could potentially take in a zip-code? My approach is to return both direct links to known resources (tagged appropriately) as well as the short-form of the identifier, the plain zip-code for example. Microformats sort of do this, but it's a style that isn't well applied by data services.

One comment I have on this review of RESTful services is the author mistakes "URL" for only the portion before the query terms. This results in judging these services to be less RESTful than they actually are. Use of query terms does not mean there is one 'controller' with parameters, it actually increases the number of addressable resources which is good.

January 17, 2007

Funny story about a bank

Want to hear a funny story?
Okay.
So, this guy walks into a bank south of Seattle, WA.
"Hi" he says "my name is Mike Dierken".
"Here's my social security card, bank account number and Utah driver's license." He hands over a check for $5,000 and wants to withdraw $4,000.
The bank says, "Duh, okay. Sounds good to me." and hands over $4,000 in cash.

Here's the funny part…
The next day, same guy walks into a different bank.
"Hi" he says "my name is Mike Dierken".
"Here's my social security card, bank account number and Utah driver's license." He hands over a check for $5,000 and wants to withdraw $4,000.
This time the bank teller calls the other Mike Dierken who says "What the #!**?" while hearing the teller saying "Sir, please just have a seat over there. No, don't leave…"

I'll be out of the office tomorrow morning. I have a meeting with my local Bank of America branch. I must say, the teller that called me was very smooth and professional, pretending to talk to a 'signature authority' while talking to me. She made her side of the conversation sound normal while still responding to my questions. I imagine even check fraud could be frightening to a teller, as you don't know how they will respond.

January 08, 2007

Second Life client under GPL

I've never used Second Life, but I like the idea of people creating hyper-spaces. I used to do work with 3D graphics and have always thought the multi-player online games had poor visuals - the shading (coloring of models) and lighting really need work to be realistic. I'd like to see 'scenes' with near movie quality lighting and shading that you can invite a few friends into, yet hyper-link to other spaces. I've even toyed with the idea of a 'better' markup language for 3D - less modeling and more auto-layout capability.

Anyway, I don't know what it will mean to have their client library freely available, but this post on BoingBoing had a comment that really struck me:
"Customers only ever get to love it or leave it. Citizens get to change it."

January 05, 2007

Happy Birthday Grandma!

Today is my Grandmother's 90th birthday. Happy Birthday!
She lives in Montana, by the Little Blackfoot River just a few houses down from my Uncle. It's always great to go visit. Unfortunately we didn't fly out to see her for her birthday, airline tickets were just too expensive. We'll probably drive out in the Spring - at least the snow should be gone by then!