Microsoft

Microsoft Office 2008 Service Pack 1 released

Microsoft released Service Pack 1 to update Office 2008 for Macintosh on Tuesday, May 13. The update makes a significant number of changes — spread across Entourage, Word, Excel, and PowerPoint — so if you are a system administrator, I would recommend examining the full description of Office 2008 for Mac Service Pack 1 (12.1.0) in its release notes.

The update is downloadable via Microsoft AutoUpdate (invoke that helper program with Help > Check for Updates in any of the Office applications, or look inside /Library/Application Support/Microsoft in the file system) as well as the Microsoft Office for Mac Web site.

Example of mismatched UIDs between a calendar event and cancellation in Microsoft Entourage

I had a good example today of how mismatched UIDs between Exchange meeting updates and existing events can affect Microsoft Entourage’s processing of those incoming updates.

I used the same drag-and-drop-to-export methodology as in my previous article. The iCalendar .ics file for the existing event that I dropped out of my Entourage calendar contained these unique identifiers:

UID:CD0000008B9511D182D800C04FB1625D717DE62091129A469FCB6E9EDDBF2075
X-ENTOURAGE_UUID:D26822E7-E4B7-49BB-9284-B18A2D42B77F

The e-mail cancellation from the meeting organizer, when dropped into the Finder as a .eml file, had the following unique identifiers:

UID:A449CD26-8099-11DC-8144-000393C78A56
X-ENTOURAGE_UUID:A449CD26-0991-DC81-4000-93C78A560000

As we can see, even though these were supposedly for the same event, neither the UID nor the X-ENTOURAGE_UUID properties matched. I emphasize the UID property because, as per my post on matching UIDs between Exchange meeting updates and existing events in Microsoft Entourage, I believe it to be the most important.

Both I and the meeting organizer are Entourage users in this case. That may be why both the event and the cancellation had X-ENTOURAGE_UUID properties at all. The UID property has appeared consistently for me in both events and their updates, no matter what their source.

Because of the discrepancy between unique identifiers, Entourage apparently couldn’t determine whether the cancellation was for the event that existed in my calendar. When Entourage “processed” the cancellation, it removed nothing from my calendar.

This seems entirely reasonable, although I would personally like Entourage to do deeper matching if it could: how about “is there an existing event by the same organizer and/or with the same name at the time of the update or cancellation?” Matching UIDs has got to be simpler.

How does this happen? Well, for me, it could have happened any number of ways: There could have been a past error when:

  • Entourage was trying to synchronize to my Exchange account
  • my Entourage calendar was synchronizing with Sync Services on Tiger or Leopard
  • Missing Sync for Palm OS, which I use with my Palm Treo 650, was performing its synchronization with Sync Services on Tiger or Leopard
  • I was using Microsoft Outlook in cached mode with my Exchange account
  • I used Duplicate Killer for Outlook from 4Team to remove massive numbers of duplicate calendar entries from my Outlook/Exchange calendar (which could have resulted in the loss of events with their original UIDs).

As far as I can determine, when you have data synchronization problems, you’re going to have one of the following outcomes:

  • data is added
  • data is deleted
  • data is modified
  • nothing happens.

Not all of these are pleasant, mind you — and that can depend on the circumstances involved. Deleting data is perfectly acceptable in some scenarios where it needed to be removed, but not others where it means it has just been lost. Adding data is great, unless it results in unwanted duplicates.

Anyway, I hope this helps you understand how Microsoft Entourage works a bit better.

Matching UIDs between Exchange meeting updates and existing events in Microsoft Entourage

When Microsoft Entourage is handling meeting updates or cancellations between Exchange users, it’s critically important that it can match up the change to an event with the correct event in a calendar. It does so by comparing unique identifiers between the update/cancellation message and existing calendar events. As nearly as I can tell, this depends on having the right UID, which makes sense.

