Microsoft Open XML embarrassment: spaces go missing between words

Microsoft’s controversial Office Open XML format, now officially called just Open XML*, has an embarrassing bug in its Office 2010 and/or Office 2007 implementation, as reported by  Dennis O’Reilly on Cnet.

In a nutshell: if you save a document from Word 2010 using the default .docx format, and send it to a user with Word 2007 but who has a different default printer driver, then a few seemingly random spaces may get dropped from between words or sentences when it is opened on the other machine. When saved in Word 2007, the spaces remain missing if the document is re-opened in Word 2010.

The consequences for one user were severe:

I had this same problem the other day, when I finished writing an in-class essay on my laptop (Win7 64-bit, Office 2010 32-bit), transferred it to a classroom computer (WinXP, Office 2007), and printed the document. I was out of time, so I had to turn in the paper without reading over the printed copy. I had triple-checked the essay on my laptop, so it had no spelling or formatting errors, right?

I got my essay back, and I had 20% of my grade taken away due to frequent spacing errors between words. Shocked, I double-checked my original copy of the document, and there were no spacing errors. Even more perplexing, I opened the file on a classroom computer, and, sure enough, I found many spacing errors between words and sentences.

Now, as I understand it a large part of the point of Open XML is to preserve fidelity in archived documents so I consider this a significant bug.

I’ll speculate a bit on why this problem occurs. It is a bug; but it also reflects the fact that Word is a word processor, not a professional text layout tool. Word processor documents may change formatting slightly according to the printer driver installed; and I’d guess that the missing spaces occur when the line breaks are altered by a different printer driver.

This is why a workaround is for both users to set Adobe PDF as the default printer driver, making them consistent. Another workaround is to revert to the old binary .doc format.

It is still quite wrong for spaces to disappear in this manner, though the bug could be in Word 2007 rather than in Word 2010.

I also notice that nobody from Microsoft has officially commented on the problem. Disclosure is important.

Update: Microsoft has now commented and says:

This is an issue related to how Word 2007 opened files. In other words, the issue is not with Word 2010, it was a defect in the file / open code of Word 2007 that caused the problem. Reports that Open XML caused this issue are not accurate. We discovered and fixed the issue in Word 2007 as part of a release that first appeared on September 25, 2008, well before shipping Office 2010.

The suggested remedy is to apply Office 2007 Service Pack 2.

If you have already applied this and still get the problem, please inform Microsoft – and I would be interested too.

*Note: Although Microsoft sites like this one say Open XML I’m told that the official name is still Office Open XML or possibly something like ISO/IEC 29500:2008 Office Open XML File Formats.

Amazon Kindle goes social with Public Notes, Twitter and Facebook integration

A free firmware update for Amazon’s Kindle ebook reader adds several new features, including an element of social networking.

The features are as follows:

  • Page numbers for easier referencing, for example in essays, reviews and discussions. Page numbers must be included in the digital book for this to work. It is not clear how many titles include them; Amazon just says “Many titles in the Kindle Store now include real page numbers”.
  • New newspaper and magazine layout with a “Sections & Articles” view. Each section has its own article list for easier browsing.


  • Public notes with Facebook and Twitter integration. This is the feature that makes Kindle reading social. You can attach notes to a passage and make them publicly viewable by other readers who choose to follow you, either on a note-by-note basis, or by making an entire book public through the Amazon website. You can also register a Facebook and Twitter account and have specific notes and ratings posted to those who follow you on those networks.


The advantage for Amazon is that these features should promote books through viral marketing.

It comes at an interesting time, since Apple’s new subscription rules may make it difficult for Amazon to continue supporting iPhone and iPad with free readers. Apple is insisting on a 30% cut of the revenue for all titles purchased through apps, forming a financial barrier for competitors to its own iBooks service.

If Amazon can cement loyalty to Kindle though social network integration, that could help it maintain market share.


What will it take to get developers to try Windows Azure? Microsoft improves its trial offer

