This section shows the kinds of user experiences in mind when developing TWAIN Direct.
Home Scanning
John has a cloud aware scanner in his house. Using his favorite tablet he brings up a webpage that connects to his scanner. He has options to save his images to his cloud drive, his local folder, or his favorite social media site. He selects a “taxes” configuration and uses it to save some forms to his local folder.
Mary has an old scanner (one that is not natively TWAIN Direct enabled, but which supports TWAIN and has the TWAIN Direct-to-TWAIN layer). She runs a TWAIN application and uses it to save some preset configurations: one for “photos” and one for old “newspaper” clippings of recipes. Then she brings up her favorite TWAIN Direct scanning application and selects the “photo” option she created and scans with it.
Ad Hoc and Mobile Scanning
Alice goes to the library and uses her phone to access a scanner. Her application is set up by default to request OCR data from the scanner, but to permit scanning to continue if the data cannot be collected. The application captures the images she wants and tells her that there is no text. Alice just wanted the images, so she’s done.
Sam’s office has a shared network scanner. He goes to it and identifies himself. The scanner goes out onto the network and gets his list of configurations. He sees that one is missing and realizes that he’s forgotten to create a new one for himself, so he goes back to his desk and accesses a webpage. The page is served by the scanner vendor and shows all of the features of the scanner. He sets up his configuration and saves it. Then he goes back to the scanner and uses the new configuration to scan his documents.
Susan has a small portable cloud aware scanner that she takes on business trips. She runs an application on her phone. She first selects a configuration to scan receipts. The scanner automatically sends them to her business for processing. She then selects to scan business cards, and these are forwarded to her contacts list.
Small Office Scanning
Jack has a scanner on his desk. He has made arrangements with a cloud vendor to handle his documents. At the start of his day he runs a program that tells the cloud that he is ready to work. For the rest of the day an application in the cloud monitors his device. When it detects that paper is present in the scanner it scans it, analyzes the document and handles it according to rules that he worked out with his vendor.
Service Bureau Scanning
Sally’s business scans documents for other companies. She has been using a TWAIN Direct scanner from Acme, but now her scanner is broken and Acme has gone out of business. She finds a TWAIN Direct scanner made by Smith that has the same features. She is able to replace the scanner and does not have to change any of her application code.
Application Development
Bill needs to add scanning to his application. He decides to go with a cloud vendor to discover and register the device. When it comes time to configure the scanner he finds that all he has to do is add a scan command with a request for the best color images, and a destination. He’s able to develop and test the complete system in two days, far less than his original expectation.
Carol has an existing application and has been asked to support a new scanner that can detect paperclips. This feature isn’t on by default and hasn’t been standardized. She decides to go into her existing configurations and add the command to turn it on. Those same configurations can still be used with scanners that don’t have the feature, saving her time.
Carl needs a complex configuration, one that collects color and black-and-white images from the scanner, but only from the front, as the back image is black-and-white only and has a barcode that he needs to read. He runs an application provided by the scanner vendor which allows him to create the configuration that he needs. He embeds that configuration (which is nothing more than JSON in text form) in his application and sends it to the device when he wants to scan.