The test platform details are:
Toshiba Satellite A35-S4527 (more detailed specs within the link)
Windows Vista Home Premium 32-bit
Intel Core Duo T2080
1GB RAM
Installation was as simple as downloading and running the executable found at the project's site. Miro supports all current versions of Windows, Mac OS and several Linux distros.
Interface
Miro's interface hasn't changed much since the name change. At first run, the program asks if it should associate itself with certain file types on the user's PC. Thankfully, unlike many other such programs, Miro does NOT check all the options by default, but only those that are relevant to the experience it offers. This reduces the odds that inexperienced users may unexpectedly have their file type associations change after installation.
Miro then offers users the option of adding their existing video files to its library. We declined that option, and were immediately taken to the Miro Guide page once the client started up. The interface itself is very clean and uncluttered, consisting of a left panel, a main viewing screen on the right and a search/controls bar below.
The left panel is divided into 2 sections. At the top are the Miro Guide, Video Search, Library, New and Downloading. These cannot be removed or changed. Below is the channel section, which is completely user editable. Its contents change only to notify the user of new content in an RSS feed (Miro refers to these as "channels"), a new channel being added by the user, or a new video being downloaded. The user can rename and reorganize the contents of the left panel via right-clicking and drag-and-drop operations on the desired item. Below is a screen shot of the Miro Guide (
full size):
The extremely intuitive right panel actually shows the content of the channel or link already selected on the left panel. To start a video download, just click on the downward pointing blue arrow. There is a sharing button for emailing a link to the video or posting it to Digg, Video Bomb, Del.icio.us and Reddit. Clicking on "Details" will give you a permalink to the post and a direct link to the file in question.
Below the left and right panels is the search/controls bar, offering easy query access to YouTube, Veoh, Google Video, Blogdigger, Blip.tv, DailyMotion and Revver. All the controls function as any other media player does, including a button beside the play button that hides the left panel. The seek bar is a bit short, which may be a problem for accurate seeking within long videos.
Miro's Preferences dialog is Spartan considering the capabilities of the client. It was clearly coded with usability as top priority and granular control in the background. In other words, while it is BitTorrent capable, it isn't Azureus. One should not mistake the lack of options for a lack of features, though, as the next section will show. A screenshot of the Preferences dialog is shown below (
full size):
Features
While Miro supports video RSS feeds in general, these need to be properly formatted to be readable by the client, as it must be able to find a direct link to the file itself for download. Unfortunately, as many RSS subscribers already know, not all feeds provide this. Fortunately, PCF has made it easy for content producers to create workable feeds via their guide found
here. Given that the client currently features 2000+ channels, it is reasonable to assume that setting up one's own channel is feasible without going into much investigative detail. As such, the rest of the review will focus on the client experience on the consumer's end.
Downloaded videos are organized by folder - one for each channel. Miro's stated aim is to provide DVR functionality for internet video, and it does just that. As with most DVRs, all downloaded video expires by default to make space for new material. The storage period as-shipped is 5 days, but it can easily be decreased or increased to infinity within the options. The decision as to whether to keep or discard can be made on a file-by-file basis within the library, thanks to Keep and Delete buttons for each file.
On Windows, Miro's playback engine is built on VLC. On Linux, it's built on Xine, while on Mac OS X it's built on Quicktime. According to Reville, the reason for this was purely ease of implementation, but ideally the client would support VLC, Xine, Quicktime and mplayer. On Vista at least, the VLC base means that Miro will play anything that VLC can play too. A full listing of format compatibility is at the client's FAQ
here. Here's a screenshot of Miro playing an episode from CNet's channel (
full size):
Even if the user opts not to search for video to add to Miro's library during the setup wizard, the client will automatically add any files found in its download folder.
As for BitTorrent itself, Reville told us that the client is currently based on the last free (as in open source) official BitTorrent code with some modifications. Although not visible in the options, UPnP is automatically supported on Windows, which should enable users on LANs with compatible routers to be connectible to external peers without having to change any settings manually. Upload bandwidth can be limited within the Preferences dialog.
Unfortunately, Miro is not a streaming video application - all videos have to be downloaded completely before users can watch them. This is not surprising, since Miro's expected mode of use is to be run 24/7/365 in the system tray so that videos that match the viewer's interests can be downloaded and ready to watch. However, running the program as recommended may cause consternation from some users as Miro for reasons to be discussed in the next section.
Performance
Perhaps the most important detail about Miro's performance is that, unlike in our previous test of Democracy Player, the BitTorrent feature actually works. The screenshot below shows a torrent from MariposaHD being downloaded within the client (
full size):
However, Miro is not a lightweight client in the vein of uTorrent. As with Democracy Player, RAM usage is high. The processes Miro.exe and Miro_Downloader.exe consumed 129MB and 10MB of RAM respectively at idle. After a download and some further use, the RAM usage of the former can spike to 155MB. At the same time, however, there do not appear to be any problems with runaway CPU usage. Our test machine ran the program very snappily with very little, if any, out of the ordinary delay on any feature.
The only potential showstopper occurred when we attempted to play the iPod video downloaded from MariposaHD. As with VLC default installations on Vista, Miro crashed. However, in this case the OS reported Mozilla as the problem (Miro apparently uses Mozilla code for rendering purposes). From prior experience, we know that this is most likely due to the "Overlay Video Output" feature of VLC, which must be disabled within the options dialog to prevent the crash (VLC -> Settings -> Preferences -> Video -> uncheck "Overlay Video Output" -> Save). Unfortunately, Miro offers no access to its VLC implementation's options, and so as yet there is no easy way to fix the problem on Vista. A screenshot of the crash is shown below (
full size):
Interview
Nicholas Reville (NR) was kind enough to promptly answer the questions we emailed him regarding the project.
Slyck: BitTorrent Inc. has closed sourced the newer versions of their mainline client/protocol. How do you see this impacting Miro and its development?
NR: Well, it's a little bit of a pain in the ass, because it means that we need to write things ourselves or find other projects to get code from. That means it might take a little longer for us to get all the latest BitTorrent features into Miro, but my sense is that other projects like Azureus have been able to implement a lot of things independently, so I don't see why we wouldn't be able to do that as well. If there are any real BitTorrent code experts out there, we could definitely use some volunteer help improving our BitTorrent code.
Slyck: Currently, Miro users have to completely download a video before watching it. Since it is able to grab content from YouTube and other streaming sites which allow viewing before the download is complete, is this likely to change?
NR: Yeah, it's likely in the future that we'll let you click 'play' before things are fully downloaded. Maybe on sites like YouTube we'll let you play right off the bat.
Slyck: Do you see Miro competing with other video clients such as Windows Media Center, Apple Front Row, Vuze, Joost, and Veoh? If so, what makes Miro special relative to them?
NR: The key area of competition for us is around distribution. Clients like Joost that have proprietary distribution systems are a real threat to free speech and openness online. We think that online video has to be defined by open standards. Otherwise, we'll end up with a knot of closed systems and centralized video hosts. Anytime one company controls a standard you reduce competition and threaten users' freedoms. We think video RSS is the key to keeping things open.
Slyck: Is there any chance that Miro may eventually be embedded in or shipped with devices in the future?
NR: We'd love to do something like this. Right now, we're a small organization and we're trying to stay focused on creating a world-class desktop app. From there, we'd love to branch out and we're always open to anyone who wants to embed the software somewhere or adapt it to a new use.
Slyck: Could you describe the current development road map?
NR: For the next couple months we're focused primarily on bug fixing and polishing as we get to version 1.0. We're making small UI improvements, fixing lots of rare bugs, and adding better unit tests, better upgrade code, etc. After 1.0, we'll be able to try some exciting things-- adding an extension system, improving startup time and responsiveness, and building new interfaces.
Slyck: [We] noticed your dev team was fishing for extension ideas in the forums. How about allowing Miro users to share/stream their libraries over a LAN similar to WMP11 on Vista and iTunes? Or a web interface so users can control it while away from home? (These are just ideas [we] thought of on the fly.)
NR: That would be great. We're trying to understand what types of things folks might actually want to build so that we can make an extension system that supports that.
Slyck: RAM usage while downloading a torrent soared to 155MB without having even played the file yet. Is there a reason for the high usage, and how can it be reduced? Also, if usage is so high, shouldn't the system requirements reflect that?
NR: One reason the RAM use is high is that Miro does a lot of things: we have a web browser for the channel guide, an organizational interface for viewing your channels and files, we have a video player, http downloader, and torrent downloader. We actually use much less RAM than if you ran all of those separately. That said, we have some ideas for becoming even more slim and sleek after 1.0.
Slyck: Attempting to play an iPod video from MariposaHD crashed the player. Due to prior experience, we know this is due to the "overlay" feature of VLC, which causes problems in Vista and has to be disabled from the options dialog within VLC itself. Is there any way to access this option from Miro? If not, could advanced access be provided at some point?
NR: Good question, I'll pass it along to the developers.
Slyck: We noticed that Miro uses Mozilla for rendering the client.
Songbird also does the same, albeit with a focus on audio. Has there been any development communication between the two teams?
NR: We are friendly with the Songbird folks, but haven't had much development communication. They are building a full XUL runner app on all platforms, whereas we use native widgets on OSX and Linux, so there are some technical differences.
Slyck: Is any integration with social networks such as Facebook, MySpace or Last.fm in the works?
NR: Not right now, but it's definitely something we're keeping an eye on. As I said, we're a small non-profit and we're trying to stay as focused as we can while we grow. However, we do have a Firefox extension in the works that should provide a nice connection between FF and Miro.
Conclusion
Although the features Miro offers are easily duplicated by a combination of free programs, it's the only client of its kind to tie them all together so neatly. For all it does, it's pleasantly surprising that the client is pretty much set to go with no configuration needed from the first time it loads. Thanks to the automatic expiration feature, there's no immediate reason to worry about where the files are being downloaded to for fear of running out of space. The always-on UPnP support obviates any contact with your router's settings page for BitTorrent downloads. Although power users will do it anyway, the usual client first use ritual of running through the Preferences before you do anything is completely unnecessary.
As both technology writers and their audiences tend to be highly technical, it's generally difficult to make a statement about "average users" as neither of the former groups fall into that category. In this case however, it's hard to say anything other than that the average user should have zero difficulty in getting Miro to work.
A note of caution, however: shortly after the first Slyck article on Democracy, I decided to try it on a late 2003 2.66GHz P4 laptop running Windows XP Pro SP2 with 1.5GB RAM and had a sluggish experience. My point is that while any recent PC should be able to run Miro without blinking, it's probably not the most suitable program for an ancient rig you have laying around.
It is hoped that the development team will be able to resolve the iPod video crash bug, but given that the solution is easily implemented in the player the client is based on, that should not take very long.
Otherwise, maybe you have enough RAM for the equivalent of a heavy Firefox session, are interested in video blogs and want an easy way to manage and view them. Or, perhaps you're a budding content producer who wants to easily distribute episodic product. If either of these describes you, it's time for a look in the Miro ;).
UPDATE: Reville has since advised that a trouble ticket regarding the VLC overlay bug has been submitted to Miro's development Wiki
here.