Gifts for Geeks

OK, I get to order neat computer parts. There are computer cases of any size, routers, SSD drives, boards, nearly anything a client needs for their office technology solutions. So I keep up with the new stuff, and sometimes, I just kinda ask, “What? Why would anyone buy that?” Here are my suggestions for geek toys, er, I mean computer hardware, starting with practical, and ending with insanity. I can’t work without the first three of these gadgets. The last two, well, not.

Computers with Multiple Personalities

I have a testing computer with multiple personalities. I’ve had a few of these over the years, and have used drive racks, virtual machines, multi-boot drives, each of the usual methods more than once. Here’s what I like now:

Antec Easy SATA

The Antec Easy SATA is a hard-drive docking station with eSATA Port, under US$30.

This is a drive holder for a computer, but unlike most holders, it allows sliding in a bare drive, with no carrier. You can have a hard drive for each operating system, and a few for testing. I have a drive for Vista, Windows 2000 Pro, Linux Mint, a few others. It’s also handy for when I have to test a hard drive quickly and don’t want to open a computer, or need to run a security erasure program on a drive.

There’s also an eSATA (external SATA) port on the front for running backups, if you have an eSATA external drive (see below). The eSATA setup requires a second SATA cable inside the computer. That’s a lot of options for the price; an external eSATA adapter usually costs around $15 to $20 all by itself. No, it’s not hot-swappable, but it’s still very useful.

Malware Rescue Kit

OK, computer programmers always get asked to fix their friends’ computers. And it’s usually a malware infection, and it’s been lingering a while, so it’s really, really bad. So the first thing you do is load up some cleanup software onto a USB flash drive and take it and plug it into the infected computer. Oops. Really bad move. Some malware will infect flash drives and add nasty stuff as autoplay files in the root folder, so that it can send badness to other computers–it’s the computer version of coals in a stocking. What you need is a small drive with a write protect switch. I’ve checked–none of the name-brand manufacturers of flash drives have a product with a write switch anymore. Must have been too expensive to include a little slide switch.

SD Card Reader, under $5.

Yes, it’s just a small SD card reader. Why? Well, SD cards have write-protect slide switches on each card. Load the card up with cleanup utilities, then slide the switch on the card, load it back into the reader and take it to an infected machine, and know you aren’t carrying souvenirs back to your office for your work systems to share.

These mini card readers tend to be a little larger than a flash drive, and may not fit in some computers without moving surrounding cables, so take the shortest possible USB extension cable with you on repair trips. Startech has a 6” cable for around $4, model USBEXTAA6IN. For other brands, look for the ends to be one each of type A male and type A female.

Multiple-Access Method Backup Drives

External hard drives are everywhere. I’ve had at least six of my own, going back as far as a parallel-connected IDE case that held a 40 Mb hard drive. It weighed around nine pounds. Found it at a hamfest back around 1988, and never could get it to work in Windows 95… (sigh)

Macally T-S350SU, under $30.
Why pick this case? There are thousands of the things to pick from. Well, it’s the best value (cheap, for these features), it doesn’t stand on an edge (and then fall over), it’s stackable, it accepts SATA II drives, can be very quickly opened for drive swaps or drive forensics and recovery, and it has built-in eSATA as well as USB 2.0. One negative–the bundled software is obsolete.

This is vastly better than a sealed unit, which can’t run drive diagnostics software, as those are mostly USB-only, unless you want to break the case to hook up a SATA cable.

Solar Power

Want to be truly mobile? How about a computer bag that recharges your toys? Well, it doesn’t exist yet. Soon, though.

Traveler’s Choice Solar Messenger Bag ET0120K ECO, around $150.


Yes, that’s a solar panel. No, it won’t charge your notebook, but it will charge cell phones and other gadgets of a similar size. There’s a whole line of these by Eco Traveler, in messenger bags, backpacks, soft-sided coolers, and they’re in multiple colors. Some are Checkpoint Friendly, so they can go through USA-based airport scanning laid unfolded and flat on the XRAY belt with a notebook still inside.
I think I’m waiting for the version that can charge my notebook, but that’s probably a few years off yet.

