43
How I Used to Think How I Used to Think Black and White Stripes Black and White Stripes Belonged Only on Zebras Belonged Only on Zebras Walt Woods, 2008 Walt Woods, 2008 MECOP at Datalogic Mobile MECOP at Datalogic Mobile Inc. Inc. Eugene, OR, USA Eugene, OR, USA

How I Used to Think Black and White Stripes Belonged Only on Zebras

Embed Size (px)

DESCRIPTION

How I Used to Think Black and White Stripes Belonged Only on Zebras. Walt Woods, 2008 MECOP at Datalogic Mobile Inc. Eugene, OR, USA. Datalogic Mobile Inc. as an Employer. Datalogic Mobile Inc. Original Equipment Manufacturer (OEM) of data collection devices - PowerPoint PPT Presentation

Citation preview

Page 1: How I Used to Think Black and White Stripes Belonged Only on Zebras

How I Used to Think Black How I Used to Think Black and White Stripes Belonged and White Stripes Belonged

Only on ZebrasOnly on Zebras

Walt Woods, 2008Walt Woods, 2008

MECOP at Datalogic Mobile MECOP at Datalogic Mobile Inc.Inc.

Eugene, OR, USAEugene, OR, USA

Page 2: How I Used to Think Black and White Stripes Belonged Only on Zebras

Datalogic Mobile Inc. as an Datalogic Mobile Inc. as an EmployerEmployer

Page 3: How I Used to Think Black and White Stripes Belonged Only on Zebras

Datalogic Mobile IncDatalogic Mobile Inc

• Original Equipment Manufacturer Original Equipment Manufacturer (OEM) of data collection devices(OEM) of data collection devices– Major manufacturer of handheld PDTs Major manufacturer of handheld PDTs

and PDAsand PDAs– Vehicle Mounted scannersVehicle Mounted scanners

• Barcodes (1D and 2D), RFID, and Barcodes (1D and 2D), RFID, and Magnetic Stripe cardsMagnetic Stripe cards

• Windows CE and Windows MobileWindows CE and Windows Mobile

Page 4: How I Used to Think Black and White Stripes Belonged Only on Zebras

Datalogic Mobile Inc. in Datalogic Mobile Inc. in Eugene: Eugene: A Brief HistoryA Brief History• 1961: Spectra-Physics Inc. founded1961: Spectra-Physics Inc. founded• 1974: First commercial barcode scan (by a Spectra-Physics 1974: First commercial barcode scan (by a Spectra-Physics

device, nonetheless) device, nonetheless) • 19XY, 74 <= XY <= 96: Spectra-Physics moves to Eugene19XY, 74 <= XY <= 96: Spectra-Physics moves to Eugene• 1980: Percon founded; Easy-Read scanner1980: Percon founded; Easy-Read scanner• 1996: PSC acquires Spectra-Physics Scanning Systems1996: PSC acquires Spectra-Physics Scanning Systems• 2000: PSC acquires Percon Inc.2000: PSC acquires Percon Inc.• 2005: Datalogic acquires PSC2005: Datalogic acquires PSC

• April 2April 2ndnd, 2007: “Day One” of Datalogic Scanning, Datalogic , 2007: “Day One” of Datalogic Scanning, Datalogic Automation, and Datalogic MobileAutomation, and Datalogic Mobile

Page 5: How I Used to Think Black and White Stripes Belonged Only on Zebras

How They Treat InternsHow They Treat Interns

• $18/hour (1$18/hour (1stst Internship) Internship)

• 40 hours/week40 hours/week– Flexible hours aside from meetingsFlexible hours aside from meetings– Overtime acceptable for time-sensitive, Overtime acceptable for time-sensitive,

important projectsimportant projects

• Discount at a local health clubDiscount at a local health club

Page 6: How I Used to Think Black and White Stripes Belonged Only on Zebras

My Corner of the WorldMy Corner of the World

Page 7: How I Used to Think Black and White Stripes Belonged Only on Zebras

Software Research & Software Research & DevelopmentDevelopment

• Datalogic Mobile has two SW R&D Datalogic Mobile has two SW R&D groupsgroups– Eugene’s software R&D consists of 5 Eugene’s software R&D consists of 5

people (excluding myself)people (excluding myself)– Bologna’s software R&D consists of 7 Bologna’s software R&D consists of 7

