April 2008 Archives

David A. Chappell

AddThis Social Bookmark Button

I’m presenting a keynote at the next International Association os Software Architects (IASA) IT Architect conferences on May 22 - 23 in New York City.

I was looking through the agenda and I came across this -

Interesting Real-world Architectures and the Handbook of Software Architecture presented by Grady Booch via Second Life

I checked with the conference organizers, and sure enough, Grady is going to be at his home base (which is usually Hawaii), and broadcasting the presentation via 2nd Life, and conference goers will be witnessing his avatar giving the presentation on the big screen.

How cool is that!? I want some!

I assume that means he’ll be also giving it in second life, and others will be able to join him there.

Dave

Simon St. Laurent

AddThis Social Bookmark Button

I’ve had a couple of conversations lately with people I like that led to strange places. One was about the seemingly crazy investment I’m making in ducks, chickens, and all the infrastructure they need, and the other was what I get for saying that I think we need to take a serious look at one-room schoolhouses as an alternative to busing kids everywhere.

I’m doing a lot of things that might strike people as strange or even inconsistent, but the driving force in most of it is an expectation that energy prices are going to keep climbing. I could, of course, be wrong, but unless we discover fusion technology, I feel pretty comfortable arguing that this is going to be the case for a long time. Demand keeps climbing, while supply isn’t looking so great.

This doesn’t mean I’ve disconnected my house from the grid, built a barbed-wire fence around my compound, and set up a world that’s all about preserving me, whatever prices may do.

It does mean, however, that I’m looking at the world in a very different way. I’m trying to invest in things now that will serve us well later. The new roof, furnace, and insulation were key components of that, as is all the gardening, the apple trees, and terracing the yard. We’ve learned how to can and freeze food.

All of these are good things to do anyway, even if energy prices don’t climb. Okay, I do worry that converting my yard into a garden may make the house harder to sell in this lawn-obsessed country. On the other hand, the return on investment for some of them will take a long time. The furnace and insulation have probably paid for themselves by now, and, well, you always need a solid roof.

The rest of the investments are pretty much a gamble. I can certainly drive a few miles and buy groceries more cheaply than I can grow them here today. Setting up the garden, and especially the fenced areas for the chickens and ducks, is an expensive adventure, if an interesting one. How many eggs does it take to pay for a $200 fence? Plus a coop, and all the feed the chickens ate in the meantime? And the time it takes to feed and attend them?

If I run these calculations based on current costs, I’m pretty clearly going to lose money. If, however, I calculate these investments as advantages in a world where energy and food rapidly become more precious, I may well come out ahead. (Looking at the rapid climb in wheat and rice prices, it’s looking like a good bet sooner than I expected, though I expect they’ll come down again before climbing over the long term.)

I’m already coming out ahead in knowledge, since I now know all kinds of things that I had no clue about before. (I still have much to learn.) Because I’m showing these ideas off both on Living in Dryden and on my gardening site, I hope to plant seeds in people’s heads as well - the “I can do that” seed that develops into projects.

(I’m also taking a look at policy related to these issues through the lens of TCLocal.)

It’s quite a change from my earlier work and my job, where I focus pretty exclusively on technology - what comes next, what great new invention will let us solve all these problems. I do think at this point that Web 2.0 is for real, reflecting a major shift in how we use technology - but I don’t think that set of technologies is going to do all that much to address this major concern. Similarly, Rails is a lot of fun, and lets me do cool new things - but it’s hard to eat it.

So if I come off as kind of strange, pushing ideas that don’t all make sense at first glance, try to remember the context I’m working in. I live in the current world and do enjoy it, while planning ahead for a world that I expect will be pretty different. We’ll see what Sungiva, our one-month-old daughter, thinks of all this when she’s older.

[Cross-posted in slightly different form at Living in Dryden.]

Rick Jelliffe

AddThis Social Bookmark Button

Patrick Durusau has fun on his site with a posting satirizing the strategies of some opponents and proponents of OOXML at ISO as Beavis (for the the former) and Butt-head (for the latter.) Wikipedia has a good explanation of the Great Cornholio for people who don’t get the reference.

His key passage is probably

I think the Butt-head side seriously abused a process that had been designed by the Beavis side for their own abuse but that hardly qualifies as an objection to OpenXML.

The notional trigger for the commentary is a worthwhile article by IBM’s Arnaud Le Hors A Standards Quality Case Study: W3C which asks many good questions. I don’t know that he is correct about Candidate Recommendation, however: From what I have seen, OOXML would have passed the Candidate Recommendation requirements from W3C: it clearly has an implementation and the differences between what Office 2007 does and IS29500 says are largely cosmetic; my understanding of the W3C CR regime was that it proved that a technology was implementable, not that every part had been implemented: consider SVG or XSL-FO for example. And I was a little puzzled that Ecma’s process should be considered lacking because of its emphasis on timeliness, but later on OpenId was lauded because it is by a group of interested individuals that share a common interest and decide to solve it swiftly in a somewhat informal way using the internet to its full advantage. (emphasis added)