Show-Off’s Computer Case

Finally, nothing beats a neat computer case as a geek gadget. Well, not this one, anyway.

Antec Skeleton

I saw this monster running at a trade show. That top fan is 250mm across, nearly 10”.
I can’t begin to describe this construction, so here’s the official scoop:
The Skeleton open-air, easy access case is a revolutionary step forward in enclosure design, perfect for the gamer enthusiast or constant hardware tinkerer. This enclosure features four internal drive bays and seven expansion slots with four optional 3.5" device external mounts for a truly unique aesthetic. Internal components mount on a removable, dual level component tray in a reinforced, durable plastic frame with rackmount quality side rails. This uniquely designed tray is capable of supporting up to three 11" graphics cards in SLI configuration and a standard ATX size motherboard for maximum power and versatility. In addition, the overhead "Super Big Boy" customizable 250mm multi-LED fan keeps the motherboard, graphics card and memory chipsets cool, while a dedicated 92mm fan cools your hard drives. The Skeleton also offers a versatile array of front ports, including USB, Firewire, eSATA, and high definition audio functionality. 0.8mm cold rolled steel component tray and high density ABS frame reinforced with with 0.8mm cold rolled steel for durability.

Jerry Stern is the editor of ASPects, the ASP’s Coordinator of Anti-Spyware Operations, and is online at www.pc410.com.

Book Review: This Little Program Went to Market

Now here’s a book that appeals to the microISV. This Little Program Went to Market, by by Annette Godtland, takes on the rather large task, for an encyclopedia, of teaching the reader everything they need to know about creating software and selling it on the internet. For one book, it’s a somewhat ambitious goal.

Here’s the subtitle: Create, Deploy, distribute, Sell, and Market Software and More on the Internet at Little or No Cost to You. That’s a strength and a weakness–that subtitle would take several thousand pages to cover properly, and at 546 pages, the book is nowhere near that heavy–this is a good introduction, but hardly all that’s needed. There are five parts:

Part I: Create a Program. Godtland chose Java as a sample language to create a classic ‘Hello, World’ program or Java applet. There are details on where to get tools, source code examples (also downloadable from the book’s website link), and all the steps needed to write a program, but this section is not a programming manual; it’s enough to get started, before looking for more elsewhere. Most programmers looking to sell software online are already programmers, and will just skim these four chapters.

Part II: Deploy a Program. That’s creating a help file, a program icon, wrappers for Java applets, piracy protection (but see below), trial versions, an installer, and testing. That’s 10 chapters, and a lot of information. The Install chapter is a better tutorial on Inno Setup than is easily found online.

Part III: Create a Web Site, Distribute a Program. Covers web site creation, hosting, HTML standards. Four chapters, and again, basically an introduction.

Part IV: Sell a Product. Covers taking check orders, credit cards, PayPal, creating keys, filling orders, adding a shopping cart in Paypal, but doesn’t cover using ecommerce partners other than Paypal.

Part V: Market a Product. Search engines, shareware versus freeware, marketing, and web statistics and logs. The definition of shareware is interesting, taken from an online dictionary, but it’s something out of the 1980’s.

This is a good book for new software publishers. It’s like the notes that a first-time attendee to the Software Industry Conference (ISVcon.org) would make–pages and pages of information that’s hard to find all in one place, and information overload is possible. There’s lots of information, and good coverage on the technical topics. The writing is clear, the code samples are formatted nicely, and opinions are generally labeled as opinions, not as absolutes.

However, there are gaps here. The ‘Piracy Prevention’ section recommends code obfuscation, with no methods for encryption or self-checking a distributed executable file for alteration. Code-signing is mentioned, but dismissed as too expensive. And the legal issues of copyright are just plain wrong–there’s a statement that “Nothing need be registered anywhere” and no mention of how to go about registering a program at www.copyright.gov. The marketing section matches the typical microISV pattern–it’s weak.

