Category Archives: multimedia

RIA means … not much

Ryan Stewart has a go at nailing what the term Rich Internet Application means.

I think he’s coming at this from the wrong end. It’s better to look at the history.

As far as I’m aware – and based partly on my own recollection, and partly on what Adobe’s Kevin Lynch told the press at last year’s MAX Europe – the story begins around 2001, when WebVertising Inc created an online booking application for the Broadmoor Hotel in Colorado Springs. It was an HTML application redone in Flash. A PDF describing what was done is still online, and discusses some of the differences between the HTML and Flash approach, though bear in mind this is Flash evangelism.

They created iHotelier, a fully interactive, data-driven reservation application that reduces the entire reservation process down to a single screen. Users looking for information on available rooms for specific dates highlight their preferred dates in a calendar. With one click of the mouse, the Flash application displays the available (and unavailable) rooms, and their cost. (Figure 10) As a result, users do not feel like they’ve wasted a lot of time and effort if their first room choice is not available.

This case study seemed to trigger a new awareness at Macromedia concerning the potential of Flash for complete applications. I don’t mean that it had never been thought of before; after all, it was Macromedia that put powerful scripting capabilities into Flash, and I’m sure there were Flash projects before this that were applications. Nevertheless, it was a landmark example; and it was around then that I started hearing the term Rich Internet Application from Macromedia. Wikipedia claims that this paper [PDF] is the first use; it’s by Jeremy Allaire and dated March 2002. I’m sure Allaire himself could provide more background.

The problem with the term, as you can see from Allaire’s paper, is that Macromedia (now Adobe) tends to define it pretty much as whatever their latest Flash technology happens to be. This shifts around; so if you are at an AIR event, it’s AIR; if you are at a Flash event, it’s Flash; if you are at a Live Cycle event, it’s apps that use Live Cycle.

Microsoft muddied the waters a little. Realising that RIAs were attracting attention, it started using the term to describe its own technology too, though in the spirit of “embrace and extend” it changed it to mean “rich interactive application”. As I recall, Microsoft used it mainly to describe internet-connected desktop client applications such as those built with Windows Forms. Something like iTunes is a great example (even though it is from Apple), since it runs on the client but gets much of its data from the Internet, especially when you are in the iTunes store.

Now it remains a buzzword but honestly has little meaning, other than “something a bit richer than plain HTML”. If you were doing the Broadmoor Hotel app today, you could do it with AJAX and get similar results.

Technorati tags: , , ,

How hard can it be to play an AVI file?

It depends. I saw Matt Mullenweg’s post about new features in WordPress 2.5. He’s included a video in several formats, and since the embedded Flash version didn’t want to play (maybe bandwidth issues), I downloaded the AVI and double-clicked. Windows Media Player tried to play it, said it was acquiring the codec, and then played only the audio. This is what I got when I looked at properties:

Did Mullenweg include restrictive DRM on his promo for the next WordPress? Unlikely. I right-clicked and chose to open in QuickTime. QuickTime said I needed some new components to play the file, and directed me here – but without telling me which of the 10 downloads on offer might fix the problem.

I right-clicked again and chose VLC. Perfect playback. But I was intrigued. I looked at the Stream and Media info in VLC and found that the video codec was TSCC. I looked this up and found it here. It is the TechSmith screen recording codec. I downloaded and installed the TSCC codec (ignoring Vista’s insistence that it “did not install correctly”) and now the file plays fine in both WMP and QuickTime.

Still, I have a couple of questions. If TSCC is a reasonably well-known codec, how come these players are not smart enough to direct users to the right download, or at least display the name of the codec to make it a little easier to find?

Second, why does WMP think media usage rights are missing? More Windows DRM madness.

Note: the problem with AVI is that it is just a way of bundling audio and video into one file. There are many possible formats for the internal streams, so just because one AVI file plays OK, it doesn’t mean that another will. Hassles like this are one of the reasons Flash video is so popular.

Ugly Flash: auto-play audio with no stop button

