TweetFollow Us on Twitter

Smarter Playlists

Volume Number: 21 (2005)
Issue Number: 4
Column Tag: Power User Tips

Smarter Playlists

by Jason Sims

Getting More Out of iTunes with Smart Playlists

As Apple's most popular application of all time, iTunes needs no introduction. We all know what it is and what it does - and not just because Apple has made so much noise about it, but also because it's so elegantly simple that anyone can use it without ever reading so much as an opening paragraph about it.

However, it strikes me that the simplicity that has made iTunes so popular is perhaps also one of its weaknesses. I am often surprised to hear people tell me they found iTunes "too basic" for their needs, unaware of the vast potential hidden under its simple user interface. And those who do like it are still often unaware of most of what it can do, sometimes going to surprising lengths to solve problems in awkward ways, that can be easily handled within iTunes itself.

Smart playlists debuted in version 3 of iTunes, and are one of its most innovative - and overlooked - features. They provide a powerful means of organizing your music library, and, as I'll explain, they can be used for several other purposes as well. As your music library grows, smart playlists will prove increasingly indispensable for solving a variety of different problems.

Smart Playlist Basics

The basic concept of smart playlists is pretty straightforward. A list of rules can be defined, and any matching songs in your music library will appear in the playlist. The "live updating" feature lets the playlist contents update automatically whenever your library changes.

iTunes ships with a few basic smart playlists, such as Top Rated and 90s Music, which match the highest-rated songs in your library, and songs whose year is in the range of 1990-1999, respectively. You can control-click (or right-click, if you have a multi-button mouse) on a smart playlist and select "Edit smart playlist" to view or change its rules.

    Tip: option-click the New Playlist button in the lower-left corner of the window to create a Smart Playlist.

    Tip: option-click a smart playlist to go directly to its rules.

So, some obvious ideas for smart playlists include collecting songs from a certain time period, grouping related genres (I have a "Disco & Funk" playlist that includes songs from both of these genres), listing the songs you've rated the highest, or played most often, and so on. Now let's look at a few things we can do that might not be quite as obvious.

Combining Rules

Smart playlists are pretty flexible. You can make rules based on any of the info that iTunes can store about a song - even things like sample rate and file size. But one way in which they're limited is that you can only specify whether all of the conditions must be matched, or any one of them.

Programmers, and particularly database developers, should see the problem fairly quickly. You can't say that you want the genre to be jazz or blues, and have a rating of 3 stars or higher. If you set it to match "all" rules, your playlist will be empty, because the genre would have to be both jazz and blues (try telling a jazz or blues fan that they're the same thing, and see what happens!), and if you set it to match any of the rules, you'll get all your jazz songs and all your blues songs, regardless of their rating, and every song with a rating of 3 stars or higher - jazz, blues, or otherwise!

But that doesn't mean it can't be done. In iTunes 4.5, Apple quietly added another option to smart playlists - a condition called "Playlist". This rule lets you specify whether to include a song based on whether it is, or isn't, in one of your other playlists. The beauty of this is you can select another smart playlist for this condition, and thereby combine sets of rules.

Create a smart playlist that matches "any" of the following conditions: genre contains "Jazz", or genre contains "Blues". Then create a second smart playlist that matches "all" of the following conditions: a rating of 3 stars or higher, and playlist "is" your jazz & blues playlist (the grammar is a little awkward, but it gets the job done).

Special Collections

It's easy enough to make a smart playlist that lists all of your Eric Clapton collection (by adding rules for matching his name, as well as Cream and The Yardbirds, in the artist field), or your Mozart collection (by matching his name in the composer field - because the artist field of classical recordings lists the performer(s) of the piece rather than the composer). You can also group all the music of a group that likes to go under different pseudonyms, or make a collection of a favorite artist that includes not only original works, but any remixes he or she has done, of other people's music. With a little extra data entry, you can make some other kinds of collections too.

Record Label Collections

