Portfolio

Download Resume
DITA-Based Documentation Close All Views
Web Help System in English
Livescribe Wifi Smartpen Web Help View

Authored XML source files in XMetaL. Modified XMetaL's HTML output as follows, using JavaScript and jQuery:

  • Created Contents & Search tabs
  • Added full-text search using Zoom Search Engine from WrenSoft
  • Integrated Zoom Search PHP script with Help system
  • Added "Whole Phrase" feature on search
  • Expanded link area in Search tab to encompass hit item's title, summary, content snippet, and inter-paragraph space
  • Used SVN to manage source code revision and to stage release code for web team
Livescribe Wifi Smartpen Web Help
 
Localized Documentation
Web Help in Japanese and SpanishView Japanese View Spanish

Delivered Web Help in 12 Languages.

  • Sent English XML source files to localization vendors
  • Generated HTML Help system with XMetaL for each language
  • Posted on test server for proofing by vendors
  • Coordinated with web team to roll out languages in groups
Web Help (Japanese) Web Help (Spanish)
 
Multiple Output Formats
PDF Before and After View Before View After

Single Source, Multiple Output:

  • Delivered Web Help system and PDF with XMetaL
  • Edited source files in XML. Generated Web Help, as shown above
  • Modified XSL files for PDF output, using XSLT, XPath, and XSL-FO
  • Judged default PDF suitable for internal use only
  • Created modified PDF output to match company's look and feel
Echo Default PDF Echo XSL Modified PDF
 
Developer Guides



How to Create Smartpen Apps
Developing Penlets View

Documentation for a 3rd-party developer program:

  • Created developer guide for creating Java apps called penlets
  • Explained concepts, class hierarchy, resources, Eclipse project and plugins
  • Wrote code samples and verified them with in-house software engineeers
  • Designed guide as a companion piece to the Penlet API. Created the API documentation with Javadoc, writing comments in source code
  • Part of doc set in Penlet SDK and overall developer program
Developing Penlets
 
How to Create Desktop Apps for Smartpen
Developing Desktop Applications View

Documentation for Livescribe Desktop SDK:

  • Wrote developer guide for 3rd-party developers
  • Planned and composed doc set for Desktop SDK
  • Showed how to create desktop apps that communicate with docked smartpen, download new data, install penlets, and process downloaded data.
  • C# API
  • Refined and tested sample app and sample code.
  • Explained architecture of Livescribe Desktop Platform.
  • Devleoped Framemaker templates.
Developing Desktop Applications
 
How to Customize Palm Device Abstraction Layer
Device Abstraction Layer (DAL) Customization Guide View

Developer guide for Palm OS DAL (Device Abstraction Layer):

  • Wrote developer guide for partners porting Palm OS to custom hardware
  • Collaborated with team of writers producing 5000-page Palm OS SDK
  • C APIs
  • Explained development process, tool chain, memory issues, and handwriting recognition area (Graffiti)
Device Abstraction Layer (DAL) Customization Guide
 
API Reference



Livescribe Desktop SDK
PenComm and PenData API Reference View

API Reference for 3rd-party developers:

  • Developed as companion to Livescribe Desktop SDK Developer Guide
  • Generated HTML help system using Doxygen
  • Edited and expanded engineers' source code comments
  • Wrote conceptual pages tying the whole together
PenComm and PenData API Reference
 
Palm OS API Reference
Device Abstraction Layer (DAL) Reference View

Reference for Palm OS partner companies:

  • Wrote API reference manualto complement DAL Customization Guide
  • Gave sufficient background for customizing reference implementation included in the SDK
  • Reviewed source code and entered API documentation manually
  • C APIs
  • Refined existing code samples
Device Abstraction Layer (DAL) Reference
 

Tech Writer with a Mission

Superlative achievement requires superlative focus. I free software engineers to focus on brilliant software, while I focus on discovering what users need to know and when they need it. My documentation seeks to impart knowledge without diverting users from their goal — whether they're trying to use a mobile device or code a mobile app. Readers need clear, accessible information so they can get back to the task at hand.

Broad experience in the software industry has taught me a key lesson: the right interface is indispensable. With developer platforms, I advocate for deliberate API design at the start and regular API reviews along the way. With consumer products, I like to join the UI design team. Intuitive and consistent naming gratifies users and reduces the bulk of technical web articles, developer and user guides, and even API reference.

Immersed in the world of mobile devices since 2001, I've had the honor of working with pioneering Palm handheld devices and the astonishing Livescribe smartpens. I thrive in a vibrant, cooperative environment where dedicated folks propel innovative hi-tech confidently into the future.

Modern software development doesn't advance; it sprints. In this swirl of uncertainty and complexity, I follow two simple rules: Every day I will improve my company's products in some concrete way. And from each release, I will learn how we can do it better next time. So even if perfection eludes us, as it always does — greatness is a distinct possibility.

* * * * * * * * * * * * * * * * * * * * * * * *

Pursuing excellence . . . step by step.

* * * * * * * * * * * * * * * * * * * * * * * *

My technical skills and tools — forged on the job — include the following:

Contact Me

Accepting work
 
Email: markjdugger@gmail.com
Phone: 415.385.3167
Address: 5521 N Delaware Ave, Portland, OR 97217