My angle is this: there needs to be a marketplace for standards bodies (plurality), so that stakeholders can choose the one that matches their requirements. And this in turn allows a marketplace for standards (plurality), so that users can choose the one that matches their requirements. And it is only to be expected that when there are competitive standards, vendors will attempt to use the standards process for marketing, to differentiate why their doovalakey is better than their rival’s thingamajig. Caveat emptor: competition entails sorting through rival claims.

M. David Peterson

AddThis Social Bookmark Button

In 1998 I gave up an extremely lucrative contract with MSFT to go and work — for free — as an intern for the Seattle Supersonics. My dream “job”.

That choice was a mistake. At least from a personal level.

But I learned some lessons from that gig I couldn’t have learned anywhere else….

Passion.

That’s what I learned. Above everything else, that’s what I learned about life.

Passion is what matters. It’s what makes the difference between a forgotten has-been

… and an NBA champion.

M. David Peterson

AddThis Social Bookmark Button

Update: As per my follow-up comment to Norm Walsh’s comment below,

NW: >> Obscure? Stole? Mystery? I thought I was fairly candid about why I left and why I joined Mark Logic.

So here’s what happened: I read just the first portion of the entry in my feed reader and assumed that was it. I hadn’t noticed “Sun set” at that point because “Mark Logic” was written afterwards so therefore was at the top of the stack in my inbox.

So it looks like what I had thought was just a one line “I’m now with Mark Logic” post contained a bunch more information than I had realized. Didn’t mean to come across in such a way as to suggest I thought there was some sort of conspiracy, though it seems that’s how it came across. My bad!

Also, as it relates to the usage of obscure ‘XQuery Content’ company,

That’s probably the wrong word. I guess what I’m suggesting is the XQuery market at the moment is still pretty small, so by obscure company I really should have said something more inline with “small niche market industry.”

And lastly, if the back channel rumor mills are correct, my guess is that this isn’t the last big-name XML luminary we’ll see moving over to Mark Logic. Time will tell… ;-) I’ll write a new entry related to this topic if/when it seems appropriate to do so.

[Original Post]
… I’m wondering how in the hell some obscure “XQuery Content” company stole Norm Walsh away from Sun. Y’all know who Norm Walsh is, right?

Anyone care to provide some insight? Is Mark Logic really *that* good?

Mark Logic

Makers of an exceptional XQuery engine and XML content platform. And my new employers.

Anybody? ‘Cmon… There’s got to be more to this story than just… [Mystery]?

M. David Peterson

AddThis Social Bookmark Button

As per a post to the Amazon Web Services forums earlier this evening,

Amazon Web Services Developer Connection : Lower Data Transfer Costs

Posted By: Kathrin@AWS
Created in: Forum: Amazon Elastic Compute Cloud (Beta)
Posted: Apr 22, 2008 7:40 PM MDT
Dear Amazon Web Services developers,
We’ve often told you that one of our goals is to drive down costs continuously and to pass those savings on to you. We have been able to reduce our costs for data transfer, so we’re pleased to announce that we’re lowering our pricing for data transfer, effective May 1, 2008. You’ll notice below that we’ve reduced price at every existing usage tier of transfer out, as well as added an additional tier for the heaviest users.

Current data transfer price (through April 30, 2008)
$0.100 per GB - data transfer in
$0.180 per GB - first 10 TB / month data transfer out
$0.160 per GB - next 40 TB / month data transfer out
$0.130 per GB - data transfer out / month over 50 TB

Data transfer “in” and “out” refers to transfer into and out of the Amazon service. Data transferred between Amazon EC2 and Amazon S3-US, Amazon SimpleDB and Amazon SQS is free of charge (i.e., $0.00 per GB). Data transferred between Amazon EC2 and Amazon S3-Europe will be charged at regular rates.

New data transfer price (effective May 1, 2008)
$0.100 per GB - data transfer in
$0.170 per GB - first 10 TB / month data transfer out
$0.130 per GB - next 40 TB / month data transfer out
$0.110 per GB - next 100 TB / month data transfer out
$0.100 per GB - data transfer out / month over 150 TB

Data transfer “in” and “out” refers to transfer into and out of the Amazon service. Data transferred between Amazon EC2 and Amazon S3-US, Amazon SimpleDB and Amazon SQS is free of charge (i.e., $0.00 per GB). Data transferred between Amazon EC2 and Amazon S3-Europe will be charged at regular rates.

The result of this pricing change is that all customers will see a reduction in the price of transfer out. For example, a customer transferring 50TB a month will save 16% and a customer transferring 500TB a month will save 26% on transfer with the new pricing. Please see http://aws.amazon.com for full pricing information for each service.

Sincerely,
The Amazon Web Services Team

*SWEEEEET!* :D While everything else around us seems to be going the opposite direction, it’s nice to see Amazon is continuing to find ways to make their services more affordable for us little guys and the big boys alike.

Thanks, Amazon!

David A. Chappell

