Category Archives: software development

Morgan Stanley: why we didn’t use Silverlight for Matrix

I attended an online briefing about Morgan Stanley’s Matrix [warning: lots of Flash with sound effects], a tool for financial trading which has been written in Adobe Flex.  Adobe’s Andrew Shorten has more information here, and notes:

Matrix was developed by Morgan Stanley with user experience consultation from Adobe Professional Services and technical delivery by Lab 49 in partnership with Adobe Professional Services and others.

Unfortunately I missed the first part of the briefing thanks to streaming issues (I wasn’t alone), but things settled down after 15 minutes or so. Hishaam Mufti-Bey, Matrix founder and global director at Morgan Stanley, spoke about the application and the technology it uses. He emphasized the value of zero-install:

The technology is out of the way, no-one has a problem with running the application. It’s now about how tight our prices are, how good our content is, which is always what we wanted to have happen … we want to deliver our franchise to the client without taxing their systems, or having to get past firewall issues, or install software and IT security will get in the way and it takes months to deploy.

I couldn’t agree more. The app itself looks great, though details of how it works were sketchy, I guess for commercial reasons. We were also told little about the server side of the application. Performance is said to be good, despite what is apparently 600,000 lines of code (I’m not 100% clear if this is all Flex code running on the client):

We’ve seen up to 40 currency players running on the screen and getting up to about 400 updates a second

claimed Mufti-Bey, though he added later than lack of multi-threading support is an issue. Next, he took a pop at Microsoft’s Silverlight:

Going out to clients and not installing software, that is a major show-stopper for Silverlight. If Silverlight turned around and offered that one day, that I didn’t need to install stuff on the client’s PC, then it would be a head-to-head. Flash is on 97.7% of the world’s browsers. That was a major consideration for us.

It’s an interesting point, though I’d have thought his comments need some qualification. Flash and Silverlight are both browser plug-ins, so the install issue is similar: if the plug-in is already installed, the app will just run in the browser, but if it is not installed in the right version, the user will need to install the plug-in first. According to riastats.com Flash is up to about 74.5% for version 10 and 20.5% for version 9; I’m not sure if Matrix requires version 10, but if it does then Mufti-Bey is exaggerating a little. Matrix currently uses Flash 9 (see comments). Silverlight by contrast is on 30% for version 2 and 1% for the just-released version 3.

Installing a browser plug-in is easy for most of us, but in a locked-down corporate environment may be problematic, and there is always some percentage of installs that will be troublesome. I’ve found installing Silverlight a smooth and quick process; but undoubtedly Flash is a de-facto standard whereas Silverlight is not. Microsoft can only address this by persuading more of us to develop Silverlight apps, and using it more in its own sites and products – like the forthcoming Office 2010 web applications, for example.

Still, the need to install the Silverlight plug-in where necessary is far less burdensome than either a classic Windows setup, or a requirement for the full .Net Framework; and Microsoft has also removed the requirement to run Windows itself by supporting Intel Mac. It sounds as if Microsoft is going in the right direction, even if catching Flash is a tough challenge.

That might not be enough, according to Mufti-Bey. Asked about the importance of designer-developer workflow, he remarked:

You have to look at the people that use that technology. The design community. That’s the biggest problem that Microsoft has. The designers all carry around Apple laptops, they all use the Photosuite [sic] set of software tools. It’s like asking structural engineers to stop using CAD applications. That’s the tool that they use, and if you can’t convince them to switch away from your software suite you are going to get a limited number of designers that will use Microsoft’s toolset … if you can’t get the designers to switch, to learn a new language, then how can you possibly ever get some traction?

Well, it wasn’t the answer to the question posed, but an interesting point nevertheless. Let’s presume that he is right, and nobody will switch from Photoshop. Is it so hard for Mac-wielding designers to work with .NET developers? There must be something in it, bearing in mind the effort Microsoft has made to improve Photoshop import in Expression Blend 3.0.

Overall I would like to have heard more about the process and challenges of developing a large Flex application, and less about why not to use Silverlight, interesting topic though it is.