Today I was transcribing parts of an interview when the phone rang. It was a call about Dreamforce Europe, the Salesforce.com conference in early May. I navigated to the event site to check out the agenda. Suddenly there was a cacophony of noise. At first I thought my interview, which I’d paused in order to take the call, had somehow restarted; but then I realised it wasn’t that, it was a Flash video (with sound) on the Dreamforce site. I can see no pause or stop button; and the right-click menu doesn’t have one either. The problem was made worse by a bandwidth issue; the audio was breaking up, making it unintelligible.

A horrible user experience and poor web design. Audio is even more intrusive than video. Personally I dislike any audio that auto-starts when you visit a page; if there is no obvious way to stop it, other than by leaving, it is inexpressibly ugly.

Update

I received an email from Salesforce.com PR, saying that there is now both a pause and a mute button on the Flash movie. It’s true: bottom right of the panel. Well done Salesforce.com for fixing this.

Fixing Windows Media Player after a system upgrade

A while back I upgraded my motherboard. Windows Media Player seemed fine – in fact, it works quite a bit better with the faster CPU – until today, when it started crashing shortly after starting. The faulting module was Indiv01.key.

The solution is in this thread. On Vista, what you have to do is to delete the contents of the folder C:\ProgramData\Microsoft\Windows\DRM (not the folder itself). Note that this folder is invisible by default. In Explorer – Folder Options – View, you have to check Show hidden files and folders, and uncheck Hide protected operating system files.

Observe the caveat:

Note that anything recorded on the old system that is DRM protected will not be playable after this procedure.

I recall doing something similar to get BBC iPlayer (download version) working.

This is all to do with tying DRM to hardware. You are not meant to copy a protected file to another PC and still be able to play it. There used to be a method for backing up and restoring your licenses, but it seems to have gone in Vista. From online help:

This version of the Player does not permit you to back up your media usage rights. However, depending upon where your protected files came from, you might be able to restore your rights over the Internet. For more information, see the question in this topic about how to restore your media usage rights.

This leaves a few questions for Microsoft to consider:

  • Why does a DRM problem break Windows Media Player even when playing non-DRM content?
  • Why does a DRM problem cause Windows Media Player to crash, rather than reporting a DRM problem?
  • Why does the user have to uncheck a box in Explorer options that says “Recommended” and warns you that you may make your computer inoperable, in order to fix a common problem? I mean “Hide protected operating system files”?
  • Is it acceptable to say, “you might be able to restore your rights”, when a user could in theory have thousands of pounds invested in DRM-protected content?

Fortunately I don’t have any DRM-protected content that I am aware of.

Everything is fine now.

Unravelling the reasons for Vista audio glitches

Since Vista’s first release I’ve been puzzling over why audio in Vista is prone to glitches, when it is meant to be fundamentally better than it was in Windows XP.

I’ve posted previously on the subject:

Audio in Vista: more hell than heaven

Why does audio glitch in Vista?

Another Pro Musician gives up on Vista audio

I myself suffered from this. When I stuck a CD in my Vista PC back in November 2006, it would not play smoothly. I don’t recall ever having this problem before, even back in Windows 3.1 days.

The Guardian commissioned a piece on the subject which is published today. The research showed multiple reasons for Vista’s audio problems. It’s best to show these as a series of scenarios.

1. Consumer buying new Vista PC with on-board audio

The recommended audio driver type for Vista is called WaveRT. The architecture is better than with previous driver models; you can read an official paper on the subject here. If you look at the API, you’ll notice two interfaces, IMiniPortWaveRTStream and IMiniPortWaveRTStreamNotification. The second interface was added at a late stage in the Vista development cycle. According to CakeWalk’s CTO Noel Borthwick, this was because the original API, which lacked this event notification, was very inefficient. Although Microsoft fixed it, the on-board audio drivers came out using the old inefficient driver model for WaveRT. RealTek actually lists support for IMiniPortWaveRTStreamNotification as one of the fixes in its 1.82 driver update, released in November 2007 a year after Vista went RTM.

