
8-25-2005

If you are reading a colleague’s newsletter and would like to subscribe click here.
This edition of FlicWatch Developer Newsletter presents you with:
Events:

Frontline Solutions Conference & Expo
Sept 26-29 2005
Navy Pier - Chicago, IL
Please let us know if you would like to meet

CTIA Wireless I.T. & Entertainment 2005
Sept 27-29, 2005
Moscone West | San Fransisco, CA
Please let us know if you would like to meet

CTIA / Smartphone Summit
Sept 26-29, 2005
The W Hotel - San Fransisco, CA
Please let us know if you would like to meet

Mobile Business Expo
Oct 9-12
W. Chicago Lakeshore - Chicago, IL
Exhibiting - Please visit us at Booth # 605

Hans Christian Andersen Parade
Sept 3, 2005
We won’t be attending, but we will be thinking of Denmark’s world famous poet and fairytale writer. In fact, we’ll even celebrate his 200th birthday.
Back to Top
Flic Tip
What are timestamps, how do they work, and are they similar to postage stamps?
You can configure the Flic Scanner to record a time value with each scan. The Flic Scanner does not actually store a complete date/time stamp but it stores an initial time value and then records the time difference between scans (and between other events as well). These time differences are referred to as time “deltas.” The Flic Scanner stores time deltas because these values take much less memory than a full date/time stamp. This memory savings allow the Flic to store a significantly greater number of bar codes.
To calculate the date/time values of the bar codes, start with the initial time and add the delta values for each of the bar codes. Be sure to never set the initial time value if the Flic Scanner contains bar codes. If you do, then the time values will start with the current time and the delta times will be added to the current time. The Flic SDK handles all of the time calculations for you and returns complete date and time stamp information. Lastly, while timestamps are very useful and valuable, you cannot use them to send that belated birthday card to your Grandmother.
Back to Top
Flic Developer Spotlight - Application
Bitz & Pixelz
Bitz & Pixelz provides a series of database programs for cataloging personal collections of music, movies, books, comics, video games, audio files and digital photo files. They have natively integrated the Flic Scanner into their applications to provide the best possible experience to their customers.
The Collectorz.com programs for Windows let you enter your collection with ease, then ListPro software, from Ilium, lets you view your collection data while on the road, in the store or at a fair on your Pocket PC or Palm device.
Testimonials
Mike Blevins about Movie Collector by Bitz & Pixelz
"I have Movie Collector. I think the barcode scanner support is brilliant. I really like the software. It's easy to use, pretty customizable and does a very good job. I don't write my own code. The measure I apply to assessing software is whether I would write it differently if I DID write code. I can't think how I would make Movie Collector better. Thank you for a great product."
Mark-Jan Harte, Bitz & Pixelz about Flic SDK
"Adding support for the Flic Scanner into our Collectorz.com products was easier than we expected. It was a matter of hours from receiving the SDK to successfully getting bar codes transferred from the Flic Scanner to our software."
Flic Developer Spotlight - Connectivity software
Infinite Peripherals

Infinite Peripherals provides connectivity software between the Bluetooth enabled Flic Cordless Scanner and Palm, BlackBerry (Java), and Windows Mobile platforms. For the RIM BlackBerry you can use version IP-BC-BT-Driver-SDK to integrate the SDK into your RIM BlackBerry application to control how the bar code data is handled.
In addition to the SDK there is also a wedge version available. The wedge version is a driver which the end-user installs onto their RIM BlackBerry device. Once installed, the driver will inject the scanned bar code data into the field of focus.
Both versions are available to IPC customers as well as other Developers who wish to reuse under a per seat license. For information please contact Richard Keever at mobilesales@ipcprint.com.
Request to be a featured developer
Do you have an application that you would like us to showcase? Send us an email.
Back to Top
You Ask, We Answer
By Tony Cataldo