AddThis Social Bookmark Button

For the past several years, I have been involved in many healthy discussions centered around the benefits of adopting technology and its supporting tools and infrastructure. Never once had I ever thought of measuring the benefits in terms of tonnage of hardware or in kilowatts per hour (kW/h).

Until now….

Uche Ogbuji

AddThis Social Bookmark Button

I’ve been working at Sun since 2001 as close architectural consultant on various pioneering uses of XML, SOA and Semantic technologies in a couple of divisions, first through Fourthought and now through Zepheira. Sun has been the practical landing pad for some of the topics I visit so often here and in my articles. I tend to not talk much directly about my work with them, in order to respect any commercial advantage they may deem, but I often wish more details were open, and not just the strategic overview as in the SwoRDFish paper. It delights me then that my long-time manager Kristen Harris, Director of Content Management Engineering, has recently been opening up some useful details as part of her group’s effort to reach out more to the community of Sun users, and to technical communities on the Web overall.

M. David Peterson

AddThis Social Bookmark Button

SIDENOTE: @amike: The run was good while it lasted, eh? ;-)

SIDENOTE.NEXT: After rereading the title, I’m not even sure it makes any sense. But then again, what’s new? ;-) :D

[Post.Body]
DonXml’s All Things Techie : Mixing Object, Functional and Aspect Oriented Programming

Within a DSL it would be cool if you could map its Nouns to Objects (described via OOP), its Verbs to Functions (described via FP), and its Adjectives and Adverbs to Aspects (via AOP).

I have to do some research, but does this fit within the definition of a composable language? I tried to fine a definition of what a composable language, but didn’t seem to find one.

Oh, the power of XSLT 2.0 (and XPath 2.0), where you can bring together the knowledge-pool and massive underlying code base of OOP, fold in the power of Functional Programming, and weave all of it together with AOP to produce a truly composable language as a result.

For example,

Michael C. Daconta

AddThis Social Bookmark Button

I have recently been getting back into XML processing for some upcoming work with business glossaries. So, I will be examining the relevant business glossary formats in forthcoming blog posts…

As a precursor to that, I would like to delve a bit into XML design by bringing up something that has troubled me on several occasions over the past six months. First, as I was writing a simple iTunes de-dupe utility, I had occasion to parse and process the iTunes XML format. There are many good articles on this format like this xml.com article entitled Hacking iTunes. The iTunes format is an XML data-dump of a data structure called “plist” which is a list of key/value pairs. In fact, “plist” stands for “property list”. While using XML to persist data structures enables some minimal benefits via text encoding, it seems to be harmful to the larger goal of XML being easily understandable and thus processable by many applications. So, while in a small way, dumping data structures to XML is not evil, it also is not recommended. The reason is that the data remains fairly tightly coupled to the program which produced it and thus the semantic value of the data, as a standalone entity, is diminished. In short: Better to design XML documents than dump XML data.

Besides iTunes, this cropped up again about a month ago when I was examining a Microsoft dump of system information on Windows Server 2003 - I looked for that format on the web but was unable to locate it. If you have a link to it, please post a comment with it. That system information format basically fell into the same trap of simply dumping a data structure to XML. The problem I have with this is that it shifts the semantics from a more stable element into the more variable element’s value. An element can have a unique ID. An element can be described via one or more schema types. An element can be reliably referenced externally. Thus, the semantics belong in the elements and not in the element (or attribute) value.

Do you agree?

Do you have other examples of data structures dumped to XML?

As a related reference, this xml.com article calls this a “dynamic document”. However, since I am arguing here that an XML document is an expression of design, I would say that is, at best, a misnomer. To me, dumping data structures to XML seems to be a case of “interoperability lip service”. So, do you design XML documents or dump XML data?
If so, why or why not?

Until next time, see you in the trenches. - Mike

M. David Peterson

AddThis Social Bookmark Button

last-ditch emotional plea � GNUosphere

No matter how the death penalty is debated, the dialog I often end up in boils down to something like this…

OK Peter, I understand what you’re saying but what if it was your kid that was raped and murdered? How would you feel? What would you want to do?

My response:

I might go insane with anger. Though I feel uncomfortable saying this, I have to admit I may feel like killing the perpetrator while inflicting a painful revenge.

Their response:

See?

My response:

We should adopt laws expressing insanity and rage with the intention of vengeance?

AddThis Social Bookmark Button

If you put a skill on your resume - you better be prepared to answer some questions about it. Do YOU really know XML?

M. David Peterson

AddThis Social Bookmark Button

I recently received the following comment to my previous Amazon POD post from “Mary”,

I’m sorry, but anyone naive enough to think Amazon is not going for the monopoly on POD publishing needs to really read that letter. And, from what I have read, Booksurge not only charges up front fees, but produces a shoddy end product. No thanks. I am cutting all ties with Amazon and believe most writers would be wise to take a stand on this. Do we ultimately want Amazon to tell us what is and is not publishable? What we can and cannot write? Dictatorships start with small, seemingly harmless inroads as well….food for thought.