peoplepeople

• Semi-autonomousSemi-autonomous

• First fully joint project this yearFirst fully joint project this year

Page 8: How I Used to Think Black and White Stripes Belonged Only on Zebras

Reporting HierarchyReporting Hierarchy

Gian Paolo Fedrigo

Francesco Montanari

Stefano AmorosiDirector of R&D

Mike QuickEugene R&D

John McConnellSW Group Manager

Pat Watkins Walt WoodsEric Freel Tim Tendick Ankush Vimawala

Bologna R&D

SW Test

Page 9: How I Used to Think Black and White Stripes Belonged Only on Zebras

Software TestSoftware Test

• Eugene’s is Datalogic Mobile’s only Eugene’s is Datalogic Mobile’s only test group test group

• Responsible for Validation and Responsible for Validation and Verification of all products’ Verification of all products’ requirementsrequirements

• 3 People3 People

Page 10: How I Used to Think Black and White Stripes Belonged Only on Zebras

MarketingMarketing

• Represents customersRepresents customers

• Significant stakeholder in most Significant stakeholder in most productsproducts

Page 11: How I Used to Think Black and White Stripes Belonged Only on Zebras

Due ProcessDue Process

Page 12: How I Used to Think Black and White Stripes Belonged Only on Zebras

PREMR ProcessPREMR Process

Product Requirements

Document

Software Requirements Specification

External Design

Document

Software Project Management Plan

SoftwareSoftware Design

Document

Page 13: How I Used to Think Black and White Stripes Belonged Only on Zebras

Some Trees and Potted Some Trees and Potted Plants I Left BehindPlants I Left Behind

Page 14: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 15: How I Used to Think Black and White Stripes Belonged Only on Zebras

DefinitionsDefinitions

• ROI – Return on InvestmentROI – Return on Investment– I do not have accurate figures to estimate these I do not have accurate figures to estimate these

monetarilymonetarily

• Instead, I present the two following metrics:Instead, I present the two following metrics:– E-Ratio – Effectiveness Ratio: Measured in ratio of E-Ratio – Effectiveness Ratio: Measured in ratio of

“Direct Usefulness to the business + Indirect Usefulness “Direct Usefulness to the business + Indirect Usefulness through applicable experience” compared to through applicable experience” compared to “Development time”. Use this as ROI if you want.“Development time”. Use this as ROI if you want.

– SAT - Satisfaction – Percentage (0-100) personal SAT - Satisfaction – Percentage (0-100) personal satisfaction with the solution as I left it. Zero implies satisfaction with the solution as I left it. Zero implies that I feel my contributions should be scrapped; 100 that I feel my contributions should be scrapped; 100 implies that I think my solution is the absolute best implies that I think my solution is the absolute best solution possible for the projectsolution possible for the project

Page 16: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 17: How I Used to Think Black and White Stripes Belonged Only on Zebras

First CE ApplicationFirst CE Application

• No prior CE experienceNo prior CE experience

• Familiarized me with Familiarized me with Datalogic’s barcode Datalogic’s barcode SDKSDK

• 1.5 Weeks spent 1.5 Weeks spent tinkeringtinkering

• E-Ratio 1:1, SAT 40%E-Ratio 1:1, SAT 40%– Saved time laterSaved time later– Had I included more GUI Had I included more GUI

elements, would have elements, would have been more usefulbeen more useful

Page 18: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 19: How I Used to Think Black and White Stripes Belonged Only on Zebras

StarstrikeStarstrike

• Quick project to Quick project to familiarize myself with familiarize myself with GDI functionsGDI functions

• 1-2 Days to make1-2 Days to make

• E-Ratio 3:1, SAT 80%E-Ratio 3:1, SAT 80%– Used most this Used most this

knowledge laterknowledge later– Re-used basic code for Re-used basic code for

subsequent projectssubsequent projects– Directly contributed to Directly contributed to

headset control panelheadset control panel

Page 20: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 21: How I Used to Think Black and White Stripes Belonged Only on Zebras

Serial XSerial X

• Windows app that erases Windows app that erases the serial number from the serial number from Pegaso unitsPegaso units– Directly modifies flashDirectly modifies flash

• Used by repair in some Used by repair in some situationssituations

