The UNT Digital Library uses the ARK identifier scheme as part of its persistent identifier strategy, below are some of the ways that a user can interact or hack a url.
An object is identified with an ARK added to the http://digital.library.unt.edu domain
ark:/67531/metadc11772
becomes
http://digital.library.unt.edu/ark:/67531/metadc11772/
First thing that can be done is to ask for basic metadata about the object at this ARK
http://digital.library.unt.edu/ark:/67531/metadc11772/?
Committment statement about this ARK
http://digital.library.unt.edu/ark:/67531/metadc11772/??
All objects have a thumbnail image associated with them
http://digital.library.unt.edu/ark:/67531/metadc11772/thumbnail/
All objects have a citation page with them
http://digital.library.unt.edu/ark:/67531/metadc11772/citation/
Metadata in a few formats is avaliable at a metadata splash page
http://digital.library.unt.edu/ark:/67531/metadc11772/metadata/
and then formats are avaliable as well
http://digital.library.unt.edu/ark:/67531/metadc11772/metadata.dc.xml
Our data model has the idea of an object, which is made up of manifestations, which in turn are made up of fileSets. Here is how those look in the url
http://digital.library.unt.edu/ark:/67531/metadc11772/m1/ – manifestation which is a series of image files
http://digital.library.unt.edu/ark:/67531/metadc11772/m2/ – manifestation which is single pdf
Each manifestation is made up of fileSets
http://digital.library.unt.edu/ark:/67531/metadc11772/m1/1/ – first fileSet in the first manifestation
http://digital.library.unt.edu/ark:/67531/metadc11772/m1/2/ – second fileSet in the first manifestation
http://digital.library.unt.edu/ark:/67531/metadc11772/m2/1/ – first fileSet in the second manifestation
We have a view that allows you to see all of the manifestations in an object as well.
http://digital.library.unt.edu/ark:/67531/metadc11772/m/
FileSets can have additional views to them, for example:
an OCR view
http://digital.library.unt.edu/ark:/67531/metadc11772/m1/2/ocr/
small resolution view
http://digital.library.unt.edu/ark:/67531/metadc11772/m1/2/small_res/
medium resolution view
http://digital.library.unt.edu/ark:/67531/metadc11772/m1/2/med_res/
high resolution view
http://digital.library.unt.edu/ark:/67531/metadc11772/m1/2/high_res/
you can force a browser to download one of the views
http://digital.library.unt.edu/ark:/67531/metadc11772/m2/1/high_res_d
Some of the objects have different functionality than others, for example video fileSets have the ability to psuedo-stream to flash players, image fileSets have the ability to resize, rotate and adjust the aspect ratio of the image back in the application before it is sent to the browser.
When we need a new bit of functionality it is mapped to the logical place within our current identifier structure.
In the end though we consider everything past the name in the ARK to be optional to support and while we fully expect to resolve these urls to very similar functionality as our system moves forward if something changes we will redirect the URLs back to the base ARK.
While I’m a big fan of using URLs to cleanly identify digital library or digital repository resources on the Web, I don’t see what ARK has to do with it really. The ? and ?? pattern is poorly supported in web frameworks, and generally just gets in the way. Everything else you mention seems like good URL namespace design, which certainly should be encouraged. But I’m not convinced that getting the world to use ARKs is the best way to promote that.