The fact that the on-board audio vendors provided WaveRT drivers at all was an indication of their early support for Vista’s new driver model. Vendors of add-on audio cards didn’t get round to this much later, or in some cases not at all.

2. Consumer with Vista PC and an add-on card

Although WaveRT is the recommended driver type for Vista, older driver types are also supported. At a higher level, the new WASAPI audio API also emulates older APIs like DirectSound and MME. The quickest way to come up with Vista drivers was to use these legacy APIs. The result is that drivers for add-on cards were probably using inefficient compatibility APIs.

In both consumer cases, this is about apps as well as drivers. Applications make a choice about which Windows audio API to use. In many cases that’s going to mean an emulated API.

3. Pro audio user with add-on card

The situation for pro audio users is different again. On-board cards lack necessary features for pro audio. Pro audio applications have long bypassed the Windows audio stack to reduce latency, using either ASIO or WDM kernel streaming. This avoids the problems mentioned in (1) and (2) above, because ASIO and WDM kernel streaming work the same in Vista as in XP. However, even here Vista is less satisfactory than XP, because the OS imposes a greater overhead, and because according to Borthwick there are bugs which only Microsoft can fix. An example is mentioned in this interview in Create Digital Music:

Peter: Some users have reported MIDI performance issues — specifically, jitter — under Vista. How much of an issue is this? What are the factors that cause it?

Noel: Both Cakewalk and Digidesign and Cakewalk logged this issue with Microsoft. The root cause of this problem was found to be in the WinMM.DLL and was due to an inefficient check being done on every WinMM API call.  It has been addressed in Vista SP1.

The issue itself was pretty severe and impacted MIDI timing on playback and recording. As compared to XP, in Vista we observed timing discrepancies as far out as 150 ticks. You could also run into cases where MIDI events were lost while playing.

Here’s one instance where SP1 definitely improves matters; nevertheless, Borthwick told me that SP1 is not a cure-all and some other bugs remain unresolved.

Myth-busting

Some people think that Vista’s DRM is responsible for audio problems. Nobody I talked to thought that was the case. It doesn’t apply in the common cases mentioned above.

What about moving the audio stack out of the kernel? Probably not an issue, certainly not in the pro audio case, where things work the same as before.

Fixing Vista audio

Vista audio is definitely improving. SP1, improved WaveRT drivers for on-board sound, decent drivers for add-on cards, all are happening. It probably will reach the point where it is better than XP in some circumstances, because there are genuine improvements in the audio stack. If you are reading this and get glitches, check that you really have the latest drivers and updates.

64-bit has the potential to be really good, though driver support is dire right now.

It’s still a sorry tale and I suspect has lost Microsoft a lot of momentum in the pro audio world, and also among consumer users like myself who were surprised and disappointed by glitching audio.

Preventable? Ultimately I feel this is a symptom of Vista actually being rushed (despite long delays), thanks to the famous reset. There’s also the question of why the WaveRT API wasn’t done right at an earlier stage, which (if the above analysis is right) could have saved much grief. Finally it seems that the emulation layers are just too inefficient.

Technorati tags: , ,

Van Morrison fan site under attack by Web Sheriff

A popular Van Morrison fan site has received a letter demanding that the site be closed. Here’s an extract from a post by the site’s founder.

This site began as a personal hobby about 12 years ago, an expression of my own enthusiasm for Mr. Morrison’s music, which I hoped to share with other fans…The tone is respectful; there is no advertising on the site — never has been; there is no facilitation or encouragement of piracy; in fact the site has long contained a statement to the effect that bootlegging was “not condoned”. Any fair-minded visitor to the site is likely to have concluded that the site promoted, and helped fans to better understand, Mr. Morrison’s work.

Despite this history, despite all of these facts, on Monday, January 14 I received a message from someone working for an outfit named WebSheriff, who claimed to represent Van Morrison and Exile Productions. According to the message, this website stands accused of (and I quote): “numerous infringements of our said clients’ IP [ed: Intellectual Property] rights including, but not limited to, the infringement of copyrights, trademarks, goodwill, performers rights, moral rights, publicity rights, privacy rights and the wholesale facilitation of further, numerous infringements by third parties on a grand scale (such as providing access to bootleg / unauthorised / illegal recordings)” end quote. I’ll repeat for emphasis: “wholesale facilitation of”; “on a grand scale”.

