TweetFollow Us on Twitter

Writing A ReadMe File

Volume Number: 14 (1998)
Issue Number: 10
Column Tag: Electronic Documentation

Writing a ReadMe File? Read This

by Tonya Engst

A member of the Macintosh press tells all. Learn about the link between a ReadMe file and press coverage, plus discover the secrets of a great ReadMe file

ReadMe First!

Nobody expects to find great literature in a ReadMe file, and that's good news for busy developers writing ReadMe files for their software. There's no need to consider the symbolism behind RAM requirements or make metaphors out of multiple minor updates. Even so, taking the time to construct an informative, user-friendly ReadMe file will create satisfied, paying customers; win you friends; and even help turn the limelight of press coverage in your direction.

Although plenty of products have wonderful ReadMe files, over the years, I've encountered a disturbing number of ReadMe files that practically cripple their products through inattention to detail or random organization. Sometimes a bad ReadMe file causes my attention to wander so I never get around to trying its associated software; other times, I'm writing about software for publication and the more time I spend chasing down basic information about the software (for instance, how much it costs), the less time I have to appreciate the good qualities of the program and expound on them in print.

In this article, I'll look at what information to put into a ReadMe file, offer a sample ReadMe file outline, talk about file types, and give tips for polishing writing quickly. The article ends with a checklist: if a ReadMe file meets the criteria in the checklist, it's ready to ship.

Just The Facts Ma'am

Whether a product is distributed electronically or in shrink-wrap, a good ReadMe file concentrates on basic, vital facts: Where does this come from? When was it made? What is it? Why should I use it? How do I use it?

Daddy, Where Does Software Come From?

