|
Hey there Plaxo users! We've been hinting for months now about an all-new and improved version of Plaxo Online (called "Plaxo 3.0"...very creative, huh?). And, we are almost ready to go prime-time, but first we need help testing it on our most daring, helpful, and dedicated users (before unleashing it on everyone else). So, if you are a passionate user of Plaxo and an "early adopter" of new technology, you can volunteer for the private beta. The first 1,000 people who send an empty e-mail to privatebeta@plaxo.com will be given instructions on how to get started in a couple of weeks. [Note: we will not read or reply to the emails sent to privatebeta@plaxo.com.] What’s included?
Hope to see you in the beta, P.S. In case you don't know, "Plaxo Online" is what you get when you log in to www.plaxo.com and use your Plaxo account (as opposed to accessing Plaxo via Outlook or Outlook Express). | ![]() Teamwork pays off! Join us in testing Plaxo 3.0! |
Howdy folks,
As many of you have noticed, Microsoft recently produced an RTM version of the new Office 2007, including a new Outlook. With this new version you'll see Microsoft added some new UI, particularly in the toolbars and the Contacts folder. Unfortunately, the existing versions of the Plaxo Toolbar for Outlook and Outlook Express only half-work with this new version. The synchronization should all work, as well as our own Plaxo UI that is generally triggerred from the menu or toolbar. However, some areas where we integrate with Outlook's UI, such as the Click-To-Connect buttons in e-mail, the Card View of Outlook's Contacts, and the view of the contact's details when a contact is opened, are not compatible with this new version.
Not to worry, however, for a new version of our toolbar is on its way! This version will be compatible with this newest Outlook offerring as well as all previous versions that we currently support.
Here are a couple screenshots of this work-in-progress. First, is the Click-To-Connect button in Outlook 2007's preview window:

And the new Contacts summary view:

While I can't give an exact timeframe, we hope to have this new version ready in a few weeks or so. If you'd be interested in helping us out and giving an alpha or beta version of this new toolbar a try before the official release, we'd love to hear from you - just write in at forum.plaxo.com or to the Plaxo Yahoo! group.