How do I enable the Flic Scanner to operate in both Batch and Tethered Modes?
There are a number of applications that need the Flic Scanner to operate in both batch and tethered modes. For example, with a home inventory application, the user could scan CDs while the Flic Scanner is connected to the host or remove the Flic Scanner and scan CDs or DVDs stored on a bookshelf in another room. The application must handle these conditions:
- The user scans bar codes while connected to the host
- The user collects batch data and then connects the Flic Scanner
- The Flic Scanner contains data and is connected before the application is running
For this example, use TETHERED mode when creating a connection. The SDK configures the Flic Scanner to use TETHERED mode with ACKnowledgement. That is, the Flic Scanner does not delete the data until it receives an ACK (ACKnowledge) character from the host computer. When operating in ACK mode, the Flic Scanner data is not deleted unless the host application is running and the application has established a connection.
Open the Connection
There are normally two phases to opening a connection to the Flic Scanner. First, call FlicConnectionOpen to open the connection if the connection was first created. The first time you run your application the FlicConnectionOpen call will fail because the connection was not created. If this function fails then you call FlicConnectionConfigure to create and configure the new connection.
Note that you should have a function in your application that prompts the user to connect the Flic Scanner and then explicitly call FlicConnectionConfigure. FlicConnectionConfigure opens the port and configures the Flic Scanner. Actually, it searches the available ports to find the attached Flic Scanner. When calling FlicConnectionConfigure, the Flic Scanner must be connected or this function will fail. This configuration step must be done once per Flic Scanner before deploying it.
// Pseudocode example (not a specific language)
Boolean OpenSerial()
If FlicConnectionOpen(...) failed then
Return ConnectSerial()
Return TRUE
// Searches ports, finds & initializes Flic.
Boolean ConnectSerial()
If FlicConnectionConfigure(TETHERED mode) succeeded then
Return TRUE
Message “Something really bad happened”
Return FALSE
Note that you should have a function in your application that explicitly calls FlicConnectionConfigure. FlicConnectionConfigure searches for a Flic Scanner on the available ports, opens the port, and configures the Flic Scanner (the scanner must be connected for this function to work). This configuration step must be done once before you deploy each Flic Scanner.
Create a Read Timer
Now you must create a timer to read the bar codes sent by the Flic Scanner to the host. Create a timer object that uses FlicGetBarCodeCount to check the status of the port and to see if any bar codes were downloaded to the SDK memory. When using FlicGetBarCodeCount you need to specifically handle FLIC_SUCCESS and FLICERR_DOWNLOAD_IN_PROGRESS status results. If the result was FLIC_SUCCESS and there are bar codes then read and process those bar codes. If the result is FLICERR_DOWNLOAD_IN_PROGRESS, then you can handle this in one of two ways. To perform a blocked read, that is, wait until the bar codes are finished downloading, wait until the status changes from FLICERR_DOWNLOAD_IN_PROGRESS to FLIC_SUCCESS. To perform an unblock read, that is, allow the application to function while the bar codes are being downloaded, simply exit the timer function (the timer will process the bar codes after the download is complete, that is, after the result is FLIC_SUCCESS).
Setup and Initial Download
The pseudo code above handles both the batch and tethered data when the application is running and the Flic Scanner is connected to the host. One problem remains, namely, if the user connects the Flic Scanner before the application is running then the scanned data doesn’t make it to the application. This can occur when the user scans data, connects the Flic Scanner to the host, and the host is turned off. When the user starts the application it should request a download in case the Flic Scanner contains data that was not downloaded. Add code similar to the following to the form load event or when you want to enable bar code downloading.
if (OpenSerial())
{
// Were any bar codes downloaded before we got here?
result = FlicGetBarCodeCount(...) // Get count & status
// If not bar codes were downloaded and if no data is
// in transmit send a download request to the Flic.
if (count==0 && result!=FLICERR_DOWNLOAD_IN_PROGRESS)
FlicRequestDownload()
// Let the timer function read any bar codes downloaded.
Enable BasicWindowsTimerFunction // Turn on the timer.
}
Notice that this code does not actually read the bar codes. This code gets any batched data from the Flic Scanner to the SDK memory. The normal timer function will then detect that there are bar codes in the SDK memory and read those bar codes.
Back to Top
Flic Developer Resources
Take advantage of this Special Coupon to Evaluate the Flic Scanner for your Application. Integrate the Flic Scanner into your application. Download the free SDK
Check out the Compatibility Matrix.
Report device compatibility issues or successes.
Flic Support. Need Help?
Flic News
Company Information
Newsletter Archives:
Developer Newsletter: 7-19-2005
Developer Newsletter: 6-9-2005
Developer Newsletter: 5-3-2005
Back to Top

Partner with Microvision
Flic Scanner Solutions Guide – Are you in the Solutions Guide?
As mentioned in the July issue of FlicWatch, Microvision is developing the Flic Scanner Solutions Guide to showcase software solutions that work with the Flic Scanner. Solutions guides will be posted on the new website as well as exposed to prospective customers throughout various marketing campaigns.
Solution Guides are intended to amplify partner solutions to a large marketplace of enterprises, small to medium sized businesses, and households – all of whom are looking for solutions.
While solution guides will vary by audience and application category, the basic profile remains the same.
Basic Profile:
Company Profile
Company
Contact Name and Title
Address, Phone, Email
Solution Profile
Software Title and Description
Application Platform
Native integration for Flic Scanner or application wedge software.
Software URL
Target Industry (e.g. Hospitality)
Scanner Application (e.g. Ticket Scanning)
Is a Demo Available?
Please include my application in your solution guide.
Get Organized Solution Guide Preview
Media Collection Packages
Wine Collecting
File and Document Management
Inventory Tracking
Asset Management
Mobile Solutions Guide Preview
Connectivity Software
Off the shelf applications
Custom Solutions
Developer Tools
Complete Solution Bundle
For more information on the FlicMate Partner Program, please visit http://www.flicscanner.com/flicmate_overview.html.
Back to Top
Flic Fact
Did you know that Flic Scanners have a very low Total Cost of Ownership?
This low TCO benefits Developers and their Customers. Aside from the Flic Scanner being affordable, it is also easy to integrate into applications, has long battery life and provides either Batch/Tethered or Cordless flexibility. You and your customers can deploy Flic Scanners across a diversity of platforms, including Windows, Mac, Palm, Blackberry, Windows Mobile, etc. Also, if you upgrade your mobile device you can still use your Flic Scanner so your investment is maintained.
While Developers benefit by the SDK and Applications Engineering support end-users benefit by having Flic Scanner integrated natively into applications. Partners such as Serialio.com, Infinite Peripherals, Ask Distribution and more provide connectivity software and tools to further enable your applications and save you time. If you need an introduction please let us know.
| Benefits to Developer |
|
Benefits to End-Users |
| Ease of Development through Developer Support, SDK and Apps Engineering |
|
Flic Scanner Integrated Applications |
| Flexibility of Product – Batch / Tethered / Cordless |
|
Battery Life and Onboard Memory – see Power Management Article in July issue of Flicwatch |
| Developer Community – ability to leverage accomplishments and resources of other developers. |
|
Simple and Affordable Solutions |
Device Compatibility
|
|
Deploy with the device of your choice. Deploy with latest mobile device without having to buy a new scanner. |
Back to Top
What else would you like to see in this newsletter?
|