Although the (shrinking number of) big record labels are still responsible for releasing the majority of the most popular music, independent labels are thriving more than ever before, with dozens of new ones starting up every month, all around the world. As a result, many people have favorite record labels they follow. A name like Sony or BMG doesn't give you any idea what kind of music you'll hear on a given recording, but fans of labels such as Warp Recordings or Ninja Tune can be pretty sure they'll be interested in an album bearing those names. The same could be said for the legendary Verve jazz label, or the Deustche Grammophon classical label.

You can use smart playlists to create collections of your favorite record labels. iTunes doesn't have a "Label" field in its song info, but you can enter the label in the comments field. When I import new CDs into iTunes, I enter the label name in the comments (you can do this on all the songs on a CD at the same time, by first selecting all of them, then opening the Song Info window - choose "Get Info" from the File menu, or press command-I). I don't bother doing this for major labels, but I make sure to do so for all the independent ones. Not only can I make smart playlists to collect all their releases, but iTunes' search field works with anything you enter into the comments as well.

If you're really neurotic about it (like I am), you can enter the catalog number of the release in the comments field as well. In your smart playlist, enable the comments column, and you can sort the collection by release number too.

    Tip: control-click (or right-click) in the headings of any list to quickly enable or disable columns of information.

Saving Disk Space

As your music collection grows, your available hard disk space shrinks. You might be surprised how quickly your iTunes library eats up your disk space. Fortunately, we can use smart playlists to help keep it under control.

AACk!

iTunes' default encoding settings for MP3 files are 128 Kbps, 160 Kbps, and 192 Kbps. Higher bit rates result in better-sounding music at the cost of larger file size. Just like JPEG, MP3 (which means MPEG-1, layer 3) is a lossy compression format; this means some data is being discarded as part of the compression process. 128 Kbps is commonly recognized as the bare minimum MP3 bit rate for good quality, stereo music compression.

In recent years, with larger hard drives becoming standard, most people have moved up to bit rates of 160 or 192 Kbps, which can produce a noticeably higher quality representation of the original recording. As a result, MP3 libraries grow in size faster than ever before.

Fortunately, there's a great solution for this problem, which has been emerging over the past couple years. It's called AAC - advanced audio coding - and it's been available in iTunes since version 4.0. AAC is part of the new MPEG-4 suite; it's the new codec that's designed to replace MP3, designed by the same people who created the MP3 format (Fraunhofer), in collaboration with Dolby, AT&T, Sony, and Nokia. The AAC codec produces higher quality audio files than MP3 which are at the same time smaller in size. A 128 Kbps AAC file sounds better than a 320 Kbps MP3 file. As file size is directly related to bit rate, a 128 Kbps AAC file uses the same amount of disk space as a 128 Kbps MP3 file.

So what's the catch? Well, not all music software and devices can play AAC files yet. As it's part of the same MPEG standard that included MP3, you can bet that most software and devices will eventually support it, but you must decide whether to go AAC or not based on your particular needs. Does your car have a CD player that can play MP3 files? It probably can't play AACs.

Fortunately, any Mac or Windows user can play AACs with iTunes or QuickTime, and all iPods (even the original 5 GB one) have been able to play AAC files since the iPod update that was released at the same time as iTunes 4.0. RealPlayer can play AAC files too - but why would you want to use that? Traktor DJ Studio (a popular DJ application from Native Instruments) can't play AACs yet, but by the time you read this, version 2.6 should be available, which adds - among other things - AAC support.

If you've ever bought a song on the iTunes Music Store, you're already using AAC files. All songs in the iTMS are encoded in the AAC format.

    At this point you're probably wondering what all of this has to do with smart playlists. Glad you asked. A smart playlist can be used to find any MP3 files in your library that you might want to convert to AAC. This is a great way to save disk space without sacrificing quality.

    Now, there are two ways of doing this. If you have the original CD (you do have the original CD right?), the best way to convert it to AAC is to insert the CD, and re-import it to your library. This method will give you the best quality, because no data will have been lost in MP3 encoding. iTunes has a handy feature that can help with this process - when you import songs that already exist in your library, iTunes will offer to replace the existing copies, which saves you the trouble of finding and deleting the MP3s, and has the added bonus of preserving the play count and rating of the songs. One thing to watch out for here: this won't work if the song or artist names have been changed since they were imported. It's worth double-checking, ahead of time, that the song and artist names match. If not, change the info on the CD itself to match your existing songs.

    And now, for the smart playlist. Create a new smart playlist with a single rule: Kind contains "MPEG". This will find all your MP3 files, and serves as a list of MP3s you may want to re-encode as AAC for higher quality and possibly smaller files.

