<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>The Big Picture</title>
        <link>http://blogs.3sharp.com/deving/category/25.aspx</link>
        <description>The Big Picture</description>
        <language>en-US</language>
        <copyright>Devin L. Ganger</copyright>
        <managingEditor>deving@3sharp.com</managingEditor>
        <generator>Subtext Version 1.9.5.177</generator>
        <item>
            <title>OCS follows Exchange into 64-bit-only land</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/08/29/ocs-follows-exchange-into-64-bit-only-land.aspx</link>
            <description>&lt;p&gt;You may have missed &lt;a href="http://communicationsserverteam.com/archive/2008/08/29/246.aspx" target="_blank"&gt;this interesting blog post this morning&lt;/a&gt; amidst all the political kerfuffle, so let me sum up: the next version of OCS will only support x64 platforms.&lt;/p&gt;  &lt;p&gt;This isn't the big deal it would have been for OCS 2007. A lot of the initial FUD around the 64-bit-only move in Exchange 2007 turned out to be mere steam. While there were some initial challenges involved in managing the new 64-bit Exchange deployment from 32-bit machines, Microsoft got a lot of the licensing figured out and released the appropriate sets of tools to allow management of Exchange 2007 from both 32-bit and 64-bit environments. I fully expect that the OCS group has been paying close attention to all of this and taken good notes.&lt;/p&gt;  &lt;p&gt;There's no denying that Exchange 2007 benefits from the "64-bit only in production" stance -- and with the release of Windows Server 2008 and Hyper-V, not to mention &lt;a href="http://support.microsoft.com/kb/897615" target="_blank"&gt;Microsoft's updated support statement for virtualization environments&lt;/a&gt;, the need for 32-bit environments is going away. My biggest reason for wanting 32-bit Exchange environments was so I could run demos under Virtual Server; now that I have Hyper-V, I'm probably not in any rush to go back to Virtual Server and the 32-bit limitation. 64-bit hardware is the norm today, and the x64 Windows variants are solid and mainstream enough for my dedicated application servers. (Maybe not so for the desktop quite yet, but still getting there rapidly.)&lt;/p&gt;  &lt;p&gt;The one thing I'm skeptical about, though, is whether the move to 64-bits is really going to reduce the total number of servers in the deployment. In Exchange 2007, I only saw the server reductions in very large environments; the mailbox-per-server gains we got from 64-bits was offset by the explicit breakout of roles and the business needs that drove redundant configurations like CCR (which meant no co-locating roles with the Mailbox role) and multiple HT/CAS servers. I'm wondering how this is going to play out with the next version of OCS, where it already has so many distinct roles in play.&lt;/p&gt;  &lt;p&gt;What I *hope* to see is that the maximum capacity of each server role (such as the number of users per pool or the number of streams per mediation server) can be driven upwards; this makes the large datacenter configuration options much more attractive, because it does translate to a reduced number of servers. However, for organizations that still have relatively low bandwidth separating their various locations, 64-bits won't do much to help; OCS deployment planning is very dependent on bandwidth, and is often the top limit on scalability long before the limits of the 32-bit Windows environment.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4946.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/08/29/ocs-follows-exchange-into-64-bit-only-land.aspx</guid>
            <pubDate>Fri, 29 Aug 2008 20:07:05 GMT</pubDate>
            <wfw:comment>http://blogs.3sharp.com/deving/comments/4946.aspx</wfw:comment>
            <comments>http://blogs.3sharp.com/deving/archive/2008/08/29/ocs-follows-exchange-into-64-bit-only-land.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4946.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4946.aspx</trackback:ping>
        </item>
        <item>
            <title>These are not the solutions you're looking for</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/06/26/these-are-not-the-solutions-youre-looking-for.aspx</link>
            <description>&lt;p&gt;As IT professionals, we are more than often prone to fall to the perils of magical thinking. (I'm sure this is a side-effect of being human, which is a pesky and bothersome condition I will have to do something about one of these days.) &lt;strong&gt;Magical thinking&lt;/strong&gt; in this context is when we have not internalized the intricacies of a problem and instead rely on formulas rather than true understanding to come up with solutions.&lt;/p&gt;  &lt;p&gt;At one ISP I used to work at, we had a glorious reclaimed piece of technology, an Auspex NS-5500 file server. Every now and then on reboot, this old beast of a machine would fail to boot up; the cure was to open the cover over the drive cage and give it a good swift whack. We all assumed that this was because one of the drive connectors was a bit loose, but when our "magic" fix failed to work one night I discovered that it was in fact because one of the screws holding things in place was missing, allowing the drive bay to sag just a tiny bit. It was this tiny bit of sag that put just enough stress on the connector for drive 0. Had we actually opened the case up earlier, we'd have been able to solve the problem -- and prevent a year of whacking the server.&lt;/p&gt;  &lt;p&gt;All too often, I see magical thinking in the field of security. Case in point: I recently heard about a gentleman who has a client that is requesting ETRN support be added back to Exchange 2007, either natively or through an add-on. They want to deploy the Edge role in their DMZ, have it queue up mail for the internal organization, and then have their Hub Transports (in the internal protected network) initiate a connection out to de-queue the messages using the ETRN SMTP extension. The reason they want this is that they've done due diligence and read some very thorough documents about computer network zones and have come to the conclusion that all network connections must be initiated from the most secure network. This, they say, removes the threat of malware taking over the Edge server in the DMZ and allowing an attacker to use it as a launching point to the protected network.&lt;/p&gt;  &lt;p&gt;Now, the recommendation for connections to be initiated from a more secure network to a less secure network is a good general baseline to follow when it makes sense. However, it is not realistic in all cases (if we followed this to the letter, nobody would be able to receive e-mail from external senders except through random polling of Internet SMTP hosts, which is not at all scalable). &lt;strong&gt;This is doubly true if you don't understand how the underlying protocols work.&lt;/strong&gt; Case in point: ETRN, defined by &lt;a href="http://tools.ietf.org/html/rfc1985" target="_blank"&gt;RFC 1985, "SMTP Service Extension for Remote Message Queue Starting"&lt;/a&gt;. Quoting from section 3, "The Remote Queue Processing Declaration service extension" (emphasis added):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;To save money, many small companies want to only maintain transient connections to their service providers.  In addition, there are some situations where the client sites depend on their mail arriving quickly, so forcing the queues on the server belonging to their service provider may be more desirable than waiting for the retry timeout to occur.&lt;/p&gt;    &lt;p&gt;Both of these situations could currently be fixed using the TURN command defined in &lt;a href="http://tools.ietf.org/html/rfc1985#ref-1" target="_blank"&gt;[1]&lt;/a&gt;, if it were not for a large security loophole in the TURN command.  As it stands, the TURN command will reverse the direction of the SMTP connection and assume that the remote host is being honest about what its name is.  The security loophole is that there is no documented stipulation for checking the authenticity of the remote host name, as given in the HELO or EHLO command.  As such, most SMTP and ESMTP implementations do not implement the TURN command to avoid this security loophole.&lt;/p&gt;    &lt;p&gt;This has been addressed in the design of the ETRN command.  This extended turn command was written with the points in the first paragraph in mind, yet paying attention to the problems that currently exist with the TURN command.  &lt;em&gt;&lt;strong&gt;The security loophole is avoided by asking the server to start a new connection aimed at the specified client.&lt;/strong&gt;&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;See the problem? ETRN was not designed to solve a security problem; it was designed to solve a financial problem back in days when always-on bandwidth was a lot more expensive and most ISPs metered traffic. It masquerades as solving a security problem &lt;em&gt;only because it's designed to avoid a loophole in an insecure and exploitable feature.&lt;/em&gt; As a result, ETRN won't solve the problem these people want it to solve; all it does is tell the system in the DMZ to initiate a new connection to the Hub Transport servers. It doesn't reuse the existing connection initiated by the Hub Transport servers. They can't use a firewall rule to block outgoing access from the Edge to the Hub Transport and be safe, because they'll cut off all incoming traffic.&lt;/p&gt;  &lt;p&gt;However, let us for a moment assume that it did work the way they wanted it to: my Hub Transport initiates an outbound SMTP session to the Edge. In this session, HT is the SMTP client, ET is the SMTP server. As soon as HT issues the ETRN command, they still have to swap roles -- HT is now using the SMTP server code paths, while the ET is using the SMTP client code paths. Any theoretical vulnerabilities that are in the HT SMTP implementation are still going to be there, still exposed to the message traffic about to be sent down the connection, still open to exploitation.&lt;/p&gt;  &lt;p&gt;This is the magical thinking: firewalls and a DMZ will protect my traffic. This is not true; firewalls and networks zones are two components of a complete security plan. Neither firewalls nor network zones can protect legitimate traffic, nor are they designed to; they are designed to allow you to designate which traffic is legitimate. If you want to secure that traffic, you need to turn to other measures. &lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4918.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/06/26/these-are-not-the-solutions-youre-looking-for.aspx</guid>
            <pubDate>Fri, 27 Jun 2008 03:18:47 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/06/26/these-are-not-the-solutions-youre-looking-for.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4918.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4918.aspx</trackback:ping>
        </item>
        <item>
            <title>masteringdpm.com back online</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/06/23/masteringdpm.com-back-online.aspx</link>
            <description>&lt;p&gt;Things got hairy enough last week that I forgot to post, but my hosting provider got the problem sorted out and the website is back online.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4917.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/06/23/masteringdpm.com-back-online.aspx</guid>
            <pubDate>Mon, 23 Jun 2008 15:26:49 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/06/23/masteringdpm.com-back-online.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4917.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4917.aspx</trackback:ping>
        </item>
        <item>
            <title>masteringdpm.com temporarily down</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/06/18/masteringdpm.com-temporarily-down.aspx</link>
            <description>&lt;p&gt;If you've tried to get to masteringdpm.com in the past couple of days, you may have gotten a cryptic error message instead of a site with DPM goodness. I'm working with my hosting provider to get it put back up ASAP and will post again once it's back up.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4913.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/06/18/masteringdpm.com-temporarily-down.aspx</guid>
            <pubDate>Wed, 18 Jun 2008 18:43:45 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/06/18/masteringdpm.com-temporarily-down.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4913.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4913.aspx</trackback:ping>
        </item>
        <item>
            <title>Tech-Talk: Making Backups Cool with DPM</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/06/18/tech-talk-making-backups-cool-with-dpm.aspx</link>
            <description>&lt;p&gt;While I was at the Tech-Ed NA IT Pro conference last week, &lt;a href="http://blogs.technet.com/jbuff/" target="_blank"&gt;Jason Buffington&lt;/a&gt; and I took the chance to invade the Tech-Ed Online fishbowl studio and record a quick Tech-Talk on using DPM. You can now view it online on the Tech-Ed &lt;a href="http://technet.microsoft.com/en-us/events/teched/default.aspx" target="_blank"&gt;IT Pro page&lt;/a&gt; and the &lt;a href="http://msdn.microsoft.com/en-us/events/teched/cc676818.aspx" target="_blank"&gt;Library page&lt;/a&gt;, or &lt;a href="http://mfile.akamai.com/14853/wmv/microsofttec.download.akamai.com/14853/TechEdOnline/Videos/08_NA_ITP_techtalk_139_low.asx" target="_blank"&gt;stream it directly&lt;/a&gt;. Now that Tech-Ed's over, maybe we'll both find the time to be on Xbox Live at the same time so we can continue our discussion in Call of Duty 4...&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4912.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/06/18/tech-talk-making-backups-cool-with-dpm.aspx</guid>
            <pubDate>Wed, 18 Jun 2008 17:55:50 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/06/18/tech-talk-making-backups-cool-with-dpm.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4912.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4912.aspx</trackback:ping>
        </item>
        <item>
            <title>Updated Exchange Developer Roadmap</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/06/17/updated-exchange-developer-roadmap.aspx</link>
            <description>&lt;p&gt;To reinforce &lt;a href="http://blogs.3sharp.com/deving/archive/2008/06/16/a-.net-add-on-for-working-with-exchange-web-services.aspx"&gt;yesterday's post about Exchange Web Services (EWS)&lt;/a&gt;, I wanted to draw your attention to the &lt;a href="http://blogs.msdn.com/exchangedev/archive/2008/05/22/exchange-developer-roadmap.aspx" target="_blank"&gt;Exchange Developer Roadmap posted on May 22 2008&lt;/a&gt; on the &lt;a href="http://blogs.msdn.com/exchangedev/default.aspx" target="_blank"&gt;Exchange API-spotting blog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;There shouldn't really be any surprises here, but there were a couple of items I wanted to highlight. First:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Given this commitment to Web services and &lt;strong&gt;our goal of making Exchange Web Services the richest developer interface for Exchange&lt;/strong&gt;&lt;/em&gt;...&lt;strong&gt;&lt;em&gt; &lt;/em&gt;&lt;/strong&gt;(emphasis added)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Next:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Here's a preview of some of the functionality that we plan to add to the next release of Exchange Web Services:&lt;/em&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;em&gt;Access to Folder Associated Items (FAI) and read/write access to user settings &lt;/em&gt;(Devin: &lt;a href="http://msdn.microsoft.com/en-us/library/ms531548(EXCHG.10).aspx" target="_blank"&gt;this page in the MAPI reference&lt;/a&gt; indicates that FAIs are things like views and forms. I believe that this also fixes a known quirk of EWS that keeps you from creating Outlook-visible search folders that use certain property paths. I believe this also gives access to server-side rules, if they're not already accessible through a separate part of the API.)&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Management of Personal Distribution Lists&lt;/em&gt; (Devin: very cool.)&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Throttling capabilities that give Exchange administrators control over system resource consumption&lt;/em&gt; (Devin: this will be very nice for helping keep poorly written applications from taking down the Exchange servers.)&lt;/li&gt;      &lt;li&gt;&lt;em&gt;A powerful and easy-to-use server-to-server authentication model to enable building portals and enterprise mash-ups &lt;/em&gt;(Devin: let's hope this can ease some of the pain of building Exchange-aware SharePoint sites, at least those that don't require direct access to private mailbox content.)&lt;/li&gt;      &lt;li&gt;&lt;em&gt;An easy-to-use Microsoft .NET API that fully wraps the Web service calls, which makes Web service development even easier &lt;/em&gt;(Devin: I'll be interested in seeing how this stacks up against third-party offerings like the &lt;a href="http://www.independentsoft.de/exchangewebservices/index.html" target="_blank"&gt;Independentsoft EWS client offering&lt;/a&gt;.)&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;Then they go on to list the APIs that will get removed (Exchange WebDAV, Store Events, CDO 3.0/CDOEx, and ExOLEDB) and moved to "extended support" (Exchange Server MAPI Client, CDO 1.2.1). Don't get too excited by the MAPI client -- it's not what you think:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Provides server applications a MAPI runtime for accessing Exchange.  &lt;/p&gt;    &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This is not the Outlook MAPI Client library that is included with Outlook.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;and&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Outlook's Exchange MAPI Store provider, available in the Outlook MAPI Client library can also be used to access an Exchange mailbox or public folder.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you're going to start writing Exchange-aware applications, you should probably start looking at EWS first for future compatibility. If you're trying to support Exchange 2003 at the same time...good luck.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4910.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/06/17/updated-exchange-developer-roadmap.aspx</guid>
            <pubDate>Tue, 17 Jun 2008 19:43:45 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/06/17/updated-exchange-developer-roadmap.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4910.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4910.aspx</trackback:ping>
        </item>
        <item>
            <title>3Sharp, Podcasting, and You</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/06/09/3sharp-podcasting-and-you.aspx</link>
            <description>&lt;p&gt;The talented people at 3Sharp are one of the best reasons to work here. Our Platforms Group is just one piece of the pie here; we've got some top-tier development talent who can make SharePoint stand up and dance. Those guys down the hall have been working hard on a little surprise they like to call the &lt;strong&gt;&lt;a target="_blank" href="http://www.codeplex.com/pks"&gt;Podcasting Kit for SharePoint&lt;/a&gt;&lt;/strong&gt;, which Microsoft has just released on &lt;a target="_blank" href="http://www.codeplex.com/"&gt;Codeplex&lt;/a&gt; as indicated in their &lt;a target="_blank" href="http://www.webwire.com/ViewPressRel.asp?aId=67370"&gt;press release&lt;/a&gt;. 3Sharpies &lt;a target="_blank" href="http://blogs.3sharp.com/johnp/archive/2008/06/09/pks.aspx"&gt;John Peltonen&lt;/a&gt;, &lt;a target="_blank" href="http://blogs.3sharp.com/davidg/archive/2008/06/09/4904.aspx"&gt;David Gerhardt&lt;/a&gt;, and &lt;a target="_blank" href="http://www.robichaux.net/blog/2008/06/podcasting-kit-for-sharepoint-goes-live.php"&gt;Paul Robichaux&lt;/a&gt; are also blogging about it, so if you’re interested, check them out.&lt;/p&gt;
&lt;p&gt;I've been hearing bits and pieces, but last week I got to sit down and take a good look at what they're doing. Wow. This is some cool stuff that is going to make sharing podcasts, video talks, and other knowledge sharing content a lot easier. I can't wait until I can start using it; I've already lined up some content that I can put up and I'm already thinking of some more I can do.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4905.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/06/09/3sharp-podcasting-and-you.aspx</guid>
            <pubDate>Mon, 09 Jun 2008 18:25:11 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/06/09/3sharp-podcasting-and-you.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4905.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4905.aspx</trackback:ping>
        </item>
        <item>
            <title>All purchases should be this easy</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/06/09/all-purchases-should-be-this-easy.aspx</link>
            <description>&lt;p&gt;If you haven't seen me in person recently, you may not realize I'm a heretic. Yes, that's right -- I use an Apple 15" MacBook Pro with Vista as my laptop. It took some jiggling to get it all working -- an upgrade to Leopard (OS X 10.5) for the final release of BootCamp, an upgrade to Vista SP1, and finding a stable version of the Atheros wireless drivers -- but it's now reliable and fast.&lt;/p&gt;  &lt;p&gt;There are some downsides to this particular laptop. It's only gives me 2GB of RAM, which means that I can't run a typical VM configuration (DC, DPM, Exchange) and still have enough power to run PowerPoint like I could under XP. The battery life is okay but not great; I run out on long flights.&lt;/p&gt;  &lt;p&gt;I'm off to Tech-Ed this week, so I stopped by the Apple store in Bellevue Square Sunday to pick up a spare battery for the flight. I've had bad experiences at this store in the past; I don't give off the right vibe(or maybe I just look light a tightwad) and can't get seem to get the attention of the staff. I took a chance, though, and walked in the store.&lt;/p&gt;  &lt;p&gt;This time, my customer service experience was great. I caught the eye of Associate 1; although he was busy with another customer, he called for help; I didn't even see him do it. A minute later, Associate 2 walks up to me. "I understand you're looking for a 15" MacBook Pro battery." Pleasantly shocked, I followed him over to the appropriate shelf and soon had the battery in hand. "Is there anything else I can help you with, or are you ready to check out?"&lt;/p&gt;  &lt;p&gt;If you've not been into an Apple store recently, they're doing something absolutely sweet. Each customer service associate has a hip-mounted scanner/cardreader. They scan your merchandise on the spot, take and run your credit card, and ask you for an email address to send the receipt to. Boom -- it's all done, your card is charged, and you don't have to stand in line at the counter unless you're doing cash or check. This is a great concept I'd love to see other stores use. My receipt hit my Exchange account (and thus my Windows Mobile phone) as I was walking out of the store.&lt;/p&gt;  &lt;p&gt;I love living in the future.&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4903.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/06/09/all-purchases-should-be-this-easy.aspx</guid>
            <pubDate>Mon, 09 Jun 2008 17:45:18 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/06/09/all-purchases-should-be-this-easy.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4903.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4903.aspx</trackback:ping>
        </item>
        <item>
            <title>Doing UC in the Pacific Northwest</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/05/06/doing-uc-in-the-pacific-northwest.aspx</link>
            <description>&lt;p&gt;I've been sitting on a cool announcement for several days now, and I'm happy that it's now time to announce it.&lt;/p&gt;  &lt;p&gt;I've been working with a group of people to get a new user group for Unified Communications (UC) put together here in the Pacific Northwest. While all of us are here in the Puget Sound area, our goal is to put in place a framework to empower a variety of events and meetings all throughout the region, not just based here in Seattle. Rather than be a typical boring user group with a jawbreaking acronym (PNWUCUG, which we do use), we're defining ourselves as people who do UC. This gives us a simpler name -- &lt;a href="http://www.ucdoers.org/" target="_blank"&gt;We do UC&lt;/a&gt;, hosted at &lt;a href="http://ucdoers.org/" target="_blank"&gt;ucdoers.org&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;From our website:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;We are the Pacific Northwest Unified Communications User Group (PNWUCUG) and we have a passion for UC. If you are one of the following, you could be one of us:&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;&lt;strong&gt;IT professionals&lt;/strong&gt; in the Pacific Northwest who design, deploy, or manage Exchange Server, Live Communications Server, and Office Communications Server systems. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;&lt;strong&gt;Developers&lt;/strong&gt; who write or maintain solutions that integrate, extend, or provide UC capabilities to Exchange Server, Live Communications Server, and Office Communications Server and clients. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;&lt;strong&gt;Industry experts&lt;/strong&gt; with a recognized expertise in UC. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;&lt;strong&gt;Hobbyists&lt;/strong&gt; who are exploring Microsoft-based UC solutions.&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One thing that's important for me to clarify -- my vision of this user group (which is echoed by the other folks who are getting it off the ground) is that it exists to support all Exchange, LCS, and OCS users, not just people running 2007 and doing the VoIP stuff. We may have a focus on UC, but that's mainly to align ourselves with the direction Microsoft is taking these products. If you're using Exchange, we want you to participate; we want to make sure we have content for you.&lt;/p&gt;  &lt;p&gt;So, if this sounds like goodness to you, head on over to the blog for &lt;a href="http://ucdoers.org/blogs/sample_weblog/archive/2008/05/06/kick-off-pnwucug-meeting-set-for-wednesday-may-28th.aspx" target="_blank"&gt;the announcement of our May 28th kick-off meeting at The Parlor Billiards &amp;amp; Spirits in Bellevue, WA&lt;/a&gt;. For those of you who can't be there in person, we're even going to have a Live Meeting feed for you -- how cool is that?&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4895.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/05/06/doing-uc-in-the-pacific-northwest.aspx</guid>
            <pubDate>Tue, 06 May 2008 17:19:34 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/05/06/doing-uc-in-the-pacific-northwest.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4895.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4895.aspx</trackback:ping>
        </item>
        <item>
            <title>Exchange protocol documentation now available</title>
            <link>http://blogs.3sharp.com/deving/archive/2008/04/10/exchange-protocol-documentation-now-available.aspx</link>
            <description>&lt;p&gt;Per &lt;a target="_blank" href="http://msexchangeteam.com/archive/2008/04/08/448650.aspx"&gt;the announcement&lt;/a&gt; on Tuesday (08 Apr), Microsoft has released a lot of new documentation for various Exchange and Outlook-Exchange protocols. This is some cool stuff -- just check out the list of what's available. However, as the web site warns, it's preliminary documentation. If you don't believe them, when you download the files (available in PDF format) the big fat "PRELIMINARY" watermark (in very bold font) will help remind you.&lt;em&gt;[1]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I can already hear some of you out there: "So Microsoft released documentation on obscure or unimportant Exchange protocols. Big deal. I bet they've saved all the good stuff for licensing!" Well, I'm not going to deny that this is a complete set of documentation for every Exchange protocol you might ever want to know about -- after all, Microsoft &lt;em&gt;is a company who believes in the value of intellectual property&lt;/em&gt;. They've kinda built a business plan around it, and it's both foolish and naive to somehow assume that they're just going to toss all of that overboard overnight. It's not even reasonable to expect them to completely abandon that position; it's an arguable proposition that Open Source principles work best in conjunction with an IP scheme that permits open licensing when the developers feel invested in doing so, alongside more restrictive licensing schemes. But that's a religious argument for another day.&lt;/p&gt;
&lt;p&gt;This will be a long post. I'm going to split it into three sections: Appetizers, Main Course, and What's Missing.&lt;/p&gt;
&lt;h2&gt;Section 1: Appetizers&lt;/h2&gt;
&lt;p&gt;First, we have some housekeeping and overview documents and protocols:&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="500" border="1"&gt;
    &lt;thead&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;
            &lt;td valign="top"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-CAB&lt;/td&gt;
            &lt;td valign="top"&gt;Cabinet File Format&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-MCI&lt;/td&gt;
            &lt;td valign="top"&gt;MCI Compression and Decompression&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXDOCO&lt;/td&gt;
            &lt;td valign="top"&gt;Outlook-Exchange Protocol Document Roadmap&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXGLOS&lt;/td&gt;
            &lt;td valign="top"&gt;Office Exchange Protocols Master Glossary&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXPROTO&lt;/td&gt;
            &lt;td valign="top"&gt;Office Exchange Protocols Overview&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXREF&lt;/td&gt;
            &lt;td valign="top"&gt;Office Exchange Protocols Master Reference&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-PATCH&lt;/td&gt;
            &lt;td valign="top"&gt;LZX DELTA Compression and Decompression&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You may have noticed that these documents include a few things that aren't strictly Exchange or Outlook-specific, such as the CAB file format and various compression protocols. Just remember that the Exchange protocol documentation is part of a wider set of &lt;a target="_blank" href="http://www.microsoft.com/interop/principles/default.mspx"&gt;Interoperability Principles&lt;/a&gt;, and so it depends on technologies that are part of the more generic set of Windows technologies.&lt;/p&gt;
&lt;h2&gt;Section 2: Main Course&lt;/h2&gt;
&lt;p&gt;Okay, with roadmaps and preliminaries out of the way, let's take a look at the meat:&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="500" border="1"&gt;
    &lt;thead&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;
            &lt;td valign="top"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-NSPI&lt;/td&gt;
            &lt;td valign="top"&gt;Name Service Provider Interface (NSPI) Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXABREF&lt;/td&gt;
            &lt;td valign="top"&gt;Address Book Name Service Provider Interface (NSPI) Referral Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXBBODY&lt;/td&gt;
            &lt;td valign="top"&gt;Best Body Retrieval Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCDATA&lt;/td&gt;
            &lt;td valign="top"&gt;Data Structures Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCETF&lt;/td&gt;
            &lt;td valign="top"&gt;Enriched Text Format (ETF) Message Body Conversion Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCFOLD&lt;/td&gt;
            &lt;td valign="top"&gt;Folder Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCFXICS&lt;/td&gt;
            &lt;td valign="top"&gt;Bulk Data Transfer Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCICAL&lt;/td&gt;
            &lt;td valign="top"&gt;iCalendar to Appointment Object Conversion Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCMAIL&lt;/td&gt;
            &lt;td valign="top"&gt;RFC2822 and MIME to E-mail Object Conversion Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCMSG&lt;/td&gt;
            &lt;td valign="top"&gt;Message and Attachment Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCNOTIF&lt;/td&gt;
            &lt;td valign="top"&gt;Core Notifications Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCPERM&lt;/td&gt;
            &lt;td valign="top"&gt;Exchange Access and Operation Permissions Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCPRPT&lt;/td&gt;
            &lt;td valign="top"&gt;Property and Stream Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCROPS&lt;/td&gt;
            &lt;td valign="top"&gt;Remote Operations (ROP) List and Encoding Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCRPC&lt;/td&gt;
            &lt;td valign="top"&gt;Wire Format Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCSPAM&lt;/td&gt;
            &lt;td valign="top"&gt;Spam Confidence Level, Allow and Block Lists Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCSTOR&lt;/td&gt;
            &lt;td valign="top"&gt;Store Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCSYNC&lt;/td&gt;
            &lt;td valign="top"&gt;Mailbox Synchronization Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXCTABL&lt;/td&gt;
            &lt;td valign="top"&gt;Table Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXDISCO&lt;/td&gt;
            &lt;td valign="top"&gt;Autodiscover HTTP Service Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXDSCLI&lt;/td&gt;
            &lt;td valign="top"&gt;Autodiscover Publishing and Lookup Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXIMAP4&lt;/td&gt;
            &lt;td valign="top"&gt;Internet Message Access Protocol Version 4 (IMAP4) Extensions Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXLDAP&lt;/td&gt;
            &lt;td valign="top"&gt;Lightweight Directory Access Protocol (LDAP) Version 3 Extensions Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXMSG&lt;/td&gt;
            &lt;td valign="top"&gt;.MSG File Format Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXMVMBX&lt;/td&gt;
            &lt;td valign="top"&gt;Mailbox Migration Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOAB&lt;/td&gt;
            &lt;td valign="top"&gt;Offline Address Book (OAB) Format and Schema Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOABK&lt;/td&gt;
            &lt;td valign="top"&gt;Address Book Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOABKT&lt;/td&gt;
            &lt;td valign="top"&gt;Address Book User Interface Templates Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOCAL&lt;/td&gt;
            &lt;td valign="top"&gt;Appointment and Meeting Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOCFG&lt;/td&gt;
            &lt;td valign="top"&gt;Configuration Information Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOCNTC&lt;/td&gt;
            &lt;td valign="top"&gt;Contact Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXODLGT&lt;/td&gt;
            &lt;td valign="top"&gt;Delegate Access Configuration Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXODOC&lt;/td&gt;
            &lt;td valign="top"&gt;Document Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOFLAG&lt;/td&gt;
            &lt;td valign="top"&gt;Informational Flagging Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOJRNL&lt;/td&gt;
            &lt;td valign="top"&gt;Journal Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOMSG&lt;/td&gt;
            &lt;td valign="top"&gt;E-mail Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXONOTE&lt;/td&gt;
            &lt;td valign="top"&gt;Note Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOPFFB&lt;/td&gt;
            &lt;td valign="top"&gt;Public Folder Based Free/Busy Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOPOST&lt;/td&gt;
            &lt;td valign="top"&gt;Post Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXORMDR&lt;/td&gt;
            &lt;td valign="top"&gt;Reminder Settings Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXORMMS&lt;/td&gt;
            &lt;td valign="top"&gt;Rights-Managed E-mail Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXORSS&lt;/td&gt;
            &lt;td valign="top"&gt;RSS Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXORULE&lt;/td&gt;
            &lt;td valign="top"&gt;E-mail Rules Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOSFLD&lt;/td&gt;
            &lt;td valign="top"&gt;Special Folders Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOSMIME&lt;/td&gt;
            &lt;td valign="top"&gt;S/MIME E-mail Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOSMMS&lt;/td&gt;
            &lt;td valign="top"&gt;SMS and MMS Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOSRCH&lt;/td&gt;
            &lt;td valign="top"&gt;Search Folder List Configuration Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOTASK&lt;/td&gt;
            &lt;td valign="top"&gt;Task-Related Objects Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXOUM&lt;/td&gt;
            &lt;td valign="top"&gt;Voice Mail and Fax Objects Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXPFOAB&lt;/td&gt;
            &lt;td valign="top"&gt;Offline Address Book (OAB) Public Folder Retrieval Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXPHISH&lt;/td&gt;
            &lt;td valign="top"&gt;Phishing Warning Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXPOP3&lt;/td&gt;
            &lt;td valign="top"&gt;Post Office Protocol Version 3 (POP3) Extensions Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXPROPS&lt;/td&gt;
            &lt;td valign="top"&gt;Office Exchange Protocols Master Property List Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXPSVAL&lt;/td&gt;
            &lt;td valign="top"&gt;E-mail Postmark Validation Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXRTFCP&lt;/td&gt;
            &lt;td valign="top"&gt;Rich Text Format (RTF) Compression Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXRTFEX&lt;/td&gt;
            &lt;td valign="top"&gt;Rich Text Format (RTF) Extensions Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXSHARE&lt;/td&gt;
            &lt;td valign="top"&gt;Sharing Message Object Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXSMTP&lt;/td&gt;
            &lt;td valign="top"&gt;Simple Mail Transfer Protocol (STMP) Mail Submission Extensions Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXTNEF&lt;/td&gt;
            &lt;td valign="top"&gt;Transport Neutral Encapsulation Format (TNEF) Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXWAVLS&lt;/td&gt;
            &lt;td valign="top"&gt;Availability Web Service Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXWOAB&lt;/td&gt;
            &lt;td valign="top"&gt;Offline Address Book (OAB) Retrieval Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXWOOF&lt;/td&gt;
            &lt;td valign="top"&gt;Out of Office (OOF) Web Service Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-OXWUMS&lt;/td&gt;
            &lt;td valign="top"&gt;Voice Mail Settings Web Service Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-XJRNL&lt;/td&gt;
            &lt;td valign="top"&gt;Journal Record Message Format Protocol Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-XLOGIN&lt;/td&gt;
            &lt;td valign="top"&gt;SMTP Protocol AUTH LOGIN Extension Specification&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="100"&gt;MS-XWDVSEC&lt;/td&gt;
            &lt;td valign="top"&gt;Web Distributed Authoring and Versioning (WebDAV) Protocol Security Descriptor Extensions Specification&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On first glance, that's an impressive list. NSPIs, S/MIME, SMTP and POP3 extensions, RTF extensions, TNEF -- the list goes on. There's a lot of seriously crunchy material here. The question of the moment, though, is "just how detailed is all this documentation?"&lt;/p&gt;
&lt;p&gt;Good question.&lt;/p&gt;
&lt;p&gt;I haven't had time to look through it all in a lot of detail. To be honest, I suspect that a lot of it is in areas that I wouldn't be able to catch any glaring omissions or discrepancies (sorry, readers, I'm just not up on the latest specs for RTF). However, I did take a quick look through MS-XLOGIN, "SMTP Protocol AUTH LOGIN Extension Specification"&lt;em&gt;[2]&lt;/em&gt;, since I'm reasonably familiar with SMTP.&lt;/p&gt;
&lt;p&gt;Let me skip to the chase: yup, this is preliminary work. On whole, it does a good job of documenting the flow of the LOGIN extension (which people have already mostly figured out how it works through years of careful protocol analysis). The most complicated part of it is that you're using Base64 to encode the credentials being passed -- not rocket science. However, there are some gaps in this straightforward documentation:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Nowhere did I find any guidance on what the user and passwords challenges are supposed to be computed on (only that they are to be Base64 encoded). This makes it more difficult to properly code a LOGIN implementation. &lt;/li&gt;
    &lt;li&gt;The samples they gave look like valid Base64, but according to my quick conversion tests in PowerShell, they aren't. I can't get any of the sample values to match what they should. Again, this means I can't work backwards to get the missing data. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I really hope this is the kind of stuff they're going to fix between this release and the final release, because without it, this documentation isn't nearly as useful as it could be. Some would even accuse it of being provided merely to give the appearance of interoperability while still keeping enough implementation details close to the chest to keep it from really happening. I, however, subscribe to the philosophy that one should never initially ascribe to malice what can be explained through other possibilities -- and I've done enough work on these sorts of projects to know that getting the right level of detail in a document like this is far from a no-brainer, especially if you're dealing with contractors or are having to generate the documentation after the fact. (I don't know that either of these possibilities are involved, but I'm guessing.)&lt;/p&gt;
&lt;h2&gt;Section 3: What's Missing&lt;/h2&gt;
&lt;p&gt;There are three obvious protocols missing in all of the above: MAPI, MAPI over RPC over HTTP, and Exchange ActiveSync. I can hear the screams now...but this is where I go back to the point that Microsoft still makes money from intellectual property. Microsoft's Web site offers a &lt;a target="_blank" href="http://www.microsoft.com/about/legal/intellectualproperty/search/results.mspx?techType=Interoperate%20-%20Both&amp;amp;ipCat=Any&amp;amp;feeStructure=Any&amp;amp;keywords="&gt;searchable IP Catalog&lt;/a&gt; that shows you exactly which protocols they offer for a licensing fee, and both MAPI (aka the &lt;em&gt;Outlook Exchange Transport Protocol&lt;/em&gt;) and Exchange ActiveSync &lt;a target="_blank" href="http://www.microsoft.com/about/legal/intellectualproperty/protocols/easp.mspx"&gt;are on it&lt;/a&gt;, as well as several other important protocols for Unified Communications. Microsoft is under no obligation to make every single protocol available for free -- but the fact that they're finding value in doing it with the above protocols is pretty cool and interesting. &lt;em&gt;[3]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;[1]&lt;/strong&gt; If the watermark bugs you, try seeing if your PDF client will allow you to view or print the document without annotations. Using Foxit Reader, I was able to make the watermark go away and actually read some of the text it obscured.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;[2]&lt;/strong&gt; SMTP Protocol? Seriously? Is that like PIN number or ATM machine? Attention, Microsoft technical writers: P stands for Protocol.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;[3]&lt;/strong&gt; You're free to speculate on what value they get, but not here, please. That's another religious discussion.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.3sharp.com/deving/aggbug/4885.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin L. Ganger</dc:creator>
            <guid>http://blogs.3sharp.com/deving/archive/2008/04/10/exchange-protocol-documentation-now-available.aspx</guid>
            <pubDate>Fri, 11 Apr 2008 02:21:31 GMT</pubDate>
            <comments>http://blogs.3sharp.com/deving/archive/2008/04/10/exchange-protocol-documentation-now-available.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.3sharp.com/deving/comments/commentRss/4885.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.3sharp.com/deving/services/trackbacks/4885.aspx</trackback:ping>
        </item>
    </channel>
</rss>