A copy of my follow-up falls inline below with further commentary just after.

M. David Peterson

AddThis Social Bookmark Button

Update: Not sure if it was this post, or someone else who may have emailed and/or someone at the W3C who took notice of the multiple 404’s being logged, but regardless of the reason, it seems this has now been fixed.

[Original Post]
So maybe I’m missing some sort of intended joke by Tim Berners-Lee, but in doing some brush-up reading on URI’s (doing some work in the fragment identifier space at the moment, so wanted to quickly refresh on a few things to ensure I wasn’t abusing or misusing the aforementioned identifier inside of an a/@href attribute) I came across the ‘See also’ section of TimBL’s ‘Axioms of Web architecture’,

Univeral Resource Identifiers — Axioms of Web architecture

See also

In clicking through to the Hall of Flame I was greeted with,

Rick Jelliffe

AddThis Social Bookmark Button

Open Geospatial Consortium has put out Google’s KML as one of their industrial standards. Congratulations to all concerned!

KML is an XML language focused on geographic visualization, including annotation of maps and images. Geographic visualization includes not only the presentation of graphical data on the globe, but also the control of the user’s navigation in the sense of where to go and where to look.

OGC seems like thriving ecosystem, under their OpenGIS® brand. OGC has a strong liaison with ISO TC 211 Geographic. information/Geomatics) and having been transposing their standards across when stable. OGC has a strong government and specialty-vendor influence. (Geomatics is not a word I had come across until today.) The OpenGIS® Reference Model (PDF) seems a good place to start figuring the GIS standards out. I liked the statement in their FAQ answering Q: How do you compare the action of the OGC with that of the ISO and other standards organizations?:

A: The standards tracks of OGC and ISO are fully coordinated through shared personnel and through various resolutions of ISO TC211 and OGC. They are often complementary and where they overlap, there is no competition, but common action (e.g. in the geometry model). OGC provides fast-paced specification development and promotion of standards adoption, similar to other industry standards consortia such as W3C, IETF, and OMG. ISO is the dominant de jure international standards development organization (SDO), providing international government authority important to institutions and stockholders. Through OGC’s cooperative relationship with ISO, many of OGC’s OpenGIS Specifications either have become ISO standards or are on track to become ISO standards.

The OGC process includes a 30-day window for public comment. (The ISO process has at least 6 months period for National Body comment, and sometimes much more.)

What I found interesting about the KML spec was that it represents a connecting point between two different standards ecosystem: in particular with the Khronos Group which is

a member-funded industry consortium focused on the creation of open standard, royalty-free APIs to enable the authoring and accelerated playback of dynamic media on a wide variety of platforms and devices.

The Khronos group is that now maintains Silicon Graphics’ OpenGL graphic system, and is strongly influenced by the mobile device industry. For my own research, I made a little diagram to try to express the Khronos ecosystem (and to experiment whether there was much point in using UML for this kind of thing.)

To summarize the diagram: lets concentrate on three kinds of standards: XML file formats, Rendering APIs for 2D or 3D graphics, and Delivery or Codec APIs which provide session or lower-level services.

2D3DStandards.png

From the bottom left, we see that OGC KML uses Khronos Collada Digital Asset and FX Exchange Schema. This is a Sony-derived technology for transporting 3D assets between applications. It used by 3D modeling software. In turn, Collada can be considered to some extent to be a serialization of OpenGL data. Of particular interest to XML-ers is OpenVG which has as a design goal of supporting SVG Tiny 1.2 :

OpenVG™ is a royalty-free, cross-platform API that provides a low-level hardware acceleration interface for vector graphics libraries such as Flash and SVG. OpenVG is targeted primarily at handheld devices

The diagram has a cluster of various vector-related XML (or soon to be XML) formats: the SVG family of SVG and its two profiles SVG Basic and SVG Tiny, and SVG’s near relative the ODF drawing language. What struck me is that the ease of implementation of a standard is really related to the function points (and tooling up, etc) of a complete implementation, and this in turn is directly related to how close the underlying libraries are to the markup language.

I would call OpenVG a glue standard, which is where you have one or more existing underlying standard API which has grown under its own steam, and one or more standard formats, and to ease implementation you make an intermediate API based on abstracting the various standard’s features. In industries where there are multiple entrenched document formats which have a lot of similarity, these kinds of glue standards are one practical way forward.

It is often the case that where you have a problem with obstinate multiplicity of standards, the way forward is not by insisting on a single standard, but in aggressively supporting plurality in such a way as to neutralize the problem. I’d see the XML encoding header (and, indeed, Unicode itself and perhaps SGML/XML too) as an example of exactly the same strategy.

I don’t expect to see it, but it is interesting to consider whether the same approach would make sense for ODF/OOXML harmonization. To what extent is “harmonization” an assumption about how to achieve a particular desired result (in particular, more guaranteed interoperability or less gratuitous non-interoperability) rather than being an outcome in its own right? If the outcome desired is interoperability, then that could also be addressed by having everyone support everything (to reduce my point to the absurd): and that tactic can only be prosecuted by making implementation as easy as possible (by having APIs that are as close as possible to the various file formats.)

