XSLT resources, take 2

Following up on my earlier post about XSLT: I am drawing near the end of the first stage of my project and wanted to update my notes.

One thing I learned is that XSLT is far from dead. There was a 2.0 version of the standard released a while back that fleshed out some of the capabilities of the language, and much of the contents of XSLT have sunk seamlessly into other frameworks. The nice thing about XSLT is that it is a very compact yet flexible technology that is easy to learn the fundamentals; the reason that so many of the resources about it are older is that there simply aren’t that many lingering questions in working with XSLT that are generating ongoing discussions. It just works.

The two best resources for this project were a pair of O’Reilly books, Learning XSLT and the XSLT 1.0 Pocket Reference. I read the former over a couple of plane trips on Friday, and by Saturday night I was happily hacking away at the task that I was trying to do.

I had a couple of learning experiences with XSLT along the way, and learned two techniques that I think are worth sharing and were not documented in the O’Reilly books (though they may be elsewhere).

The first was in reordering nodes in the XML document. I had a few nested (level two) elements in my document for which I needed to take their contents (level three elements) and move them up a level in the document. But I couldn’t figure out how to do it without breaking the DTD. I finally realized that I could process any node and place it anywhere in the target set by being specific in my call to <xsl:apply-templates> and always using a select, rather than simply letting the stylesheet process the nodes in the order that they occur in the parent document. I will try to hack up a sample transform to illustrate what I’m talking about.

The second dealt with batch processing at the command line. Microsoft’s msxsl.exe is a nice, lightweight, fast transformation engine that can be called from a DOS prompt. Unfortunately, it does not accept wild cards for input, so you have to call it explicitly with each file to be transformed. A useful sample solution I found for XSLT batch processing using msxsl uses a VBScript in the Windows Scripting Host to enumerate the files in a source directory and calls msxsl in a loop to process them. The only problem is that the method used opens and closes a command window for each file being transformed, which is distracting and may hurt performance. I will continue to look for better methods, but for my project today this VBscript did the trick.

Certification for Product Managers?

I suppose it’s indicative of my circuitous route to product management (through software development, consulting, and business development) that I was unaware that there is a professional certification for product managers through the Product Development and Management Association. If any of my product manager friends are reading this, I’m curious about the value of the certification. When I was doing my job search, I don’t remember anyone ever asking about NPDP.

Products: what’s in a name?

Great post on the Product Marketing Blog at Pragmatic Marketing about product naming. (Aside: Steve Johnson surely practices what he preaches: a good solid descriptive blog name for the B2B audience. But is it memorable?) As a company whose name violates the “letter name” rule, I’ll add another caution to the letter name issue: not only are there memorability issues, but phrases like “intelligent enterprise technology” don’t work that well in acronyms because they put two vowels next to each other. I can’t count the number of times that I’ve heard someone call us “IT Solutions” because they don’t hear the E.

Speaking of our company, I”d be curious to get people’s impressions of our new corporate website.

On the failure of some folks to learn from Sony

From the perspective of having run the Sony Boycott Blog after seeing Sony’s heavy-handed attempts to preserve their IP, it’s pretty entertaining to watch the entire Internet seemingly up in arms over the DMCA takedown notices for the 16-byte hex key that unlocks the HD-DVD copy-protection scheme. Link roundup of some of my favorite bits:

  • Boing Boing: Digg users revolt over AACS key.
  • Ed Felten Why the 09ers are so upset (via Boing Boing).
  • A collection of Photoshops, audio recordings, and other versions of the number. I’m especially fond of the observation that the AACS key can be sung to any hymn tune in Long Meter (which includes the Doxology and “When I Survey the Wondrous Cross,” among others).
  • NY Times: In Web Uproar, Antipiracy Code Spreads Widely. I think Brad Stone overestimates both the “sophistication” of the Internet users in question and the degree to which they have “banded together.” The whole thing is a little more like an emergent phase transition, where it only takes a small push to get radical realignment of an existing structure and shape it in a whole new direction.
  • And, of course, the last one, which I believe I saw on a mailing list but have adapted here to show a very pretty combination of colors:
               

Elsewhere: Sony settlements aplenty

There are brief stirrings on the Sony Boycott blog, where I’ve posted pointers to settlements made this week by Sony BMG to the tune of about $6.75 million so far. A drop in the bucket, to be sure… and there’s still an FTC investigation pending.

Combine these settlements with the recent news that major labels like EMI are investing in MP3 distribution rather than DRM models, and there’s a little trend. With the benefit of a year’s hindsight, maybe the Sony BMG debacle actually marked a turning point in the music industry’s long war against its customers.

Choices reduce satisfaction…

screenshot of windows vista showing all the shutdown options, courtesy joel on software

