[+]Twitter Add to Google! Add to My Yahoo! Subscribe with Bloglines

May 2007

HTTP Content-Type VS URI file-type extension and more…

21

May

Danny Ayres recently posted some podcasts whose resources don’t include file-type extensions. Now I use a greasemonkey script that parses for resource extensions and displays icons (or embeds a flash player) next to them. Great for finding media links when scanning pages. This had me wondering; should all resources include Content-Type in the URI instead of or in addition to HTTP headers?

When a file-type extension is provided, HEAD requests for every single link to find their Content-Type isn’t then required. Some pages I load, include thousands of links(my news aggregator). A thousand HEAD requests doesn’t sound fun.

When I think about objects I see in the real world, the first thing my mind tries to figure out based on the context in which I find it is the type of object I’m looking at or feeling, and if it’s a type that interests me.

Online for me this translates into the context being the URI, and the type the extension. Therefore it makes sense to me to always include an extension.
If on the other hand I want to take a close look at an object (or resource) then I pay closer attention to it (obtain it or its metadata).

Saying that, it also makes sense to include things like geospatial information in the context. eg. date, location.
What brings me to the who, what, where, when, how and why of resources.

who owns the resource, what is the resource, where does it relate to, when was it made, how you interact with it, and the why is the data, which is self explanitory.

http://example.com/category/2007/May/21/a-new-resource.html

Or, written as an XRI:

=examplewho+tagwhere$date*2007-05-07/what-this-is$type*text-html

Though I’m unsure as to whether you can have the $type listed after a directory symbol. If you can, think about a resource with multiple URIs describing that resource. Mix and match those context symbols with alternate descriptions or locations and you’ve exposed large amounts of metadata about a resource. e.g;

=who/my-image$imgsize*100×100$type*png
=who/my-image+car+burnout+night
=who/my-image$copyright*cc-sharealike

what about using a third-party service to do a conversion.

@convertercompany=who/my-image.jpg$imgsize*10×10$type*image*png


Trying to Understand Silverlight Nuts & Bolts

12

May

Below is what the Digger HTML example from the Silverlight gallery, looks like on the inside.

As you can see it includes two javascript code includes in the Default.aspx XHTML page; Silverlight.js which appears to do all the heavy lifting(initial object insertion, plugin-detection) and CreateSilverlight.js, which appears to create and insert our Silverlight Page.xaml canvas into Default.aspx.

The basic XHTML shown below includes an onLoad() event handler that executes after the page has fully loaded, and the createSilverlight() function call that executes before onLoad() as the page loads and inserts Page.xaml inside of the ‘host’ div, as ‘digger’.

Default.aspx:
[xml]







W = Up, A = Left, D = Right, S = Down, ESC = Restart




[/xml]

CreateSilverlight.js:
[xml]
function createSilverlight()
{
Sys.Silverlight.createObject(’Page.xaml’, document.getElementById(’host’), ‘digger’, { width: ‘320′, height: ‘256′, version:’0.95′ }, { });
}

function onLoad()
{
document.getElementById(’digger’).focus()
}
[/xml]

Page.xaml:
[xml]
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Digger.Page;assembly=Digger.dll">

[/xml]

I’m guessing Digger.dll being our compiled application, instantiates and runs on top of the DLR built into Silverlight 1.1 Alpha.

Below is a snippet from Silverlight.js:
[xml]
// createObjectEx, takes a single parameter of all createObject parameters enclosed in {}

Sys.Silverlight.createObjectEx = function(params)
{
var parameters = params;
var html = Sys.Silverlight.createObject(parameters.source, parameters.parentElement, parameters.id, parameters.properties, parameters.events, parameters.initParams, parameters.context);
if (parameters.parentElement == null)
{
return html;
}

}
[/xml]


OpenID, XRI & Identity Pipe Dreams

08

May

Pipe dreams description from Wikipedia:

A pipe dream is a fantastic hope that is generally regarded as being nearly impossible. The term derives from the mescaline pipe, which was popular in the early twentieth century. Such ideas usually need events to flow in just the right direction to be realized, as a plumbing pipe might. The probability of such a course, however, is extremely low. Misconceptions, obstacles unseen by the pipe dreamer, or simple ignorance of any issues involved are often disregarded. Also pipe dream is alluded to by the fantasies (a rather comical, yet popular, example of this is a banana hallucination which regularly gives the opium smoker bad advice) induced by smoking an opium pipe, but this term has been used more loosely since the 1800s.

Somehow seems fitting.

I really hope OpenID succeeds but I’ve begun to question OpenID foundations. Misconceptions, obstacles unseen by the pipe dreamers. Questioning the foundation on which it lies. IP, DNS, HTTP and the biggest technological hurdle of all; society.

Forgetting DNS as an OpenID, as who wants to have their identity reassigned or stolen? I’m left to ponder what else is out there. Yes there are inumbers, OpenXRI, inames (I can never remember if I should use a hyphen), but all that really does is give us permanent identifiers with a nicer naming convention and protocols for exchanging information. It doesn’t give me freedom to express who I am unless I have a credit card.

inames still cost money. Not everyone can therefore get a first-level iname. How many would be happy with =xri*name for the rest of their online identity? There’s also still one single registry monopoly and there’s nothing from stopping a spammer or phisher registering a name and using it to pilfer. By default everyone is let in. I still haven’t seen any reputation services built on this or any other system that seems to for that matter. Googles untrusted honeypot is the only that comes to mind. Federation really seems a long way off. Trusted computing another pipe dream. Yet it’s these I think we should be pushing centre stage.

I’d like to believe the internet is about collaboration. It therefore then make sense to me to make it easy to enable new and efficient relationships between resources at it’s core.

But first doesn’t it make sense to give EVERYONE a resource to enable these relationships?

This is why I think OpenID as it stands is a pipe dream. When I think about identifiers I keep coming back to those we use in the real world. The signatures our minds construct based upon dynamic attributes of people and objects we form dynamic relationships with over time. Where despite change that occurs, those signatures we build always manage to persist while the attributes change or are lost(I forget people’s names all the time!).

It therefore makes sense to me that I should be able to attribute any object online as I do in real life in such a way that I’ll remember it!

I fear that until we can do this persistently(with dynamically trusted peer replication), identity is all but a pipe dream.

Why can’t I be a name server for any resource I choose to annote with an attribute on top say an inumber and use reputation to manage these services and additional services I have the reputation to? Costs thousands and a checklist to get the rights to sell inames/numbers currently.

I feel like the current internet is all about making money and not making sense. ie. SPAM.


Recent Links

Recent Links

-->
Recent Comments
  • Craig Overend: Fixed, thanks Josh. English and explaining myself clearly has never been a strength of mine. Glad you...
  • Josh: Hey, just wanted to point out it should be "you're", as in "you are". Otherwise, wow - very in depth post....
  • Joe Andrieu: Craig, As I've mentioned elsewhere, user-driven is a solid improvement over user-centric, both...
  • Niall Kennedy: Asking the site visitor to opt-in would defeat the purpose in my particular case. I am trying to...
  • Craig Overend: Without qualifying yourself I find that comment facetious. If your playing on my use of the term...