Tim Anderson’s ITWriting

Tech writing blog

November 28th, 2006

Salesforce.com: WS-* is dead

Today I spoke to Adam Gross, Vice President, Developer Marketing at Salesforce.com. His company has recently announced that during its third quarter, API transactions (driven by web services) surpassed CRM page views on its service for the first time. I asked Gross whether Salesforce.com would move towards the WS-* standards as its evolves its API.

“We’re very big advocates of SOAP and WSDL,” he told me.  ”We’re probably the largest users of SOAP and WSDL in any business anywhere in the world. That said, my sense is that WS-* is dead. There is not a lot happening in WS-* that is being driven by customers and use cases, and there is not a lot that is being informed by what we’ve learned from “Web 2.0″. I question its relevance.”

How then will Salesforce.com solve problems like those which WS-* addresses, such as as reliable messaging? “If any part of WS-* has promise it’s reliable messaging, but I’ve been part of the web services technical community since late 2000. We’ve been talking about reliable messaging standards since then. That’s close to seven years. You have to wonder if the WS-* process is going to reach a meaningful conclusion.

“Instead, we’re going to see more organic innovation and best practices. There is no standard for AJAX. There is no standards body. It’s community-driven rather than vendor-driven, and that’s been very successful. I keep an open mind, but I think that WS-* and the people who are working on it need to start showing their relevance.”

November 28th, 2006

Mysterious Windows Vista hang explained

Depressing post from Windows tech guru Mark Russinovich on The Case of the Delayed Windows Vista File Open Dialogs. In Windows Vista, whenever you use the File - Open dialog to browse your documents folder, the system attempts to display your full user name in a breadcrumb trail. In certain cases, this causes a delay of “between 5 to 15 seconds”, during which time your app will hang. The bad scenario is this:

  • Your computer is joined to a Windows domain
  • Your computer is attached to a network
  • The attached network does not provide a route to your domain controller

Example: your laptop is connected to a hotel wi-fi access point, and you don’t have a VPN open. Not uncommon.

Why depressing?

It’s depressing because this kind of thing is a poor user experience. It’s not only the hang; it’s that Windows provides no clue as to why you are waiting. If you are tech-savvy, you can even go into Task Manager, view the processes, and observe that nothing is busy; System Idle Process has 90% + of the CPU time. If you are really tech-savvy, you do what Russinovich did, but it’s not trivial to do so.

It’s depressing because Windows is trading the user’s time for the sake of prettification. Do you care whether the File - Open dialog has your full name in its address bar? No, you just want to open a document. But you do care that the app you are working with has hung, especially if the boss is looking over your shoulder and asking to see the figures in that Excel spreadsheet you are trying to open.

It’s depressing because it’s not a new problem. The detail is new, but I’ve noticed similar hangs in Windows before, in cases such as when you have a mapped drive letter to a location that is not available, or a share that no longer exists. Perhaps some of these are sorted in Vista, but this is just a new twist on an old issue.

The good news: maybe with Russinovich on board things like this will get fixed. But as he notes, not until Vista SP1 at the earliest.

November 27th, 2006

Running Vista with dodgy drivers? Try turning off Aero

Vista may be RTM, but it’s early days for the drivers. This will cause confusion, and will damage Vista’s reputation. For example, a letter in today’s IT Week describes what happened when you upgrade a “Vista Ready” Sony Media Center PC with the MSDN Vista RTM:

It was a disaster. The Nvidia GeForce Go 7400 video card was not supported so the machine reverted to VGA. The audio chipset also failed to have a driver so no longer works. The TV system completely fails to work, and Media Centre blue-screens when started.

This kind of thing is no surprise. Third-parties like Sony have not had the final Vista any longer than the rest of us. While Microsoft includes drivers for common hardware on the Vista CDs, there are many devices for which drivers just are not ready, and consumer systems such as Media Center PCs with lots of extras will suffer more than most. If you have a “Vista ready” PC, and are not the adventurous sort, then the best advice is to wait until the vendor comes up with properly supported drivers specifically for your machine.

Having said that, I’ve tested Vista on several systems with reasonable success, including a self-assembled media center PC which is now working nicely with an XBox 360 as media extender. One tip: if you run into problems, try switching off Aero and using something like the Vista Basic display as an alternative. This fixed a problem with Media Center where it would flash uncontrollably after waking from sleep, and had a similar beneficial affect on a Toshiba tablet. Aero changes the way windows are displayed at a low level. See for example Kam Vedbrat’s blog on why some application disable Aero; there’s more good information on the shell: revealed site.

It’s a shame to disable Aero, but if that’s what it takes to get a stable machine then it must be worth it; I’ll be trying again on my test boxes when updated drivers emerge.