It looks like this is the Web Sheriff in question:

It was through the acute need and demand for the protection of on-line rights against infringements and abuse, that Web Sheriff was set-up by its parent company, Entertainment Law Associates. Web Sheriff is one of the few specialist, companies that operate in the field of internet policing and has become a market-leader through offering truly across-the-board solutions, from on-line legal enforcement to high tech anti-piracy.

There is quite possibly some degree of copyright infringement on the site in question; but attacking your biggest fans, who are doing unpaid promotion, is silly. The site is well-regarded and was apparently featured in the BBC’s “Best of the Web” guide, among other recommendations.

The site owner received this unwelcome missive on January 14th. It was also sent to his employer, a university, presumably because the site was hosted on its servers. He took the site offline as “an expression of goodwill” and pending receipt of guidelines for making the site legal, which he was told to expect within 48 hours. They did not appear, and he decided to reopen the site, but at a new home, so as not to involve the university any further.

No doubt this controversy will get the Unofficial Van Morrison website many new visitors to enjoy these “grand scale” infringements.

Update: It looks as if the site is offline again.

Great anecdote in the Economist about the decline of the CD

The Economist has a report on change in the music industry, which kicks off with this anecdote:

IN 2006 EMI, the world’s fourth-biggest recorded-music company, invited some teenagers into its headquarters in London to talk to its top managers about their listening habits. At the end of the session the EMI bosses thanked them for their comments and told them to help themselves to a big pile of CDs sitting on a table. But none of the teens took any of the CDs, even though they were free. “That was the moment we realised the game was completely up,” says a person who was there.

Trying out SqueezeCenter and Jive (updated)

I took a look at Logitech’s Jive, a platform for smart remotes that link with its SqueezeBox players and SqueezeCenter (formally SlimServer) music server. Incidentally, it looks like all the names are getting the Squeeze treatment; even Jive is to become SqueezeOS. Personally I prefer Jive, but there it is.

So what is Jive? Let’s start by saying that it is the firmware for Logitech’s new remote, the SqueezeBox Controller, which is “coming soon” for $299.00. A hefty price; but Logitech is betting that users will love the new gadget. It is a world away from an infra-red remote that just sends commands to a SqueezeBox. This is a handheld computer which connects by wi-fi (no need for line of sight). You can browse through album art, tune into Internet radio, even run applets which might be games (Space Invaders anyone?), enhancements such as lyric display, or other utilities.

Long-term Jive is intended to have its own audio capability. In other words, you could plug headphones or speakers directly into the controller. Apparently the initial release of the controller will have an audio-out socket, but it will not be active.

It’s not much of a stretch to consider this as a (potential) portable MP3 player that could access your music from anywhere in the world, provided you have a fast wi-fi connection. All the main pieces are in place.

Although Jive can be called firmware, it is somewhat decoupled from the hardware. You can run it on a PC or Mac, and Logitech is thinking about implementations for other devices such as Apple’s iPhone. That will be an interesting test of Apple’s resolve in opening up its hardware to third-party applications.

Trying out Jive

I don’t actually have a Jive-capable remote, but got it un and running on a PC. It is all bleeding-edge stuff right now. Jive requires SqueezeCenter, also known as SlimServer 7.0, which is still pre-release. Furthermore, you cannot yet download Jive binaries, you have to check out the source and build it yourself. It is open source, as in “you can download the code”, but the license is more restrictive than with SlimServer, a fact that has prompted considerable debate. Jive makes heavy use of other open source libraries, including Lua, an embeddable scripting language.

I opened the provided solution in Visual C++ 2008 and it built first time, so no complaints there. See here for a guide.