Microsoft has announced an improved introductory trial for Windows Azure. You can now get:

  • 750 hours of an Extra Small Compute Instance
  • 25 hours of a Small Compute Instance
  • 500MB storage
  • 10,000 storage transactions
  • 500MB in / 500MB out data transfer
  • 1G Web Edition SQL Azure database

The offer lasts until the end of June, after which you will be charged at standard rates. The allowances are I believe per month – note that 750 hours is approximately the number of hours in a month so you can run an extra small instance continuously. This is the main change from the previous trial, which only offered 25 hours of a small compute instance.

You cannot sign up without handing over credit card details.

Further, some of these limits are not really generous. This blog, for example, would chew through those data transfer limits in no time.

Microsoft is also less generous than Amazon, which offers a year of free usage with data transfer of 15GB in and 15GB out per month. Google App Engine is free up to 1GB or persistent storage and about 5 million pages views a month.

I guess Microsoft needs to figure out whether it wants to target mainly enterprise and large-scale applications, or to offer a commodity platform to a broader market. I doubt this offer is aimed at enterprises. After all, serious commercial developers on Microsoft’s platform have MSDN subscriptions, which with premium and ultimate subscriptions already offer inclusive Azure time that is better than this: 7GB in and 14 GB out per month, for example. Startups on the BizSpark scheme also get this allowance.

This offer is for the rest of us then. It is certainly getting easier to try Azure, but is this enough to encourage experimentation? I suspect Microsoft may need to come even closer to what is offered by the competition.

Microsoft’s BPOS password madness driving users to Google Apps

A friend uses Microsoft’s Exchange Online service for his small company. All was going well until one day he found himself locked out of his email. He had no idea why.

The reason, it turned out, was the password policy set by Microsoft and outlined here:

To help maintain security, you must periodically change your password. When you change your password, be aware of the following:

  • You cannot repeat your previous 24 passwords.
  • You must change your password at least once every 90 days.

In addition:

Microsoft Online Services uses an account lockout policy to help protect the accounts of service administrators and end users. The user can try to sign in to the Administration Center or the Sign In application five times. After five failed attempts with an invalid user name or an incorrect password, users are locked out for 15 minutes. This condition cannot be manually reset.

In this case, Microsoft’s PC sign-in applications prompted the user to change his password. He did so. All seemed well, except that his mobile – in which email settings are deeply buried – did not know about the password change and made repeated attempts to collect email. Result: lock-out, and a horrible user experience.

According to this thread, Microsoft has been so besieged with requests to remove the expiration policy that it solved them at a stroke: by refusing them all.

I find this curious. First, it is doubtful whether frequent password changes really enhance security. Users in this case need new non-repeating passwords every 90 days, which means they are more likely to be written down. Remember, you cannot repeat your previous 24 passwords.

Second, it is odd that BPOS admins do not have the ability to disable password expiration policies in their online management tools.

It may seem a small issue, but for some it is a deal-breaker:

At this moment it is not possible to disable password expiration at all. I opened a ticket and technical support told me multiple times they won’t offer that option anymore… It’s disappointing since I lose customers who choose Google Apps over Microsoft Online just because of the password issue.

Apparently this may be fixed in the forthcoming Office 365.

RunRev releases LiveCode for Android preview alongside iOS, Mac, Windows, Linux

RunRev has announced a preview version of its LiveCode for Google Android, which will join existing versions for Windows, Mac, Linux, Web and iOS.


LiveCode is like a modern-day HyperCard, an early database and simple application builder for the Mac. It includes a graphical development environment with scripting using the LiveCode language, described by RunRev as “A very high level language”. Here is a sample:

put “The fox jumped over the lazy dog.” into theText

put “ quick brown” after word 2 of theText

The advantage is fast development, once you have become familiar with the platform.

On a quick look I noticed that LiveCode looks great for building a business-oriented client, but looks more challenging when it comes to interacting with a remote server application, though it does have support for basic http and https requests as well as socket support.