• 2 Weeks2 Weeks• E-Ratio 6:1, SAT 50%E-Ratio 6:1, SAT 50%

– Needed functionalityNeeded functionality– Also assessed perceived Also assessed perceived

failure of flash erasurefailure of flash erasure– It’s never particularly It’s never particularly

satisfying to find out that a satisfying to find out that a week was spent to week was spent to determine nothing was determine nothing was wrongwrong

Page 22: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 23: How I Used to Think Black and White Stripes Belonged Only on Zebras

DLConfigManager / DLConfigManager / DDUConfigDDUConfig

• Reads settings from Reads settings from device, spits out XML device, spits out XML representation of GUIrepresentation of GUI

• Plugs into DCUPlugs into DCU• 2 Weeks2 Weeks

– Initial version only took 1 Initial version only took 1 week. Turns out there’s a week. Turns out there’s a reason to spend more time reason to spend more time on projectson projects

• E-Ratio 10:1, SAT 90%E-Ratio 10:1, SAT 90%– Developed fairly rapidlyDeveloped fairly rapidly– Very quick to modify, good Very quick to modify, good

backwards compatibility backwards compatibility supportsupport

– Required functionalityRequired functionality

Page 24: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 25: How I Used to Think Black and White Stripes Belonged Only on Zebras

Remote Automation LibraryRemote Automation Library

• Allows control and Allows control and querying of device querying of device through PC linkthrough PC link

• Designed to aid GUI Designed to aid GUI testingtesting

• 4 Weeks4 Weeks• E-Ratio 0:1, SAT 80%E-Ratio 0:1, SAT 80%

– At the moment, not At the moment, not used; test is too busy to used; test is too busy to employ time learning to employ time learning to use ituse it

– The solution seems to The solution seems to work great thoughwork great though

Page 26: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 27: How I Used to Think Black and White Stripes Belonged Only on Zebras

Audio DriversAudio Drivers

• Experimenting with ways to Experimenting with ways to clean up signal for VR clean up signal for VR softwaresoftware

• Band pass filters, fourier Band pass filters, fourier transforms, band transforms, band compressioncompression

• 4 Weeks4 Weeks• E-Ratio 1:4, SAT 60%E-Ratio 1:4, SAT 60%

– Microphone volume meter is Microphone volume meter is used in Headset Control used in Headset Control PanelPanel

– Sadly, the filters degraded Sadly, the filters degraded signal performancesignal performance

– Learned a lot about Learned a lot about waveform drivers and waveform drivers and mathematical filtersmathematical filters

Page 28: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 29: How I Used to Think Black and White Stripes Belonged Only on Zebras

Headset Control PanelHeadset Control Panel

• Allows users to Allows users to control microphone control microphone gain and amp boostgain and amp boost

• 1 Week1 Week

• E-Ratio 4:1, SAT 80%E-Ratio 4:1, SAT 80%– Required functionalityRequired functionality– Simple design, works Simple design, works

wellwell

Page 30: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 31: How I Used to Think Black and White Stripes Belonged Only on Zebras

Datalogic Configuration Utility / Datalogic Configuration Utility / WISEWISE

• Fixed various bugsFixed various bugs• Contributed basic Contributed basic

password encryption password encryption schemescheme

• 1 Week1 Week• E-Ratio 1:1, SAT E-Ratio 1:1, SAT

60%60%– Closing bugs is kind Closing bugs is kind

of funof fun– Weak password Weak password

schemescheme

Page 32: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 33: How I Used to Think Black and White Stripes Belonged Only on Zebras

Datalogic Firmware UtilityDatalogic Firmware Utility

• Fixed a few WISE installer Fixed a few WISE installer bugsbugs

• Updated for Vista Updated for Vista compatibilitycompatibility– Swapped out USB drivers Swapped out USB drivers

(old Jungo for new)(old Jungo for new)– Updated Serial driverUpdated Serial driver– Replaced ActiveSync Replaced ActiveSync

detection methoddetection method• 1 Week1 Week• E-Ratio 5:1, SAT 90%E-Ratio 5:1, SAT 90%

– Quick patchQuick patch– Supporting a new OS is Supporting a new OS is

importantimportant– Made future replacements Made future replacements

of Jungo easierof Jungo easier

Page 34: How I Used to Think Black and White Stripes Belonged Only on Zebras

My ProjectsMy Projects