Technorati tags: , , ,

November 26th, 2006

Irony: Outlook Web Access more usable than Outlook

I’m serious. After upgrading to Outlook 2007, and being frustrated by its poor performance, I’ve taken to using Outlook Web Access instead. It is far more responsive than Outlook 2007 on my system. Furthermore, by keeping Outlook closed instead of hogging the CPU, everything else seems to run faster as well. Fortunately Outlook Web Access, or OWA as it is affectionately known, is excellent. It was after all one of the earliest AJAX applications, before the term had been invented. It has a familiar three-pane user interface, and features right-click menus and pop-up reminders; it has much of the look and feel of Outlook but mostly running on the server. The one thing that is not so good is search. Oh yes, and the fact that is has zero offline functionality, but on a desktop attached to an intranet, that’s not an issue.

The irony is that Microsoft is the company which insists (for obvious reasons) that we still need rich desktop applications. I agree, especially when it comes to apps like Word and Excel. But Outlook 2007 has made me shift in the other direction.

Incidentally, I don’t think the problems with Outlook are simply because of an underpowered machine. This desktop isn’t brand new, but it has a decent 2.75 GB of RAM and a 3.00 Ghz processor. I’ve been testing Vista on the same machine, and Outlook 2007 under a clean Vista install is somewhat improved but still not great. It also seems even more prone to those annoying messages saying a data file did not close properly; performance might be affected. Indeed.

I realise that I could likely solve the performance issues by having a much smaller mailbox. So it’s my choice: Outlook Web Access, or a small mailbox. I’m choosing OWA, though it means persevering with slow Outlook on a laptop when out and about.

November 23rd, 2006

Office ribbons more like a chain?

Fascinating post from Developer Express CTO Julian Bucknall about Microsoft’s new ribbon license scheme. Developer Express is a well-regarded vendor of components for .NET and Delphi developers. It’s an ambivalent post. Bucknall states that his company has signed the license, though he expresses some frustration at its restrictions:

Lurkers and active members of our newsgroups will have noticed that we’ve been downright evasive about our plans for enhancing our ribbon implementations. We’ve been asked for some very reasonable enhancements, such as docking the ribbon vertically or along the bottom edge of the application window. Well, now you understand our ambiguous replies: according to the license agreement we are prohibited from doing most of them.

He adds that:

…you, our customers, are not covered by our license agreement with Microsoft. The terms of the license are not transferable in that way: despite the fact that you are using our components, you will have to sign the Microsoft license yourselves for your own applications.

Should you sign? Although it is royalty-free, the agreement is not without obligations. As Bucknall notes, it includes “the Office UI Design Guidelines that describe, in almost excruciating detail, how the ribbon and its associated controls must work and must look in an application in order to satisfy the license.” Signing the document means agreeing that you are making use of Microsoft’s intellectual property, and also limits what you can do with the UI.

On the whole I’m in favour of UI standards, but this seems rather extreme.

I am not a lawyer but let’s recall that the matter of copyright in the look and feel of a user interface has been the subject of considerable debate and controversy. Some may dispute the necessity of signing an agreement with Microsoft in order to create a ribbon-like UI for your application.

This feels like part of a new and more aggressive IP strategy from Microsoft, tying in with other recent moves like the Novell agreement. It’s playing with fire.

Technorati tags: , ,

November 23rd, 2006

Legal implications of Microsoft’s Office 2007 ribbons

Microsoft is generously allowing developers to use its ribbon UI, as seen in Office 2007, in their own software. But is this really so generous? Here’s the key proviso:

The license is available for applications on any platform, except for applications that compete directly with the five Office applications that currently have the new UI (Microsoft Word, Excel, PowerPoint, Outlook and Access).

It raises the interesting question: to what extent is the new UI in Office 2007 a ploy to counter Open Office? The truth is that many users cannot easily tell the difference between Microsoft Office and Open Office. They look similar. The new ribbon UI has two advantages for Microsoft:

  • It looks distinctively different from other Office applications out there.
  • Microsoft believes it has legally enforceable copyright in the new UI, extending to “both design and functionality.”

Why no menus in Word and Excel?

This may be the reason for another issue I’ve been puzzling over. Why is there no option to display a traditional menu in Office 2007? The reason is not technical. All the old keyboard shortcuts in Word and Excel still work, even the Alt combinations that access the menu. It is as if the menu is a ghostly presence.

I recall asking about this at the last PDC, when Office 2007 was unveiled. Microsoft said that providing a menu would stand in the way of users adopting the new UI. In other words, they would use the menu out of habit and never properly migrate to the new and presumed better way of doing things. But I wonder if this is also part of the legal strategy. With the menu in place, Word and Excel would look less distinctive; the ribbon would come over more like a fat toolbar, rather than a major new UI innovation.