Eric Larson

AddThis Social Bookmark Button

Test Driven Development is a relatively popular methodology nowadays and I think XML tools can play crucial aspect in better testing. Testing frameworks are more than capable of using and testing XML based applications, but just in case you have ever had trouble, here are a few tips.

M. David Peterson

AddThis Social Bookmark Button

As per the title, I’m wondering how many of you have taken the time to read through the letter Amazon.com sent to publishers on March 31st of this year? If you have not, it’s probably worth your time to read through to gain a better understanding of what is seemingly taking place.

A couple of highlights,

One question that we’ve seen is a simple one. Is Amazon requiring that print-on-demand books be printed inside Amazon’s own fulfillment centers, and if so why?

Yes. <snip/> (for a reason… reason to follow)

The reason: If the above is all that you read, outrage I believe would be the only sensible response. However, from what I have read thus far from both the blogosphere and professional journalists alike, I have yet to stumble upon anything that provides a sensible overview of the reasoning behind Amazon.com’s new policy. I’m not here to judge nor really even make attempt to change your opinion. Instead, I just want to be sure that both sides of this story have been properly propagated.

With the above in mind, a Q and A style summary follows, and below that, a copy of the entire letter.

Eric Larson

AddThis Social Bookmark Button

The App Engine announcement has sparked quite a flurry of reactions. The biggest arguments seem to revolve around ownership versus convenience. This seems very important, but at the back of mind I wonder why XML documents are not more involved in the announcement.

When I think of Google, I always think back to my college days and the descriptions of how they designed their data store. There was a definite document centric nature about it all that I really appreciated, which alludes to my document centric view of XML. What surprises me about App Engine is that the data store mimics SQL and the RDBMS using something like SQLObject, instead of exposing its document storage and indexing patterns. For me personally, I would have really enjoyed seeing a break from SQL (or GQL in this case) in favor of something more document centered.

The other big surprise is the absence of decent XML tools such as XSLT. Including the Python standard library is a great feature that anyone paying attention to the IronPython and Jython conversations immediately appreciate. But, for those working with XML, the best tools are not included in the standard library. Personally, I’d love to see Amara and the 4Suite libraries included. I’d settle for lxml. I’m assuming ElementTree is included, but in all honesty, it never has felt as natural as Amara and 4Suite. XML and how it interacts on the web has always been of interest to me philosophically, but Amara really made it practical and enjoyable.

Technical nitpicks aside, I’m really excited about App Engine. If nothing else, App Engine lets you deploy relatively pain free. If you’ve ever had to deal with setting up Apache/Lighty/Nginx with Mongrel and Monit to run a Rails application, hopefully you can understand the benefits. The deployment issue is what makes PHP such a great platform. I started programming with PHP simply because it was trivial to get started. Hopefully, as people begin to emulate this pattern, we’ll see the same easy deployment for both Python and Ruby, which is one more step towards having both an expressive language along side practical usage.

Rick Jelliffe

AddThis Social Bookmark Button

One feature of modern US capitalism is that successful companies are ones which can obtain a market domination in one sector, then extract value-adds from it, attempting to get a locked-in (i.e. non-market) revenue base in other sectors. Microsoft Windows parlays into Office sales; Google search parlays into advertising revenue; Apple IPods parlay into iTunes sales; IBM mainframe and server sales parlay into solutions sales; Sun Java adoption parlays into server sales, and so on. Now it is Amazon’s turn.

It is not surprising that this should happen, but this is a particularly brazen case.

Rick Jelliffe

AddThis Social Bookmark Button

I couldn’t attend the latest SC34 meeting physically in Oslo (I corresponded by email on some WG1 issues relating to Schematron and maintenance), but the public documents from the meeting have now been released at the SC34 website, in particular at the document website (Click on GO for N1000 to N1050.)

One extraordinary document, which I was graciously asked to co-sign, can be found on the front page. It is An open letter from SC 34 participants in the Oslo plenary, April 2008 and it makes a point so obvious it should not have to be made (but so important we all need to remind ourselves of it: it is just as wrong-headed to think that this is something “they” do but “we” could not, as it is to think that “we” are justified in doing it just because “they” did it first or more.)

SC34 is the ISO/IEC JTC1 steering committee on Document Description and Processing Languages. It historically grew out of the technical and reference publishing industry, as the group that developed SGML in the mid 1980s. In the mid-1990s many of us moved over to working through W3C to re-brand, re-jig and re-launch SGML under the name of XML, which has been moderately successful. SC34 has continued on in several main efforts: WG1 looks after schemas and markup (ISO/OASIS RELAX NG, ISO Schematron, etc) and recently handed over maintenance of the ISO standard public entity sets to the W3C MathML working group; WG2 looks after fonts and presentation issues, with a particularly strong Japanese industrial input, and is involved in the continuing development and maintenance of ISO Open Type (which people know as TrueType); WG3 looks after Topic Maps, which are a level above RDF in the semantic food chain.

