4/01/2008
3/21/2008
No English Spoken Here
At the same time as I'm trying to learn a new language (or at least get some basic handle on it), I'm reviewing the documentation of newer writers here. After three years, NI and LabVIEW style, as well as general best practices for technical writing that we employ, are pretty much second nature to me. So it is refreshing to have to think about our style guides in terms of new writers: having to explain and document things that I have not thought about, at a detailed level, for at least a little while. I imagine it's a similar feeling to the feeling my Chinese colleagues have when I ask them questions about Mandarin -- at least, I hope it is :-)
This experience has taught me one other thing: we do not write English at NI. What we write is an ultra-specific and precise dialect that I haven't thought up a funny name for yet (but I'm working on it). This means that the English you practiced in college, on essays and exams and in emails to your professors, will not suffice. We have our own highly-specific ways of writing and editing documentation. Suddenly you're presented with new symbols, words, terms, and rules in which those objects can, cannot, and must be combined.
I experienced this over three years ago when I first started at NI. I like to think I had a decent command of grammar coming out of college -- but in terms of NInese, I was unaware of just how little I knew. No split infinitives? Where do I put the "only" in this sentence? I have to repeat this edit in how many places? Why is there colon here, but not there? You mean we can't we say "drop"?
Learning these new symbols and patterns of communication was, just like starting to learn a foreign language, very frustrating. And this is on top of the actual technologies I was expected to write about, which required their own set of learning curves. And of course there's the processes that surround our documentation - sending documents to review, using Perforce and LabVIEW, and so on. (Look what NI has done to me -- I almost never write 'etc.' anymore, even in non-work writing situations.) Of course there's a reason for (almost) every decision and item in the style guide and the practices we follow. But figuring these out was a steep learning curve. Starting to learn Chinese must have triggered these same reactions in my brain, because it is only now that I made the connection between learning a foreign language and starting fresh at NI.
To be fair, we're up front with all this. We tell job candidates and new employees that the learning curve is high and it will take quite awhile before they feel comfortable here. We don't expect anyone to grasp all our intricacies on the first day, or even in the first month. But I wonder if we should tell them that their English is only partially useful here -- to succeed, they will need to learn a new language.
3/04/2008
Non-trivial Typos
Barry Bonds seized on a pair of typos, complaining in court papers Thursday that the government's mistakes could compromise his chances for a fair trial. The typographical errors showed up in a recent filing by prosecutors wrongly accusing Bonds of flunking a drug test in 2001. They later admitted they instead meant 2000.Bonds now is seeking to dismiss his perjury case based solely on the existence of this typo. Just think about that the next time somebody files you a bug report to fix a typo :-)
2/10/2008
Digital Reviewing
- Create CHM or PDF files.
- Print CHM file to a PDF file. We can do this because we have Acrobat installed.
- Enable PDF for commenting in Adobe Reader, so developers who do not have Acrobat can enter comments.
- Initiate review.
- Reviews take up hard drive space instead of desk space. I have much more of the former than the latter, so this arrangement makes sense. I'd also wager that disk space is cheaper and more environmentally-friendly than desk space.
- I can archive reviews digitally by using source control instead of in a box under my desk. Boxes take up space and are heavy. As the company grows and we move desks, I don't have to lug around boxes of old documentation. They're all available for me on the server.
- Similarly, when I return to Austin from Shanghai, I'll have instant access to all my old reviews without involving FedEx or DHL.
- While I'm here in Shanghai, I can pass documents to reviewers/writers in Austin just as easily as I can pass documents to people in Mumbai, Cleveland, or any of our other offices.
- Electronic reviewing enables me to write pages and pages of edits (theoretically) under a tiny little note icon. This way if I have a long or detailed comment, I don't run out of room on the page, my comments don't jam together, and I avoid writing sideways or upside-down or things like that. Also, I type much faster and more efficiently than I write. And no one has to struggle to read my typing like they might have to do with my handwriting.
- If the reviewer/writer disagrees with an edit I made, they can state their reasons why in the comment itself. In this way we can have a sort of conversation about the edit itself. This conversation takes up no more space than the note icon itself, even though the discussion could theoretically be pages long. And the discussion is archived along with the PDF itself.
- Reviewers/writers can mark edits as Completed or Rejected. Similar to a bug-tracking database, actually. I then can print out (in either hard-copy or PDF form) an easy-to-read list of the edits I made and the writers' replies to these edits. This view also lets me see which edits the writer may have missed in their pass through the document. (It would be helpful to have some sort of function/command that immediately highlighted all reviews that didn't have a reply.)
- I can highlight important comments by altering the color and/or opacity of the marker. So I've developed a color-coded system for which edits are normal priority, which ones are really important, which ones are left-over from the last review, etc.
- If I need to work from home, I don't have to worry about printing out a review copy and taking it with me. I can just VPN into the office and continue reviewing normally.
It also might be helpful to have a mode where you could edit the PDF directly, along the lines of MS Word's "Track Changes" feature. There may be a way to do this that I haven't yet discovered. But in our reviewing model at NI, we don't do that too much.
Kudos to Adobe for making the commenting feature not only robust, but also available in their free Reader program.
12/27/2007
From a Distance
Through a co-worker's blog, I came across a post about sitting near your SME at the office. I cannot agree more emphatically. At NI, most of technical writers sit in the same general location as the engineers for whom they write documentation. For most of my three years here, I could swivel my chair 360 degrees and have a direct line of sight to all of my engineers.
I strongly believe that this proximity is key to establishing quality documentation. When the barrier to interaction is low, you are more likely to ask SMEs questions. If you have follow-up questions, you don't have to wait for these follow-ups to percolate through the developer's email inbox -- you can walk over to their cube and have a discussion. The developers are more likely to take your presence and schedule into account - meaning, if the release date slips or if they decide to add six new features, it's easier for them to inform you in person (where, again, you can ask follow-up questions on the spot). Because they don't have to work as hard to tell you about these changes, they're more likely to tell you. You're also more likely to socialize casually in the office, an action that improves interpersonal communication in general.
Phones and email and instant messaging are wonderful and great ways to assist technical writers. But oftentimes there's no substitute for face-to-face communication. Especially not when you're trying to ascertain the finer points of model predictive control :-)
So for all of my time at NI, I've enjoyed these benefits. This situation changed last year when I wrote the documentation for MATRIXx 8.0. During that project, I had to be aware of a small time-zone difference when calling and emailing my engineers. This was only a problem early in the morning and at lunch :-) To ease the pain, we had numerous conference calls, and in 2006 I even spent two weeks at their office so I could better understand the product during its development.
But at least my developers were in the office at the same time I was. This situation changed even more drastically when I begun working with developers in other countries. At this point you're introduced to the fascinating world of late-night (or early-morning) conference calls, reviewing & commenting on documents electronically, and never actually meeting the people you're working with. Add in language considerations, and you have a whole other ball game.
I wouldn't say that this distance decreases the quality of the documentation. However I would say that you don't get as many chances, or you have to work extra-hard, to keep the quality of the documentation consistent with what you've been doing locally. For example, consider this situation:
I email a developer in our Shanghai office at 3 PM CST. They don't get the email until 8 PM CST (9 AM their time). At this point I'm obviously not at work. I don't get their reply until 9 AM the following morning. This email has made its round trip in 18 hours. Compare that to 2 hours or less for a typical email to someone in Austin, or even California.
This fact underscores the importance of being precise when you're corresponding remotely. What if I have follow-up questions, or need clarification, to my Chinese co-worker's reply? I send this hypothetical follow-up email at 10 AM. Then it's another 23 hours until I get all of my information.
Total time for information flow: 41 hours. That's almost two days during which I am stuck on a problem or unable to do my job. And I'm assuming here that the developer actually has time to answer my question during their workday. If not, add another 24 hours onto the cycle.
I see a couple ways to mitigate this issue. One, be as detailed and precise as possible when emailing remotely. Treat your co-worker as an audience of one. Anticipate questions they might have and answer them in advance. Two, you can stay up late or get up early so that you're both in the office at the same time. Three, and this is the most effective measure, try not to rely on remote locations for decisions or information. (I know, I know -- easier said than done!) The finer points of this solution include making every use of local resources. You could spread knowledge around so that no one person solely is dependent on any other person (we also like to call this the "hit by a bus" defense). Four, and this is the most fun measure (at least for me), travel to the remote office and spend some time there :-)
(I just realized that the above paragraph probably should be a bulleted list.)
This situation obviously isn't unique to technical writing. These intercontinental concerns happen also with software development, upper-level management decisions, and technical support. Thankfully, at least in my case, you could get some fantastic travel opportunities out of this way of working. Which is my own very subtle way of segueing into the fact that I will be living and working in Shanghai for at least the first half of 2008. I leave in one week. I look forward to posting about my international technical writing experiences :-)
Labels: documentation development, international
11/27/2007
It's Been Awhile ...
...but I wanted to link to two posts I saw on the User Advocacy blog:
Technical Writing in Transition: Part 1 and Part 2.Makes for some interesting reading, I think.
Quote:Technical writing has adapted with three fundamental changes:
1. Task-oriented writing. Instead of describing the parts of a system, we walk the user through tasks and explain technical knowledge incidentally.
2. Single-sourcing. Write-once, read many; we write in small blobs which can be reorganized for online help, web help, printed manuals or marketing.
3. Plain English/Simplified text. We describe the interface, not theory, using code-like patterns of if-then language and action sequences.
And this:
...to a public increasingly acquainted with the similarities between computer-based tasks, [writing a fantastic manual] does not provide the depth of information they need, so instead they buy third-party "power user" books to fill that need.I can see how this statement applies to consumer electronics like digital cameras, MP3 players, etc. Those are situations where "the basics of technology are known." Has anyone looked at the user manual for their iPod?
...
When the basics of technology are known, it is easier and cheaper to have an engineer type up notes and hire a college student to format them.
However, I don't think this statement applies to LabVIEW, where the basics are not known -- except to those who've been using it for years, and even then, those people still get some surprises now and then.
So that's the key phrase -- "when the basics of technology are known." That is not always the case, especially not at a company like NI. You could argue that the "basic" of LabVIEW is dataflow programming (and possibly graphical programming also). Everything on top of that is LabVIEW-specific and needs to be explained in detail in our help system. And given that we fight for dataflow attention in a sequential world, I would say that we still need to teach people the basics of dataflow in our manuals (which we do). And that can get complicated pretty quickly.
Extend now to products like the Control Design and Simulation Module. Here the "basics" become control theory, dynamic systems, etc. These topics are the subject of graduate- and doctorate- level courses and degrees. While you could ask the engineers to educate users on these topics - with formatting assistance from a college student - the results would be geared towards graduate- and doctorate- level customers, which is not necessarily our audience. Plus, it's a well-known fact that many engineers either dislike writing or don't care that they're not good at it :-)
LV's also more complex than many software programs because it's not really a program - it's a programming language. Covering the limitless ways in which you can use LabVIEW is a, well, limitless task :-)
It's like if I were to document a toolbox full of wrenches, screwdrivers, drill bits, and such. I can tell you the purpose for each tool, what types of situations each tool are good for, and maybe give you some high-level examples. But I can't go specifically into how to use the wrench with a car, sink, light fixture, two-story house, lawnmower, etc. That would take way too much time and way too many resources, especially when you realize that I'd have to describe how every tool works with every task. But here also the manual would be incomplete, because how can I know what tasks you're going to use these tools for? Maybe you like building birdhouses, but we don't talk about that because we don't have a birdhouse expert on staff. So then you're still out of luck with just our user manual.
No, the specifics are things you have to learn by taking the groundwork in the manual and applying it to your project. Or, like the quote says, you might go out and buy a book on fixing cars, or even more niche, Using Wrenches with Cars. That's where companies like O'Reilly and Wiley come in. That's also where customers, blogs, and user forums and communities help fill in the gaps. We constantly monitor these sources of information, looking for real-world problems and successes that we can include in the documentation. By "we" I mean not only technical writers, but also engineers, salespeople, marketing, etc.
(As a side note, I think we do a great job of covering LV-based tasks in our help files. We make sure to include tons of how-to content in our docs.)
I'm sure the author of those posts didn't intend to mean that all technical writing is basic and therefore we can just outsource everything to college interns. But I thought a counter-example would be useful and informative.
8/03/2007
Beatboxing with LV FPGA and PXI
File this one under "Coolest Things I've Ever Seen." Vineet samples himself beatboxing and singing. He can do this multiple times until he is giving himself a full backing melody.
His mic is hooked into a PXI-7831R running LabVIEW FPGA. The performance is from the NI Live Talent Show we have once a year; this one was on July 12 2007.
Watch this one to see Vineet turn it up a notch!
Try doing that with an oscilloscope!
Labels: Coolest Things I've Ever Seen