This part is easy. In the ReadMe file, type your complete contact information, or at least all the information that you want to share. Consider reasons why people might want to reach you: feature suggestions, bug reports, questions, payments, and even flattering comments. Users will look for contact information in order to send payments or ask questions (often users will have a question or two that needs answering before they're willing to pay for shareware), and journalists reporting on your software will look to the for contact information to include in their articles. I've actually had to scratch covering products because I could not locate contact information before a deadline. Here's an example of how to do it right:

Contact us at:
Joe-Bob's Software Mill
http://joe.bob-soft.com/
joe@bob-soft.com (sales, distribution requests, administration)
support@bob-soft.com (bugs, problems, questions)
800/555-1212 (M-F, 9 AM-4 PM PST)

When?

This key piece of data is so small that it's easy to overlook. Nevertheless, be sure to date the ReadMe file. It's a polite way to help people place the era in which your software shipped. For instance, if I see a ReadMe file dated from 1992, I'll be much more forgiving of a lack of Web URL or current contact information. I'll be more cautious about installing it on an up-to-date system, and I'll cruise the net to check for a later version.

What is It?

A good ReadMe files tells what the software is named, what its version number is (rank and serial number are optional), what it costs, and what it does. Provide these details and you make many people happy - users can figure out what to expect from the software, those who run download sites can categorize it rapidly, and members of the press can wrap their minds around it does quickly.

You'd think that writing the name and version number of software would be simple, but some ReadMe authors slip up and don't consistently give the same name throughout the file. Though most users won't care, it looks unprofessional and makes journalists grumpy because they then must figure out which spelling you meant. In particular, watch out for spacing and capitalization - screenCruiser isn't the same as Screen Cruiser. (While you're at it, make sure the name is also the same in the software's Get Info box and Finder icon name.)

If you sell the software as shareware, postcardware, donationware, or the like, tell people about it up front. And, if your software is freeware, mention that as well. I prefer that pricing information be given in a clear, business-like fashion, without long-winded discussions about ethics. Be sure to tell people exactly what to pay and how. (As an aside, for shareware consider using a credit card handling service for payments; typically such services make it significantly simpler to pay and thus increase the number of registrations. They also decrease the amount of time you spend bookkeeping.)

If you sell the software in shrink-wrap, you can probably skip the price (though if the ReadMe file in question goes with a free update, do clarify that the update is free). I strongly recommend providing a pointer to pricing and sales information, by phone and Internet. You never know when someone will want to order more copies or when a pirate will want to come clean. Further, you'll make software reviewers happy, since they often write about software at weird hours when phones are not staffed.

Once you jump the hurdles of name and price, your next concern is an "elevator statement," a short, compelling description that can be rattled off in the time it takes an elevator to climb from the ground floor to the penthouse (that's all the time you may have to sell your software to the busy person who works in the penthouse suite). Writing a short description is easy: "it changes the desktop pattern," or "it's a database of amusement park rides." The compelling part is harder because it identifies what makes your software special. A full elevator statement might be, "it monitors a user's actions to figure out her mood, and then changes the desktop pattern to match," or "it's a database of amusement park rides with ride ratings from Macintosh programmers."

Why Bother?

The elevator statement acts as a hook that catches interested users, but to reel them in, you must give more details. You don't have to write an essay - all you need is a paragraph or so that backs up the elevator statement with more information. Why did you bother to code the software? Why should potential users bother to install and launch it? What unique features does it bring to the table? In particular, be sure to mention the unique features, especially if your product resembles others in its category. For example, Jerry Åman from Optima System wrote in the MailSpinner 1.2 ReadMe file, "This folder contains a kit with an AppleScript and templates that show how all mail in an Eudora or Emailer mailbox can published on the Web using PageSpinner. This kit can be useful if you run a small mailing list and you need to publish mails on the Web or you want to maintain a simple guest book at your site."

If your software only serves one simple function, you don't need much more than a slightly elaborated elevator statement; however, if your software has a number of capabilities, list them, perhaps in a bulleted list. That way, users can quickly get a broad picture of the features.

Also, when releasing an update, give the scoop on what's new in it. Some ReadMe files even include complete version histories, which is fine, though I recommend relegating version histories to the bottom of a ReadMe file or even to another document since they serve more as reference material than as newsworthy information.

Help Users Jump the Learning Curve

Pushing users up the learning curve goes a long way toward creating happy users. Every product should ship with fundamental information like system requirements, major conflicts, and what files get placed where by your installer. Often, the ReadMe file is a good place for that information.

At times, the ReadMe file is the perfect location for installation directions. If files need to be located specifically inside certain folders, say so. If the software only works in tandem with a particular system component, mention it.

In some cases, it makes sense to put basic documentation in the ReadMe file. In particular, give readers the benefit of your experience with the software - tell them about special keyboard shortcuts, unique preferences, and smart techniques for working efficiently.

Outlining the Facts

Writing the basic facts is a good start for a ReadMe file, but the text will be more user-friendly if you arrange the facts in logical order. Of course, there are many different ways to accomplish this, but here's a sample outline that should be a handy starting point for most ReadMe files. In the sample, in some cases, the headings correspond to topics that could be quite long, such as documentation and version history. For many ReadMe files it won't make sense to include these long sections; however, in any ReadMe file you can refer readers to other documents, such as a separate version history file or the printed manual.

Product name and version number
Company name
Elevator statement
New and special in this release
Hardware and software requirements
Installation instructions, getting started tips, and documentation
Important known problems
Version history
Pricing information
Contact information
Date or copyright date, and other legal information

Be a Pro

In addition to creating a ReadMe file's content, it's important to make the content look good and read smoothly.

The Argument for SimpleText

When it comes to ReadMe files, content is king, and it takes precedence over looks and glamour. To ensure readability, I suggest using SimpleText as a file format. SimpleText may be dull, but it's also universal. In addition, SimpleText has an easy user interface - users navigate simply by using the scroll bar or the keyboard, without having to master a special user interface. Also, anything but text makes people like download-site administrators crazy because these people often must extract the text for use on their systems.

HTML in particular seems a likely possibility as a SimpleText alternative, and until yesterday, I hadn't decided whether to recommend HTML as an alternative format for ReadMe files - most people have Web browsers, and I find the capability to link a ReadMe file to pages on the Web fairly compelling. Yesterday, however, I downloaded the version 1.2 update to Macromedia Dreamweaver, a high-end Web authoring program. In the update's ReadMe file, I found a lesson in how not to do a ReadMe file in HTML.

My first stumbling block came when I blithely double-clicked the ReadMe file's icon before realizing that I'd have to wait for Navigator to launch (right now, I use Internet Explorer as my primary browser). The second stumbling block, however, was far more annoying. The ReadMe file itself lacked almost all information normally found in a ReadMe file and instead linked to Macromedia's Web site. To view the release notes, feature overview, FAQ, and so on, I had to go out on the Internet and wait for Web pages to load. And, to learn some details, I had to hunt around on Macromedia's Web site. The ReadMe file had been created for Macromedia's convenience, not mine. Unless Macromedia updates the ReadMe file, you can view it as I saw it at http://www.macromedia.com/support/dreamweaver/releasenotes/dw1_2_readme.html.

Despite this recent bad experience with an HTML-based ReadMe file, I think HTML-formatted ReadMe files can work well if they provide all the important core details and then use links to give fast access to related information, such as extended documentation or an online order form. Without providing substantively useful links to extended information, though, I can't see much point in doing a ReadMe file in HTML, since SimpleText works better for presenting local information.

ReadMe files come in plenty of other double-clickable formats, but they all require more brain cycles from busy readers than a SimpleText file. A software update or shareware program may only get 30 seconds of attention from users cruising software archives or reviewers checking out all the applications in a category, so to attract attention you must make opening the ReadMe file take only a fraction of those 30 seconds. For serious commercial software, you'll receive more than 30 seconds of attention, but you'll make people's lives easier if you distribute ReadMe files in a format that's easily accessible.

SimpleText Authoring

If you've never delved into hard-core SimpleText authoring and want pointers on using ResEdit to incorporate styled text or graphics into a SimpleText file, read the Apple Developer Technical Support Technote 1005, "The Compleat Guide to SimpleText," by Bryan Stearns and revised by Mark Cookson The Technote has general tips for ReadMe authors and lots of detailed information about adding graphics and movies to SimpleText document. http://developer.apple.com/technotes/tn/tn1005.html.

Many of my programmer friends, however, do not recommend SimpleText as an authoring environment; instead, they use a word processor like ClarisWorks with an XTND translator that converts the file into SimpleText format.

Users like unlocked ReadMe files because it's easy to grab URLs and email addresses from them. As a software reviewer, I love them because I would far rather copy contact information than retype it - copying is faster and reduces errors. Although I acknowledge that people can easily alter an unlocked SimpleText document without your permission, an unlocked ReadMe file will also make you many friends.

Unfortunately, as the Technote 1005 confirms, unlocked SimpleText documents experience buggy behavior if they include graphics. I'd much rather be able to copy text from a ReadMe file and have URLs potentially be live (through ICeTee, for instance) than be able to see a screen shot.

The Naming Game

Naming a ReadMe file is much easier than naming a pet. Simply make the name descriptive and include the name of the product. I recommend putting the product name first so the ReadMe file can sort by product name within a Finder window. Examples of good names include: ScreenCruiser: Read Me First!, RideRater-ReadMe, and Mood Scanner Users Read Me. Avoid non-descriptive names like ReadMe and ReadMe First! Additionally, unless you are in grade school, skip overly enthusiastic names like README!!!!!!

Letting It All Lay Out

Layout and fonts also play a role in creating a ReadMe file. The point of a ReadMe file is to present textual information, so it's terrifically important to use fonts that read nicely onscreen. I recommend tried-and-true screen fonts like Geneva and New York; other commonly installed fonts include Chicago, Helvetica, Monaco, and Times. Above all else, resist the temptation to use a font size that looks good when printed but tiny onscreen (never use type smaller than 12-point). If you ship a ReadMe file in read-only format, it's particularly discourteous to use a small font size. Similarly, italic text is hard to read onscreen and is best avoided.

Beyond font choice, SimpleText doesn't offer much in the way of layout options, but when in doubt, I suggest following the advice of Macintosh layout expert Robin Williams. In the excellent The Non-Designer's Design Book, (Peachpit Press, 1-56609-159-4), Robin points out four principles of design: proximity, alignment, repetition, and contrast. In essence, information should be positioned near like information (i.e. put all contact information in the same place); chunks of information shouldn't be splatted down randomly, but instead should be placed next to one another in a logical manner; items like big headlines should repeat in a consistent manner with regard to their styles and the white space surrounding them; and you can add visual excitement by using layout elements that contrast (in a ReadMe file this might amount to using contrasting text styles for heading and body text).

Seven Steps to Writing Success

The most important aspect of a ReadMe file is the text it contains, and the quality of the writing counts. Because casual writers often compose ReadMe files, I submit to you seven quick tricks for taking any piece of ReadMe file writing and making it read more like it was written by a professional:

  1. When referring to a command or dialog box, spell it exactly as it appears in the program. (Optional points - contemplate why software reviewers love dialog boxes that stick around when the reviewers switch out of the software to a word processor.)
  2. When referring to a menu command, don't use quotation marks and mention the menu in case readers don't know which one to use.
    • Do: Choose Arrange All from the Window menu
    • Don't: Use the 'arrange' command on the 'window' menu.
    • Do: From the Special menu's hierarchical Find menu, choose Search.
    • Don't: Pop up the "Find" menu and click the command for searching again.
  3. Remove these words and phrases: "actually," "a lot," "very," "really," and "just." By and large, your writing will be far stronger if you take them out.
  4. This step is hard, so skip it if you don't have time. Look for instances of the passive voice (sentences containing words like "is," and "are") and try to rewrite at least half the sentence so the "is" or "are" disappears. Generally, avoiding the passive voice makes your writing more precise, more understandable, and more powerful.
  5. Use a spell checker.
  6. Read the ReadMe file out loud. If you make changes based on what you hear, run the spell checker again.
  7. If the ReadMe is written in a language that is not your primary language, consider having a native speaker tweak it. If that's not possible, make it clear through your contact information or a short note that you did your best. Most people will forgive errors once they understand the cause.

If you truly can't justify the time it takes to polish the writing in a ReadMe file, I recommend acknowledging bluntly that you didn't think it was worth the effort. For example, the IMPORTANT README that comes with IADD 0.0.2 modeled itself after a FAQ (a format that, in fact, works rather well). Here's an excerpt:

Did you do a lot of testing on this? No, This took about 3 hours to make and has been tested for about 15 minutes. It seems to work.

How much memory does it use? I'm not sure, but I would guess around 5K.

How much does this cost? $0.00 (It is free.)

Didn't you proofread this document? No, I didn't. I made it in SimpleText and did not proofread it. If you find a mistake that really bothers you, let me know.

ReadMe Checklist

Creating a great ReadMe file requires far more perspiration than talent. Here's a checklist to sweat over as you finish a ReadMe file; if the document meets the requirements on this list, it's probably ready to ship.

  • The ReadMe file makes it a complete no-brainer to figure out your company's name (or the programmer's name), the application's name, and the version number.
  • The ReadMe file includes the release date of the software.
  • The ReadMe file contains reasonably complete contact information.
  • Readers of the file can easily determine pricing information (for some commercial software, this criteria isn't necessary, but for shareware it's terrifically important).
  • The first screen of the document has a description of what the software is and why it's cool.
  • The ReadMe file mentions new features in this particular release of the program.
  • The ReadMe file notes system and hardware requirements for the software.
  • The ReadMe file contains installation instructions, tips and tricks, documentation, and a version history (or if it doesn't, it refers readers to other documents that do contain this information).
  • The application's name is spelled consistently throughout the ReadMe file (make sure you have also spelled the company name consistently).
  • The file format is SimpleText (or, if not, you have a good reason for using something else).
  • If feasible, the document is unlocked so that readers can freely copy information and access URLs.
  • The file's name is descriptive (ReadMe alone is not sufficiently descriptive).
  • The font styles and overall layout are appropriate for onscreen reading.
  • You have followed the seven steps to writing success outlined in this article.

ReadMe Last

Writing a good ReadMe file shouldn't be a back breaking task, and I hope this article has given you ideas for improving your next ReadMe, or even given you tools in the form of the suggested outline, seven steps to writing success, and shipping checklist. If you remember nothing else from this article, I hope you'll remember that for a ReadMe file, content truly is king - provide good information in a useful format and you'll not only make friends, you'll also gain paying customers and be more likely to receive favorable press coverage.

Bibliography and References

  • Williams, Robin The Non-Designers Design Book, Peachpit Press. Berkeley, 1994.

A freelance writer and Macintosh enthusiast, Tonya Engst is best known for her work on TidBITS, an electronic newsletter centering on the Macintosh Internet community. She has been reviewing Macintosh software since 1990, often under tight deadlines, and has strong opinions about what constitutes a useful ReadMe file. Tonya holds a degree in communications from Cornell University. Her home page is at: http://www.tidbits.com/tonya/.

 
AAPL
$467.36
Apple Inc.
+0.00
MSFT
$32.87
Microsoft Corpora
+0.00
GOOG
$885.51
Google Inc.
+0.00

MacTech Search:
Community Search:

Software Updates via MacUpdate

VueScan 9.2.23 - 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
Acorn 4.1 - Bitmap image editor. (Demo)
Acorn is a new image editor built with one goal in mind - simplicity. Fast, easy, and fluid, Acorn provides the options you'll need without any overhead. Acorn feels right, and won't drain your bank... Read more
Mellel 3.2.3 - Powerful word processor w...
Mellel is the leading word processor for OS X, and has been widely considered the industry standard since its inception. Mellel focuses on writers and scholars for technical writing and multilingual... Read more
Iridient Developer 2.2 - Powerful image...
Iridient Developer (was RAW Developer) is a powerful image conversion application designed specifically for OS X. Iridient Developer gives advanced photographers total control over every aspect of... Read more
Delicious Library 3.1.2 - Import, browse...
Delicious Library allows you to import, browse, and share all your books, movies, music, and video games with Delicious Library. Run your very own library from your home or office using our... Read more
Epson Printer Drivers for OS X 2.15 - Fo...
Epson Printer Drivers includes the latest printing and scanning software for OS X 10.6, 10.7, and 10.8. Click here for a list of supported Epson printers and scanners.OS X 10.6 or laterDownload Now Read more
Freeway Pro 6.1.0 - Drag-and-drop Web de...
Freeway Pro lets you build websites with speed and precision... without writing a line of code! With it's user-oriented drag-and-drop interface, Freeway Pro helps you piece together the website of... Read more
Transmission 2.82 - Popular BitTorrent c...
Transmission is a fast, easy and free multi-platform BitTorrent client. Transmission sets initial preferences so things "Just Work", while advanced features like watch directories, bad peer blocking... Read more
Google Earth Web Plug-in 7.1.1.1888 - Em...
Google Earth Plug-in and its JavaScript API let you embed Google Earth, a true 3D digital globe, into your Web pages. Using the API you can draw markers and lines, drape images over the terrain, add... Read more
Google Earth 7.1.1.1888 - View and contr...
Google Earth gives you a wealth of imagery and geographic information. Explore destinations like Maui and Paris, or browse content from Wikipedia, National Geographic, and more. Google Earth... Read more

Strategy & Tactics: World War II Upd...
Strategy & Tactics: World War II Update Adds Two New Scenarios Posted by Andrew Stevens on August 12th, 2013 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Expenses Planner Review
Expenses Planner Review By Angela LaFollette on August 12th, 2013 Our Rating: :: PLAIN AND SIMPLEUniversal App - Designed for iPhone and iPad Expenses Planner keeps track of future bills through due date reminders, and it also... | Read more »
Kinesis: Strategy in Motion Brings An Ad...
Kinesis: Strategy in Motion Brings An Adaptation Of The Classic Strategic Board Game To iOS Posted by Andrew Stevens on August 12th, 2013 [ | Read more »
Z-Man Games Creates New Studio, Will Bri...
Z-Man Games Creates New Studio, Will Bring A Digital Version of Pandemic! | Read more »
Minutely Review
Minutely Review By Jennifer Allen on August 12th, 2013 Our Rating: :: CROWDSOURCING WEATHERiPhone App - Designed for the iPhone, compatible with the iPad Work together to track proper weather conditions no matter what area of the... | Read more »
10tons Discuss Publishing Fantasy Hack n...
Recently announced, Trouserheart looks like quite the quirky, DeathSpank-style fantasy action game. Notably, it’s a game that is being published by established Finnish games studio, 10tons and developed by similarly established and Finnish firm,... | Read more »
Boat Watch Lets You Track Ships From Por...
Boat Watch Lets You Track Ships From Port To Port Posted by Andrew Stevens on August 12th, 2013 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Expenses Review
Expenses Review By Ruairi O'Gallchoir on August 12th, 2013 Our Rating: :: STUNNINGiPhone App - Designed for the iPhone, compatible with the iPad Although focussing primarily on expenses, Expenses still manages to make tracking... | Read more »
teggle is Gameplay Made Simple, has Play...
teggle is Gameplay Made Simple, has Players Swiping for High Scores Posted by Andrew Stevens on August 12th, 2013 [ permalink ] | Read more »
How To: Manage iCloud Settings
iCloud, much like life, is a scary and often unknowable thing that doesn’t always work the way it should. But much like life, if you know the little things and tweaks, you can make it work much better for you. I think that’s how life works, anyway.... | Read more »

Price Scanner via MacPrices.net

13″ 2.5GHz MacBook Pro on sale for $150 off M...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $1049.95 including free shipping. Their price is $150 off MSRP plus NY sales tax only. B&H will include free copies of Parallels Desktop... Read more
iPod touch (refurbished) available for up to...
The Apple Store is now offering a full line of Apple Certified Refurbished 2012 iPod touches for up to $70 off MSRP. Apple’s one-year warranty is included with each model, and shipping is free: -... Read more
27″ Apple Display (refurbished) available for...
The Apple Store has Apple Certified Refurbished 27″ Thunderbolt Displays available for $799 including free shipping. That’s $200 off the cost of new models. Read more
Apple TV (refurbished) now available for only...
The Apple Store has Apple Certified Refurbished 2012 Apple TVs now available for $75 including free shipping. That’s $24 off the cost of new models. Apple’s one-year warranty is standard. Read more
AnandTech Reviews 2013 MacBook Air (11-inch)...
AnandTech is never the first out with Apple new product reviews, but I’m always interested in reading their detailed, in-depth analyses of Macs and iDevices. AnandTech’s Vivek Gowri bought and tried... Read more
iPad, Tab, Nexus, Surface, And Kindle Fire: W...
VentureBeat’s John Koetsier says: The iPad may have lost the tablet wars to an army of Android tabs, but its still first in peoples hearts. Second place, however, belongs to a somewhat unlikely... Read more
Should You Buy An iPad mini Or An iPad 4?
Macworld UK’s David Price addresses the conundrum of which iPAd to buy? Apple iPad 4, iPad 2, iPad mini? Or hold out for the iPad mini 2 or the iPad 5? Price notes that potential Apple iPad... Read more
iDraw 2.3 A More Economical Alternative To Ad...
If you’re a working graphics pro, you can probably justify paying the stiff monthly rental fee to use Adobe’s Creative Cloud, including the paradigm-setting vector drawing app. Adobe Illustrator. If... Read more
New Documentary By Director Werner Herzog Sho...
Injuring or even killing someone because you were texting while driving is a life-changing experience. There are countless stories of people who took their eyes off the road for a second and ended up... Read more
AppleCare Protection Plans on sale for up to...
B&H Photo has 3-Year AppleCare Warranties on sale for up to $105 off MSRP including free shipping plus NY sales tax only: - Mac Laptops 15″ and Above: $244 $105 off MSRP - Mac Laptops 13″ and... Read more

Jobs Board

Sales Representative - *Apple* Honda - Appl...
APPLE HONDA AUTOMOTIVE CAREER FAIR! NOW HIRING AUTO SALES REPS, AUTO SERVICE BDC REPS & AUTOMOTIVE BILLER! NO EXPERIENCE NEEDED! Apple Honda is offering YOU a Read more
*Apple* Developer Support Advisor - Portugue...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more than Read more
RBB - *Apple* OS X Platform Engineer - Barc...
RBB - Apple OS X Platform Engineer Ref 63198 Country USA…protected by law. Main Function | The engineering of Apple OS X based solutions, in line with customer and Read more
RBB - Core Software Engineer - Mac Platform (...
RBB - Core Software Engineer - Mac Platform ( Apple OS X) Ref 63199 Country USA City Dallas Business Area Global Technology Contract Type Permanent Estimated publish end Read more
*Apple* Desktop Analyst - Infinity Consultin...
Job Title: Apple Desktop Analyst Location: Yonkers, NY Job Type: Contract to hire Ref No: 13-02843 Date: 2013-07-30 Find other jobs in Yonkers Desktop Analyst The Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.