Phil Windley makes some good points about Federal DRM and Web Services. DRM = Data Reference Model, part of the FEA.
Author: administrator
-
Open source book
Bill Gratsch mentions a new book for sale at Amazon: Government Policy Toward Open Source Software, edited by Robert W Hahn and available for pre-order now. Hahn, of AEI-Brookings Joint Center and Harvard University, is known as a sceptic to open source – together with CompTIA and de Tocqueville Institution, Hahn represented the declared sceptics (“con’s”) at the eGovOS-conference.
I decided to check Google (which BTW already had picked up Bill’s story). I there found out that the book is available for download on the AEI-Brooking’s website.
The book consists of an overview/commentary by Hahn and then four individual contributions by James Bessen (Research on Innovation), David S. Evans (National Economic Research Associates), Lawrence Lessig (Stanford University), and Bradford L. Smith (Microsoft Corporation).
-
eGov in Denmark, Part 1
Jeannette Nielsen, first secretary of science and technology at the Royal Danish Embassy in Washington, D.C., has started spreading the word about Danish e-government in Government Technology International.
Her first installment there is Denmark Provides Secure Electronic Document Storage for Citizens.
I’m going to help her with her next article, which will focus on our work with XML and national enterprise architecture.
-
Really Simple Government
David Fletcher and I share a passion for RSS. Dave’s goal is to have all Utah agencies produce their news in RSS. A beautiful vision. By also taking the lead in guidelines for government RSS, Utah is the government RSS place to watch.
Unless you count in the Danish solution, of course 😉 We built a service that scrapes press releases from all public sector websites in Denmark, indexes them and automagically categorises them into a set of public “metainformationsets” (called OIOXML “theme/type”-metadata), and then allows users to search in one database. I hope we can soon get these search results available in RSS, so we can make our experiences with Government RSS.
-
National ID
Phil Windley points to an interesting article he wrote in Digital ID World.
The Danish Civil Registration System was created in 1968 by digitising the contents of the manually kept municipal civil registers, and giving each citizen a civil registration number, which has since served as a unique ID number. We first went into the debates about digital ID long ago, but “burned our hands” on Big Brother talk. That was more than 15 years ago. For the past couple of years, all the debates of course have returned. The thing now is about digital signatures more than ID-cards. We are very close to finding a solution here. We’ve had a project competition, and our signature group is closing in on the winners, which should be announced by the end of this month.
-
Linking up the link tag
Udell’s The name game about URL politics and principles is important.
My private coding adventures with bookmarklets and auto-discovery continues. I am doing stuff that Alan can only imagine, and appearently others too, because I have not yet found anyone who can help me out. So, I decided to take a slightly different route in order to get to where I wanted. And where is that again? Here:
That’s a screen dump with what happens when I click on my bookmarklet on W3C‘s site. I don’t have to fill in anything besides picking a category (which can of course be preset). The rest of the information is filled in automagically, partly by the bookmarklet and partly with a small spider I ended up using to go and discover XML/RSS-feeds. Until I get the bookmarklet right (testers, mail me), the spider has a webinterface too, so try the autodiscovery there (fetching description is not there; it’s still in the bookmarklet, but the XML/RSS-autodiscovery should work.How? Appropriately, Sam Ruby today wrote P.S. Consider adding a link tag to your blog…. The same message goes from me, because the link tag is all a site needs for my spider to work. It’s not that I don’t like the small orange buttons everywhere, but from now on, I don’t need them if people just follow Sam’s (and others‘) advice. I think my blogging tool of choice supports link tags by default, but I am not sure about the other tools out there. Many Radio-sites doesn’t use it, I notice. Anyway, every blogger should be able to manually add the title tag, which only needs done once and for all, so please, go ahead and add it.
-
Trend Expedition
Phil Windley’s talk was one of the reasons I am sorry I didn’t have a chance to participate in Susan Turnbull’s Universal Access Collaboration Expedition. I’m on her invitation list, and always hate to miss the events, but it’s good to follow what she’s up to.
Phil’s web services manifesto is about defining web services, and he puts forward some old as well as some new thoughts. I like the open definition of web services, and the design principles.
IMHO an eGov web services manifesto must be a bit wider than the one Phil suggests. It needs to embrace the core architectural principles in a wider context (“federated enterprise” kind of way). But if it were up to me, the open definition and the design principles would embrace those Phil raises.
There is also a bit more to say about life events, but Phil makes a good and clear point there, which I’d like to use. We have a lot of experience here in Denmark with thinking in life events. There has been a tendency to think “one life event” = “one portal”, but fortunately, we have moved ahead and now think in terms of service communities and partnerships.
Speaking of presentations, I have been asked to nominate three contemporary trends in e-government with three good examples showing these trends. Any nominations? (Alan, can you send me three powerpoints about GG, please ? 😉
-
You can see it, but …
Reuters: Microsoft Opens Guarded Source Code to Governments : To woo governments, Microsoft said it will make its source code available to government agencies over the Internet, provided they do not disclose that code. They will also be required to sign contracts, but will not have to pay for access.
The Register comments: It’s a trap. Don’t go there…, and writes:
Remarkably, this “unprecedented move” (Reuters) looks not entirely dissimilar to the Microsoft Government Shared Source Licensing Program, which has been available (to general disinterest) for some considerable time.
Helen Jung, AP Business Writer, reports that Michael Gartenberg, research director for Jupiter Research, commented:
“It’s a brilliant maneuver … It gives them a huge (public relations) win, gives them a response back to the open-source folks and also provides the impetus that many of the government organizations have been looking for to continue doing business with them.”
Michael Gartenberg wrote that and a bit more in his new Analyst Weblog, and it seems the AP writer picked that story up for her own story. Interesting.
-
DOMocracy
Jon Udell tells A tale of two book sites about Bjørn Lomborg’s book in various contexts. Even though I had enough of Lomborg (he’s been en TV a lot here in Denmark), I found the example interesting. Nice one, Jon.
The technically inclined will also want to read Jon’s Revisiting the scriptable DOM. I’m glad this ball is rolling.
-
Coding for automation
Warning: Code ahead …
What is a perfect tool for a lazywebber like me, who wants to maintain a directory of resources? I need a tool that makes adding stuff to my database very easy. I want my bookmarklets. These small pieces of code that are used in the browser are not ideal, but does a great job, and are able to do small, disruptive wonders. The first generation bookmarklet were simple, but efficient tool, such as the dictionary look-up helper that redefined “smart tags”. We currently see a new generation of bookmarklets adding LibaryLookup, auto-discovery, trackback pinging feautes, and …
I’m going to look again on my bookmarklet. It looks like this [1]:
javascript:
1. if (m0=document.getElementsByTagName(‘META’)[‘name’,’description’]){metatagged=m0.getAttribute(‘content’)};
2. else if (metatagged=document.selection?document.selection.createRange().text:document.getSelection());
3. void(openstring = ‘http://slashdemocracy.org/links/page.php?do=add&Contact_Name=John&Contact_Email=john@slashdemocracy.org&cat_id=84
&URL=’ + window.location.href + ‘&Title=’ + document.title + ‘&Description=’ + escape(metatagged));
4. void(window.open(openstring,”,’width=900,height=400′));Let us go through the lines one by one:
Line 1: getElementsByTagName (surprise!) gets elements by tagname, here the -tag, specifically the metatag with name=description. If there are such tag, it’s content is put into an array (?) called metatagged.
Line 2. If there is no metatag called description, we use the selection mechanism and createRange instead grab selected text, and put that in the array instead.
Line 3. We use openstring to call a carefully designed, but rather long, URL which we now start constructing.
First, we set a few constant parameters, such as who I am.
Second, to get the location (URL) we use window.location.href. [This is not W3C-DOM!]
Third, to get the title we use document.title. I guess we could use the metatagged method too, but why should we? [I’m not sure whether this is W3C-DOM]
Fourth, we add the description we have in the metatagged to the URL-string.Line 4: We open a new, smaller window in which we call up the designed URL.
In action, the bookmarklet would open a window with a form with pre-filled content:
I can now edit everything, for example pick another category (I pre-set one in the URL-string, Line 3 above), or edit the description. But I can also just confirm everything, and click Add Link. Can it be any easier? The full operation of adding a link consists of three clicks: one on the bookmarklet, one on Add, and one to close the resulting window.
#
Up next: more automation.
One of the interesting “new things” on the web is markup for auto-discovery. This is a code snippet you add in the HTML-document head, such as:
<link rel=”alternate” type=”application/rss+xml” title=”RSS” href=”http://slashdemocracy.org/gotzespace//index.rdf” />
<link rel=”alternate” type=”application/xfml+xml” title=”XFML” href=”http://slashdemocracy.org/gotzespace/xfml.xml” />These two examples point to two XML-files (RSS and XFML), which can then be auto-discovered by tool that can go and discover things.
Specifically, I want to have my bookmarklet auto-discover RSS-feeds. Mark Pilgrim has looked at this for Amphetadesk. Diving into his code:
1. javascript:void(d=document);void(el=d.getElementsByTagName(‘link’));
2. for(i=0;i<el.length;i++){if(el[i].getAttribute(‘rel’).indexOf(‘alternate’)!=-1 && el[i].getAttribute(‘type’).indexOf(‘application/rss+xml’)!=-1)
3. {void(location.href=’http://127.0.0.1:8888/add_a_channel.html?unknown_url=’+el[i].getAttribute(‘href’)+’&go=1′)};};First, in Line 1, the author has also found getElementsByTagName, which here is used to check the link tag. In Line 2 we check for relevant tags in order to find the RSS feed. If we find such, we go to a special URL. I’ve tried it in my Amphetadesk, and it works. Exactly as described, that is. If there is no auto-discovery tag for RSS, the bookmarklet does nothing.
Hacking on this, we get:
javascript:void(d=document);void(el=d.getElementsByTagName(‘link’));for(i=0;i<el.length;i++){if(el[i].getAttribute(‘rel’).indexOf(‘alternate’)!=-1 && el[i].getAttribute(‘type’).indexOf(‘application/rss+xml’)!=-1){void(location.href=’http://slashdemocracy.org/links/page.php?do=add&URL=’+el[i].getAttribute(‘href’)+’&Contact_Name=John’)};};
That actually works, but is not good enough.
So, let’s see: Something like this should work, I thought:
javascript:void(d=document);void(el=d.getElementsByTagName(‘link’));for(i=0;i<el.length;i++){if(el[i].getAttribute(‘rel’).indexOf(‘alternate’)!=-1 && el[i].getAttribute(‘type’).indexOf(‘application/rss+xml’)!=-1){rssfeed=el[i].getAttribute(‘href’))};void(location.href = ‘http://slashdemocracy.org/links/page.php?do=add&Contact_Name=John&Contact_Email=john@slashdemocracy.org&cat_id=84&URL=’ + window.location.href + rssfeed + ‘&Title=’ + document.title + ‘&Description=’ + escape(metatagged));
But it doesn’t. What’s wrong? Please HELP! Any real coders out there?
[1]: A bookmarklet is literally a string of code (javascript). No line-breaks nor line-numbers should occur in bookmarklets, but have been added here for the sake of readability.