How can you see the UID for events? Drag the event from an Entourage calendar to a Finder window, where it will become an vCalendar/iCalendar-formatted file with a .ics extension. You can open the resulting file in a text editor. Here’s a sample from a repeating event in an Entourage calendar, with the UID highlighted:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Microsoft Corporation//Entourage Mac 11.0 MIMEDIR//EN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:GMT -0500 (Standard) / GMT -0400 (Daylight)
X-ENTOURAGE-CFTIMEZONE:
BEGIN:STANDARD
TZNAME:Standard Time
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
DTSTART:16010101T020000
END:STANDARD
BEGIN:DAYLIGHT
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:16010101T020000
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:040000008200E00074C5B7101A82E00800000000D0172C9CE47DC801000000000000000010000000C131C7E01B61184999585795596672E0
X-ENTOURAGE_UUID:37656211-A6ED-4E37-99D2-BAD25704AF63
DTSTAMP:20080304T160415Z
DTSTART;TZID="GMT -0500 (Standard) / GMT -0400 (Daylight)":20080305T100000
DTEND;TZID="GMT -0500 (Standard) / GMT -0400 (Daylight)":20080305T113000
LAST-MODIFIED:20080304T160433Z
… [snip]

Similarly, you can drag and drop a proposed change to an event, which is received by e-mail (because Exchange is largely an e-mail based — rather than a network-based — calendar system), to the Finder. This will save the message as the text source of the e-mail, with a .eml extension. That file can also be opened in a text editor, where you can see that it contains a siginficant amount of vCalendar/iCalendar data. Here’s a sample cancellation notice that removes one instance of the recurring event from Entourage — for reference, not the instance shown above, but another one from the same sequence:

BEGIN:VCALENDAR
METHOD:CANCEL
PRODID:Microsoft CDO for Microsoft Exchange
VERSION:2.0
BEGIN:VTIMEZONE
TZID:GMT -0500 (Standard) / GMT -0400 (Daylight)
BEGIN:STANDARD
DTSTART:16010101T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
X-MICROSOFT-CDO-MODPROPS;X-MODPARAM=1:attendee,BEGIN,class,created,description,dtend,dtstamp,dtstart,duration,END,last-modified,location,organizer,priority,recurrence-id,sequence,status,summary,transp,uid,x-microsoft-cdo-alldayevent,x-microsoft-cdo-apptsequence,x-microsoft-cdo-attendee-critical-change,x-microsoft-cdo-busystatus,x-microsoft-cdo-importance,x-microsoft-cdo-insttype,x-microsoft-cdo-intendedstatus,x-microsoft-cdo-owner-critical-change,x-microsoft-cdo-ownerapptid
DTSTAMP:20080422T194244Z
DTSTART;TZID="GMT -0500 (Standard) / GMT -0400 (Daylight)":20080423T100000
UID:040000008200E00074C5B7101A82E00800000000D0172C9CE47DC801000000000000000010000000C131C7E01B61184999585795596672E0
… [snip]

Note that the UID properties match.

If you are troubleshooting a problem where an update/cancellation does not modify an existing event as you expected, and the UIDs of each do not match, that’s probably the source of your problem. Of course, you still have to figure out why the UIDs don’t match. In that case, I’d personally start by looking at what other synchronization software (besides Entourage’s own Exchange sync) and devices are involved.

Inside Entourage by Amir: How Does Entourage Work?

Amir’s post about how How Does Entourage Work? is certainly welcome. It outlines, service by service, how Entourage communicates with an Exchange server. It documents the basic traffic, ports used and protocol security.

This sort of thing really should have been part of the documentation for Microsoft Entourage 2004 — at least SP2 in September 2005 — but no matter the timing, it’s extremely useful information now. It explains to both tech support staff and Exchange administrators how Entourage conducts Exchange transactions. It also clears up misconceptions that I’ve come across on the Web, in forums, and in person.

An OS for the next twenty years, a year or so at a time

MacNN notes Apple’s CEO in Decade of Mac OS upgrades likely (it’s easier to link to MacNN than the original NYT article), commenting that Mac OS X Leopard will form the basis for the next ten years of operating systems upgrade. I remember Mac OS X being announced — not sure if this was at a WWDC or Macworld keynote — as “the next twenty years” of Apple operating systems. We’re basically ten years out from the NeXT acquisition of Apple acquisition of NeXT.

He says “I’m quite pleased with the pace of new operating systems every 12 to 18 months for the foreseeable future,” wherein we see again that Apple considers the Intel version of Mac OS X to be a major release of Mac OS X. That’s fine, I’m sure it took a lot of effort and it has definitely had an impact. Otherwise, accounting for the 910 days between the debuts of Leopard and Tiger would mean that Apple isn’t sticking to a 12- to 18-month release schedule.