Microsoft reports weak financials, still failing in the cloud

Microsoft has reported weak results for the quarter ending June 2009.

Here’s a table which breaks down the results vs the same quarter last year, similar to one I made for the March figures. Numbers are in $millions:

Client Revenue % change Profit % change
Client (Windows) 3108 -28.7 2167 -33.32
Server and Tools 3510 -5.67 1349 -1.46
Online 731 12.66 -732 -50.93
Business (Office) 4564 -13.33 2816 -16.17
Entertainment and devices 1189 -25.22 -130 -23.98

I am ignoring the hefty $1483 loss on “corporate-level activity” – though I noticed that despite announcing a projected reduction in headcount of up to 5000 by June 2010, headcount actually increased by 2% (around 1800) in the last 12 months.

Grim figures, though given the recession and that Microsoft still reported profits of $3987 for the quarter, not cataclysmic.

I expect Windows 7 will be a success and that the figures there will improve; further, if the global economy recovers (about which I am sceptical but ignorant) Microsoft’s results will no doubt reflect that. If Windows 7 does succeed, it will have spin-off benefits for other products.

Nevertheless, the company should be worried. Although we are not going to be abandoning our PCs and laptops any time soon, it doesn’t take much insight to predict that increasingly powerful internet-connected devices will tend to reduce the number of traditional computers we need, which will impact Office as well as Windows. On the server side, cloud computing will dampen demand for servers, particularly in the small business sector where Microsoft is particularly successful.

The challenge for Microsoft is to counter those trends by growing its online business, but that is not happening yet. Mobile is another potential growth area, but the figures for entertainment and devices show that Microsoft is not exploiting it successfully.

Further, if online does grow, that will damage the partner ecosystem which thrives on delivering and maintaining on-premise Windows and Office.

Right now it’s hard to disagree with Robin Bloor’s prediction of an Incredible Shrinking Microsoft.

This could change; but only if that awkward third line in the table above undergoes dramatic transformation. Although there are signs of life, with promising technology like Azure and Silverlight, I am not yet convinced that Microsoft is even aware of its predicament, though with results like these it will be soon.

Death of Popfly shows the dark side of the cloud

I am not sure what goals Microsoft had for Popfly – or whether the company itself knew them – but apparently they were not met; a week ago the team announced the closure of the service, with just one month’s notice:

Unfortunately, on August 24, 2009 the Popfly service will be discontinued and all sites, references, and resources will be taken down. At that time, your access to your Popfly account, including any games and mashups that you have created, will be discontinued.

If this is a sign of a new clarity of focus at Microsoft it may even be good news, but not for those who invested time and effort in creating Popfly content.

Popfly had several aspects. It was a tool for creating mash-ups, web applications that combine data from several Internet sources; it was a game creator; it was a cloud-based IDE; and it was a visual programming tool. It was the last that interested me most. True visual programming means that program logic as well as user interface is created visually. It has never really hit the mainstream, though it is an idea that will not go away. A recent example is found in Expression Blend 3, another Microsoft product, which allow designers to add simple logic to Silverlight or Windows Presentation Foundation applications without writing code.

One day, most programming may be done this way; but not with Popfly, despite its potential and promise.

The other reflection on this modern form of software abandonment is how it highlights a risk inherent in cloud computing: what happens when your platform is removed. Software abandonment is nothing new, and most of us will recall a favourite word processor, mind mapping tool, database manager or some other utility which was chopped. In the old world though, you could still use the software, at least until an operating system upgrade came along and rendered it useless. Even that can often be overcome, thanks to virtualisation.

Not so with cloud computing. When the Popfly service closes, you simply lose access to all your work – though informally the team has stepped in with a downloader, so all is not lost.

Technically the same thing could happen to Google Apps, Salesforce.com, Windows Azure, Amazon web services and the rest, though the chance of these large concerns with millions of users (Azure aside) closing suddenly is tiny. The death of Popfly is nevertheless a warning: if your cloud computing service is either delivered by a small concern, or is of small concern to a large concern, the risks of data and service loss are very real.