• First CE ApplicationFirst CE Application– StarstrikeStarstrike

• SerialXSerialX• DLConfigManager / DDUConfigDLConfigManager / DDUConfig• Remote Automation LibraryRemote Automation Library• Audio DriversAudio Drivers• Headset Control PanelHeadset Control Panel• Datalogic Configuration Utility / WISEDatalogic Configuration Utility / WISE• Datalogic Firmware UtilityDatalogic Firmware Utility• Coprocessor CommunicationsCoprocessor Communications

Page 35: How I Used to Think Black and White Stripes Belonged Only on Zebras

Coprocessor Coprocessor CommunicationsCommunications

• Designed (read: adapted Designed (read: adapted old) coprocessor old) coprocessor communication protocol communication protocol for Next Gen productsfor Next Gen products

• First experience writing First experience writing Serial communication codeSerial communication code

• 2 Weeks2 Weeks• E-Ratio 4.5:1, SAT 60%E-Ratio 4.5:1, SAT 60%

– Specs are important, Specs are important, particularly when particularly when development is physically development is physically split (Eugene and Bologna)split (Eugene and Bologna)

– Directly influences Next Directly influences Next Generation of productsGeneration of products

– Networking is something Networking is something of a hobbyof a hobby

Page 36: How I Used to Think Black and White Stripes Belonged Only on Zebras

Other Things of NoteOther Things of Note

Page 37: How I Used to Think Black and White Stripes Belonged Only on Zebras

Pegaso PresentationPegaso Presentation

• Learned about:Learned about:– Windows CEWindows CE– Image Build processImage Build process– Image layout in Image layout in

RAMRAM– Coprocessor Coprocessor

functionalityfunctionality– CPU Boot ProcedureCPU Boot Procedure

Page 38: How I Used to Think Black and White Stripes Belonged Only on Zebras

Diagnosing System LockupsDiagnosing System Lockups

• Interesting lock-up caused more than Interesting lock-up caused more than a few headaches around the officea few headaches around the office

• No reason for the lockup was No reason for the lockup was immediately apparentimmediately apparent

• Grand example of unknown bug Grand example of unknown bug analysisanalysis– Isolate conditionsIsolate conditions– Determine contributorsDetermine contributors– Craft and try solutionsCraft and try solutions

Page 39: How I Used to Think Black and White Stripes Belonged Only on Zebras

Task SwitchingTask Switching

• Writing twoWriting two

• It’s hard to writeIt’s hard to write

• sentences at oncesentences at once

• this waythis way

• is hard.is hard.

• There was a great deal of this, There was a great deal of this, though usually it was to a good effectthough usually it was to a good effect

Page 40: How I Used to Think Black and White Stripes Belonged Only on Zebras

Thana SchaferThana Schafer

• Owns and displays Owns and displays a crowbar in her a crowbar in her officeoffice

• Lies to boysLies to boys

• Takes scary Takes scary picturespictures

Page 41: How I Used to Think Black and White Stripes Belonged Only on Zebras

RAPIt UpRAPIt Up

That’s a bad pun. In other That’s a bad pun. In other words: last words.words: last words.

Page 42: How I Used to Think Black and White Stripes Belonged Only on Zebras

Helpful CoursesHelpful Courses

• CS161/162 – Intro to CSCS161/162 – Intro to CS• CS261 – Data StructuresCS261 – Data Structures• CS311 – Operating SystemsCS311 – Operating Systems• CS325 – Analysis of AlgorithmsCS325 – Analysis of Algorithms• CS361 – Software Engineering ICS361 – Software Engineering I• ENGR201/202 – Electrical FundamentalsENGR201/202 – Electrical Fundamentals• ECE375 – Computer Organization & Assembly ECE375 – Computer Organization & Assembly

LanguageLanguage

• Notable omissions: CS362Notable omissions: CS362

Page 43: How I Used to Think Black and White Stripes Belonged Only on Zebras

Overall ImpressionsOverall Impressions

• Datalogic Mobile makes quality, Datalogic Mobile makes quality, diverse productsdiverse products

• Wide variety of tasks to choose fromWide variety of tasks to choose from– As well as plenty of interesting odds and As well as plenty of interesting odds and

ends to keep an intern busyends to keep an intern busy

• Excellent balance of work and playExcellent balance of work and play