I think, by this logic, it’s entirely reasonable for Microsoft to consider Windows XP SP2, XP 64-bit, XP Tablet Edition, XP Media Center Edition, and all of Windows Vista to be major releases. It’s only fair. Sure, it took them a long time to release an upgrade to the original Windows XP, but it’s not like they’ve sat idle without releasing anything new at all between 2002 and 2007.

Flood Control Dam Number 3

Tuesday night, I got to spend some quality time with my brother, running through Halo 3 in cooperative mode. It’s a tradition; we’ve played the other two this way.

This time, I was the Arbiter; when you’re playing co-op in Halo 3, you aren’t both the Master Chief.

We made it just past the first encounter with the Flood. Man, I hate the Flood. So creepy. It’s too bad Aaron will be away this weekend.

Looking at the Halo 3 site, I found that wow, they spent the three years since Halo 2 making a giant diorama!

Inside CNET Labs: Windows virtual machine performance on the Mac

Inside CNET Labs: Windows virtual machine performance on the Mac examines how well Apple Boot Camp (i.e. “running Windows”), VMWare Fusion 1.0, Parallels Desktop 3.0, and CrossOver Office compare against running Microsoft Windows. Oh, and they also throw in a performance comparison of the same software running on Mac OS X, if it can.

Performance comparisons are important, even if this one is perhaps a little frivolous — and explained in a somewhat silly fashion. I feel like I’d be more likely to trust a different source, such as Ars Technica or XLR8YourMac.com or BareFeats.com after reading this article, despite its utility.

This is partly because I wonder what they really tested. One question I have for CNET’s “Crave: The gadget blog” people: how did they get an eight-core 2.66 GHz Mac Pro? Last I checked, Apple only sells the eight-core model in a 3.0 GHz version. The 2.0, 2.66, and lower-end 3.0 GHz systems all have a maximum of four cores (all using dual-core Xeon CPUs).

[Via Daring Fireball.]

Update: Curtis, ever-vigilant (but without a URL known to me, so he gets no link), points out via IM that CNET apparently tricked out their Mac Pro with quad core CPUs back in November 2006. We call them jerks. What do you say?

Lock your S-icons into automation position

It struck me today that when running Entourage, I have two script menus. One is specific to Entourage, the other is for the optional — but handy — system-wide Script menu. Yet both have the same icon — the stylized black and white paper-rolled-into-an-S icon — in my menu bar.

The app-specific script menu was probably more common in classic Mac OS days than it is under Mac OS X. (But yet, as I type this, I noticed that MarsEdit has its own script menu, too. I think that just shows how wired into classic’s scripting Brent Simmons was — I mean, he worked on UserLand Frontier, the original scripting environment for the Mac.)

Ah, I just wish the two menus could be one and the same. If Entourage (or any other application) detected that you had the system’s Script menu enabled, it ought to just turn its own off in favor of the system menu. Or maybe the system-wide menu could show the app-specific scripts first, so that they are always in a known location (top of list, right side of menu bar), and take over the function of the application’s scripting menu. Or, they could just have two different icons, or one could be an icon while the other was text, or whatever.

Is Entourage a client that doesn’t suck?

In reviewing Jesper’s list of requirements for The Email Client That Doesn’t Suck, I was somewhat surprised how many of his points are already handled by Microsoft Entourage 2004.

I’d give it 19 out of 26 points. There are some places where I’m being charitable towards Entourage, partly because it can support the requirement with a little work (which does not always mean scripting — and it should be noted that Entourage is very scriptable) or I didn’t understand what Jesper meant by the requirement.

