Donate app proceeds to Haiti relief

January 17, 2010

The recent disaster in Haiti obviously touched lots of hearts including ours. Our employees have been donating to the disaster relief effort through a variety of mechanisms. As application developers, we are all inspired by what iPhone app developers have done — donate app proceeds. Beyond our employees’ personal contribution, we, as a company, would also like to help the effort.

We are glad to announce that, through the end of Feburary, we will be donating 100% of our application sale to the red cross. Obviously, as a small company, this will be tough on our financials, but we think it is well worth it. Join us helping Haiti release!


Announcing pay-as-you-go email attachments service

August 11, 2009

You have asked for it, and we have listened. We are excited to announce that we have just introduced the pay-as-you-go service option. Instead of paying for a license fee upfront and having to sign up for a cloud service (e.g., Amazon S3, Microsoft Azure), you can now sign up for a single email attachment service with no upfront license fee. You get free software and free upgrade for life and you only need to pay for the service as you go.

Sign up for the pay-as-you-go email attachment service and download the Outlook Attachment software to use the service.

Thanks to Amazon S3, we are able to price the storage cost aggressively at $0.15/GB/month. Compared to the typical enterprise storage cost of $12/GB/month, you are saving two orders of magnitude.

Learn more about our complete cloud email solution.

How to remove embedded images from emails in MS Outlook

May 20, 2009

When you receive an email with an embedded image, the image will likely take up a lot of your email storage space. Unlike an attachment, you cannot easily remove the image to save the space unless you delete the whole message. The following is a tip on how to remove embedded images so that you can still keep the messages around for archiving purposes.

Prerequisite: You must have the Outlook Attachment Manager installed. The tip exploits a feature of the attachment manager tool. You do not need to set up Amazon S3 or Microsoft Windows Azure if you have not already. You can use the Network Drive option provided and specify either a local or network drive directory as the “ndpath”.

Step 1: Select the email message in the explorer view, so that the message is visible in the preview pane, as shown below:

Select a message in the outlook explorer view

Select a message in the outlook explorer view

Step 2: Click the Detach button on the OutlookCloud command bar to detach the attachments and embedded images (do not forget to enable “detach embedded images” in the Attachment Manager’s configuration options page). It should look like the following, where your attachments’ name will start with either AZ, S3, or ND prefix, depending on which Cloud option you used.

after detaching attachments

after detaching attachments

Step 3: Click the ReAttach button on the command bar. The embedded images should now show up as regular attachments on the list. You can see an image’s size and click on it to open and see the image. After you have decided which image to delete, go to next step.

Outlook explorer view after reattach

Outlook explorer view after reattach

Step 4: Double click on the message in the explorer to open up an inspector for the message (it is important not to select a different message before double clicking on it). Right click on the attachment that you want to delete, which brings up a pop up menu, choose Remove.  Close the message and save the change when asked.

outlook inspector view

outlook inspector view

Forget GDrive, here comes MDrive, free 50GB storage

March 24, 2009

The rumor on GDrive, the free storage offering from Google, has to be the longest running rumor on the Internet. Blogs dating as far back as Mar. 2006 talked about the up and coming unlimited storage offering from Google. Recently, there is renewed talk again that it is coming this year. It baffles me why there is still a lot of enthusiasm after three long years of waiting. How can Google deliver now if it has not delivered in three years.

While the world is waiting, the storage market  has advanced dramatically. Storage with a programmable interface, such as Amazon S3, has emerged. S3 took a very different approach. Instead of giving you a full hard disk emulation, it provides a web services API interface. The web services API simplifies the implementation, so that it can not only be cheaply implemented, but can also be easily scaled. So, for measly $0.15/GB/month, you can have an unlimited, highly-scalable storage. The simple web services API turns out not to be limiting at all, and many interesting solutions can be and have been implemented on top.

The latest entrant to this market is Microsoft Windows Azure. It offers a web services API similar to that of Amazon S3 all for FREE (for now up to 50GB).  It cannot be mounted as a hard drive on your PC, but there are easy-to-use consoles for you to upload your files. For example, check out Azure Explorer. Since Azure is pretty new, you will likely see more easy-to-use tools to help you utilize the free storage. To get a free account, follow the Azure  getting started guide.

The added advantage of a web services API is that it enables programmable integration with other applications to make your experience seamless. For example, a Cloud email provider’s Outlook Attachment Manager product can automatically detach email attachments and store them in Cloud, or send large attachments through the Cloud. This not only frees up your email inbox, but also makes it hassle free to use email.