All that said, this is a very large topic for a book of any size. The gaps are best filled-in by a membership in the Association of Software Professionals and a trip to the ASP newsgroups and archives, and the book will provide a very good starting point on dozens of topics important for launching a software product online.

Jerry Stern is the editor of ASPects, the ASP’s Coordinator of Anti-Spyware Operations, and is online at www.pc410.com.

Documentation: From Programs to Products

by Jerry Stern
PC Tech at PC410.com

OK, great program. Now, what’s next?

There are some basic differences between a program and a product. Most software developers understand many of these instinctually. As a program becomes a product, on-screen messages are made more specific. Screen layouts are more polished. Errors are trapped and result in plain-text messages that help resolve problems, or even-better, are user-proofed so that incorrect procedures still create great results.

But that’s mostly programming code and artwork. The biggest difference between programs and products is the documentation. Specifically:

  • Sales pages and advertising.
  • The user manuals.
  • The instruction books.
  • Help files.
  • Screen shots, slide shows, and videos.

If these are missing or are incomplete, the product won’t sell like it could, or at all.

There are several basic and common errors in documentation for modern software that aren’t quite product-ready:

  • Not writing documentation. (You know who you are…)
  • Or combining the various types of documentation, and skipping over a basic need. There are five types of documentation. A real product must have all five types, and while they can have minimal overlap, all basic types should exist for nearly any software product.

Five Types of Writing

Before writing any of the documents below, stop and choose a writing style that will work through that entire
task. Changing style isn’t about formality or slang–it’s about the basic reason for writing. The basic writing styles are:

  • Exposition: Writing to inform, to explain a process or an event or an object. Your main help file should be mostly expository writing.
  • Persuasion: Writing to persuade. Frequently includes classical rhetorical techniques to bring the reader to your point of view. Applies to press releases and other sales-related documentation. Classical rhetoric is the most difficult writing style; use it with caution and a light touch.
  • Descriptive: Writing to describe and define what a product looks like and how it behaves.
  • Narrative: This writing is common in fiction, for telling about a sequence of events, but it can also apply to a wizard-style product interface.
  • Creative: Novels, plays, poetry, stories. I’ve seen these used well in product documentation, but only once in a utility program. Needed in many games, but avoid them in most other products.

The majority of your product documentation should be exposition or descriptive writing, and your sales documents should be persuasion with a little rhetoric. Overlap them more than just a little, and your document will lose focus and effectiveness.

Five Types of Documents

Here too, try not to overlap the types of documents below.Breaking these into separate projects makes them easier to write, easier to understand, and more effective. (Or, for the software types among us: Less likely to result in a tech-support contact.)

Motivation

These are sales documents, your web site, press releases, your advertisements, promotional emails, logos, artwork. These include the sales pitch, the classic AIDA steps of Attention, Interest, Desire, and Action. In short:

  • Attention: Something not routine. Something that stands out. Unique. Maybe bizarre, if your product isn’t a
    business application. Anything to get potential purchasers to look.
  • Interest: These are the product descriptions, written as benefits, not a feature list. It’s about what the user can create, and not about the tools and instructions.
  • Desire: Why they want it. Or will. This is where the “Ooooh-Ahhhh” goes. The excitement should be building.
  • Action: Call for action, go for the closing, ask for the sale. Buy now!

There’s a reason that sales letters from the very largest product sales companies are four pages long–they’ve tested the letters, included every step for attention, interest, desire, and action, and they know it works. But that format is best on paper or television. Adapting a non-sequential web or software version will take more work. A video or demonstration may be a better approach to building the AIDA steps.

Instruction

Getting-Started Guides: These are the most-left-out documents in modern software, and the most likely to prevent a technical support call. These describe basic screen layout, functions, what always must be done first, and what the words on the screen mean in the context of just this product. Instructions are meant to be read by new users, not word-searched, and must be organized in a logical progression:

  • What does the product do?
  • What can my final project or result be?
  • How do I get started?
  • What’s the basic navigation through the program?
  • What’s in every use of the program, or what steps are in every project?
  • And finally: A description of where the rest of the help is, in the tutorials, demonstrations, and references.