Silverlight 3 is out

Microsoft has released Silverlight 3, though some pieces of the platform are still not done – it seems there is always something to wait for.

There are links to the tools developers and designers need to install here:

http://silverlight.net/GetStarted/

Note that Expression Blend and Sketchflow are still at Release Candidate stage.

The .NET RIA services, a server-side piece that simplifies authentication and database operations, is available in a new July 2009 preview:

http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&displaylang=en#filelist

See this excellent post by Nikhil Kothari for more on RIA Services – it’s from March but does a good job of explaining what they are about.

Using Silverlight 3, or plan to? I’d love to hear from you, along with your views on what is best and what is worst about Microsoft’s RIA efforts.

Symbian appeals to Traveling Geeks: develop for our platform

I attended a Traveling Geeks event in London last night, a party sponsored mainly by Symbian and NESTA. I returned with a large pile of business cards from folk involved in a diverse range of initiatives. Kate Arkless Gray told me about Save our Sounds, a BBC World Service project to archive and map interesting and endangered sounds from around the world; while Sarah Blow sought to convince me that I don’t just need Twitter, I need Tweetmeme to track what is happening on the world’s most public short message service.

Digitrad wants me to sign up for yes.tel, which means registering a .tel domain with its service and using it as a public home page, email address and voicemail box. It’s not clear to me what advantage it has over all the other third-parties who want to own my digital identity, except that Digitrad is smaller and therefore less threatening than Google or Facebook. I’m happy with conventional registrars.

From my perspective, Symbian managed to dominate the event with engaging images around the walls and numerous representatives to talk up its mobile platform. The Symbian story is an interesting one. Originally developed by Psion, it was spun off in 1998 into an independent company co-owned by the giants of mobile at the time: Ericsson, Nokia, Motorola and Psion itself. Nokia proceeded to acquire more and more of Symbian, achieving greater control but also – it seemed to me – reducing the chance it once had of becoming an industry standard. Other vendors became wary of depending on an operating system controlled by a competitor. Linux had greater appeal – as seen in both the Palm Pre and Google Android – while Apple did its own thing with OS X on the iPhone, and Microsoft ploughed on with Windows Mobile.

Last year Nokia responded to the pressure by announcing plans to acquire Symbian in its entirety and then to give it to a new Symbian Foundation, an open source, collaborative project along the same lines as Eclipse. Developers can sign up to get the tools for programming Symbian applications in C++, Java, Python, Ruby, Adobe Flash, C# or HTML/JavaScript. I was told that Symbian intends to be even more open than Android. It restores Symbian’s cross-industry potential though there is now more competition.

Should you develop for Symbian? The Symbian Foundation is a great move, but in the App Store era I suspect deployment issues are even more critical than the quality of the OS or its development tools. Developers will go where they can find customers. Apple is reaping the rewards of controlling the entire platform and marginalizing the mobile operators.

Still, as long as Apple is content for the iPhone to be punishingly expensive, it leaves space for others. The appeal of Symbian will depend not only on its success among device manufacturers, but also on how easy it is for users to find, purchase and install applications.

There is also the matter of reliable, fast and affordable internet access, the lack of which has so far spoilt every mobile device I have owned.

Clipboard.Clear … oops

Bob Warfield is upset because he lost some work. He copied some text in Live Writer, deleted it, then opened Word and tried to paste. No go .. clipboard empty.

Frustrating, but is he right to call his post Microsoft: Bad User Experience Is Cultural, on the grounds that Word is designed to clear the clipboard every time it opens?

Here’s a bit more information. First, Word does not do that here. Second, if it weren’t that I do equally silly things I’d suggest that it is always risky to entrust the clipboard with your work without a backup.

That said, I can understand why Word might appear to clear the clipboard on start-up. It could be a bug, or it could be an add-in of some kind. The thing is, it is really easy to clear the clipboard in code. Just call EmptyClipboard and you’re done. There are ways to do it in VBA too, via a DataObject, or in .NET via Clipboard.Clear.