Let me add that I would undoubtedly enable menus in Word and Excel, if they were available, as I have done in IE7. To me, toolbars are primarily shortcuts to commonly used features (I make an exception for the palettes in drawing and design applications). Menus on the other hand offer in-depth access to the full functionality of the product. Menus are efficient because they drop down when you need them, and collapse to a single line of screen space when not in use.

Would Microsoft have provided menus, at least as a compatibility option, if it were not so keen to look different from Open Office and enforce its IP?

A risky strategy

Removing the Office menus is a risky strategy. I’ve been using the new Office since the final code was made available, and it is disorientating. I’m intrigued and want to persevere to see if the ribbons really are more productive; but I’m not sure that the average Word or Excel user will take to it easily. Some at least will react against it and want their old Office back. If Microsoft is really unlucky, it could even serve to drive Open Office adoption, rather than preventing it.

On one level, I applaud Microsoft for taking some risks with Office 2007, after years of conservative upgrades. I’m keeping an open mind about the productivity benefits of the new UI. However, I doubt anyone would welcome the idea of the ribbon UI becoming an industry standard owned by Microsoft, and used specifically to prevent competition in office applications. It also strikes me that there are risks for developers who sign up for the “free” UI license. What if at some future point Microsoft said you are competing directly with Office?

November 21st, 2006

Is this really JBuilder?

Today I attended a briefing on JBuilder 2007. The briefing was given by CodeGear’s Jon Harrison and was in two parts, the first covering the thinking and background behind the product, and the second a hands-on demonstration of some of the features. Please note that I have not yet tried out the product, and Jon only demonstrated a few of the features, so what follows are just my first impressions.

This product is Eclipse, not JBuilder as we know it. I doubt there is much of the JBuilder 2006 code remaining. What Borland CodeGear has done is to package up Eclipse with new visual editors for EJB and Web Services, plus some tools which look like they are based on the Together visual modeling technology, plus OptimizeIT, which is a Borland profiling and debugging tool, plus specific support and integration with several open source products (Subversion, Bugzilla, XPlanner, JBoss, Apache Continuum). Those used to PrimeTime, the old JBuilder IDE, will need to learn Eclipse to use the product; not much will be familiar to them. At least you can import existing JBuilder projects.

Harrison explained that CodeGear did not want to duplicate existing Eclipse projects, but rather to build on them. He described it as “sitting on top of a pure Eclipse environment.” CodeGear wants to avoid creating a proprietary Eclipse, though note that JBuilder 2007 is a closed-source product so to some extent this is playing with words. 

One consequence of this decision is that the excellent Swing GUI editor in JBuilder 2006 has gone and is replaced only by the immature Eclipse Visual Editor. There is other missing functionality. There’s no support for J2ME, nor for Borland Enterprise Server (Borland’s J2EE application server). To sweeten the pill, JBuilder 2006 is included in the box with JBuilder 2007.

Another disappointment and retrograde step is that JBuilder 2007 is initially Windows-only, though CodeGear fully intends to support Mac OS and Linux in due course.

The most interesting aspect of JBuilder 2007 is its project management features, unfortunately reserved for the Enterprise edition. Harrison did not demo these, but showed some screenshots. Project Assist supports team working by integrating the open source ALM products mentioned above, while the Project Portal is for monitoring team progress. The Project Portal is based on LifeRay, an open source portal framework.

I doubt this will be an easy sell for CodeGear, but there is hope. It was clear from the Q&A session that while Eclipse has large numbers of users, not all of them are happy. Problems include dependency management, and the difficulty of maintaining a consistent and reliable development environment across an enterprise. Thus there is scope for providing a commercial Eclipse distribution, especially if combined with strong update tools that pre-package Eclipse add-ons with all the dependencies worked out. I realise that Eclipse has its own update manager, but apparently this is not as good as it should be.

That said, I question whether this product should bear the JBuilder name. The official line is that this is just another transition for JBuilder, similar to when the original Dephi-based IDE was replaced with a pure Java version. That’s nonsense. I have tracked all the versions of JBuilder over the years, and there is nothing that compares with this radical change.

The product has apparently gone to manufacturing and will be available before the end of the year.

More information on JBuilder is here.

Update: please also see the comments below from Joe McGlynn, from the JBuilder team.

November 20th, 2006

Borland’s JBuilder-on-Eclipse emerges

Borland CodeGear has announced details of JBuilder 2007, the first version of its Java IDE to be built on the Eclipse platform.

