Thanks for the feedback. What other features might you suggest?
Users have found people search to be very useful, as you mentioned. If you're not on the latest version then you're also missing LinkedIn and Facebook, including pulling photos from either of those services. We'll be auto-updating old users to this version over the next couple of weeks. (If you want to get on the latest version right away, just download the installer and it will detect the existing installation and just update you instead of a fresh reinstallation.)
EDIT: For the curious, I thought I'd take the opportunity to give more background on what we've been up to from the engineering side.
Some might notice that the Linkedin / Facebook / Hoovers / Yahoo Mail / Skype integrations I mentioned above were launched on 19-nov-08. So what have we been up to over the past four months? Well, other than consuming ungodly amounts of Reese's Peanut Butter Cups, it's been two things -- performance and stability.
Outlook is a hostile environment for a product like Xobni. It has several different APIs, each with different quirky interfaces, side effects, and threading models.
There's no way around having complex APIs for Outlook. They expose programmatic access to the most complicated email application ever built. Just like Excel and MS Word, it's really hard to underestimate how feature rich this program is.
Let's run through one example of how complex these APIs are.
This one's my favorite!
Imagine you have an ID for a message, and you want to open a draft reply to that message so the user can type in their reply and press send. It should work just as if the user hit the Reply button, or pressed Ctrl-R.
Easy right? That's what I thought, too...
The first API I tried seemed to work, but when the user pressed send the icon for the original message didn't change to the purple arrow to indicate that it had been replied to.
I found a second approach that didn't have that bug, except it turned out to save the draft of the message (if it is being composed for more than five minutes, or the user explicitly presses Save) STRAIGHT INTO THE INBOX, instead of the Drafts folder. It looked funky -- no sender name, no sent time, etc. Ouch.
I found another API to use. It set the right icon -- good -- and seemed to save drafts into the Drafts folder. Double check. Unfortunately as soon as the user started typing it showed up in Times New Roman, 12pt, as the default font. Doh.
One of these three approaches also wouldn't pre-populate the user's email signature.
Fourth API was a charm!
I could really talk about the complexity of Outlook and the scenarios we've ran into for days. Below are some example bugs I pulled from the Outlook feb-09 cumulative update document linked above. Each of these can hide weird race conditions, thread starvations, or just plain old corner cases that only show up when the moon is in the seventh house.
* Inefficient processing occurs in a loop during intermittent network connectivity.
* If the store providers are disconnected early, the Outlook.exe process becomes unresponsive for a very long time.
* When you right-click an item, the whole item is loaded into memory more frequently than necessary.
* Unnecessary disk reads are performed for every time that a custom form icon is rendered.
One of the fun side effects of doing this work is that you end up seeing all of the bugs you've come across in OTHER Outlook addins. I was using TechSmith's Snag-It the other day and smiled when I saw a draft it had opened save to the Inbox before I pressed send. They were using API #2. :-)
Not to mention that all of these other addins are accessing the same APIs, sometimes with "interesting interactions."
And on top of these challenges there are several users who have giant mailboxes. We've seen users with almost a million emails loaded into Outlook at the same time.
Usually these are the people with 12" laptops, 2 GBs of RAM, and 5400 RPM hard drives.
When this happens, all bets are off. Outlook takes a long time to load their twelve PST files. If an addin is trying to load its stuff at the same time you get heavy disk contention and "sequential" read throughputs plummet to 1 MB per second. And god help you if Outlook needs to "repair" any of these PSTs.
..the list goes on and on. We've been on a four month odyssey.
It's been both tough and fun. I love my team. We've hit some high notes together.
That said, I think we're all looking forward to working on the next generation of features for our customers. It's going to be an exciting rest-of-2009 ahead.
Thanks for the answer, spontaneously I would love Xobni to do one thing : automatically integrate the contacts into Outlook's address book.
I might do it wrong but when I compose a new mail, the autocomplete function of Outlook doesn't show me contacts from whom I have received a mail.
Xobni could add those contacts without having me to manually do it, it would save me some time. By the way if you can make the autocomplete function work better... (allow me to enter a last name instead of the begining of the email or the first name).
But!, I think our engineering team has a secret love affair with the code. There's some pretty fun stuff going on under the covers. I'll give three quick examples..
1) Xobni's data store sits strictly underneath the sidebar code in the stack. It was originally built to support Xobni Analytics, our first product from 2006 that bombed. Fortunately we got to leverage the same data store when creating the Xobni sidebar.
It's very cool. When someone is building software leveraging our backend, say the sidebar, or the Invite Your Friends feature, the code ends up looking like this:
foreach(var mail in new MailIterator()) {
Console.WriteLine(mail.Subject);
}
This code will print 10k subjects per second, from disk! And it's from a key-value store, so it's easy to add new data fields and types.
2) Not only that, but the data store is built to be client agnostic above "layer 1" where we interface with the mail client. So when we wanted to integrate Yahoo Mail all we had to do was build the adapter piece that knew how to speak Yahoo's language, and suddenly the mail floats all the way up the stack and appears in the sidebar right next to Outlook emails. :-)
3) The areas where we display information from Facebook, LinkedIn, etc are all little embedded instances of Internet Explorer. The code for those extensions is all just HTML and Javascript. When the user changes the current email we invoke a specific JS function called updatePerson(), and there's a callback object the JS can use to make HTTP calls and write lines to the log file. This architecture, which was invented by someone smarter than me, allows us to pump these babies out quickly and without much QA risk to the other parts of the program.
It just doesn't get any cooler than this!!!!
(Commercial: if you're a developer and are interested in being part of the team, send your resume to jobs@xobni.com!)
Adam - congrats on the funding and getting out of the Beta stage. Awesome product, but since you asked for features, how about adding some more 3rd party integration options? You already do Hoovers for company information, but it could be applied more generically to other types of news. i.e. breaking news about topics/keywords in my e-mail.
If you make it optional, it won't be annoying. But I can see it add value because I sure as hell want to know if there's any news about subject X if I'm about to send an e-mail about X to someone.
BTW, I wanted to drop you an e-mail about this, but couldn't find your contact details in your profile or on Xobni or on your blog!
xobni is awesome. I used it when I worked at a Fortune 500 company and kept recommending it to people. I pretty much only used the attachment and contact features though. Good luck to them!
It's just as good as many addons developped without many resources for Thunderbird, not worth a 10M funding in my opinion.