The good folks at Mashup Camp have put videos online from all the talks at Mashup University. I gave a talk on behalf of Plaxo about how to use our widget and APIs to make a "smart address book mashup" on any web site. I had previously posted my slides, and now you can watch the entire talk (.mov, 77.5MB)!
What we said back then in June is even more true today--almost every web site these days is using address book info (sharing content, inviting friends, social networking, etc.) and for most of these sites, building a hotmail auto-import or Outlook plug-in is probably the last thing they want to do. This is exactly why mashups are such a good idea. For instance, at Plaxo we use Yahoo! Maps instead of trying to build our own mapping solution. Not only does it save us work, we'd never be able to do as good a job because it's not our core focus. Similarly, most web sites should consider using Plaxo's widget and APIs instead of trying to build yet-another-address-book.
--Joseph Smarr
If you're running a recent version of the Plaxo toolbar for Outlook or Outlook Express, you'll see the Click to Connect button and drop-down whenever you get an e-mail from someone. One of the options is to "Get a map or directions" for the person that sent you that message. It's handy when you need to visit someone's office or get driving directions to their home.
Well now it's even handier, because when you click that link, you'll get a page with the map embedded inside it. You can toggle between showing your contact's work and home address (if the person has chosen to share that information with you), and you can also click to get driving directions from your own home or work address.
We chose to use Yahoo! Maps for our mashup because they provide automatic geo-coding (turning a mailing address into latitute/longuitude), so it was easy to say "show me a map of Mark Jen's work address" and bam!
Hope you find this fun and useful!
--Joseph Smarr, Plaxo Server Engineer
Originally, the feature started out as part of a screenshot in some early mockups. When we were first designing the UI, we had a designer mockup a bunch of screens. One of them had a cutout of Outlook with a little Plaxo icon in the upper right. When we saw the screen we said, "Hey, that's really cool! How can we actually implement that?"
We actually ended up implementing the feature twice. Our first implementation started out as an exercise to see if it was even possible. It worked, but it left a lot to be desired. Initially, we annotated the name of each Plaxo member in your address book by adding an underscore to the end. When Outlook displayed the contacts view, the code would grab the pixels using GetDIBits and then perform some super simple OCR.
The concept is pretty simple, but getting it to actually work took some time. First, you have to subclass the window so you know when it's being drawn and can grab the bits. Now, in the WM_PAINT call, you can have something like this:
HDC hdc = GetDC(hwnd);
HDC hdcBuffer = CreateCompatibleDC(hdc);
HGDIOBJ hOldObj = SelectObject(hdcBuffer, m_hBuffer);
BitBlt(hdcBuffer, 0, 0, w, h, hdc, 0, 0, SRCCOPY);
if (GetDIBits(hdcBuffer, m_hBuffer, 0, (DWORD)bi.biHeight,(LPBYTE)lpbi +
(bi.biSize + nColors * sizeof(RGBQUAD)), (LPBITMAPINFO)lpbi, (DWORD)DIB_RGB_COLORS)
DrawCards(hwnd, hdcBuffer);
BitBlt(hdc, rcUpdate.left, rcUpdate.top, rcUpdate.right - rcUpdate.left, rcUpdate.bottom - rcUpdate.top,
hdcBuffer, rcUpdate.left, rcUpdate.top, SRCCOPY);
SelectObject(hdcBuffer, hOldObj);
DeleteDC(hdcBuffer);
ReleaseDC(hwnd, hdc);
I left out a few details (getting the bits per pixel, heights, widths, etc) but that's the general idea. Now that you have the bits, to the next step is actually figuring out who's a member and where to draw the cards. Once that’s done, we’ll also need to know how wide each darkened name region is. Fortunately, the left and top borders are a fixed number of pixels (exactly how many changes slightly based on Outlook version and theme) so finding the first name region is easy. Now all we need to do is scan right, looking for the first white pixel as that represents the end of the name area.
Once you know how wide the name region is, you can calculate the number of columns and start searching for name regions. Scanning from the top, name regions are identified by their fixed background color (#D4D0C8) or their highlight color (#0A246A). Once you find one, it’s pretty easy to check for an underscore at the end by scanning the name region from the right border. If you find one, you draw the little icon and move on to the next name region.
Obviously, there are all kinds of problems with this approach and as soon as we'd implemented it, we knew it wasn't shippable. First, we were modifying the data in the address book for purely display purposes. Second, scanning the bits is pretty slow. Third, there are lots of cases where the bits aren't drawn (e.g. partial updates, obscured windows, etc) or are drawn differently (fonts, colors, etc). The list goes on.
We decided it was a pretty neat idea, but we needed to find something that was a lot more robust. Dru came up with a much better approach. Using techniques described by Matt Pietrek and Jeffrey Richter in various books and Microsoft Journal articles, there’s a clever way to insert your own function in between various system calls. For those looking for something more in-depth, check out this overview
The basic technique goes something like this: when a module (exe or DLL) is linked against a .lib stub, calls to external DLL functions are placed in an import address table (IAT) in the module. When the module is then loaded, the Windows loader resolves those imports by filling in the IAT with the addresses of the functions in the DLL. One benefit of this level of indirection is that it allows for functions to be relocated within a DLL without having to recompile all of the modules that use it (i.e. if you rebuild a DLL, you don't have to rebuild all of the exes that link to it). While not designed for this purpose, it also provides a systematic way to insert code in between the caller and the callee (for calls dispatched by the IAT) by changing the address in the IAT.
Here's a screen shot of the dependency walker included with Microsoft Visual C++ showing the imports that will be resolved at runtime in the upper right. For example, plx_core.dll has an import entry for BitBlt in GDI32.dll:
To draw the icons, all we have to do is replace the import entries for some of the text drawing functions in Outlook (DrawText, TextOut, etc. depending on the version). To do that, we’ll first walk through the import descriptors, since there's one descriptor per DLL. In the screenshot above, each item under plx_core.dll corresponds to an import descriptor. Once we find the descriptor we're looking for, we then have to find its entry in the import table. The following code finds the correct import table and then looks for entry you're trying to replace:
while (pImportDesc->Name)
{
// note that the szImportDLLName should match the szDllName (from
// c_szDllName that we passed in). we can optimize this to continue
// if the names don't match
char* szImportDLLName = MakePtr(char*, hLocalModule, pImportDesc->Name);
// do a case insensitive compare and if these names match, break so that we can
// process this import descriptor
if (_stricmp(szDllName, szImportDLLName) == 0)
break;
// iterate to the next import descriptor
pImportDesc++;
}
// if we have an invalid import descriptor, then we know that we didn't find the
// DLL we were looking for.
if (!pImportDesc->Name)
return FALSE;
PIMAGE_THUNK_DATA pThunkAddress;
pThunkAddress = MakePtr(PIMAGE_THUNK_DATA, hLocalModule, pImportDesc->FirstThunk);
// as long as these are non-null, we can keep iterating
while (pThunkAddress->u1.Function)
{
// if we get a match, then return the current pThunkAddress
if (DWORD(pThunkAddress->u1.Function) == dwAddressToIntercept)
break;
// otherwise, iterate to the next PIMAGE_THUNK_DATA item
pThunkAddress++;
}
if (!pThunkAddress->u1.Function)
return FALSE;
// pThunkAddress now contains the import entry we're looking for
Once you have the import entry, you can replace it with your own call:
// we can write to this address, so save off the old API so that we can still access it. if (p_pApiOrg) *p_pApiOrg = PVOID(pThunkAddress->u1.Function); // we can write to the address of this function, so simply write over the old address // with the address of our new function. pThunkAddress->u1.Function = (DWORD)pApiNew;
For the sake of some brevity (not that it's very short in the first place), some of the details are left out (e.g. the page pointed to by pThunkAddress is probably write protected so you have enable writing while you update the import entry using VirtualProtect and then disable write access once you're done), but it's the right idea.
By replacing the import entry for various text drawing functions (DrawTextEx, ExtTextOut, etc), we can pretty easily track when things are drawn in the address book. Unfortunately, it's always a little more complicated in practice, as different versions of Outlook uses different functions and you only want to replace those calls when the address book is being displayed. Another thing to watch out for is when other people change the import table. Once you take care of those issues though, it's pretty straight forward to have a quick lookup table for items that should have icons. In the end, hooking into the IAT is a lot faster, more robust, and more precise than doing OCR ;) and that's still how we draw the icons today.
If you're interested in more information, check out IAT articles on Code Project
We've just released a new version of the Plaxo Toolbar for Outlook and Outlook Express, version 2.8. There's nothing really dramatic in here, mostly minor fixes and such.
Do those images look better? We're using a better image scaling technique, so the photos on the Click-To-Connect buttons and elsewhere should look nicer now.
Anti-Spam As part of our effort to cut down on unwanted e-mails, the Update Contacts button has been removed from the toolbar, though still available through the menu, and all the recipients are UNchecked by default.
Bugs We also fixed some minor bugs, mostly related to the new Click-To-Connect button.
To download this version of our Outlook Toolbar, visit our downloads page.
We released a new version of the Plaxo Toolbar for Outlook and Outlook Express earlier this week. The latest version is 2.7 and it is available immediately for download from the Plaxo website. As always, existing Plaxo toolbar users can upgrade to the latest version by going to the Plaxo / Help / About Plaxo menu and clicking on the upgrade now link.
This client release comes right on the heels of our latest Plaxo server release and the introduction of the Plaxo Open Platform Program and Open API, so I can tell you that Engineering, QA, and Product Management have been extremely busy.
The Plaxo Toolbar v2.7 includes a number of bug fixes, but also adds some very exciting features worth mentioning. The most significant are the enhancements made to the Click-to-Connect button. The CTC is the integrated Plaxo button that appears in the upper right corner when reading an email message. The CTC adds a personal touch to emails by displaying the sender's Plaxo photo on the button of if they are in your address book. Members also find the CTC button a convenient way to add the sender to their address book if they are not already there.
With the v2.7 release, we've enhanced the look and feel of the CTC and added a few more options. The button still shows the Plaxo member's photo and current status if they are already in your address book. But now the CTC button will also show the sender's Plaxo Photo even if they are not in your address book as long as that Plaxo member has already given you access to their information.
Also new is clicking on the CTC button which drops down a at-glance view of the contact showing additional details such as title and phone number. How many times have you received an email from someone and wanted to quickly give the person a call? Now the information is just a click away.
We've also added my personal favorite, a "more info..." button. This button opens up the contact's entry within my address book. For me at least, I often wish to reference the notes field for a contact and the "more info..." button makes it much easier to get to this information.
You still can easily add the person to your address book or send them your updated contact details. You'll also find the options to send the person an eCard or get a map or directions to their location.
Note about maps: Due to limitations with Yahoo Maps, the map feature only works for addresses located in the USA, Canada, France, Germany, Italy, Spain, and United Kingdom / England. If the contact includes the appropriate Country within their address information, Plaxo will be able to perform a proper look up via Yahoo Maps.
And now with Plaxo Toolbar for Outlook and Outlook Express v2.7 out the door, Engineering is already hard at work on the next release. We should have some very exciting announcements to make soon so stay tuned...
In case you haven’t heard yet, the new Plaxo-enabled version of AIM (called “Triton”) has now been officially released to the public. Thanks to everyone that participated in the beta program. We encourage everyone to download Triton and let us know what you think!

The Triton release is a really big deal for Plaxo. It’s by far the largest and deepest partner-integration we’ve ever done, and it’s going to result in (among other things) a big increase in the number of Plaxo members. This is great news for everyone that uses Plaxo, because it means you’ll be able to automatically stay in touch with more and more of your friends and colleagues. To make it even easier, you can now get connected with fellow Plaxo members in your address book if you know their e-mail address or AIM Screen Name (previously you could only get connected by e-mail address). So there will be more people to connect with, more ways to get connected, and more places where your contact information follows you around and is always up-to-date.
Plaxo-enabling AIM is also a great step forward in our goal of giving users access to their data in whatever application they use. Just like our IE toolbar and Thunderbird toolbar, the new AIM provides another group of users with the ability to build and maintain a universal address book where they need it most, and it extends the reach and value of everyone that uses Plaxo as part of another app. And just like with all our toolbars, users of the new AIM also get web access to their contacts via Plaxo Online, so you can always look up someone’s info while you’re on the go.
Here are some of the features you’ll notice when you download Triton:
- Triton setup wizard. You can create work and home cards to share with your contacts (including our new, more powerful sharing options), build a universal address book by importing your existing contacts from Outlook, Outlook Express, Hotmail, and Yahoo!, and build your Buddy List by finding all your contacts that have an AIM Screen Name. If you’re already a Plaxo member, you can just attach Triton to your existing account, and it will sync your Plaxo address book with Triton.
Build your Buddy List. This is a really useful feature, especially for people that maintain an address book outside of AIM. Plaxo will look at all the contacts in your address book that have Screen Names (either that you’ve entered or that you’ve received from fellow Plaxo members) and we’ll also look up all AIM members whose Screen Name is linked to an e-mail in your address book. You’ll be surprised how many people you know are on AIM but that you didn’t have in your Buddy List! You can then choose which of those contacts you want to add to your AIM Buddy List. If you’re an existing Plaxo member, you can still run the build Buddy List wizard by launching it from the Edit menu (after you’ve successfully synced your address book the first time).- Integrated Triton UI. Once you get up and running with Triton, you’ll notice that in addition to your Buddy List, you also have an “Addresses” tab that reveals your Plaxo-enabled address book. Here you can look up extra contact info for your buddies and even choose what info you want to share with them. You’ll also notice the familiar Plaxo icons in the address list for contacts that are also using Plaxo or that you’ve sent an update request to. You can also edit your Plaxo cards from within Triton by going to Edit → Edit My Contact Info.
AIM enhancements for Outlook. In addition to the new AIM itself, Triton comes with an optional update to the Plaxo Toolbar for Outlook and Outlook Express. In addition to keeping your Outlook and AIM address books in sync, the primary benefit you’ll notice is AIM presence inside Outlook. Click on the AIM status icon next to the From: in any e-mail you receive and you can IM the person, look up their contact info, and more.- AIM enhancements for Plaxo Online. We’ve also added several AIM-friendly features to our online address book. First off, you can now sign in using your AIM Screen Name, as well as any of your e-mail addresses. Of course, you first have to add your Screen Name to your Plaxo cards (for Triton users, this should happen automatically).
- AIM Mail and AOL Mail. AIM Mail is the new free e-mail service available to all AIM users. When you link you Plaxo account to Triton you Plaxo address book is synced with your AIM Mail or AOL Mail address book. If you use Plaxo with Outlook, Outlook Express, or Thunderbird changes you make in those address books and synced with your AIM mail or AOL mail address book; one Universal Address Book!
We hope everyone will find the Plaxo integration in the new AIM to be useful and fun. As you'll see, Triton greatly expands the number of ways you can stay in contact with your friends and colleagues (im, email, voice, video, etc.) and Plaxo provides you with the contact info you need to take advantage of these new features.
As usual, send us feedback and stay tuned for more to come!
Thanks,
The Plaxo Team
Around every 6-12 months, the Plaxo software autoupgrades to the latest build of the Plaxo client. This is done to provide minor patch fixes, incorporate minor new features, and phase out older versions of the client software that are no longer supported (ie: 0.x)
The autoupgade is rolled out over time, so in the coming weeks, members may notice their Plaxo client prompting them to install the latest version. The upgrade should take about a minute to complete and does not require any further action on the member's part.
The latest version of the Plaxo client being autoupgraded to is version 2.4.x.x.
Members can also manually check if they are running the latest version of Plaxo. You can go to the Plaxo / Help / About Plaxo menu to see if you have the latest version. If you do not have the latest version, you will have the option to upgrade from there as well.
Has anyone checked out the new AIM presence that is available through Plaxo Online!!! AIM presence allows you to quickly determine your contact's current AIM status.
Using the email address of the contact maintained within your Plaxo Address Book, you can quickly see if your buddy is online, idle, mobile, etc... If you also have AIM installed, you can easily connect with them by clicking on the presence icon and sending them a quick instant message.
This was one of many new features announced as part of Plaxo's integration with the Universal Address Book for AIM and AOL users. AIM presence will soon be rolled into the Plaxo toolbar for Outlook and Outlook Express, but this feature is available now through Plaxo Online.
The presence icon honors the AIM Privacy settings of your AIM buddy. If your buddy allow others to look up their online AIM status, you'll be able to see it through Plaxo Online. If not, no status information is displayed.
It's safe, secure, and pretty cool.
To see if any of your contacts are online, log into your Plaxo Online account, go to Contacts, and click on the Names view (https://www.plaxo.com/contact_list?view=0).
'till next time.
Stacy Martin
Plaxo Privacy Officer
privacy @t plaxo.com
CORRECTION (2005-09-13 18:14:56): Engineering informs me that AIM presence shows up on the other Contacts views - not just the Names view. Even better!!!
We've been hard at work improving and extending the Plaxo service and we recently released new versions of both our toolbar for Microsoft Outlook and Outlook Express as well as our web version, Plaxo Online.
In the latest toolbar, we've rehauled the internals to dramatically increase performance and stability. We also added "find as you type" (ala Firefox) to the Update Contacts Wizard. Everyone should upgrade to this version when they get a chance.
In Plaxo Online, we've fixed a number of bugs and improved performance as well. We've also added several new features, some of which we recently announced in our Plaxo Beta Program:
- Birthday reminders - all new members will now receive reminder e-mails a week before anyone in their address book has a birthday coming up. You can click send a free e-card, buy a printed birthday card, or send flowers or gifts through our partners, including Barnes & Noble, RedEnvelope. Best of all, Plaxo can pre-fill the billing and shipping information from your address book (with your permission) so that you don't have to type it in yourself. You can turn off birthday reminders for individuals or altogether—as usual, you are in complete control. Existing users that want to enable birthday reminders should visit their Account Settings and check "E-mail Birthday Reminders" under the notification preferences section.
- Send-to-phone - all members can now use Plaxo Online to send address book entries to their mobile phone without any extra software, cables, or syncing. Simply click "send to phone" next to a contact and it will be sent wirelessly to your phone, where you can accept it and add it to your phone's address book.
- Holiday list maker - If you're planning to send gifts or cards this holiday season, Plaxo can help you build up your holiday recipient list and make sure you have the information you need. Choose people from your address book and we'll list them for you with their mailing addresses. You can edit the addresses yourself or ask the people on your list for an update. Once your list is ready, you can print it as a handy reference. Even better, you can send printed holiday cards to the people on your list, and Plaxo will fill in the addresses so you don't have to write out all the envelopes. You can make your holiday list now or look for the new "Holiday list" button in your Plaxo Online contact list.
- And more - don't forget to check out our new Duplicate Contact Remover and Plaxo Mobile Access, both available inside the Plaxo Beta Program.
We hope you enjoy the new features, as well as the increases in reliability and performance. Many of the features we added and bugs we fixed came from user feedback, which we always appreciate. Please continue to let us know if you encounter any problems or have any suggestions!
Thanks,
The Plaxo Team
We're announcing a deal with Yahoo! today where Plaxo 2.0 (to be released later this month) will feature Yahoo! Search from within the Plaxo Toolbar, inside Outlook and Outlook Express. This is the first time that a major Web search engine will be available from inside Outlook. There are a lot of times when I'm reading something in my inbox and I want to search on it, but right now I have to fire up a Web browser and type in the keywords. Now I can just search directly from within Outlook, without losing the thread of what I'm reading. We plan to offer even tighter integration of search and e-mail in future versions of Plaxo, so this is just the beginning of what we have in mind.
Plaxo 2.0 will also have a bunch of other cool features, so stand by. As always, you can still download Plaxo 1.5 today from our Web site and then upgrade easily (and of course for free) to 2.0 when it's released.
Read the press release at http://www.plaxo.com/about/releases/release-20040513
We just released version 1.5.1 of the Plaxo Outlook and Outlook Express plugin. This release contains some new features as well as numerous bug fixes and performance enhancements.
Some noteworthy changes:
- new "Build Your Address Book" wizard, a power-user feature to automatically add people to your address book that you e-mail frequently
- improved installer is more firewall-friendly and can detect and fix many common installation problems
- you can now send update request e-mails from any of your validated e-mail addresses (previously you could only send from your primary e-mail address)
- Enhanced user interface for synchronization progress dialog and preferences dialog
- fixed a bug where some address data got hidden for outlook express users
- numerous minor bug fixes (many pointed out to us by our users!)
To get the latest version of Plaxo, go to http://www.plaxo.com/downloads and click "Download Plaxo Now". Please post comments if you experience any problems.
Thanks,
The Plaxo Team
Plaxo 1.4 Released
Today we have officially released the version 1.4 of Plaxo Contacts. You can download it from www.plaxo.com/downloads, or if you are an existing user, you will be updated early next year. I'm very excited about this release as it fixes a number of long standing bugs in our synchronization engine. I'm proud to say that the most sophisticated sync product on the Internet is now even better! Specifically, we've made the following improvements:
Folder Support - Plaxo now allows you to upload/manage your contacts on a folder basis. This means that you can ignore folders, change the mappings between local folders and server folders, and basically have more control over what Plaxo is doing. Before 1.4, Plaxo stored your contacts in a flat list, which isn't a sophisticated enough model to allow for good computer-to-computer sync.
New Sync Architecture - Most of the synchronization code has been rewritten, so Plaxo is now much more precise about the way it handles contacts. Pre-1.4, there was a lot of indeterminism about when Plaxo would notice changes and how those changes would get to the server.
Merge - Merge has been completely rewritten in 1.4. You should (almost never) see the dreaded merge dialog, which could result in all sorts of havoc.
These are just the big things. There are a number of minor bug fixes and little features here and there. If you have tried Plaxo in the past to synchronize multiple computers, or as your web address book, you should see remarkable improvements in 1.4. Please try it out and let us know what you think.




