GW Micro - Unleashing the power of your mind's eye.

Burn, Baby, Burn

2007-04-17

Permalink 02:14:51 pm, by Aaron Email , 915 words, 1043 views English (US)
Categories: dev

Burn, Baby, Burn

So far the upgrade process has been running smoothly. There have been few reports of any problems, and the minor issues that were reported have already been resolved. We've been receiving a lot of positive comments about Window-Eyes 6.1, and CDs are still moving out the door. All in all things are going very well.

Speaking of CDs, I've had a couple questions regarding our CD duplication process, so I thought I'd take a minute or two and talk about how that whole process works, without giving away too much of the magic.

Our CD production machine is a robot. Literally. It's like our own private Marvin (a la Hitchhiker's Guide to the Galaxy). It's got an arm with suction cups, several spindles that hold either blank or burned CDs, several CD/DVD burners, a thermal printer, and occasionally the Marvin Paranoid Android personality.

We chose this particular machine because it has the ability to be scripted, which means we can create CDs on the fly without needing pre-recorded images, or compiled ISOs. That also means that we get to control the quantity. For example, we don't have to order 50,000 stamped copies when we only need 3.

So when you order a CD, how does it get created? Trying to teach everyone in the ordering department how to map shares, modify proprietary script files, submit jobs, create CD, print, and Braille labels, and everything else that goes into creating a CD is a pretty tall order. Not that they couldn't learn all that, but that's not their job. They need to be able to enter an order, click a button, and move on to the next order. And that's what they do when you place your order.

The scripts are, more or less, text files that point to locations of data files that are copied to the CD during the final production process, along with other miscellaneous information that describes the format of the CD, the volume label, etc. Since every CD contains common files (MP3 manual, MP3 tutorial, the video support utility, PDF manual, etc.), it's easy to store one copy of those files in a separate location so that we only have to build the serialized version of all the Window-Eyes files. We also deal with multiple languages, and some languages deal with multiple versions. Each language also deals with copy protection, like Everlock, Dongle, LTO, Evaluation, and so on. So we end up with directories containing common files, language files, version files, and copy protected files. Oh, and the upgrades are also built separately on the fly, so those come in from yet another location.

To make it easy for everyone, I created a web based interface that integrates with our customer and product databases. Once an order is entered, and the customer record is updated with the appropriate product information, it really is just a matter of selecting the Create CD button, and within 5 to 8 minutes that customer's CD is sitting in the out tray of the duplicator. Once the Create CD button is selected, the web page parses all the information about the product (version, language, etc.) and creates a script for the duplicator. The duplicator software has a live directory where job requests are monitored. When the script is finished, it's plopped into that directory, and in a second or two, Marvin comes alive, and does a little dance.

A burner door opens; Marvin's robotic arm spins around to the empty CD spindle, sucks up a blank disc using three pressure sensitive suctions cups, spins back around to the burner, drops the disc in the drive, and waits. Once the burn process is complete, the door opens back up, Marvin's arm drops down and sucks up the disc, then spins it over to the thermal printer, and drops it again. The thermal printer aligns the CD for printing, pulls the disc into the print tray, slathers it with black ink, and spits it back out. Marvin picks it up a final time, spins over to the completed spindle, and drops it.

It's a very simple, very cool process to watch happen. Even after sitting through countless production sessions, I still enjoy watching Marvin come to life. That is, of course, when he does the job right. You see, the main drawback to Marvin is that he's mechanical, and mechanical things eventually go askew. Alignments can change fractions of fractions of inches over time, and every once and awhile, that paranoid android mentality rears it's head: "I think you ought to know I'm feeling very depressed." Fortunately, we've had enough time getting to know the ins and outs of how to tweak Marvin, so re-aligning him is usually a quick and painless process. Other than that, it's just a matter of keeping him fed with printer ribbon and blank CDs.

So that's it in a nutshell. There are a lot of ifs and potential gotchas in the underlying code that does the serialization and dynamic building of files, but with time, the process becomes more streamlined, and more efficient.

Writing out all this stuff makes me introspective. Watching ideas get developed into Window-Eyes features, testing those features, and packaging up all the parts of Window-Eyes so the end user can install it, and use the software that came from that initial idea is very Zen-like, and pretty rewarding.


Comments, Pingbacks:

Comment from: Michael Massey [Visitor] Email
Hi, Aaron. And I quote, "whew!" I'm going to have to read this entry several times, smile. I love the title of your entry. At some point I hope that you will explain how the Braille labels are done. I was always under the assumption that perhaps Mike or Bill did those, but that would take an awfully long time. Great job.
PermalinkPermalink 2007-04-18 @ 07:36
Comment from: Sara [Visitor]
Thanks Aaron for explaining that process! Wow, it sounds very cool and very nice that you can do it yourselves without having to get some other cd-burning business to produce all the copies. Yeah, I'm also interested in how you do the labels and who puts all those CDs in those cute little cases for shipping out all over the world? The packaging is different too isn't it? I remember when I first got Wineyes it came in a big box with all the manuals and such but the upgrades don't come the same way of course. smile That reminds me I need to go order my 6.1 upgrade CD...
PermalinkPermalink 2007-04-19 @ 17:41
Comment from: Zachary Kline [Visitor] Email
Well, this is certainly illuminating! I admit that before I read this article I didn't give much thought to the whole process that went into the production of Window-Eyes itself. It just always seemed, to me, a program that came out from somewhere or other and I didn't really think too much about where. This blog, I suppose, was intended to let us see a bit of where--and I'm glad for that.
Keep up the good work.
PermalinkPermalink 2007-04-21 @ 02:34
Comment from: sharewarecheap [Visitor] Email
good,i will try it later,but i also love i love my SubSonic Music Burner,works great.if yours fits for me too,i will use two from now on.

http://www.sharewarecheap.com/SubSonic-Music-Burner_software_836.html
PermalinkPermalink 2008-07-07 @ 02:30

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))
Why am I being asked this question?


Archive

August 2008
Sun Mon Tue Wed Thu Fri Sat
 << <   > >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Search



© GW Micro, Inc. All Rights Reserved.
GW Micro, Inc.    725 Airport North Office Park    Fort Wayne, IN 46825
Ph: 260-489-3671 Fax: 260-489-2608    www.gwmicro.com    sales@gwmicro.com    support@gwmicro.com
Hours: M-F, 8a-5p, EST