Now that Android is supported LiveCode looks interesting as a quick and easy route to cross-platform mobile apps.

Mobile app developers can register to receive the Android pre-release version today at

My question to the Gorilla Glass folk: when is Apple going to call?

I had a brief chat with Corning, makers of Gorilla Glass, who were showing their wares at Mobile World Congress in Barcelona.


Gorilla Glass is exceptionally strong and makes sense for expensive devices with glass screens – like many of the smartphones and tablets that are hot right now.

According to Corning, it is strengthened through an ion-exchange process:

Ion exchange is a chemical strengthening process where large ions are “stuffed” into the glass surface, creating a state of compression. Gorilla Glass is specially designed to maximize this behavior.

The glass is placed in a hot bath of molten salt at a temperature of approximately 400°C. Smaller sodium ions leave the glass, and larger potassium ions from the salt bath replace them. These larger ions take up more room and are pressed together when the glass cools, producing a layer of compressive stress on the surface of the glass. Gorilla Glass’s special composition enables the potassium ions to diffuse far into the surface, creating high compressive stress deep into the glass. This layer of compression creates a surface that is more resistant to damage from everyday use.

Fair enough; and I am a fan because it works. My question though: when is Apple going to call? The iPhone 4 has glass panels both front and rear, and is unfortunately rather fragile. I would be interested to know what proportion of damaged iPhones simply have shattered glass. One drop onto a hard surface is all it takes, unless you have a protective case that adds bulk and in my view spoils the design.

Apple’s Bumper case fixes the problem with the antenna design, but does little to protect the glass.

The iPad glass is also prone to shatter if dropped:

It slipped off my lap in a bar in the Portland airport during a particularly long layover. It landed screen-side down on the uneven Mexican tile floor and made a sound that caused the whole room to go quiet. I still feel a little sick just remembering it. It looked a lot like the ones people purposely ran over with trucks when I picked it up.

From what I can tell, Gorilla Glass really is better in this respect.

So how about it Apple?

Computer book stats show resilience of Java as Android booms

Mike Hendrickson at O’Reilly has posted four articles analysing the state of the computer book market in more detail than most of us care about.  The overall picture is not too good – sales are down – and there are some interesting trends.

Here is a good one for anyone who thinks Java is dying. The programming languages post shows that unit sales of books on Java increased by 17.2% in 2010 vs 2009, whereas the next most popular language, C#, declined by 1.7%. Objective C, in third place, also declined slightly. JavaScript unit sales were up by 14.5%.

Why is Java booming? There is a clue in one of the two bestselling Java titles mentioned by Hendrickson: Professional Android 2 Application Development

Another trend that caught my eye is in the first post. Some of the Down categories surprised me:

Adobe Flash –84.43%

Mac OS –32.12%

Web Design Tools –53.2%

Adobe’s Creative Suite 5 has sold well as far as I’m aware so although books on Flash and Dreamweaver have not been selling well, it is dangerous to draw obvious conclusions.

The influence of Android is unmistakeable though. Something for Oracle to consider as it pursues Google for breach of intellectual property.

First look at HP’s TouchPad WebOS tablet

I took a close look at HP’s WebOS TouchPad tablet during Mobile World Congress in Barcelona.

This 9.7” machine looks delightful. One of its features is wireless charging using the optional Touchstone accessory. The same technology can also transmit data, as mentioned in this post on wireless charging, and the TouchPad makes use of this in conjunction with new WebOS smartphones such as the Pre3 and the Veer. Put one of these devices next to a TouchPad and the smartphone automatically navigates to the same URL that is displayed on the TouchPad. A gimmick, but a clever one.


From what I saw though, these WebOS devices are fast and smooth, with strong multitasking and a pleasant user interface. Wireless charging is excellent, and a feature you would expect Apple to adopt before long since it reduces clutter.

I still would not bet on HP winning big market share with WebOS. The original Palm Pre was released to rave reviews but disappointing sales, and HP will have to work a miracle to avoid the same fate.

Exchange 2007 to 2010 migration hassles