The new SqueezeCenter looks smarter than its predecessor, and Jive looks good too. The user interface in the current build is clean and uncluttered. I used the arrow keys to navigate the menus. You can play audio stored in your SqueezeCenter library, or from the Internet. SqueezeCenter optionally hooks into an iTunes library, and everything is fine provided you don’t have any DRM-encumbered purchases from the iTunes store.

Jive is great if you want to control your Squeeze clients from an expensive remote, but it has competition from another strong feature of SlimServer SqueezeCenter, which is that you can use it from any old device with a web browser – like an Asus Eee PC, for example, or a SmartPhone. Finding the music you want is a lot quicker with a full keyboard, than with a remote. There’s no inherent reason Jive can’t support a keyboard as well, though you need a controller with a (soft or hard) keyboard. But note this little menu in SqueezeCenter:

This lets you use an alternate skin for SqueezeCenter, including some that are suitable for small devices.

I’m not alone in liking the keyboard input offered by the browser UI, but Jive fans in the Squeeze community point out several benefits to the new controller:

  • You pick it up and it just works
  • More responsive
  • Does not require SqueezeCenter to be running (for Internet radio etc)
  • Less geeky
  • Can be used one-handed

I suspect the Jive-based controllers will be popular, even if a few of us still prefer the browser.

There is still space for alternative rich clients for SqueezeCenter. The communication protocols are all public and as far as I know anyone is free to use them.

Editorial note: I’ve revised this article extensively since the first draft

Postscript: On the subject of alternative rich clients, I’ve just discovered Moose, which looks promising. Especially in conjunction with squeezeslave, which makes in effect a player as well as a controller. Snags: Windows only, and search is a bit clunky.

Playing music over the network on an Asus Eee PC

I’m an enthusiast for SlimServer, so when I got hold of an Eee PC one of the first things I investigated was how to play music from SlimServer over a wireless network.

I tried SoftSqueeze but with mixed results. It seems to work OK at first, but after you hit pause a few times, or change the playlist, it seizes up. There is no error message, but it stops communicating with SlimServer and the only fix I’ve found is to restart SoftSqueeze.

You can play files directly via a shared directory, but navigation is awkward.

I’ve had the best results from SlimServer’s MP3 stream. Here’s what you do. First, open Music Manager from the Eee’s Play tab. From the Playlist menu, choose Add Stream. Enter the URL of your SlimServer, for example:

http://yourserver:9000/stream.mp3

You can use an IP number in place of the server name if you like. Click OK and then hit Play. You should get a silent stream called Welcome to SlimServer.

Minimize Music Manager, and open FireFox. Navigate to:

http://yourserver:9000

This will open the SlimServer user interface. In the right-hand pane, make sure the Eee PC player is selected. SlimServer does not know what the device is, so it will show as an IP number. Once selected, click Settings at top right and enter Eee PC (or whatever you like) for the Player Name, then click Change.

Now play some music. Just perform a search and start playing. All going well, you will hear music from your Eee PC after a short interval.

A few observations

This is a pretty effective way of using the Eee PC as a SlimServer client, but let’s just say it lacks that last bit of usability polish. In other words, only geeks are going to do this. It seems to me that there is scope for an alternative to SoftSqueeze that would offer a user-friendly way of searching and playing your SlimServer tunes via a desktop client – in other words, with no need to open a web browser. SoftSqueeze does this already, but emulating a remote when I have a full keyboard at my disposal is not my idea of user-friendly. The obvious solution would be to extend Amarok or the like.

I realise that you can copy music files directly to the Eee, or have them on a USB stick, and play them in Amarok. The problem is that you soon run into space limitations, especially if you like high bitrate sound files.

There is an annoying lag between making a selection in the browser, and hearing it. This can be solved with programming – see apparently dead projects like slimp3slave for example. 

The sound itself is decent. The Eee has an Intel High Definition Audio integrated soundcard. The built-in speakers aren’t great, though at least there are two of them (occupying space in the lid that some of us would like to see filled with a larger screen). Plug in some external speakers though, or headphones, or feed the audio output to a hi-fi, and the quality can be excellent.

PS if you haven’t installed SlimServer yet, you can get it free here.