As Warfield’s case shows, clearing the clipboard in code can be deeply user-hostile. Should Windows prevent it? Difficult, because if your application or add-in implements clipboard functionality, it is the correct thing to do when the user selects Cut, Copy or Paste.

Lessons? A warning, I guess, not to use the clipboard for any purpose other than a user-initiated clipboard action – though I guess it can be tempting if you are hacking some sort of inter-process data exchange.

Second, when Windows lets you down it is not necessarily Microsoft culture to blame. There is an argument though … applications that don’t conform to Windows guidelines are a big problem and without them things like User Account Control might not need to exist; and that is Microsoft’s fault in a way, because of the history of Windows, its changing guidelines, and the inability of even Microsoft to stick to them in the past. Maybe Microsoft is partly to blame for the wild culture of third-party Windows apps.

This is a blog entry rather than a comment because Warfield’s blog needs registration to comment, and I am allergic.

Mozilla takes aim at Flash and Silverlight with Firefox 3.5

I reviewed Firefox 3.5 for The Register. I found the new features unexciting from a user perspective, but not so for developers. The new TraceMonkey JavaScript engine, improvements to the Canvas element, JavaScript threading and various bits of HTML 5.0 make this a more powerful platform for web applications – provided that you workaround the problem of users with Internet Explorer. The arrival of video and audio elements is also worth highlighting:

Another new feature is SVG effects for HTML, including masking, filtering and clipping. The point I made in the review is that this is a shot at Adobe as well as Microsoft. Although it is a long way from a viable alternative to Flash for now, the direction is clear.

That does not mean it will succeed. On the other hand, if Apple, Google and Mozilla pull together in making browser standards rich enough not to need plug-ins for most of the scenarios where Flash is used today, this could disrupt Flash momentum.

What about IE? That’s the big question. Here’s a few questions:

1. Will Microsoft implement these standards or hold back, arguing that Silverlight makes them unnecessary?

2. Will IE retain its market dominance – still over 65% last time I looked, even though it is losing among developers and influencers?

3. Could IE add-ons along the lines of Screaming Monkey for JavaScript and the Mozilla Canvas plug-in that has been discussed pull IE along anyway?

This article by Ryan Paul from last year discusses the issue. He says, why shouldn’t Adobe embrace HTML 5.0 rather than fighting it:

Although Canvas arguably competes with Adobe’s Flash plugin in a certain set of use cases, it’s worth noting that Adobe doesn’t generate revenue from the Flash plugin itself. Adobe cashes in on Flash by selling its powerful authoring tools, which the company could easily extend to support standards-based web technologies.

It’s a fair point; but given the commercial advantages of owning the platform, as opposed to being just another tools vendor, I doubt Adobe would make this shift unless it saw no realistic alternative. Even fully open-sourcing the Flash runtime would be less risky.

You can find Firefox here, and the developer features are described here.

Eclipse survey shows Windows decline

In May 2009 the open source Eclipse project surveyed its users. Visitors to the Eclipse site were asked to complete a survey, and 1365 did so. That’s out of around 1 million visitors, which shows how much we all hate surveys. Anyway, this report [pdf] was the result. A similar survey [pdf] was carried out in 2007, potentially making a valuable comparison, though the earlier survey has different questions making direct comparisons difficult in most cases, which is a shame. I especially missed the detail on which Eclipse projects are used most which is well covered in the 2007 report.

Here is what I found interesting. First, there’s a shift towards Linux and Apple Mac in the desktops developers use for Eclipse. In 2007 it was 73.8% Windows, 20% Linux and 3.5% Mac. In 2009 it is 64% Windows, 26.9% Linux and 6.9% Mac.

This is echoed in deployment platforms too (client and server). In 2007 it was 46.5% Windows, 36.6% Linux, 1% Mac; today it is 40.5% Windows, 42.7% Linux, 3% Mac.