An SC34 meeting typically has an opening general plenary (which means everyone is supposed to attend, though only NB delegations get to vote), then breaks out into various working groups, then have a final general plenary on the last day, which passes various resolutions that are the real outcomes of the meeting. (It seems they are giving up the opening plenary, which will allow more flexibility for Working Group scheduling: because SC34 has a strong rule that agendas and important issues need to be submitted well before the meetings, in order for full participation by NBs who might have additional language or culture burdens with Western-style disputational meetings and argy bargy.) Often the SC34 and WG meetings piggyback on some XML-related conference, to help each other’s attendences and because it can make room bookings easier.

The Resolutions of the meeting include a few items of interest, but I suppose readers will be most interested in the IS29500 (OOXML) resolutions, so here is a summary:

  • SC 34 will create three distinct working groups to handle maintenance/liaison/development of IS 26300 (ODF), IS 29500 (OOXML), and interoperability/convergence between document standards. These should be operational at the next SC34 meeting, in Korea in October. Ecma TC45 has been invited to participate, with SC34 being the focus of activity rather than Ecma. I anticipate that new feature requests (rather than defect fixes) will need to be dealt with through the interoperabilty Working Group: it will be a very interesting group with a lot of interest from governments in particular.
  • For the short-term, two ad hoc groups have been set up. One, convened by Japan’s Murata-san will deal with immediate collection of comments and defect reports on IS 29500, to make sure that all the un-resolved, under-resolved and new issues that are reported by NBs get dealt with by the most effective route at the time (which I presume means Ecma TC45 in the next few months, then SC34 after the new Working Groups have been established.
  • Related to this working group, SC34 is explicitly encouraging National Bodies and liaison groups to submit their editorial and technical defect reports, so that they can get dealt with sooner rather than later. I have been told there have already been some forwarded on to the Editor (who will be discussing them with Ecma TC45, I presume.) Phrases such as “efficient and timely process” are actually quite significant, because they indicate that SC34 has performance requirements which must be met (by itself, by the editor, by participants like Ecma) and that some kind of wishy-washy time-dragging maintenance effort will not be acceptable: all withing the constraint that work will only progress when there are people actually doing it: National Bodies and individuals who are interested or stakeholders or beneficiaries of a standard need to get involved with actual resources. Some of the newer P-members like South Africa seem to be doing exactly the right thing here, getting involved. And the more technical expertise, the better. (People need to remember that for ISO openness is more about being open to participate rather than being open to armchair criticism.)
  • The other new Working Group, convened by UK’s Alex Brown, will look at the formalities and terms of references for the new Working Groups. (At the last SC34 meeting in Kyoto late last year, SC34 declined to set up groups until IS 29500 had been accepted.) Interestingly, in terms of reference for this ad hoc group include the need for the maintenance process to have transparency, the desirability that there should not be separate versions of Ecma and ISO OOXML (of interest to the future of ISO ODF?), and that Fast-track and PAS mechanisms should not play any part in the maintenance.
  • Along these lines, SC34 also has a rather odd reference to increasing its participation in the JTC1 working group on Directives. I presume this is a concrete sign of the strong desire to work on limiting or reform the various fast-track procedures. I would expect that more National Bodies will take the line “We will not vote for any Fast-tracked or PAS drafts to SC34″ and instead submitters will use the accelerated process instead: this gives one extra stage of committee review by SC34: a fraction slower but certainly better for preventing induced panic attacks, if you know what I mean, and improving quality. (The JTC1 group is set to discuss problems with Fast-track and PAS in its July 2008 meeting: the ISO and JTC1 Directives which direct procedures at SC34 are under frequent revision.)
  • Another resolution of interest, is Resolution 1, which in part says SC 34 resolves that accessibility considerations will be taken fully into account in current and future projects and urges its members to review the work of JTC1 SWG-A (especially PDTR 29138), W3C WAI and others, and to play an active part in the implementation and further development of accessibility guidelines. One of the things that came out of the ODF and OOXML reviews was that accessibility is (with internationalization) undoubtedly a bottom-line issue, indeed a legitimate showstopper: Canada and New Zealand were admirably strong on this at the OOXML BRM for example, and both IS 26300 and IS 29500 had some good improvements for accessibility during the initial adoption process. But for living technologies, the acceptance of a standard needs to be the beginning, not the end. So this resolution gives practical ways to approach it: in particular the need for SC34 delegations to have appropriate expertise in accessibility.

It didn’t seem a bad meeting. I don’t have information, but I do hope the P-countries which only have interest in ODF and OOXML make the appropriate arrangements with SC34 and JTC1 to register default abstain votes on WG1, WG2 and WG3 ballots. It is really important.

My own hope is that many of the participants on the DIS 29500 who came up to speed in the technical and standards issues of their expertise, will channel their enthusiasm into places where it can actually make a difference: get involved in your local standards National Body SC34 mirror committee long term, get involved in OASIS ODF and OpenFormula, get involved in W3C, get involved in Ecma TC45, get involved in SC 34. Lobby for more openness at all levels. Keep the pressure on both sides (err, on *all* sides!), so that the differentiators between ODF and OOXML become clearer and gratuitous differences get sanded down, because it is this competitive pressure that is forcing improvements on both sides, not the ISO stamp per se! No pressure without participation; no participation without pressure!

Kurt Cagle

AddThis Social Bookmark Button

XML.COM Newsletter

There’s a problem with living life on the bleeding edge. For all of the exhilaration of being one of the first to play with a new technology (or in some cases even to create that new technology), it’s also very lonely there - by definition, most people will be encountering the same technology about the time that you’ve come to think of that technology as old hat or even (gods forfend) passe. This means that sometimes its easy to lose sight of what happens when these tools and techniques hit the real world of the workaday developer.

XML is a case in point. It’s ten-year old technology and has become the data lifeblood of the Internet (along with its younger sibling JSON). Every so often someone up on the xml-dev mailing list will pop up and say “Is XML Dead?” - to which the rest of the old guard will pipe up in defense of XML or agree that, yes, XML’s existential crisis is upon it, and it will soon be pushing up the daisies, if it’s not there already. As one colleague of mine put it - XML’s just not interesting anymore.


Read the full newsletter.

Subscribe to XML.com newsletter.

Eric Larson

AddThis Social Bookmark Button

One thing I’ve noticed when designing applications of late is heavy use of URLs. Rather obviously, RESTful services have URL interfaces that expose the service to the web. I personally think RESTful service should be "mountable" at any other URL, which requires a bit of care in the URL arena. Beyond the obvious publishing of services and resources, URLs have been playing a helpful role throughout the applications I’m working on.

Namespaces are one area where URLs seem to always come up. URLs make for great namespaces because they are essentially infinite and often referencable, even thought they don’t have to be. Basing your namespaces on a domain you own is a reliable way to make sure you are avoiding collisions, while offering something a little more unique than a PURL address or something similar. Also, within the scope of a framework, actual addressable namespaces can provide interesting results within the scope of communicating with other services. Also, when I say namespaces in this context, they do not have to restricted to XML Namespaces. A namespace in this context simply provides uniqueness, similar to a hashing function.

This combination of uniqueness and referencability is a pretty powerful combo. In Python WSGI web applications, there is a dictionary that is passed along to the underlying application and middleware. The dictionary keys are often namespaced in one way or another to avoid collisions with other middleware. A simple prefix map using actual URLs could help the issue and make accessing items in the environment dictionary simpler. I know in the past I’ve used helper functions to get and set items in the environment dictionary, but having my own key that maps to a URL namespace could help reduce my own typing errors while making it explicit what I am doing.

I think what I like about using URLs is the implied linked nature. Using something like a UUID for some ID is fine, but when you utilize a URL there is an implicit connection with some addressable resource. When you select the IDs from your database and you get a few thousand UUIDs the reasoning becomes more obvious. Some might argue that depending on some semantics within an ID is bad idea, and to an extent I agree. With that said, when the service crashes hard and you are tasked to rebuild it from scratch, you might think differently.

Michael C. Daconta

AddThis Social Bookmark Button

When designing the electronic mortgage standard for Fannie Mae, my goal was to design a flexible container that could travel with the content, protect the content, log its use and render it in multiple views. Of course, I was leveraging my programming experience and encoding the MVC pattern in XML. In my latest book, I refined the concept into this diagram:

Information-MVC.jpg

Most recently, at the FOSE conference I moderated a panel on Information Sharing. In that panel, I discussed some of the principles of “Information As Product” and compared these XML containers to the packaging and labeling of physical products. A panel member suggested I examine the LEXS standard as an example of such an XML container. I was pleased to see the strong similarity between this work and the electronic mortgage specification (now a MISMO standard called SmartDoc).

I see Information MVC as a key XML technique to enable information products that make particular content relevant to specific consumers. The difference between information and an information product is making information suitable for groups or segments of consumers. Enabling the content to expose a different view based on who is accessing it helps us increase the relevance, privacy and security of our content. For programmers this is probably old news, but for data architects and data architecture it is a new concept. Have you used this concept or seen it used? If so, let me know…

Also, for those interested in Information Products, I just posted the first chapter of my latest book online.

Until next time, see you in the XML trenches. - Mike

AddThis Social Bookmark Button

This is an interesting new API from Google, it uses SOAP to insert audio ads into your streams, so if you have a web radio station you can use its SOAP-based API to grab audio files to insert into the stream.

This isn’t for hobby podcasts, you need a web broadcasting system, or at least the ability to automatically insert the audio ad into your play list, if you had a whole bunch of blog entries.

Its really meant to be a revenue tool for web broadcasters who now have to pay licensing fees, but who don’t have a lot of options besides asking for donations to try to keep going. Now there’s a powerful new API to potentially aid web broadcasters in finding more concrete support for their efforts.

Michael C. Daconta

AddThis Social Bookmark Button

The U.S. Government is very leery of technology “fads” and that is why it often has a love/hate relationship with XML. You must remember that at any time, for EVERY technology that exists - the government has a huge legacy investment. So, while the corporate world may turn on a dime and quickly adopt the latest and greatest thing … the government MUST contend with HUGE legacy issues, a 2-year (minimum) budget planning cycle, and a horde of technologists actively engaged and personally invested in that legacy technology that you want to throw away!

So, in this blog, I hope to engage with you in many discussions about how the government is using XML technology, how they should use XML technology and everything in between!

So, bring me your Government XML stories and I will bring you mine … today, let me briefly discuss a program that I initiated when working for the Department of Homeland Security (DHS). The National Information Exchange Model (NIEM) started as a joint-venture between DHS and the Department of Justice (DOJ) to harmonize and speed up the process of information sharing between the federal government and state and local governments (actually State, Local and Tribal governments). Here is the website for you to learn about and experiment with this XML data model. The basic idea is that it combines a registry of standard data objects (modeled via XML Schema), a process for quickly producing an exchange message, a governance process for the model, and robust tool support. The model leveraged and extended an existing model called the Global Justice XML Data Model (GJXDM). It is widely used by law enforcement at all levels of government and now is also being widely used at DHS. It has multiple success stories behind it including the Amber Alert and the national sex offender registry. I highly encourage everyone to look at it and help make it better. So, what does this mean for Government Schizophrenia? For information sharing, XML is a favorite but is attacked continuously in relation to weak data modeling support, weak encoding of binary objects, performance issues, and many more. Remember, the roar of legacy systems has a long tail …

Until next time, see you in the XML trenches… :)

