My paperless home - Software support

Almost three weeks ago I blogged about My paperless home for the first time. I start with a little review about the hardware and then start with the basics of My paperless home.

Lexmark X6570 All-In-One printer

I told about my reasons for buying the Lexmark X6570 in my previous post. After I got the package I started installing the software just by following the instructions. The device also supports faxing, but as dump as I was, I didn't install the software part for faxing. So after setting everything up it was time to scan for the first time. The scan went well, and very fast also. But then I tried to export the scan to PDF, I clicked the appropriate button, and waited, no response. I tried a lot of things and was very disappointed. After an hour of trying a thought about reinstalling the software, this time the full package. After this I found out about the installation of ABBYY FineReader 6.0 Sprint was being installed. I know about ABBYY FineReader as an OCR (Optical Character Recognition) software package. And yes the reinstallation did it. I know was able to scan and export to PDF.

After scanning a lot pages I got trouble with the export to PDF button again. Closing the scan-software every once in a while helps.

Steps

I follow the following steps towards My paperless home.

  • Archive a set of documents, for each document do:
    • Scan or trash?
      • Scan the document to Inbox.
      • Or trash it.
    • Needs to be archived on paper?
      • Archive.
      • Or trash it.
    • Next
  • At a later time organize all the newly scanned documents using custom software into directory structure.

Directory / File structure

I have found out the following file structure to be probably best for my situation.

  • Base directory
    • Category - Subcategory
      • yyyy
        • yyyyMMdd - Organization - Subject.pdf

Besides this directory structure I already have a working version of Google Desktop. The PDF files generated are searchable (image on text) so I can very easily find the documents I need. Just by pressing CTRL two times and start typing some search text to find the document.

Custom software

imageI built a custom software program to support my own process of organizing the scanned documents. I just have to drop a file from my Scan Inbox, set some fields and click organize. I also have the ability to Preview a file, which automatically closes after Organizing. The categories and organizations can be typed manually but all categories and organizations in the archive are put in the lists also.

I build this using .NET 3.5, and besides a very handy piece of software I also applied some technologies to get to know them better. I applied things like: Extension Methods, LINQ and Dependency Injection using Unity.

Backup

titan-logo Off course it is very important to back up the scanned documents. Even though I keep some documents on paper as well. For backing up I found out about a very interesting software package called Titan Backup. This is a very nice solution, I made sure every time I shut down my machine my administration gets backed up.

I already scanned about 250 documents so I guess my scanning process works very well. More about My paperless home later.

Workflow Foundation parameters done better!?

I think a lot of people don't like the way Workflow Foundation parameters work. At least I totally dislike it. I don't want to use an almost untyped (yes, we have object as type) dictionary to read values, and besides why do we need to cast, the types are available. Instead of using basic strings for the parameter naming, I have a different approach. I add an static inner class to the Workflow codebeside.

1 public static class Parameters 2 { 3 public const string BaseFolder = "BaseFolder"; 4 public const string AnalysisResult = "AnalysisResult"; 5 }

When inside the Parameters class I also have a ReSharper Live Template, stpar:

public const string $ParamName$ = "$ParamName$";

In this example I can use the workflow parameter names by using :

WorkflowName.Parameters.BaseFolder

You now have to add a real C# property with the same name as we have in the Parameters class. But much less work, and through this approach we won't make that many mistakes in the string-based key.

Besides this the use of a basic Dictionary isn't that readable too. So I created a somewhat fluent interface for use with Dictionary<TKey,TValue>. So we can create a dictonary more readable than the basic way.

1 FluentDictionary<string, object> parameters = new FluentDictionary<string, object>() 2 .Add(AdministrationAnalysis.Parameters.BaseFolder, @"C:\") 3 .Add(AdministrationAnalysis.Parameters.AnalysisResult, null);

So here''s the code for the FluentDictionary:

1 public class FluentDictionary<TKey, TValue> 2 { 3 private readonly Dictionary<TKey, TValue> internalDictionary = new Dictionary<TKey, TValue>(); 4 5 public FluentDictionary() 6 { 7 } 8 9 public FluentDictionary(Dictionary<TKey, TValue> internalDictionary) 10 { 11 this.internalDictionary = internalDictionary; 12 } 13 14 public Dictionary<TKey, TValue> Dictionary 15 { 16 get { return internalDictionary; } 17 } 18 19 public int Count 20 { 21 get { return internalDictionary.Count; } 22 } 23 24 public FluentDictionary<TKey, TValue> Add(TKey key, TValue value) 25 { 26 internalDictionary.Add(key, value); 27 return this; 28 } 29 30 public void Clear() 31 { 32 internalDictionary.Clear(); 33 } 34 35 public bool ContainsKey(TKey key) 36 { 37 return internalDictionary.ContainsKey(key); 38 } 39 40 public bool ContainsValue(TValue value) 41 { 42 return internalDictionary.ContainsValue(value); 43 } 44 45 public TTyped Get<TTyped>(TKey key) where TTyped : TValue 46 { 47 return (TTyped) internalDictionary[key]; 48 } 49 }

Let me know if you like this approach or if you have a better solution.

My paperless home - Device support

Just store for reference later!

I've tried it before, years ago, it was when I got my first Scanner, a Canon flatbed scanner. I tried to become paperless. I scanned about 40 pages, but after this, I stopped. Why did I stop? It's not doable, every page needs to be scanned by hand, just too much work.

But what about now? I've looked into some devices lately. A lot of devices are now multifunctional printers, this does sound interesting. But still when looking into the different devices I found out, most of them are still equipped with a flatbed scanner. But looking into other more expensive devices I found there are some multifunctional printers that are equipped with a automated document feeder for multipage scanning.

In the end I found out about the Lexmark X6570 All-In-One printer. I just ordered it today. A few reasons to buy this device:

  • The price: Just around € 150,-
  • Multi-functional
  • Automated document feeder for 25 pages
  • Wifi support, wireless scanning and printing

Lexmark X6570 - All-In-One

I hope this Lexmark will help my family getting paperless. More about my paperless home after I received the device.