Joel Spolsky writes an interesting perspective about how introducing choices in a software interface can make the UI worse. He uses the example of the new Shutdown UI in Windows Vista, and points out that there are seven states of Shutdown (Switch User, Log Off, Lock, Restart, Sleep, Hibernate, and Shut Down) that are exposed to the user, together with two shortcut icons, at least one of which has indeterminate meaning.

The scary part is that I have been doing software engineering for so long that I would be among the chorus of voices asking for separate Sleep and Hibernate options. The issue of choice vs. simplification is not a trivial distinction. Every engineer and product manager thinks giving more choice to the user is great, and every one of them is saying under his breath, “Because it means I don’t have to guess what the user is really going to do, and therefore I can pass the complexity on to the user.” This is busted behavior.

In defense of the Vista team, and I do (I hope) still have friends there, the implementation pictured here is better than the current implementation in XP, where to Restart, Lock, or Sleep you first press a button on the Start menu labeled Shut Down. But Joel’s point remains: unless you fix the underlying confusion in the user interaction model, cleaning up the menus is like rearranging deck chairs on the Titanic.

This is one area where the Mac doesn’t do a better job, by the way, but at least all the menu options are easily accessible, and the default sleep/wake behavior is much more intelligently implemented than on a PC. (My MacBook Pro can sleep overnight without a problem, while my Dell will drain its battery if I put it to sleep with a full charge.)

Thanks to the Product Marketing blog for the link.

Son of Boycott Sony?

I’ve received an email urging me to comment on the recent claims by import company Lik-Sang that Sony has put them out of business. On the face of it, Sony’s actions—they got a UK court to bar Lik-Sang and other importers from selling the Japanese version of the PSP—seem anticonsumer and anticompetitive. So why aren’t I jumping up and down with indignation?

A few reasons why I might be a little indignant: first, region-specific products are evil, a scheme whereby multinationals exploit national borders as a convenient excuse to gouge customers in different countries and territories to the extent that the market will bear (and piracy is an even more transparent excuse). It’s wrong in the music industry, wrong in the DVD industry, and wrong in the electronics industry.

Also, the language that Sony is using to justify its actions, to wit, taking the moral high ground on personally identifiable information about its customers, seems kind of … ironic.

But there’s another side to the issue. One, for better or worse, Sony is apparently within their legal rights in enforcing the exclusivity of their distribution network. So sadly we don’t have a lot of moral high ground to stand on—just a generalized grumbling about Sony’s anti-customer mindset. And if we fight this, we need to fight region coding on DVDs, import-only record releases, and virtually every other aspect of the worldwide media industry. That way lies Cory Doctorow, who does a really good job of keeping up with these sorts of issues.

But the other thing, frankly, is that Sony is doing a great job of digging its own grave. Look at its recent profit projections… battery problems for its own laptops and othersPS3 shortages… Sony just doesn’t seem as threatening as it used to.

Tis a gift to be simple, tis a gift to … write code?

Hooblogger Luke Melia shared this Shaker proverb that has applicability to software:

If it is not useful or necessary, free yourself from imagining that you need to make it.

If it is useful and necessary, free yourself from imagining that you need to enhance it by adding what is not an integral part of its usefulness or necessity.

If it is both useful and necessary and you can recognize and eliminate what is not essential, then go ahead and make it as beautifully as you can.