While we are still waiting for GDrive, do enjoy MDrive, complimentary of Microsoft.

Outlook Attachment Manager won BrotherSoft’s Editor’s pick award

March 12, 2009

We are pleased that our Cloud email solution has recently won the Editor’s pick award from BrotherSoft, and it is now featured on their front page. Use our software to reduce your Inbox size and send large attachments through the Cloud. Check out what you have been missing and try Outlook Attachment Manager for free.

How to send large files through Cloud directly from MS Outlook

March 6, 2009

Sending a large file attachment has always been a big hassle. Most email servers limit you up to 10MB. Even if you can send, it will annoy the hell out of your recipients because it eats up their precious Inbox space. There are work arounds. You can use FTP, or sharepoints, or you can use services on the web which allow you to upload the file there first. But all these solutions have drawbacks:

  • Inconvenient: You have to upload file manually, you have to manage login/passwords.
  • Costly: You probably have to pay a high monthly fee regardless you send or not.
  • Insecure: The storage is shared with someone else. You never know who may have peeked at your data.

With Outlook Attachment Manager, you now can send large file attachments directly from your MS Outlook client, securely through your own storage account at Amazon S3. See the video demo on how to.

Microsoft Azure Storage (blob, queue, table) library for .NET 2.0 and .NET 3.5

March 2, 2009

In the course of developing support for Microsoft Windows Azure for our Outlook Attachment Manager product, we searched hard for a good Windows Azure Storage services library. We did not find anything that can be used out-of-the-box. If you are developing a product using Windows Azure’s storage services only, we hope you can leverage our lessons learned.

Even though there is no good third-party library, we found a nice library in the Azure SDK. However, there are several problems with using that library directly. First of all, the Azure SDK only installs on Windows Vista or higher, i.e., it would not work on Windows XP. There are good reasons that it is only supported on Vista if you use Azure’s compute service. However, if you are only using the storage service, Window XP works just fine. To get around the problem, you need to change the Launch Conditions for the Azure SDK installation file. You can search Azure’s forum for full hacking instructions. But if you do not want to mess with it, we have extracted the library from the Azure SDK and you can simply download the original Microsoft Azure Storage Library from our developer page. In addition to the library, it also contains the sample code provided by Microsoft on how to use the storage library.

The Azure library requires Azure SDK and .NET 3.5 SP1 framework. Since we are only talking to Azure storage using REST protocol, there is no reason to require our customers to install the latest .NET framework. So we have to hack the library to remove these restrictions.

To remove the dependency on Azure SDK, we modified the StorageAccountInfo.cs file to comment out the reference to Microsoft.ServiceHosting.ServiceRuntime and RoleManager. They are used to check whether the program runs in the hosted Azure environment. Since our application always runs on the client’s machine, we can safely remove these references.

To remove the dependency on .NET 3.5 SP1, we removed TableStorage.cs from the project, since it references System.Data.Services.client which is part of .NET 3.5 SP1. We also have to remove several references to TableRetryWrapperException in BlobStorage.cs. If you do not want to mess with the code change, you can download the already modified Microsoft Azure Blob & Queue library for .NET 3.5 from our developer page.

We ended up using the .NET 3.5 library since we also use VSTO 2008 which requires .NET 3.5 anyhow. However, we have experimented with .NET 2.0. .NET 2.0 is only about 80MB installed, 1/4 the size of .NET 3.5. If you distribute software to people who may not have .NET installed, having .NET 2.0 will be a much lighter approach.

To make the library work under .NET 2.0, we had to make several changes. First, the library uses parameter-less System.Action<> delegate which is a new feature of .NET 3.5. We converted it to System.Action<T> with a dummy string parameter.  Second, in invoking these actions, the library uses lambda expression which is a new feature since .NET 3.0. We converted them into anonymous methods. Third, we removed XML parsing for extended Table errors from Error.cs. They require System.Xml.Linq which only exists in .NET 3.5. Since we are not dealing with Tables, it is safe to remove them. Last, RestQueue.cs uses System.Linq.IEnumerable, which does not exist in .NET 2.0. It is easy to replace the functionality, but since we only use the Blob service, we did not venture further. You can download the working version of Microsoft Azure Blob library for .NET 2.0 from our developer page. RestQueue.cs and Queue.cs are removed from the project, but they remain in the source code, in case anyone want to make the last bit of modification to make it work for Queue.

We found the Microsoft library to be very well written. For example, it handles retries and you can specify your own retry policy. Our approach of modifying the Microsoft library worked well for us. It for sure beats writing the REST request from scratch.