AddThis Social Bookmark Button

The linked data principles formulated by Tim Berners-Lee read quite straight-forward:

1. Use URIs as names for things
2. Use HTTP URIs so that people can look up those names.
3. When someone looks up a URI, provide useful information.
4. Include links to other URIs. so that they can discover more things.

However, when it comes down to implementing them, you may start wondering how to interpret them. I guess some of them were intentionally phrased rather generic. Astonishingly, RDF is not mentioned explicitly. Though, the third principle talks about ‘useful information’: I think this can be interpreted to be useful for machines in the first place; we’d expect to find something at the other end of the link that is at least GRDDLable (such as microformats, RDFa, etc.). The fourth principle is also known as follow-your-nose.

One of the key ideas in linked data is to interpret the property in an RDF statement as a typed hyperlink. So, when I come accross the RDF statement

<> dc:author <http://sw-app.org/mic.xhtml#i> .

I will assume that the author of this post is indeed http://sw-app.org/mic.xhtml#i. I can learn more about this person when dereferencing this URI, i.e. do an HTTP GET to fetch its content. To learn more about URI design and usage, have a look at Cool URIs for the Semantic Web, a W3C note recently finalised.

The above mainly arose from a recent discussion with Richard Cyganiak regarding our riese system, an RDFised and interlinked version of the Eurostat data.