Okay...what if you don't have the original CD? A smart playlist can help here too. MP3 files (with bit rates as high as 320 Kbps) can be re-encoded directly to AAC format (at the default 128 Kbps) with no audible loss of quality (this is a point that's heavily debated by audiophiles, but try it out and see for yourself).

You can use a similar playlist to the one described above, to track down MP3 files that should be converted to AAC, but we'll want to use one more condition this time. If a song has already been encoded as an MP3, it's not possible to improve the quality by converting it directly to AAC, so the only reason we'd want to do that is if we're going to save some disk space. Therefore, there's no point in re-encoding 128 Kbps MP3s as AAC - there will be no benefit. So we'll add another condition to the smart playlist for this one: bit rate is higher than 128 Kbps.

As you re-encode songs to the AAC format, you will need to delete the original MP3 files. Unfortunately, this method will not preserve the original song's play count. Other information, such as your rating, will be retained.

    Tip: to delete a song from your library, within a smart playlist, hold down the option key while you press delete. This works in regular playlists too, where the delete key by itself would only remove the song from the playlist, not your library.

Should They Stay Or Should They Go?

If there are several thousand songs in your library, chances are you don't really like all of them, but don't have time to go through the list on a regular basis and decide which ones to keep. You can use a smart playlist in conjunction with the play count and rating fields to help find the ones you don't really want.

A song's play count increments at the end of the song, not the beginning. This means if you listen to half of a song, then skip to the next one, its play count won't increase. Besides helping you flesh out songs that you don't listen to at all, this also means you can track songs that you don't mind, but seem to go on a little too long. So, an obvious way of measuring songs you don't want is by play count. Your first rule in this playlist will be: play count is 0.

But that won't quite cut it. If you've imported 5 of your favorite CDs in the past week, but haven't had a chance to listen to them in iTunes yet, you don't want them to appear in this list. The best way to handle this is to give songs a rating as soon as possible. Different people have different rating scales, but one suggestion to consider is you probably won't want to keep any songs you don't like at all, so your rating scale most likely won't need to include a rating for "terrible". A good way to handle this is to give a song 1/5 stars if you don't like it much, and are only keeping it for the sake of having a complete album.

Whatever system you devise, keep it consistent. In any case, you can use a second rule in this playlist to help find songs you don't like very much. Mine is set to match only a rating of 0/5 stars (unrated), but if you want to be pickier, you can set it to match any song with a rating under 3 stars. And if you want to leave unrated songs alone, try setting it to a range of 1-2 stars. Adjust this setting to suit your own style.

Finally, we'll need one more rule. If you've just bought a new album, and haven't had a chance to listen to it yet, you won't want it to appear in this list. But if you've never heard it before, you can't really rate the songs yet, right? So we'll add a third condition: date added is not in the last 3 months. This gives a song a full three months to either be listened to all the way through, or given a satisfactory rating, before it winds up in the list.

So now you have a smart playlist that lists songs that are probably just wasting your disk space. Remember that you must use option-delete to delete a song from your library, from within a playlist.

Maintaining Your Library

There are many benefits to keeping your library organized, but you must make sure to maintain the song info in your music library to get the maximum benefit from iTunes' various features. You should try to rate all of your songs, and make sure they all have the correct artist name, genre, and other information. Smart playlists can help here too.

Browsing For Problems

You can use the browse mode in iTunes to help correct mistakes in genre or artist names. If you've misspelled a genre, or notice that some of your Doors songs are listed as "The Doors" while others are just "Doors", you can fix these problems in browse mode.

