An Asynchronous MessageBox

Recently, I had a project I was working on where we needed to be able to notify the user of a possible problem during a long running process. The results would not be ruined, or wrong, just likely incomplete. In this particular case we were collecting several pieces of information and sometimes one of those pieces were not available (say, for example the server was down, the file was missing, or it took too long). We wanted to let the user know the process had encountered an issue, but not stop it. Yet we wanted to also give them the option to retry it. So we presented an Abort, Retry, Cancel dialog like this one:


The problem is that with a traditional MessageBox the entire process would be frozen. If this happens immediately after the user heads off to lunch, when they get back there would be no report, no data and most of the process would not have been run yet, for example.

What I needed was for the process to continue, but to allow the user to be able to take action before the process completed on anything that was found. For example, they see this error above and think: “oh crap, I forgot to copy over the report file.” So they put the correct file in place and hit “Retry.”

Therefore, I created the AsyncMessageBox class:

Under the covers this uses a traditional MessageBox, but on background thread. You need to attach to the MessageBoxClosed event before you make the AsyncMessageBox.Show() call if you want to get the result. Here is how you use this method:

Anyway, thought this might be useful, so I have shared it. wlEmoticon-hotsmile.png

Goodbye ModNotebooks, Hello OfficeLens

I like taking notes, the old fashioned way (by hand in a notebook, on… paper), but I like finding them the new way (using search on my PC). I love OneNote and how easy it is to keep an online notebook with all sorts of data. For example, due to archival rules some of my email starts to “disappear” from my work account after a couple of years. But some emails I like to keep – little nuggets of wisdom, notices, personal information and such I like to keep around. So, I export them to OneNote, where I can keep them safe.

So, I was living this duplicitous life of daily note taking with pen and paper but also filling my online notebook with all sort of information. I wanted to find a way to bridge these two. A few years back I was at a Microsoft convention and ran into a member of the OneNote team that turned me on to a small startup firm called: ModNotebooks. Their website is now gone, this is all you see:


What they did was to send you a very high quality notebook, you would fill it up and ship it off to them. In the back of the notebook was a folder with a mail pouch and prepaid postage. They would receive it, scan it in for you and then dump the contents into your OneNote file behind the scenes. I filled 7 notebooks with them. But alas, their business model did not work, I am guessing, and they have gone out of business.

Now, I am left with my seeming duplicity again. wlEmoticon-disappointedsmile.png How do I get back to having my handwritten notes in OneNote again? Enter, OfficeLens.

I have actually been using this app for some time to scan travel receipts to PDF to turn in for expense reimbursement. And while I have always known I can use it for OneNote notes, I never tried it – namely because I had a better thing in ModNotebooks – or so I thought. Being forced to use something is sometimes what it takes. So, I gave OfficeLens a shot.

First, you download it to your phone. It comes on all three platforms (Windows Phone, iOS, and Android). Next, you hook up your Microsoft account (Live/Hotmail/MSN) and then you start scanning. It automatically finds the page and draws a border around it:


When you click the button at the bottom, it shows you what it got:


In the lower left, you can click the (+1), to add more page (up to 10 at a time – my only complaint – more on that later)* Once complete with your scanning, you click Done at the top right. This will take you to the “Export To” page.


From here I select OneNote and it asks me where I want to put it in my Notebook and when I click Save, it begins to upload it to my OneNote notebook:

And once it is in OneNote, it is fully text searchable, based on my handwriting. Yes, I said “fully text searchable” from my handwriting. Here is what it looks like once it gets to the final destination and I perform a search:


Amazing, eh?

So, my only complaint is that the tool only allows you to scan in 10 pages at once. I wish there was a way to override this, for two reasons:

  1. I take a lot of notes and I fill 10 pages quickly. I have to get into the habit of scanning every week at this point to keep up. It is not impossible, but it would be nice to skip a few weeks and then scan them all in – in bulk. Right now, I have to upload it in several different batches of 10.
  2. I recently was working with legal documents and needed to print them out, sign them, scan them in and then send them off. The document had 11 pages. 11. 11! So, I had to scan 10 pages, then scan the last one and then find PDF merge software to merge them all together. That was NOT fun.

With that said, Au Revoir ModNotebooks. You were great while you lasted. I will likely be going back to using Moleskin’s and then using OfficeLens to digitize. We shall see… TUL (the “u” is long, so “tool”) has some nice notebooks too – I love their fine-point pen:


If you have any suggestions, please leave comments below. wlEmoticon-hotsmile.png

Going back to taking notes by hand…


Blogging from WP7

I recently got the Samsung Focus, running Windows Phone 7. This phone is awesome, thin, great battery life, easy to use and lots of great applications. I am using a free blog application simply called: “Blog Client.” If you are in the market for a new phone you have to check out WP7 phones.

Humor, That is Still Valid (Sadly)

A Texan dies and goes to Hell. The devil is excited as he has never met a Texan before. So he runs down to the lowest depths to find the Texan sitting with his boots propped up and a big grin on his face. The devil shocked, as others are wailing in pain and asks the Texan what he is so happy about. The Texan coolly replies, “Well, Devil, I thought it would be much worse, but this reminds me of Texas in June.” This steams the Devil…

So the devil heads back to the control room and turns up the dial a few more notches. Almost instantly the wails of pain raise across all of hell. He returns to the Texan who has removed his shirt, but still had that damn grin on his face. So the devil asks why he is still so happy as he obviously sees the others around him writhing in agony. The Texan coolly replies,” Well, Devil, it did get a bit warmer, but it feels like Texas in July. And that is my favorite month.” Now the devil is incensed.

So the devil goes back to the control room and cranks up the heat as high as it will go. The instant deafening roar of screaming is almost too much for the devil. But he gets back to the Texan who is in nothing but his boxers. Without being asked, the Texan states, “Devil, did you know my birthday is in August and this feels great!” The devil blew his lid in anger.

So the devil heads back, feeling dejected by this first representative from the great state of Texas; but he hatches a new plan. We walks to the control panel and turns it down as low as it would go. All smug now, the devil returns to the Texan to find snow piled in the corners, kids throwing snow balls, laughing and playing, icicles hanging from the ceiling… but what was this? The Texan was running around in circles, jumping up and down and whopping an hollering. The devil stopped him for a moment and asked what had gotten into him. The Texan replied, “The Texas Rangers just won the World Series!”

Just moved

With Microsoft moving away from, I have migrated my site to WordPress. So far so good. It looks like the migration went without a hitch. I customized the default site they gave me and still have many more options to review… Way more capability than spaces ever had.