Category Archives: software development

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: , ,

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?

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.

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.

 

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: , , ,

Borland keeps its developer tools after all

Nine months ago, Borland said it would “seek a buyer” for its developer tools, including Delphi and JBuilder. I blogged about it here. But it’s not happening. Instead, the company announced today the formation of CodeGear, a wholly-owned subsidiary. Why no sale? Here’s the official version (PDF):

The challenge came when we went about separating two operations that have been interlinked for over 23 years. We found we were not able to adequately separate the financials in a way that could demonstrate what we believe to be the true value of this business.

Not what I would call clear, but I think it translates to two things. First, nobody wanted to pay what Borland was asking. Second, there is actually some synergy between the IDE business and the ALM business, a benefit that would have disappeared had the sale gone ahead.

My hunch is that the former is a bigger factor than the latter. Embarrassing for Borland.

Still, a wholly-owned subsidiary is a significant separation. It may be sufficient to deal with the key problem which seemed to be expressed by those on the IDE side of the business: that the company had under-invested in the development tools, using the profits to invest in building up the ALM business.

Then again, IDE sales have been declining for some time, which would suggest that the cash-cow years had come to a natural end. It is not surprising that finding a buyer was hard.

Can CodeGear succeed? Delphi is a wonderful product, but wounded by the rise of Microsoft .NET versus native Win32 code in Enterprise development. On the Java side, CodeGear has “Peloton”, a new version of JBuilder built on Eclipse. I hope to report on Peloton next week. It is up against the free unadorned Eclipse, and Sun’s free NetBeans, both of which are formidable competition. Even so, there are opportunities. JetBrains has proved that an independent, commercial Java IDE can still find a market if there is high quality combined with distinctive features.

For Delphi and JBuilder developers, at least the formation of CodeGear is a better outcome than a sale to the wrong company would have been. So welcome to CodeGear.

Tech-Ed: Don’t start new projects in Delphi or FoxPro

Yesterday I attended two sessions aimed at FoxPro and Delphi developers, on how and why they should migrate to .NET.

The FoxPro session drew sparse attendance, which did not surprise me. Fox developers do not attend Tech-Ed, as there is nothing here for them. Speaker Remi Caron made the point that FoxPro forms will never look quite right on Vista as the widgets are custom drawn, and the the FoxPro language is not as deeply object-oriented as C#. Many Fox application are utilitarian in nature, and Microsoft is doing and update codenamed Sedna, which focuses on .NET interop and Vista compatibility, so I am not sure that the arguments were fully persuasive. FoxPro applications will trundle on for a while yet. It is also interesting that C# 3.0 is only now getting integrated database query, which has been a feature of xBase from its earliest days. Still, FoxPro is undoubtedly coming to the end of its life as a product under active development.

The Delphi session was more interesting. Of course I make allowance for the fact that this is a Microsoft conference and that Delphi comes from a competitor in the tools space. Even so, it was a grim event from Borland’s perspective. Presenter Hadi Hariri is a Delphi person. He works for Atozed software, whose main product is a web application framework for Delphi. Also present was Chad Hower who worked on the Indy internet components for Delphi as well as Atozed’s Intraweb. Nobody could say that either speaker lacked Delphi knowledge. Around 25 delegates came to debate Delphi’s future.

Hariri and Hower did not advise developers to port their Delphi projects, unless there is really a compelling reason. However they did strongly advise against new projects in Delphi.* The main factor is integration with new .NET goodies such as those in .NET Framework 3.0, especially Windows Presentation Foundation and Windows Communication Foundation.

But surely you could use Delphi for .NET? Indeed, but there are two problems here. One is that according to Hariri the VCL.NET, Delphi’s backward-compatible .NET library, is failing to win significant adoption. He observes that hardly any of Atozed’s customers use Intraweb with VCL.NET, although it is fully supported. They all use either native Win32 VCL, or a few Kylix, the abandoned Linux port of Delphi. Other third-party vendors say the same thing: there is hardly any market for VCL.NET components.

Then surely you could use Delphi’s .NET compiler with Microsoft’s class libraries? Indeed, but will Borland or the new “DevCo” ever catch up with Microsoft? This week the .NET Framework 3.0 is fully released; yet Delphi 2006 only supports .NET 1.1. By the time Delphi appears with .NET 2.0 support, Microsoft will have updated Visual Studio with a designer for Windows Presentation Foundation and other .NET 3.0 features, which Delphi will likely lack for some time.