Let's fix this specific example. One cool thing iTunes does is lists artist names that begin with "A" or "The" by the first letter of the next word. So you'll find "Doors" and "The Doors" right next to each other, in the D section of the list. "The Who" will be in the W section. Anyway, what we can do is select, in the browser list, the "Doors" entry (which does not begin with "The"), and then press command-I to get info. iTunes will ask you if you're sure you want to edit information for multiple items. Type "The Doors" into the artist field, and all the songs will be updated accordingly. Now all your Doors songs will be under "The Doors" when you browse in iTunes and on your iPod.

One more example. Suppose some of your ambient music is misspelled as "ambiant" (a common mistake). It's easy to spot this in the browser list, where you'll see two similar entries side-by-side. Select the misspelled one, press command-I to edit the info for all of them, and type in the genre name correctly. Now they'll all be joined together in harmony under "ambient".

    Tip: you can use browse mode in any playlist, not just the main library. Just press command-B to open the browser list at the top of any playlist.

    Tip: you can shift-click to select multiple items in the browser lists.

My Genre-ation

You can use a smart playlist to list any songs that don't have a genre. This is important for playlists based on genres, and also when browsing. You'll want to make sure all your jazz songs have their genre set to "jazz", or they won't show up in your "Jazz & Blues" playlist, and you won't see them when you browse for jazz in iTunes or on your iPod. This playlist doesn't solve the problem of incorrect genres, but it will at least track down songs that have no genre at all. You can use this in combination with the browse mode tips above to get your genres under control.

Rate Me!

Ratings are an important part of iTunes. It's not much trouble to assign a rating to a song. You don't even have to switch to iTunes to do it - you can rate the currently-playing song in the iTunes dock menu; just click-hold on the icon, or control-click/right-click it. Assigning song ratings makes it possible to create smart playlists of your favorite songs, and the Party Shuffle mode has an option to play higher-rated songs more often.

If you have more music than your iPod can hold, you can create a smart playlist that selects a certain amount of songs based on highest rating. You can limit the playlist to a specific size in MB or GB - perfect for filling up your iPod with your favorite songs, automatically.

So, you may find it helpful to create a smart playlist that lists unrated songs, to help you track down which ones still need to be rated. Naturally the playlist will have the rule: Rating is 0/5 stars. You may also want to add another rule: Date added is not in the last 3 months. This gives the song a reasonable amount of time to be heard before you decide on a rating.

Party Time

There's one problem with using smart playlists to track down songs you might want to delete, songs that need to be rated, or ones without a genre: If you delete or modify a song while it's playing in one of these playlists, playback will stop, and you'll have to press play again each time you make a change. It can be pretty time consuming to go through these lists, so you'll often want to use shuffle mode and let these playlists play while you're working on something else.

Suppose you are listening to your unrated playlist while you're working on something. You can assign a rating at any time with the iTunes dock menu - but what will happen is that, once the song has a rating, it doesn't match the conditions for the list anymore, and it will immediately disappear from the list, stopping playback! Now you have to stop what you're doing and go into iTunes to resume playback, and the play count for that song won't get incremented either...a bit of a pain.

Enter Party Shuffle. This relatively new feature in iTunes works very well with "utility" playlists. At the bottom of the Party Shuffle list, you can specify which playlist it should randomly choose songs from. Select your unrated, genre-less or "to be deleted" playlist, and set it to display at least 10 recently played songs. Now you can let the playlist run while you're working on something else, and come back to it once in awhile to delete songs you didn't want, or add the correct genre, without interrupting playback.

For your unrated song list, it's even easier. You can simply use the iTunes dock menu to assign a rating to each song while it's playing. Unlike when you're playing them directly from the unrated playlist, the song will continue playing, and you won't have to switch to iTunes at all.

That's A Rap!

That's all for now, folks! As you can see, it's well worth exploring the hidden depths of iTunes, particularly the smart playlists. With a little bit of imagination, you should be able to come up with all kinds of ideas for your own smart playlists to organize your music the way you want it.

iTunes has plenty of other secrets up its sleeves. Stay tuned to MacTech for more iTunes power user tips and tricks!


Jason Sims has been a Mac user since the mid-1980s. He worked for the popular Inside Mac Games website for five years, as senior editor, system administrator, and website developer. He has also written for MacHome. Jason is now working as a graphic designer and website developer for his own company, Symmetriq. In addition, he produces music (on the Mac, of course) under the name Stormchild. Jason also does artwork in both digital and natural media. You can find out more at www.stormchild.net, or reach him at jason@stormchild.net.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