Those surveyed were asked what other IDEs they used. I noticed that Microsoft Visual Studio and NetBeans feature fairly strongly; I also noticed that Embarcadero’s JBuilder is hardly a blip on the chart – intriguing, given how popular this used to be in the pre-Eclipse era.

The most popular code management tool is Subversion (57.5%) followed by CVS (20%). For build tools, Ant (33.4%) and Maven (18%).

Here’s an intriguing one: I often hear that Java is only successful on the server. That presumption is not supported by this survey. 23.4% said that desktop client apps are the primary type of software they are developing, compared to 30.2% server, and 24.7% web or RIA apps.

The preferred app server is Apache Tomcat (34.8%) followed by JBoss (12.7%) and Websphere (6.9%).

The most popular database manager is MySQL (27.7%) followed by Oracle (27.3%). That’s 55% for Sun+Oracle, of course, though bear in mind that many of the MySQL users are likely attracted by its free licence.

Before drawing too many conclusions, bear in mind that it is a small sample self-selected by people willing to take the survey; apparently it was also featured by a German technology site which resulted in a larger response from German visitors.

Although it suggests a declining use of Windows – which is especially plausible given the trend towards web applications – it does not prove it beyond the Eclipse community.

And next time – how about using the same questions, which would make it possible to identify trends?

I’ve also written about Eclipse here: The Eclipse Conundrum: can it grow without hurting its contributors?

What next for Adobe LiveCycle ES?

Yesterday I met Adobe’s Duane Nickull for a chat about the company’s efforts in SOA. Nickull is a battle-scarred enterprise architect with a deep knowledge of SOA standards, who is now a senior technical evangelist for Adobe. He represents what I think of as the other Adobe: not the company that does things you would not believe in Photoshop, but the one that has created an end-to-end development platform with LiveCycle Enterprise Suite (plus your favourite application server) at one end, and Flex at the other.

It is an aspect of Adobe that deserves more attention. For example, this note in Anil Channapa’s What’s New in LiveCycle Data Services 3 caught my attention:

The LiveCycle Data Services 3 beta supports an acknowledge capability that enables all communications between Flex-based applications for Flash and the LiveCycle Data Services server to be guaranteed. All that you have to do is mark the LiveCycle Data Services 3 beta server destination as reliable.

I think this is huge. As Channapa goes on to note, for developers contemplating ecommerce or financial applications, this is a key feature.

I learned from Nickull that this feature is based on WS-RX and that in general we should expect more WS-* implementations to turn up in LiveCycle ES. RESTafarians will be sceptical, but I suspect this will help Adobe to make inroads into enterprise development.

That said, I do think Adobe has issues positioning and promoting LiveCycle ES. The more glitzy Creative Suite tends to grab all the attention, and indeed accounts for by far the largest slice of Adobe’s revenue. When I attended MAX in Milan last year, I don’t recall any mention for LiveCycle in the keynotes; it was one of those things you had to discover, though there were some excellent sessions on the subject.

I think Adobe should push LiveCycle ES harder, particularly as a business model based mainly on selling a huge suite of design tools strikes me as precarious. Adobe is making a start and has announced a LiveCycle@MAX bundle for MAX 2009 [warning: autoplay sound] in early October.

The LiveCycle ES brand encompasses what used to be Macromedia’s Flex Data Services as well as Adobe’s PDF-oriented software for managing workflow and data gathering. If you look at Adobe’s LiveCycle ES page, it all seems PDF-centric and Data Services is hidden away as the last item under Data capture.

In reality LiveCycle Data Services ES has a lot to offer even if you don’t care a bean about PDF, but that is a fact that is easy to miss. Another positioning issue. Adobe has been over-zealous in its PDF-with-everything strategy.

I also asked Nickull how Acrobat.com fits with with Adobe’s SOA strategy. He said that a move to application hosting would be a logical one, though he implied that it would be geared towards SMEs.

Host your Java application on Adobe’s servers, with built-in LiveCycle Data Services for your Flex client? That makes sense to me.

Technorati Tags: ,,,