I’ve read quickly through the various PDFs, but it is hard to get a feel for the product from these alone. Is it more like Eclipse, or more like JBuilder 2006? What has happened to the Swing designer, which was the best in the business until Matisse came along. What must-have features is CodeGear providing to tempt developers away from NetBeans or plain old Eclipse?

Tomorrow I’m attending a briefing, so check back for an update soon.

 

November 20th, 2006

Mono in IT Week

At Tech-Ed a couple of weeks back I met with Novell’s Miguel de Icaza , best known for his work on Mono (cross-platform .NET). I wrote this up in a short article for IT Week. Despite its headline, note this comment:

It is hard to discern whether Microsoft’s agreement with Novell is a signal of universal good intentions, or a prelude to litigating more aggressively against others. De Icaza maintains that Mono does not, in any case, breach any patents, but welcomes the agreement. “For Novell customers this is good”, he says, adding, “I know it is not great, we would like a blanket statement for everyone in the world.”

This whole patent thing has yet to unravel. In the meantime, Mono 1.2 is a major step forward. It is worth paying attention.

Technorati tags: , , ,

November 20th, 2006

Outlook 2007 is slow, RSS broken

Users are reporting that Outlook 2007 is slow - much slower than Outlook 2003, which it is meant to replace.

Experiences vary, but the worst affected are those with large mailboxes. Large in this context means thousands of messages and several GB size. Looking at the newsgroups there may be a particular problem with Outlook on 64-bit Windows. I’m not impressed; though it’s not yet clear how widespread the problem is. I’d be interested in comments.

Confession time: I have a huge mailbox. That means I can easily find old email correspondence, and that’s a feature I value. Furthermore, I lack the time or patience to sift through and delete what is no longer required. Unfortunately, the most effective advice for those suffering from slow Outlook 2007 installations seems to be: reduce the size of your mailbox.

While there may be good organizational reasons for doing this, it seems odd that it is needed on today’s machines, with vast amounts of RAM and disk space, and unspeakably fast CPUs. And if you use Exchange, be sure that you archive to a server location, otherwise you can end up with several little archives littered over every machine you use, and they likely will not be backed up.

Why should users have to prune their mailbox because the very latest Outlook cannot cope with it as well as the older version? Surely it is not that difficult to query and display emails from a local database?

I’m also disappointed that, for all the talk of user experience, the new Outlook does not slow down gracefully. You know the kind of thing: you start the application and an unresponsive, semi-painted window appears for a while. You click to change folders and the application appears to hang. You click to drop-down a menu and the application freezes for several seconds. Isn’t this the kind of thing that background threads are meant to help with?

As for RSS, I can’t make sense of what Outlook 2007’s designers were aiming at here. Note that I think the RSS central store, installed with IE7, is a great idea. However, “central store” in this context means central to the local machine. What Outlook seems to do is to copy the contents of this store to your mailbox and then keep it synchronized. I think that’s a mistake: mailboxes are big enough already, and Outlook would do better to query the central store dynamically.

The real problem comes when you use Outlook with Exchange. Many users take advantage of the server-side mailboxes in Exchange by using Outlook on several different machines, all pointing to the same Exchange mailbox. For me, this is the primary advantage of Exchange and Outlook. But what if those several different machines have different RSS feeds in their central store, or even the same ones?

So far, it appears that Outlook cannot cope. I end up with duplicate feeds, I end up with feeds showing in the RSS feeds folder that are not listed in Tools - Account Settings - RSS Feeds; in fact this list is empty on my desktop machine, Sync is turned off, but I still have a ton of feeds in the Outlook RSS feeds folder.

It seems simple to me. Either Outlook’s RSS integration should be 100% local, in which case you just see what is in the central store on your current machine. Or it should be 100% server-based, in which case Exchange should handle the RSS updates. Mixing the two is just silly.

Tip for improving Outlook performance: if you are happy to do this, go into Tools - Account settings - Microsoft Exchange Server - Change - More settings - Security, and remove the checkbox from “Encrypt data between Outlook and Exchange”. Other factors may be search engine integration (Microsoft’s or other), A/V integration, or other add-ins.

Bottom line: I suggest caution before rolling this out over a network.

Update: other tips you can try

A few other things that have helped people:

  1. Exchange users: Remove Outlook 2003 and do a clean install of Outlook 2007, making sure that a new offline store is created from scratch.
  2. Run on Vista.
  3. Turn off indexing. Tools - Options - Search options - uncheck all folders. It’s a shame to do this as the indexed search is useful.
  4. Let indexing complete. Might be worth leaving the machine running overnight.
  5. Reduce the size of your mailbox (of course).

The above will not solve all the problems, but can mitigate performance issues.

Further update

Microsoft has posted some official workarounds. See here for comment and link

Technorati tags: , , , ,