Many Mac users discount Entourage. There are a couple of reasons that may be cited:

  • Microsoft bundles it with Office 2004, so you have to buy it along with a lot of other software in order to get it. That costs more than a standalone client, even if you’re eligible for the $149 Student and Teacher Edition (which is often discounted even more).
  • It’s not Universal yet, so it works natively only on PowerPC Macs. It requires Rosetta on Intel Macs today. (But Microsoft has announced that the next version of Office will be Universal.)
  • It comes from Microsoft, so it must be evil somehow.
  • It has a custom monolithic database for its backend. This predates any of Apple’s Core Data-type development. It can be a completely valid issue for some — such as those with network or portable home directories, or those performing regular client backups.
  • It doesn’t look like a Mac OS X application. Rather, you might say it looks more like an application from classic Mac OS … and I’d agree, but there are some quick things you can do to spruce things up. (I had some on my old blog, but I still haven’t ported the old content over. Suffice it to say that changing a lot of the font choices to “Lucida Grande” in the preferences makes a big difference.)

That said, there are many valid concerns about Entourage. I voice many through the Microsoft feedback channels available to me.

However, I think there is a huge impediment to creating a new e-mail client today, simply because of how connected this kind of product is to your whole computing experience. Any developer should take that into consideration, and realize that it’s probably an unending effort.

The iPhone objections

I don’t know if I will get one. I certainly won’t get one until my Verizon Wireless contract has expired … and even then, there are factors to weigh.

But in the meantime, I’ve been staring squinty-eyed at articles about iPhone objections. You know, the ones about how it won’t work in the enterprise because it’s not secure, doesn’t have a firewall, and lacks critical Exchange support. Right now, I don’t know how we can make any evaluation about its security, other than to guess more of its OS has been written by experienced, senior programmers (sworn to secrecy) than the rest of Mac OS X probably is … and that may be a blessing. Given what’s riding on the rollout, hopefully some serious security audits have been done on the code, too.

How does some yahoo columnist trolling for hits know that the phone has no firewall? Do we have proof yet? Why isn’t the lack of open ports good enough in the first place? Do any phones, smart or otherwise, have a firewall?

We have Mary Jo Foley saying that Apple is rumored to be licensing Exchange ActiveSync. On the face of it, enabling Exchange ActiveSync would not suck at all. However, that would certainly muddy the waters for the local iTunes sync to your data, especially if you’re using Sync Services with Entourage (which itself can be connected to Exchange) at the same time.

Also, I fail to see how local iTunes synchronization with Outlook on Windows, for the people that want data from that Exchange client, is not good enough — even though it tends to be for non-BES BlackBerry users.

My request to Microsoft for “Entourage Mobile” would go “pop,” the need fulfilled.

What about remote wipe? I almost forgot! Who is to say that it won’t be available as some option in iTunes later, sort-of like de-authorizing a computer you’ve lost or sold?

And then there are objections about it being expensive — like duh, smartphones aren’t expensive? With their high initial cost, the regular cost of cell phone voice plans that generally start at $40/month, and the data plans that hover around that much, they are pricey items. Hey, I projected that my lousy, half-broken Treo 650 would cost me a minimum of$1700 over the two-year lifetime of my contract — making it the most expensive PDA I’d ever owned. It would have been, too, if I hadn’t cancelled the data plan and consolidated two contracts into a family plan. I doubt I’ve made enough phone calls to justify it, although I write down a lot of funny quotes in the note pad.

Finally, we have the performance objections. EDGE is too slow, they say. AT&T doesn’t have good coverage. This are both true, from what I can tell right now, particularly in the specific areas I might use a phone.

But then again, I cancelled my Treo’s data plan because the equivalent Verizon network was too slow, the browser too annoying (even for the lightweight Google Mobile), and when I was roaming I couldn’t get data anyway — so I’ve already demonstrated my lack of tolerance for that. The addition of Wi-Fi ameliorates many of my concerns. I do agree with Glenn Fleishmann, who would like to see the iPhone data plan bundle connections to AT&T’s Wi-Fi network; I might never actually use that or be within range of one of their hotspots, but it would certainly sweeten the deal.

Half the places I want to use my Treo, I already get bad or non-existent voice service. I miss a high percentage of my inbound calls. This may be due to my phone, which the service department claims is defective, or it may be due to other factors. The point is that my experience with the almighty of Verizon is substandard now, so if I move to something that’s even close to equivalent it’s not going to break me.

Frankly, I don’t need a cell phone. But if I’m going to have one, it seems like the iPhone isn’t a bad choice. At least the software doesn’t look like it’ll drive me mad, like my StarTAC did. The software looks like it’s the most accessible of any phone I’ve seen.

Syndicate content