AddThis Social Bookmark Button

Lately I’m becoming more bullish on RDFa. I loose heart when things don’t materialize on my timeline, however, I was recently reminded of a scene in “Under The Tuscan Sun” wherein the actor describes how they built tracks over the Alps before there was a train in existence that could make the trip.

“They built it because they knew someday the train would come…

That’s similar to what the semantic web community is doing. In my analogy the tracks are the specifications (RDF, OWL, RDFa) and data sources. The train is of course applications that use these specifications and information to make our online lives more convenient. And for me personally, the mountain is grasping how it all works and most important of all, applying it in the real world.

That brings me to what I want to share. If you are particularly interested in RDFa, http://rdfa.info/ is probably the best link to watch. I found a very well written and informative tuturiol on linked data that I highly recommend for anybody gearing up to apply this technology. The recommendation to “not define new vocabularies from scratch” struck me as particularly good advice. If you are wondering what the more common, well used and understood RDF vocabularies are, here are my top 5:

AddThis Social Bookmark Button

How earth shattering could an upgrade from 0.45 to 0.46 be?

In this case there are some really neat new features. For those who are unfamiliar with the software, Inkscape is a visual svg editor. When I first tried svg I was writing the files by hand with Vim. Nothing against VIm, I still use it for coding, but its a lot more fun to create svg’s in Inkscape with a nice image editing interface.

I’ve been able to use it to convert bitmaps into svg’s for a while now, but with the 0.46 release we have a whole new dimension with two new tools. There’s a deformation tool you can use to mush your drawing like a squishy toy.

Its still beta software, I managed to crash it out when I tried to run a raster effect on a bitmap. There’s a whole new set of raster effects, along with a new 3D cube object.

Inkscape doesn’t do animation, but for developing svg graphics or any kind of 2D design Inkscape makes svg fun. You can view the results of thirty minutes of playing with the new 3D functionality on my picasa page.

Kurt Cagle