I have been running Exchange 2010 for a while now, but over the weekend decided to retire Exchange 2007 which was running alongside it in a “just in case” kind of way. This turned out to be more hassle than I had expected. In principle removing your last Exchange 2007 box is simple enough: first check that that all the data has been migrated, then uninstall it from Control Panel. The catch is that Exchange will refuse to uninstall if it detects certain conditions.

The first problem I discovered was that my Exchange public folders had not replicated to Exchange 2010, even though I thought I had set this up. You are meant to run the script MoveAllReplicas.ps1, but I ran into an error that, from what I can tell, is a common one:

Set-PublicFolder : The parameter "Replicas" cannot be $null or an empty array.

Although I found many references to this error, I did not come across any direct solutions. However, I did find Microsoft’s public folder management utility – no, not the one built into the Exchange Management Console, but one of those little utilities created by a member of the Exchange team to make up for deficiencies in the official tools. This is called Exfolders, and replaces a similar tool called PFDAVAdmin. When I ran Exfolders I found I could not log on to the Exchange database, with the error reported being:

An error occurred while trying to establish a connection to the Exchange server. Exception: The Active Directory user wasn’t found.

This led me to an informative blog post that refers to this official post, which describes a problem which occurs on Exchange systems on which Exchange 2000 or 2003 previously existed. Read the post for more details; but the fix is to dive into ADSI Edit (Active Directory Services Interface Editor) which is a low-level editing tool for Active Directory similar in some respects to Regedit and equally hazardous. You have to find and delete the empty Servers container relating to the obsolete Exchange 2003 First Administrative Group.


No, it is not intuitive; yes, most would consider it a bug; and Microsoft now adds:

Removed the reference to upcoming fix (no fix current planned)

The benefit though was that ExFolders now worked. Using this tool I manually created public folder replicas on Exchange 2010 and replication happened at last.

I waited for replication to complete, then tried again with MoveAllReplicas.ps1. I still got the same error though. I went back to ExFolders and successfully deleted the replicas shown on the old Exchange 2007 box, but when I tried to delete the public folder database itself got an error stating that replicas existed. In consequence, Exchange 2007 could not be uninstalled. Of course I could just have shut the machine down forever; but I do not recommend this – you end up with references in Active Directory to an Exchange server that no longer exists, which only causes problems.

The solution was to go back to ADSI Edit and delete the reference to the obstinate Public Folder Store, as recommended by Microsoft’s Ben Winzenz here.

Exchange 2007 now uninstalled cleanly and I have the VM space I need to try Microsoft Lync, which I noticed getting some attention at Mobile World Congress last week.

Wireless power at Mobile World Congress: no more chargers?

At Mobile World Congress Fulton Innovation was showing off its wireless power technology called eCoupled. We are accustomed to the idea of transmitting data wirelessly, but less familiar with wireless power. It is possible though, and I saw several examples. One of the most striking but least useful is this cereal box, printed with conductive ink, which lights up when placed on a special shelf – the inset image shows the same packet before the title lit up.


The technology has plenty of potential though. I travelled to Barcelona with a case full of chargers, and the idea of simply placing them on a charging shelf instead is compelling; this is already possible and I saw several examples. The Wireless Power Consortium has created a wireless power standard called Qi:

It will be no surprise to see Qi stations in the office, hotels, airports, railway stations as part of the normal infrastructure that offers wireless power charging service


On the eCoupled site you can see some other ideas, like kitchen appliances that work simply by being placed on a powered surface:

eCoupled will one day integrate into the walls and surfaces of your home. If you’re watching the big game, the TV won’t need to be plugged in. Power will be delivered wirelessly via the eCoupled-enabled wall. In the kitchen, a multipurpose countertop will allow you to mix, chop, blend and boil all on the same powered surface. There will be no cords to plug in, or outlets to worry about.

The technology allows data transmission as well, so the glowing cereal box can also report when it has passed its sell-by date. Now that might actually serve a purpose.