— Shaker saying (Shaker Built: The Form and Function of Shaker Architecture (This origin is dubious)

I’d love to get the actual origin of this, but it’s starting to get some circulation in the software community.

Will there be karaoke?

One of the fun things about working in the software industry is that occasionally you run across some really creative marketing approaches. One company in our space is Pink Elephant, an IT consultancy based in Canada that has really helped to educate the IT market in North America about the importance of process-driven IT management and about the ITIL standard in particular. Their name is great: memorable, with a faintly boozy overtone… just like their conferences.

Which is why I was amused to get a flier for their annual IT Service Management Conference and Exhibition, occurring next February in Las Vegas. The theme? (Leadership, Optimization, Validation, and Excitement). As if that weren’t enough, all the tracks have Beatles song titles in the name (e.g. “You Never Give Me Your Money: ROI and the Financial Realities of ITIL”).

Which brings up two questions:

  1. How long before Apple Corps (or the current Lennon/McCartney song catalog owner) sues Pink for unauthorized use of their copyrighted materials?
  2. Will there be karaoke? Cause I sing a mean “Got to Get You Into My Life.”

XPM?

Interesting article over at Pragmatic Marketing on Extreme Product Management. The question that I’ve heard from some people, including former product managers, is how relevant product management is in an “agile” environment where people’s tastes (and the competitive landscape) appear to be changing daily. This article outlines some points of conflict between product management and agile development organizations that I’ve experienced.

A particularly painful challenge is this one: “My developers want me available every minute of the day to answer their questions. I have no time to visit customers.” The product manager’s role is to be in the middle of a bunch of different constituencies, but sales and engineering are the two primary ones for most product managers and it can be too easy to get into a situation where the product manager, in trying to expend effort for both constituencies, ends up satisfying neither. The paper’s concrete recommendation for this challenge, to provide market context through documentation and/or presentations to the team, is an interesting one; the rest of the recommendations are also interesting and worth exploring.

Well, duh: Emusic wins with DRM free downloads

I don’t know why it should surprise me that eMusic is now the second leading download service behind iTunes on the strength of its deep (albeit jazz- and indie-heavy) catalog and its MP3-based DRM-free downloads, but it does. (See this decent profile in USA Today for details.)

The most irritating sentence in the article? “That eMusic has found any traction is surprising, as it doesn’t have any big hits. No music from major labels means nothing from chart-toppers such as Shakira, Beyoncé or U2 — but plenty from Scott H. Biram, the Pipettes, Dashboard Confessional and Peaches.” It’s not surprising to this music lover. Hits are for music industry people, so they can make a quick buck and get out; music lovers prefer something real, such as the Merge Records catalog, the Prestige and Riverside collections, Alan Lomax recordings, Harmonia Mundi… Ah, but I’ve said it all before.

Who says college kids are getting dumber?

WSJ: Free, Legal and Ignored. The subhead says it all: Colleges Offer Music Downloads, But Their Students Just Say No; Too Many Strings Attached. The article is about the unsurprising-to-anyone-except-Napster miserable failure of subscription based music services to take hold in universities. Compared to the complicated barrage of restrictions on the music offered by Napster, the students come across as models of common sense:

  • While Cornell’s online music program, through Napster, gave him and other students free, legal downloads, the email introducing the service explained that students could keep their songs only until they graduated. “After I read that, I decided I didn’t want to even try it,” says Mr. Petrigh, who will be a senior in the fall…
  • Purdue University officials say that lower-than-expected demand among its students stems in part from all the frustrating restrictions that accompany legal downloading. Students at the West Lafayette, Ind., school can play songs free on their laptops but have to pay to burn songs onto CDs or load them onto a digital music device.
  • “People still want to have a music collection. Music listeners like owning their music, not renting,” says Bill Goodwin, 21, who graduated in May from the University of Southern California in Los Angeles. USC decided last year that it was finished with Napster after fewer than 500 students signed up…

There’s also a telling quotation from the director of the Campus Computing Project, who says, “The RIAA’s push to buy into these services strikes me as protection money. Buy in and we’ll protect you from our lawsuits,” which is one of the kinder descriptions of the unfriendliness of the industry that I’ve read lately.

I’m still waiting for someone in the industry to wake up and understand that their path to profitability lies in supporting good music and making their rich back catalogs available, not in fighting the fans of music tooth and nail. Today, three years after the birth of the iTunes Music Store, there are still many albums and tracks that can’t be found anywhere online—some by major artists (just try tracking down any non-album Sting tracks from before the late 90s), some by minor artists on major labels (Annabouboula, anyone?), and some by great cultural figures (I’d gladly pay through the nose for access to e.e. cummings’s Six Nonlectures as digital files, or even on CD). Instead we get American Idol and Rock Star. What, no one ever told these guys that a steady diet of candy can kill you?

BTW, for a good counterexample, check out Verve’s deep catalog—including a bunch of rare Impulse! recordings—though they don’t quite get it right; they support both iTunes and Windows Media, but no DRM-free offerings. But at least they’re opening up their catalog.

Lazyweb: full list of Sony BMG owned domains?

A non-spam comment recently arrived on the old Boycott Sony site, which is something of a rarity these days. Reader PJ asks whether there is a known list of sites that are owned by Sony BMG, or Sony generally, so that he can block those sites for showing up in AdSense ads.

I don’t have such a list. Does anyone out there? I suspect that part of the issue may be that Sony Music/Sony BMG registers unique domains for its artists, meaning that blocking ads for them may turn into a game of whack-a-mole. But I’ll throw the question out to LazyWeb anyway.

Sony settlement approved

NY Times: Sony BMG Settles CD Case. Yesterday the final settlement approval was granted by the judge who was presiding over several of the class-action lawsuits against Sony BMG over the rootkit issue. Terms of the settlement are what was reported on SonySuit back in February: Sony must cease the manufacture of XCP and MediaMax protected CDs, and must compensate all members of the various class action suits who purchased XCP protected albums with a replacement CD, a download of MP3 of the same album, and either one free album download plus $7.50 or three free album downloads. People who purchased MediaMax protected albums will get an MP3 download of the album they purchased.

Various parties, including the EFF, are still trying to get attorney fees from Sony BMG, according to SonySuit, so the residual effects will drag on for a while.

Don’t forget, you have until the end of this year to file a claim.