This documentation should always be included in the product installation. It can be duplicated online for sales and Search Optimization purposes, but it’s so basic to using the product that it should always be included in the product in some form.

Tutorials

This is how to work through a series of introductory steps and learn the basic operations of a product. Tutorials are for new users. These may be slideshow format, or help files, or videos. These will frequently include building a project of some complexity, by starting small and working though many continuous steps to add options to the project. These are typically numbered, and build on each other to bring the user to a level of mastery, step-by-step.

There’s a trick to tutorials: keep every step strictly in the sequence that the user will take them on-screen. It’s “Go to the File menu and click on Print” and never “Click Print in the File menu.”

Tutorials can be included directly in the product, or online. Frequently, the best approach is to include basic tutorials on program layout and project steps within the help file or a ‘Getting Started’ popup, and include a link to bigger and newer tutorials online.

Demonstrations

These are step-by-step guides, frequently done as animated slideshows, for a single and specific product task. Demonstrations are for users already familiar with the basic operation of the product. These show how to do processes or projects, and leave out no steps. These can be used as needed, in isolation, and should not build on other demonstrations.

Demonstrations, like tutorials, can be within the program, or online, or split, with the advanced topics online. But tutorials are sequential and introductory, while demonstrations are standalone and project-based.

Reference

This is what programmers want. It’s the notes for the advanced features, the guide to doing complex items, and the ever-growing tips and tricks list. This works well in a Wiki format, or a searchable knowledge base. It’s not the material that most users of the product would memorize, or must know to use the most basic functions of the product.

Knowledge bases and Frequently-Asked-Question lists are mostly online. Basic FAQ topics should move into the
Instruction guide during revisions to the product. Advanced topics should usually remain in the knowledge base.

Hiring a Professional Writer

Can documentation be outsourced? Some can, but not all. If the programmers have started the reference documentation, and created a basic tutorial that a writer can follow (in any form, including a one-on-one lesson), then a writer can convert that tutorial into a form ready for a general audience, and start building the tutorials and possibly some of the basic demonstrations.

More mistakes:

Using marketing documentation as an instruction book. Selling is not teaching.

Using a feature list as a press release. Features don’t sell, and bullet lists don’t read well. Selling requires sentences that promote benefits. If your press release is made of lists, it’s not a news story, and won’t be published by any media companies.

Interviewing yourself for press releases or product sales. No, wait–are you Steve Jobs? This rule may not apply, then. Everyone else–don’t quote yourself in your press releases or on your web site.

Mixing tutorials with demonstrations: A guided tour is not a step-by-step procedure; combinations will become
large and overly complex. Again, tutorials are sequential, and demonstrations are for single tasks.

Using an online Knowledge Base or a Wiki as a help manual. These are for problem solving, and can’t replace an introductory set of lessons, which should include a tour, terminology, and getting started with some basic projects.

Consistency

Finally, use the same terminology everywhere. A folder is a folder, and not a directory. A picture is a picture, not an image. Both may be correct, but pick only one, and then stick with it.

It’s great to have a glossary that includes mentions of “This is also known as …”; that helps the search function of your help (or Google, for online help) to find entries when users look for help on topics that you don’t have listed in the menus or the help contents. But overall, be consistent-–this is more about clear communication, and normal writing rules that say not to overuse single words do not apply here.

Keep parallel sections of the documentation similar. Maybe they should all start with a definition, or a screen shot, or an image of a finished project. Pick one style, and stay with it.

Finally, read it all out loud. Well, everything except the reference materials, anyway. You’ll hear errors in your writing far more easily than if you see the words on-screen. And you’ll notice that sections of your text belong somewhere else, and that leads to better organization and betterproduct documentation.


Jerry Stern is the editor of ASPects, the ASP’s Coordinator of Anti-Spyware Operations, runs Startupware.com and WorPerfect.org, and www.sciencetranslations.com.