First thing first, don’t take the solution in this post serious.
I was working on a project where we want to make our web-based application perform some actions in Microsoft Outlook. It’s not a common behaviour but it is probably workable in a very controlled place like my firm, where almost all the users having same set of applications.
My architect is a genius, he suddenly suggested why not use mailto link, since all the users will use Outlook as their only E-mail tool.
I have to say before I started to work on it I felt it very hardly work. But after a few hours trying I found out it’s actually possible to let Outlook add-in to capture the special mailto and do some funny actions after that. The only problem I have is that if user’s Outlook is not opened first, then he will see a new mail window with special mailto address in. This is because Outlook start new mail window first and only load add-in after that.
MSDN has a good tutorial on Outlook plugin here.
So next thing is how to pass data in Outlook, and since I’m familiar with Web application and always work on web, JSON just comes to my mind. So in the end I embedded JSON string in mailto URL and created a new pattern which my colleague called “JSON-over-mailto”.
It’s a really fun experience to do such unusual practice, and also realize that Microsoft tools are really powerful.
Last thing, this is not a common practice and only work in a special close environment. But if you want to have something fun, just go ahead and try.
There are a couple of things in my mind to explore in next a few months. Just to note them down before I get lost.
A new pattern – CQRS (Command & Query Responsibility Segregation)
I heard of this term first from my company’s architecture design talk, and heard it again from Uncle Bob‘s presentation. Thankfully and surprisingly, Microsoft has published a free book about CQRS and Event Sourcing (ES) online here.
A new language – Clojure
I’ve heard this language long time back but never really look into it. But recently I have (maybe not only me, the whole community has) growing interest in functional language and scripting after diving in OO program many years. Again this was mentioned in Uncle Bob’s presentation and I feel I should at least try something out from it. Another reason is that it’s based on Lisp – a (old) programming language I have special passion on.
[Update 1] (19 Feb 2013)
Today I came across another interesting article when searching for require.js
And two answers to this “not the answer”:
This is my first web hosting as well as my first personal domain name. I will start to record my daily life here, as a software developer, as a (classical) music lover, as a husband. I used to have blog on different places like MSN Space and WP but later I became quite inactive. This is a new start, so let me start my blog with a typical programmer way whenever starting to learn a new program language:
The first thing I get excited is that with a personal domain name finally I can name my code with proper package name: com.wilsonwuz.*