If you had to pick one area of the Linux desktop that's seen tons of development over the past few years, it has to be multimedia. Everything, from recording to streaming, has improved in leaps and bounds.
Popular music players, such as Banshee, Rhythmbox and Amarok, can now handle media in all formats, in patent-encumbered codecs including MP3, MPEG and WMA, and free formats such as Ogg, Theora, FLAC and so on.
Banshee is the default music player in Ubuntu, while you'll find Rhythmbox in several Gnome-based Linux distributions and Amarok in KDE-based ones. Besides playing music, you can use all three to subscribe to the RSS feeds of your favourite podcasts and internet radio stations such as Last.fm, and listen to audiobooks from LibriVox.
With both Amarok and Rhythmbox, you can stream music from Jamendo and Magnatune, while Banshee lets you buy music from Amazon's MP3 store (currently only available to its US customers), and from Ubuntu One Music Store.
When you buy tracks from Ubuntu One's music service, the songs are automatically synced with your Ubuntu One account, so if you format your disk, or move to another computer, your music moves with you. Just log in to your Ubuntu One music account from within Banshee and your tunes will automatically be synced to the new machine. You can also install the Ubuntu One Music app from the Android store, and listen to your music on your handset!
If you don't use Ubuntu, or need to stream music from your own cloud, you have a couple of options depending on how you've set things up.
The easiest way to stream your music collection is with Tonido. The software includes a music streaming app, aptly called Jukebox, that enables you to access all your music from anywhere on the internet via a web browser or on your phone via an Android app.
Jukebox supports several popular formats, including Ogg, MP3, WMA, FLAC, M4A and so on. Just point it to your music folders and it'll create a database of your entire collection. It also has some powerful management features, and even enables you to edit MP3 tags to make the songs searchable. Additionally, you can create guest users and stream your entire music collection to them.
If all you need to do is stream music, get yourself the Java-based Subsonic server, which is a dedicated music streamer. Besides making your music collection accessible via any web browser, it too can also stream music to an Android mobile phone. Subsonic supports any music format that can stream over HTTP, including MP3, Ogg and AAC.
If you have music in another format, such as WAV, Subsonic also includes a transcoding engine that converts music to MP3 before streaming on-the-fly.
Share your music
Other people can subscribe to your music stream with network-enabled media players, such as VLC or iTunes, or use the in-built Flash-based player to listen from within a web browser.
Subsonic uses a battery of open source software for tasks such as on-the-fly resampling for streaming to locations where bandwidth is limited, and for parsing and editing MP3 tags. It also implements the SHOUTcast protocol, which enables players that support this protocol, such as Winamp, iTunes and XMMS, to display metadata information on the playing track.
Binaries for Subsonic are available in both Deb and RPM formats, as well as in the WAR format for deploying Subsonic with a Tomcat, Jetty, GlassFish or Geronimo server if you have one already set up. Subsonic can also be used with Windows and Mac OS X.
Once you've installed the binary under your platform, head to your web browser to do some basic configuration, such as pointing it to the folder where you keep your music, then tweak network settings to access the installation over the internet.
Something that almost all of us keep on the web are images, be it on Facebook, Flickr, Picasa or any other photo sharing service. There are a whole host of tools that enable you to edit, tag and upload images from your computer to these services.
In addition to cross-platform tools offered by the services themselves, many popular image-editing programs have the ability to upload images as well. Flickr doesn't have any official tools to manage your photo stream from Linux, but you'll find a couple of nice third-party tools in your distro's repository.
Check out Postr if you want a simple upload-only utility for Gnome. For KDE users there's Kflickr. There's also the Desktop Flickr Organiser for Gnome users, which isn't under active development but still works. In fact, most of these tools haven't been updated in a while, but they all work as advertised.
The easiest platform-independent way to upload photos to Flickr is by emailing them to your unique Flickr address using the subject line to specify a title, and the body to add a description and tags. Google has a photo management app for Linux that will also upload images to its Picasa web album service.
Mobile phones have added a new dimension to uploading images to photosharing sites. Many Android phones ship with Facebook and Picasa apps that, when configured, can upload images to your accounts on these websites straight from the mobile phone itself.
Then there's Flickr Companion, which is one of the most popular tools for managing your Flickr photostream from an Android phone. It lets you set up and manage multiple Flickr accounts, and browse the Flickr photos, sets and collections under each. The best bit is that you can download your images directly from Flickr on to your phone and set them as wallpapers or contact photos.
If you don't want to rely on these services, you can create your own web album, either by using a dedicated content management system built to host images, such as the Gallery CMS, or with plugins for a normal CMS that add photo management features to it, such as the YAPB plugin for WordPress.
The better option, if you wish to keep the photos to yourself, with the convenience of directly uploading them via a mobile phone, is to use Tonido. The NAS software bundles an app called Photos, so you can share your exploits with the camera with friends and family.
As with all things Tonido, the Photos module also has comprehensive organising abilities and enables you to tag the images. Once shared, others can rate the photos and comment on them. All they need is a web browser.
Step-by-step: Uploading images to Minus
Minus is a new online sharing service that keeps your images (and other content) in sync, whether you've uploaded it from a browser or from your mobile phone.
2. Install on desktop
Once you've registered with the service, you can download its client to your Linux desktop, or as an extension inside the Chrome and Firefox browsers.
3. Install on phone
The Android app enables you to upload images from your mobile. Minus ensures that no matter how you uploaded the images they're visible on all your devices.
By its very design, a social networking service lives in the cloud, a lot like web-based email services. As with any web-based application, the main advantage is that you can use it from within any web browser. The main disadvantage is that it isn't always straightforward to use it offline.
There are several desktop apps on Linux that enable you to send tweets, dents and updates to your Twitter, Identica and Facebook accounts. There's Gwibber for Gnome users, and Choqok if you run KDE. Both work with multiple social networking services, and even let you browse through your timeline when offline.
Similarly, there are several instant messaging clients that work with a variety of IM services and even IRC. Empathy, Pidgin, Xchat and Kopete are the most popular.
If you need one app that can work across social networks and does IM as well, there's Yoono, which supports Facebook, Twitter, MySpace, Foursquare, LinkedIn, Flickr, YouTube, AIM, Gtalk and Yahoo Chat amongst others. It's available as a desktop application for Linux, as well as a browser app for Firefox and Chrome.
With the browser app you can easily share links, videos and other stuff you come across on the web with your friends on the configured social networks. If you don't use either of the supported browsers, there's the desktop version with a similar interface.
TweetDeck, which is available as a desktop app and an Android app, goes a step further and can also be found in Chrome's webstore. It too supports a variety of social networks, including the most popular ones.
The biggest advantage with TweetDeck, though, is that you can register with the service, which saves you having to log in to all your networks from each device and gives you some added advantages, such as scheduling messages.
If you need to send dents to your Identica accounts from your Android device try Twitdroyd, Mustard or Seesmic. These clients seamlessly plug into other social networking services to enable you to share media or shorten URLs.
To find more apps that you can use from your web browser as well as your Android phone, head to Chrome's webstore and search for "Android". This will bring you a whole list of apps that you can use to sync all types of content from your desktop at home or work via a web browser, and when you're roaming with your phone.
Some of the useful ones are Springpad, a note-taking app; Read Later Fast, which saves web pages for offline reading; the IMO instant messenger; Android Push Contacts, which sends SMS messages from the browser to Android devices; and the Nimbits data logger, which can also export the recorded data to Google Docs.
Step-by-step: Be omnipresent with Yoono
01. Add a service
Yoono can currently be installed inside Google's Chrome and Mozilla's Firefox browsers. Once installed, start by adding your accounts on the popular networks it supports.
02. Fine-tune settings
After you've added all the accounts, you can tweak settings for a particular service. For example, like Google+ Circles, Yoono enables you to assemble your FB friends in groups to better manage updates.
03. Start sharing
Yoono makes it easier to share anything you come across on the internet with your friends using the Share button, which enables you to pick out videos or text from within other browser tabs.
Privacy and online data
Throughout this feature we've looked at various ways you can access and manage all types of data from all sorts of places, and keep it all in sync. Getting to the data is the easy bit. The real question is how you want to store it - offload it to a remote server or host it in your own cloud?
The first option is more convenient, especially if you don't want to faff about building your own server, and just want to start sharing. But hosting your own cloud server gives you more flexibility and control over who accesses your data and how.
The most important issue is security. Not everybody is willing to put all kinds of documents and passwords on to servers outside their jurisdiction. This is also why most of the services, be they for storing arbitrary documents or passwords or your online bank account, ensure privacy either by encrypting data or securing the channel through which it's transmitted.
Another important factor is cost. Many remote services are free with up to 2GB of storage, and offer additional storage at throwaway prices.
Plugging the gap
Despite the availability of the software, many users are deterred from hosting their own cloud server by the overheads that come with running it. This is where plug computers come in.
A plug computer is a small form factor computer that's meant to be used as an always-on server. It's got enough juice to run the server software and is stripped of all the exotic hardware you'll find on a normal computer, such as graphics cards or serial, parallel, PS/2 and VGA ports. This is also why plug computers consume a lot less power than traditional servers. Often they're enclosed in an AC power plug or AC adapter - hence the name.
The Tonido NAS software is available on top of a plug computer, and there's a version of the Amahi Home Server that can be installed on top of a plug server. Besides the SheevaPlug, it's been tested on several other plugs machines, including Ionics Plugs and Guru Plug.
Earlier this year, Eben Moglen, chairman of the Software Freedom Law Centre, announced the FreedomBox project to develop new personal server software for people who care about data privacy. As you've probably guessed, the FreedomBox software will run atop plug computers.
Moglen created the FreedomBox Foundation to develop the server, which will run "a free software operating system, with free applications designed to create and preserve personal privacy". The idea is to deploy the FreedomBox installations in a peer-to-peer fashion. Users will then use this network for a variety of purposes - for example, to keep encrypted copies of their backups on other computers in the network.
Users will also be able to send and receive encrypted emails, make VoIP calls that can't be intercepted and create their own alternative to social networking sites such as Facebook, Flickr and Twitter, without locking up their data.
FreedomBox will be based on Debian and many of its developers are from the Debian development community, including its lead developer Bdale Garbee, the former Debian project leader. The project was funded via the crowdfunding service Kickstarter, where it raised over $86,000.
Currently under development, the FreedomBox software won't cost anything and will be made up of several pieces of free software. The only cost will be that of the hardware - the plug computer server.
Moglen has been quoted in a New York Times article as saying that these plug computers will "get very cheap, very quick" coming down from the current $99 (about £62) to $29 (around £18).