OmniGraffle Pro 7.2.2 - Create diagrams,...
OmniGraffle Pro helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use... Read more
OmniGraffle 7.2.2 - Create diagrams, flo...
OmniGraffle helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use Graffle to... Read more
Spotify 1.0.44.100. - Stream music, crea...
Spotify is a streaming music service that gives you on-demand access to millions of songs. Whether you like driving rock, silky R&B, or grandiose classical music, Spotify's massive catalogue puts... Read more
Microsoft OneNote 15.29 - Free digital n...
OneNote is your very own digital notebook. With OneNote, you can capture that flash of genius, that moment of inspiration, or that list of errands that's too important to forget. Whether you're at... Read more
WALTR 2 2.0.8 - $39.95
WALTR 2 helps you wirelessly drag-and-drop any music, ringtones, videos, PDF, and ePub files onto your iPhone, iPad, or iPod without iTunes. It is the second major version of Softorino's critically-... Read more
Dropbox 16.3.27 - Cloud backup and synch...
Dropbox is an application that creates a special Finder folder that automatically syncs online and between your computers. It allows you to both backup files and keep them up-to-date between systems... Read more
EtreCheck 3.1.5 - For troubleshooting yo...
EtreCheck is an app that displays the important details of your system configuration and allow you to copy that information to the Clipboard. It is meant to be used with Apple Support Communities to... Read more
Carbon Copy Cloner 4.1.12 - Easy-to-use...
Carbon Copy Cloner backups are better than ordinary backups. Suppose the unthinkable happens while you're under deadline to finish a project: your Mac is unresponsive and all you hear is an ominous,... Read more
VueScan 9.5.62 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
SpamSieve 2.9.27 - Robust spam filter fo...
SpamSieve is a robust spam filter for major email clients that uses powerful Bayesian spam filtering. SpamSieve understands what your spam looks like in order to block it all, but also learns what... Read more

Latest Forum Discussions

See All

Track Santa with these three festive app...
Christmas is fast approaching and that means it's time to prepare for Santa's yearly pilgrimage around the globe. Christmas Eve is an exciting time as parents help their kids get ready to welcome Santa. You've got the cookies and milk all planned... | Read more »
Galaxy on Fire 3 and four other fantasti...
Galaxy on Fire 3 - Manticore brings the series back for another round of daring space battles. It's familiar territory for folks who are familiar with the franchise. If you've beaten the game and are looking to broaden your horizons, might we... | Read more »
The best apps for your holiday gift exch...
What's that, you say? You still haven't started your holiday shopping? Don't beat yourself up over it -- a lot of people have been putting it off, too. It's become easier and easier to procrastinate gift shopping thanks to a number of apps that... | Read more »
Toca Hair Salon 3 (Education)
Toca Hair Salon 3 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: | Read more »
Winter comes to Darkwood as Seekers Note...
MyTona, based in the chilly Siberian city of Yakutsk, has brought a little festive fun to its hidden object game Seekers Notes: Hidden Mystery. The Christmas update introduces some new inhabitants to players, and with them a chance to win plenty of... | Read more »
Bully: Anniversary Edition (Games)
Bully: Anniversary Edition 1.03.1 Device: iOS Universal Category: Games Price: $6.99, Version: 1.03.1 (iTunes) Description: *** PLEASE NOTE: This game is officially supported on the following devices: iPhone 5 and newer, iPod Touch... | Read more »
PINE GROVE (Games)
PINE GROVE 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: A pine grove where there are no footsteps of people due to continuous missing cases. The case is still unsolved and nothing has... | Read more »
Niantic teases new Pokémon announcement...
After rumors started swirling yesterday, it turns out there is an official Pokémon GO update on its way. We’ll find out what’s in store for us and our growing Pokémon collections tomorrow during the Starbucks event, but Niantic will be revealing... | Read more »
3 reasons why Nicki Minaj: The Empire is...
Nicki Minaj is as business-savvy as she is musically talented and she’s proved that by launching her own game. Designed by Glu, purveyors of other fine celebrity games like cult favorite Kim Kardashian: Hollywood, Nicki Minaj: The Empire launched... | Read more »
Clash of Clans is getting its own animat...
Riding on its unending wave of fame and success, Clash of Clans is getting an animated web series based on its Clash-A-Rama animated shorts.As opposed to the current shorts' 60 second run time, the new and improved Clash-A-Rama will be comprised of... | Read more »

