510 likes | 605 Views
Professionalize Your Add-on or App with Icons and Documentation Best Practices. Robert Des Rosier, LabVIEW Partner Program Laura Hayden, R&D Graphic Designer Steven Moser, Technical Writer National Instruments. Professionalize Your Add-on or App with Icons . Laura Hayden Graphic Designer.
E N D
Professionalize Your Add-on or App with Icons and Documentation Best Practices Robert Des Rosier,LabVIEW Partner Program Laura Hayden, R&D Graphic Designer Steven Moser, Technical Writer National Instruments
Professionalize Your Add-on or App with Icons Laura Hayden Graphic Designer
What I Do Icon Artist Image Translator Consistency Reviewer
What "Professionalize" Means • Brand Your API • Think About Functionality • Remove Text • Don't Reinvent The Wheel • Use Color Wisely • Be Consistent
Use Color Wisely vischeck.com
verb object Be Consistent Add Network Device
Be Consistent Get Disk Image
Be Consistent Clear Image Database
Tools / Resources LabVIEW Icon editor Axialis Icon Workshop Corel Paint Shop Pro ni.com/iconlibrary LabVIEWPartnerProgram@ni.com eTrainings at ni.com/addondevcenter
Summary • Brand Your API • Think About Functionality • Remove Text • Don't Reinvent The Wheel • Use Color Wisely • Be Consistent
Professionalize Your Add-on with Documentation Best Practices Steven Moser Technical Writer National Instruments
Who Am I? • Technical writer = writing + testing + usability • LabVIEW Development System • Robotics Module • MathScript RT Module • Control Design & Simulation Module • Jitter Analysis Toolkit • Third Party Licensing & Activation Toolkit • VI Analyzer Toolkit
Why Is Documentation Important? • Documentation is a product feature • Supplements the software • Adds credibility to your products • Reduces number of support calls • Meets Compatible with LabVIEW requirements
What Kind of Documentation is Important? Goal: Answer “pre-use” questions Useractivities • Goal: Provide in-product support for features
Pre-Use Education • How do I install? • If I upgrade, what new features/bug fixes are available? • What OSes are supported? Which LabVIEW versions? • Where do I find features, examples, and help so I can get started? • If I need support, how do I get it? • How do I purchase your product?
Pre-Use Education Solution: Readme files • Accessible prior to installation • Template available at ni.com/addondevcenter
In-Product Support—Context Help Answer for users,“Does this fit my use case?”
In-Product Support—Context Help VI descriptions NOT “Acquires data.”
In-Product Support—Context Help “Returns two arrays that describe the magnitudes and angles of obstacles the device detects within a given range.”
In-Product Support—Context Help “Returns two arrays that describe the magnitudes and angles of obstacles the device detects within a given range.” Verb Output(s) Input(s)”
In-Product Support—Context Help “Returnstwo arrays that describe the magnitudes and angles of obstacles the device detects within a given range.” VerbOutput(s) Input(s)”
In-Product Support—Context Help “Returnstwo arrays that describe the magnitudes and angles of obstacles the device detects within a given range.” VerbOutput(s)Input(s)”
In-Product Support—Context Help VI descriptions NOT “Forward kinematics of a robot arm is computed by this Forward Kinematics VI.”
In-Product Support—Context Help “Calculates the homogenous transform or transforms that represents the position of a robotic arm end effector given the joint angles of the arm.”
In-Product Support—Context Help “Calculates the homogenous transform or transforms that represents the position of a robotic arm end effector given the joint angles of the arm.” Verb Output(s) Input(s)
In-Product Support—Context Help “Calculates the homogenous transform or transforms that represents the position of a robotic arm end effectorgiven the joint angles of the arm.” “VerbOutput(s) Input(s)”
In-Product Support—Context Help “Calculates the homogenous transform or transforms that represents the position of a robotic arm end effectorgiven the joint angles of the arm.” “VerbOutput(s)Input(s)”
In-Product Support—Context Help Input/output descriptions • Provide information users otherwise must test: • NOT “path is the path to the log file.” • INSTEAD “path specifies anabsolute path to the file to which you want to log data. If you specify an empty or relative path, this function returns an error.
In-Product Support—Context Help Input/output descriptions • Provide units in which values are expressed, default values, error information • NOT “timeout is the time to wait for a response.” • INSTEAD “timeout (ms) sets the amount of time to wait for a response from the host. If timeout (ms) elapses, this VI returns error code 5. If you set timeout (ms) to -1 (default), this VI waits indefinitely.
In-Product Support—Detailed Help Expand from “Does this fit my use case?” to “How does this object work?”
In-Product Support—Detailed Help • Cross references to relevant examples • Error codes VIs can return • Screenshots of workflows
In-Product Support Solution: Context help + HTML Help • Use tools from Partner team to populatecontext help and generate detailed HTML help • ni.com/addondevcenter
Localization • English ? • ? English • Vendors and tools exist worldwide, but… • Take advantage of each others’ knowledge—Ask about solutions at ni.com/addondevcenter
Summary Deliverable: Readme file Useractivities • Deliverables: Context help and HTML help
Where to Go from Here • ni.com/addondevcenter • Readme HTML file template • VI Properties Editor tool • VI to XML tool for creating HTML Help • Notepad++, KompoZer—HTML editors (free) • FAR—Compiled HTML Help (CHM) editor (purchase) • http://helpware.net/FAR/ • Requires Microsoft HTML Help Workshop (free)
Related Sessions Hands-On: VI Package ManagerTuesday 10:30 AM 18C Creating a Software Evaluation in 10 MinutesWednesday 2:15 PM 10C LabVIEW Add-on of the YearWednesday 3:30 PM 10C