We used to laugh at vb applications. Unfortunately it is completely reversed now. We are always going to be behind now.

said Hariri. The session lends weight to recent calls for Borland to focus on Delphi capabilities in native code rather than .NET; yet that too is not ideal when so much of Microsoft’s development platform is focused on .NET.

Postscript

* Hower has commented below and also written at length to emphasise that from his perspective this only applies to .NET projects, not Win32.

Live.com for developers

I attended two sessions today given by Danny Thorpe, formerly of Borland, on the developer API for live.com, Microsoft’s attempt to match Google as a Web 2.0 platform. Even the business model is Google-style: everything is free, supported by advertising with the possibility of revenue sharing for users. Unlike ASP.NET, the Live.com API is cross-platform on both client and server – presumably Live.com itself runs on .NET, but that is not a requirement for users of the various gadgets and services.

It’s strange to hear Thorpe talking about doing clever stuff with JavaScript – quite a change from Delphi’s native code compiler – but he describes it as just another way to write libraries for Microsoft’s platform. He is an enthusiast for doing aggregation (mash-ups) client-side aggregation, explaining that it improves scalability by reducing the amount of processing needed on web servers.

A key theme is how to build social applications that draw on the vast userbase of Hotmail and Windows Messenger, but without compromising privacy.

Interesting stuff, and I don’t doubt Microsoft’s commitment to live.com even though it is not centre-stage here at Tech-Ed. At the same time I am picking up lack of cohesion in the overall platform strategy. Microsoft has endeavoured to create an internal startup culture, and while this is clearly generating some energy it comes at a price. There seem to be a number of different sub-organizations which do not work closely together. The Office Live initiative, which provides web hosting and cloud-based applications aimed at small businesses, is apparently separate from Live.com. The ASP.NET AJAX libraries are different from the Live.com JavaScript libraries, even though there is overlap in the problems they address. Danny Thorpe is aware of these issues and says the company is working on internal collaboration, but it seems to me that fragmentation will be a growing problem as the various groups evolve.

More significant than Vista or Office: .NET Framework 3.0 is released

Microsoft’s .NET Framework is now fully released. There is a handy page of links to the various downloads you might want. Of all Microsoft’s releases in this busy November, this is the most significant.

Why? Here’s what is in .NET Framework 3.0. There are four major pieces. Windows Presentation Foundation (WPF) is an alternative GUI API for Windows, based on a new XML language (XAML) and incorporating the code-behind concept first seen in ASP.NET. Although it is primarily for Windows, Microsoft is promising a cross-platform XAML runtime called Windows Presentation Foundation/Everywhere. On Windows, WPF apps are rendered using DirectX, giving it impressive multimedia capabilities. Summary: biggest change to the Windows API since its first release.

Windows Communication Foundation is a communication framework based on XML web services. If you are familiar with Windows development, the easiest way to define WCF is by what it replaces: ASP.NET web services, MSMQ (Microsoft Message Queue), COM+ (also known as Transaction Server) and Distributed COM, .NET Remoting.

I won’t say that WCF replaces all of COM, though perhaps it might do eventually. COM has many faces.

Windows Workflow Foundation is less important than WPF or WCF, but still interesting as a framework for workflow applications. It fits well with Sharepoint and Office 2007 as a way to program enterprise portals.

Windows CardSpace is an abstraction layer for identity management and authentication. Unlike Microsoft Passport, CardSpace is not itself an identity provider, but a rather a system that works with multiple identity providers. If widely adopted, it will help the Internet move on from the nightmare of usernames and passwords. IE7 is a CardSpace client.

When Microsoft first announted the above pieces, they were meant to be exclusive to “Longhorn”, now called Windows Vista. The company realised that this would stall adoption, possibly fatally, so it was decided to make it a free download for Windows XP as well as part of Vista. That makes .NET Framework 3.0 a viable development platform now, rather than in five year’s time (or never).

Like any new technology, this one could fall flat on its face. Time will tell whether it is really significant, or turns out to be a backwater in the latter days of Windows. Unlike Vista and Office, it is not an immediate profit centre for Microsoft, but in the longer term it is critically important to the company as an update to the Windows platform.