Price Scanner via MacPrices.net

New 2016 13-inch Touch Bar MacBook Pros on sa...
B&H Photo the new 2016 Apple 13″ 2.9GHz/256GB Touch Bar MacBook Pros on sale for $50 off MSRP, each including free shipping plus NY sales tax only: - 13″ 2.9GHz/256GB Touch Bar MacBook Pro Space... Read more
12-inch 1.2GHz Space Gray Retina MacBook on s...
B&H Photo has dropped their price on the 2016 Apple 12″ 1.2GHz Space Gray Retina MacBook (MLH82LL/A) to $1399 including free shipping plus NY sales tax only. Their price is $200 off MSRP, and it’... Read more
Never Settle for Low Performing Wifi With iOS...
AppYogi Software has announced the release of WiFi Signal Strength Status App 1.0, the company’s new utility developed exclusively for macOS. WiFi Signal Strength Status App features a unique, single... Read more
New 2016 13-inch Touch Bar MacBook Pros in st...
B&H Photo has stock of new 2016 Apple 13″ Touch Bar MacBook Pro models, each including free shipping plus NY sales tax only: - 13″ 2.9GHz/512GB Touch Bar MacBook Pro Space Gray: $1999 - 13″ 2.... Read more
New 2016 15″ Touch Bar MacBook Pros in stock...
B&H Photo has new 2016 Apple 15″ Touch Bar MacBook Pro models in stock today including free shipping plus NY sales tax only: - 15″ 2.7GHz Touch Bar MacBook Pro Space Gray: $2799 - 15″ 2.7GHz... Read more
DietSensor App Targeting Diabetes and Obesity...
DietSensor, Inc., a developer of smart food and nutrition applications designed to fight diabetes and obesity and help improve overall fitness, has announced the launch of its DietSensor app for... Read more
Holiday 2016 13-inch 2.0GHz MacBook Pro sales...
B&H has the non-Touch Bar 13″ MacBook Pros in stock today for $50-$100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 13″ 2.0GHz MacBook Pro Space Gray (MLL42LL/A): $1449 $... Read more
Holiday sale: Apple TVs for $51-$40 off MSRP,...
Best Buy has dropped their price on the 64GB Apple TV to $159.99 including free shipping. That’s $40 off MSRP. 32GB Apple TVs are on sale right now for $98 on Sams Club’s online store. That’s $51 off... Read more
12-inch Retina MacBooks, Apple refurbished, n...
Apple has restocked a full line of Certified Refurbished 2016 12″ Retina MacBooks, now available for $200-$260 off MSRP. Refurbished 2015 models are available starting at $929. Apple will include a... Read more
Holiday sale: 12-inch Retina MacBook for $100...
B&H has 12″ Retina MacBooks on sale for $100 off MSRP as part of their Holiday sale. Shipping is free, and B&H charges NY sales tax only: - 12″ 1.1GHz Space Gray Retina MacBook: $1199 $100... Read more

Jobs Board

Integration Technician, *Apple* - Zones, In...
…at Zones and for our customers each day. Position Overview The Apple Integration Technician will be responsible for performing customer specific configuration Read more
*Apple* Brand Ambassador (Macy's) - The...
…(T-ROC), is proud of its unprecedented relationship with our partner and client, APPLE ,in bringing amazing" APPLE ADVOCATES"to "non" Apple store locations. Read more
*Apple* Retail - Multiple Positions- Trumbul...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
US- *Apple* Store Leader Program - Apple (Un...
…Summary Learn and grow as you explore the art of leadership at the Apple Store. You'll master our retail business inside and out through training, hands-on Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.