Category Archives: Sun

COM automation in Silverlight 4 is not an “edge case”

I wrote a piece for The Register about the arrival of Windows-specific features in Silverlight, which attracted some comments both on the Reg and also on Slashdot. Plenty of people said it was just what they expected from Microsoft, some of them misunderstanding the point that this only applies to out-of-browser applications that are trusted: the user has to pass a dialog box granting the application permission to access the local system. A few defended Microsoft’s decision; and this Slashdot comment on COM automation in Silverlight 4 strikes me as a good encapsulation of the official line:

This is a fairly obscure feature, and I’m fairly surprised that it was included at all, but doubt it’ll be of use to the vast majority of current and future Silverlight developers out there. Like the html control, it’s a crutch, to allow developers that want to use Silverlight a way to leverage existing investments. The mantra I’ve heard out of the Silverlight team is to focus on unblocking customer scenarios (scenarios they cannot unblock themselves) without compromising the overall feature goals (like keeping the runtime download small) … it’s an edge case feature that doesn’t affect Silverlight’s over all "Cross-Platforminess".

The idea that COM automation is merely an “edge case” surprises me, even though I also recall it being described like that at PDC. Access to COM automation gives a Silverlight desktop application on Windows substantial extra capability. At PDC program manager Joe Stegman showed how Silverlight 4 can integrate with Office, sending data into an Excel spreadsheet: an example with obvious value for real applications. I also heard developers at PDC discussing how they might wrap up a Silverlight application with a COM DLL, creating an application which in effect has full access to the local operating system. Although Silverlight cannot access the Windows API directly, there are no such restrictions on the COM DLL, so the combination means that pretty much anything is possible.

Let’s also bear in mind that Microsoft’s Brad Becker is on record saying that one day WPF and Silverlight might simply become different .NET profiles. He told me this at Mix earlier this year; and said a similar thing to Mary Jo Foley at PDC:

Some day — Microsoft won’t say exactly when — Silverlight and WPF are going to merge into one Web programming and app delivery model that, most likely, will be known as Silverlight, Brad Becker, Director of Product Management for Microsoft’s Rich Client Platforms, told me this week

If Microsoft is contemplating such a thing, then clearly full access to the native features of Windows will have to be possible.

I am not entirely negative about this prospect. Even if you are only targeting Windows, Silverlight has a lot to commend it: a small runtime, easy setup, and options for browser-hosted or desktop deployment. If you have ever wrestled with the Windows installer or tackled a failed .NET runtime installation you will like the simplicity of running a Silverlight application.

Nevertheless, with version 4.0 Microsoft is changing its Silverlight story. It is no longer a pure cross-platform play; rather, it is a runtime where some features are cross-platform, and others Windows only. Microsoft calls this developer choice; I see it as evolving into the inverse of Sun’s aim with Java. Sun tried strenuously to guide developers towards cross-platform, but provided a way out – via Java Native Interface – if absolutely necessary. Microsoft will provide cross-platform where we really need it, but make it easy to slip into Windows-only development in order to get some nice feature like a location API, or Office integration.

I see this as an advantage for Flash, because developers know that Adobe has no incentive to prefer one operating system over another – except to the extent that minority platforms (like desktop Linux) tend to receive less investment.

Personally I think Microsoft should at least provide a way for Mac users to get similar benefits – perhaps by implementing something like the native process API in Adobe AIR 2.

I also think Microsoft will have to get real about Linux support. It is wrong that Microsoft will cheerfully state:

Silverlight 4 runs across all platforms and major browsers

as it does in the “Fact sheet” handed out at PDC; while leaving Linux implementation to a third-party process uncertain in both features and timing. Here is the reality of cross-platform Silverlight, in a screenshot taken seconds ago from Linux:

Right now it is a two-platform play – admittedly, the two platforms that matter most, especially in a Western world business context, but never forget that Google Chrome OS is coming.

UK lagging rest of Europe in open source adoption

Sun conducted a survey of small and medium-sized businesses (up to 500 employees) to discover their usage and intentions towards open source software and MySQL in particular. I was interested to see the report, particularly after attending an open source round table last week about open source software in government.

The researchers interviewed around 100 people in each of 7 European countries, targetting the “CIO or IT-Manager”. The results were surprising to me. Only 34% of UK (or England; the report uses both terms and does not seem to understand the difference) businesses claim to use open source software, versus 72% in France and 69% in Germany. The only country with lower usage is Sweden on 33%.

I’m sceptical. It seems to me that you have to make some effort to use no open source software anywhere in your business. A web site with PHP and MySQL. Someone editing audio with Audacity, or  using Firefox to browse the web, or Filezilla to upload files. Still, let’s take the report at face value for the moment.

Another question is more interesting, asking what percentage of a business’s IT infrastructure is open source.

Even in Germany, the biggest user, only 2% claimed to be completely open source. 72% were less than half open source, and 31% did not use it at all.

In the UK, none were completely open source, 84% less than half, and 66% have no perceived usage.

Here’s a good result though: among UK companies that do use open source, 65% use it for critical projects. This figure is actually above the European average.

Another striking figure: the biggest driver for open source adoption is to save money (61% in the UK, 66% in Germany). Next comes freedom from lock-in (34% in the UK, 53% in Germany), and after that flexibility (20% in the UK, 34% in Germany). Multi-selection must have been possible as figures add to more than 100%.

This last one gives me pause for thought. Most IT companies claim to save you money; it’s part of the standard sales pitch. Open source software generally does though, partly because the whole concept is a form of commoditization, or pooling of resources for mutual benefit. Is it inevitable that if if open source continues to increase its usage share (as most indicators suggest), that overall revenue in the IT industry will diminish?

You can pose the same question substituting “cloud computing” for “open source”; both together could have a substantial impact.

Technorati Tags: ,,

Why the EU should not worry about Oracle and MySQL

The European Commission is examining Oracle’s acquisition of Sun and has concerns about the implications for MySQL:

Competition Commissioner Neelie Kroes said: “The Commission has to examine very carefully the effects on competition in Europe when the world’s leading proprietary database company proposes to take over the world’s leading open source database company. In particular, the Commission has an obligation to ensure that customers would not face reduced choice or higher prices as a result of this takeover. Databases are a key element of company IT systems. In the current economic context, all companies are looking for cost-effective IT solutions, and systems based on open-source software are increasingly emerging as viable alternatives to proprietary solutions. The Commission has to ensure that such alternatives would continue to be available”.

The most remarkable thing about this investigation is that it exists. One of the supposed benefits of open source is that, come what may, your product cannot be abandoned at the whim of some commercial giant; you have the code, and as long as a viable community of users and developers exists, its future is in your hands. So why is the EU worried?

The issue I suppose is that while Oracle cannot remove code from the community, it would have it in its power to disrupt MySQL – in fact, that is happening already. It could refuse to invest in further development, and encourage customers with support agreements to move to the latest Oracle solution instead. I am not saying that is likely; I have no idea what Oracle plans, and it already owns Innobase, which supplies the most widely-used transactional engine for MySQL, without obvious adverse affects.

Still, it is important to think clearly about the case. I’ve just been talking to Simon Cattlin at Ingres, who is using the opportunity to mention that worried MySQL customers are making enquiries at his company. He also argues that the EU’s intervention proves the increasing importance of open source technology.

That latter point is true; but there is some doublethink going on here. There are two sides to MySQL. On one side it’s powering a zillion mostly non-critical web applications for free, while on the other it is a serious business contender covered by support contracts. It is all the free users that make it “the world’s leading open source database company”, not the relatively small number of commercial licensees; and it was Sun’s failure to shift users from one to the other that accounted (among other things) for its decline.

So which of these groups is the EU concerned about? If it’s the free users, I don’t think it should worry too much. The existing product works, the community will maintain it, and forks are already appearing, not least MariaDB from a company started by MySQL creator Monty Widenius.

On the other hand, if it is the Enterprise users, I don’t think the EU should worry either, because it is not a big enough deal to warrant anti-competitive concerns. Cattlin told me that Ingres actually had higher revenue that MySQL at the time of the Sun takeover.

It makes no sense to conflate the free and commercial users into one, and use the number of free users to justify action which mainly concerns the commercial users.

That said, it’s true that having an open source product owned and mainly developed by a commercial company is always somewhat uncomfortable. One of the reasons the Apache web server succeeds is because it belongs to an independent foundation. There is rarely a clean separation between what is commercial and what is open source though: the money has to come from somewhere, and entities like Apache and Eclipse survive on staff and funds contributed by profit-making companies.

Technorati Tags: ,,,,,

The end of Sun’s bold open source experiment

This is a sad day for Sun. It sought to re-invent its business through open source; and the experiment has failed, culminating not in a re-invigorated company, but instead acquisition by an old-school proprietary software company, Oracle.

It is possible to build a successful business around open source software. Zend is doing it with PHP; Red Hat has done it with Linux. These are smaller companies though, and they have not tried to migrate an older business built on a proprietary model. A further complication is that Sun is a hardware business, and although open source is an important part of its hardware strategy as well as its software strategy, it is a different kind of business.

Maybe the strategy was good, but it was the recession, or the server market, that killed Sun. In the end it does not make any difference, the outcome is what counts.

Reading the official overview of the deal, I see lots of references to “open” and “standard-based”, which means nothing, but no mention of open source.

The point of interest now is what happens to Sun’s most prominent open source projects: OpenOffice.org, MySQL, Java and OpenSolaris. Developers will be interested to see what happens to NetBeans, the open source Java IDE, following the Oracle acquisition, and how it will relate to Oracle’s JDeveloper IDE. These open source projects have a momentum of their own and are protected by their licenses, but a significant factor is what proportion of the committers – those who actually write the software and commit their changes to the repository – are Sun employees. Although it is not possible to take back open source code, it is possible to reduce investment, or to start creating premium editions available only to commercial subscribers, which already appeared to be part of MySQL’s strategy.

I presume that both OpenOffice and Java will feature in Oracle’s stated intention to build an end-to-end integrated solution:

Oracle will be the only company that can engineer an integrated system – applications to disk – where all the pieces fit and work together so customers do not have to do it themselves. Our customers benefit as their systems integration costs go down while system performance, reliability and security go up.

says CEO Larry Ellison, who also says nothing about open source. This will involve invading Microsoft’s turf – something Sun was always willing to do, but not particularly successful at executing.

The best outcome for the open source community will be if Oracle continues to support Sun’s open source projects along the same lines as before. Even if that happens, the industry has lost a giant of the open source world.

Some good comments from Redmonk’s Michael Coté here.

RIA (Rich Internet Applications): one day, all applications will be like this

I loved this piece by Robin Bloor on The PC, The Cloud, RIA and the future. My favourite line:

Nowadays very few Mac/PC users have any idea where any program is executing.

And why should they? Users want stuff to just work, after all. Bloor says more clearly than I have managed why RIA is the future of client computing. He emphasises the cost savings of multi-tenancy, and the importance of offline capability; he says the PC will become a caching device. He thinks Google Chrome is significant. So do I. He makes an interesting point about piracy:

All apps will gradually move to RIA as a matter of vendor self interest. (They’d be mad not to, it prevents theft entirely.)

Bloor has said some of this before, of course, and been only half-right. In 1997 he made his remark that

Java is the epicenter of a software earthquake, and the shockwaves are already shaking the foundations of the software industry.

predicting that Java browser-hosted or thin clients would dominate computing; he was wrong about Java’s impact, though perhaps he could have been right if Sun had evolved the Java client runtime to be more like Adobe Flash or Microsoft Silverlight, prior to its recent hurried efforts with JavaFX. I also suspect that Microsoft and Windows have prospered more than Bloor expected in the intervening 12 years. These two things may be connected.

I think Bloor is more than half-right this time round, and that the RIA model with offline capability will grow in importance, making Flash vs Silverlight vs AJAX a key battleground.

Google’s cut-down Java: wanton and irresponsible, or just necessary?

Sun’s Simon Phipps stirred things up last weekend when he called Google’s actions wanton and irresponsible. Its crime: delivering a cut-down Java library for use on its App Engine platform, “flaunting the rules” which forbid creating sub-sets of the core classes.

It does sound as if Google is not talking to Sun as much as it might. Still, let’s note that Google has good reason to omit certain classes or methods. App Engine is a distributed, shared environment; this mean that some things make no sense – for example: writing to a local file – and other things may be unacceptable, such as grabbing a large slice of CPU time for an extended period.

Salesforce.com addressed this same issue by inventing a new language, called Apex. It’s Java-like, but not Java. The company therefore avoided accusations of creating an incompatible Java, and conveniently ensured that Apex code would run only on Force.com, at least until someone attempts to clone it.

Google’s approach was to use Java, but leave a few things out. This FAQ gives an overview; and the article Will it play in App Engine lists common frameworks and libraries with notes on whether they work. Given that languages like JRuby, Groovy and Rhino work fine, it’s clear that core App Engine Java is not too badly damaged. The big omissions are JDBC (because you are meant to use the App Engine datastore, which is not relational), and Enterprisey things like JMS, EJB and JNDI. Google is nudging, or shoving, developers towards RESTful APIs along with its built-in services.

Will you be able to escape App Engine if you have a change of heart after deployment? I’d guess that porting the code will not be all that hard. Perhaps the biggest lock-in is with identity; you could roll your own I guess, but Google intends you to use Google accounts and supplies a Java API. Microsoft is ahead of Google here since it does support federated identity, if you can get your head round it: you can authenticate users in the Microsoft cloud against your own directory using Geneva. The best Google can offer is Directory Sync; though even that is some protection from identity lock-in.

Java support on App Engine is actually a vote of confidence in Java; if what is good for Java is good for Sun, then Sun is a winner here. That said, just where is the benefit for Sun if companies host Java applications, built with Eclipse, on Google’s platform? Not much that I can see.

Technorati Tags: ,,,

Open Cloud Manifesto – but from a closed group?

I’ve read the Open Cloud Manifesto with interest. It’s hard to find much to disagree with; I especially like this point on page 5:

Cloud providers must not use their market position to lock customers into their particular platforms and limit their choice of providers.

Companies like IBM won’t do that? I’m sceptical. Still, it is all very vague; and companies not on the list of supporters have been quick to point out the lack of any effort to achieve cross-industry consensus:

Very recently we were privately shown a copy of the document, warned that it was a secret, and told that it must be signed "as is," without modifications or additional input.  It appears to us that one company, or just a few companies, would prefer to control the evolution of cloud computing, as opposed to reaching a consensus across key stakeholders

says Microsoft’s Steve Martin. Amazon, perhaps the most prominent cloud computing pioneer, is another notable absentee.

It is a general truth that successful incumbents rarely strive for openness; whereas competitors who want to grow their market share frequently demand it.

The manifesto FAQ says:

There are many reasons why companies may not be listed. This moved quickly and some companies may not have been reached or simply didn’t have time to make it through their own internal review process.

A poor excuse. If a few more months would have added Microsoft, Amazon, Google and Salesforce.com to the list, it would have been well worth it and added hugely to its impact.

That said, I’ve found Amazon reluctant to talk about interoperability between clouds, while Salesforce.com makes no secret of its lock-in:

… you are making a platform decision, and our job is to make sure you choose our platform and not another platform, because once they have chosen another platform, getting them off it is usually impossible.

said CEO Marc Benioff when I quizzed him on the subject. I guess it could have taken more than a few months.

Tim Bray’s contrarian views on Rich Internet Applications

There’s a though-provoking interview with Sun’s Tim Bray over on the InfoQ site. One of his points is that Rich Internet Applications aren’t worth the hype. He says that web applications are generally better than desktop applications, because they enforce simplicity and support a back button, and that users prefer them. He adds:

Over the years since then I have regularly and steadily heard them saying: "We need something that is more immersive, more responsive, more interactive". Every time without exception that somebody said that to me, they have either been a developer or a vendor who wants to sell the technology that is immersive or responsive, or something like that. I have not once in all those years heard an ordinary user say "Oh I wish we go back to before the days of the web when every application was different and idiosyncratic … ".

In further gloomy news for advocates of Adobe Flash, Microsoft Silverlight or Sun’s own JavaFX he adds:

I suspect that the gap in the ecosystem that lies between what you could achieve with Ajax and what you need something like Flash or JavaFX or Silverlight to achieve is not that big enough to be terribly interesting.

I think there is a lot of truth in what he says, and I still regularly see Flash applications or Flash-enabled sites where I wish the developers or designers had not bothered. Nevertheless, I don’t go along with it completely. I’m typing this post in Live Writer, a desktop application, when I could be using the WordPress online editor. The reason is that I much prefer it. It is faster, smoother, and easier to use.

Another example is Twitter clients. I use Twhirl though I may switch to Tweetdeck; both are Flash (AIR) applications running as it happens outside the browser. I’d hate to go back to interacting with Twitter only through web pages.

I agree there there is some convergence going on between what we loosely call Ajax, and the RIA plug-ins; Yahoo Pipes apparently uses the HTML 5 Canvas element, for example, using this Google Code script for IE support. I’m glad there is a choice of RIA platforms, but I don’t see either Flash or Silverlight going away in the forseeable future.

It’s worth recalling that the RIA concept began with the notion that a rich user interface can be more productive and user-friendly than an HTML equivalent. I’ve written a fair amount about the legendary iHotelier Broadmoor Hotel booking application which kind-of kicked it off – and I’ve interviewed the guy who developed it – and it was undoubtedly motivated by the desire to improve usability. As far as I can tell it achieved its goals, which were easy to measure in that online bookings increased.

Multimedia, rich visual controls, Deep Zoom, offline support, pixel-level control of the UI; there’s a lot of stuff in what we currently call RIA that is worthwhile when used appropriately.

Another twist on this is that RIA is enabling a more complete move to web applications, by reducing the number of applications that do not work either in the browser, or as offline-enabled Flash or Silverlight.

Still, Bray is right to imply that RIAs also increase the number of ways developers can get the UI wrong; and that in many cases HTML with a dash of Ajax is a better choice.

I think the RIA space is more significant than Bray suggests; but his comments are nonetheless a useful corrective.

Have you seen a real JavaFX app yet? Sun’s misleading 100 million claim

I haven’t – only samples and demos. Which makes Jonathan Schwartz’s claim of 100,000,000 downloads, presented as “JavaFX Hits 100,000,000 Milestone!”, suspect. Still, I reckon there is an easy explanation. JavaFX is now included with the JRE, the standard Java runtime download. So what Schwartz means – please correct me if I am wrong – is that there have been 100,000,000 downloaded updates to the JRE (no doubt partly thanks to Sun’s auto updater on Windows), since JavaFX became part of it.

In order to test this theory, I fired up a virtual machine (using Sun’s excellent Virtual Box) which runs Vista but does not have Java installed. Then I went to Java.com and went for the free Java download. At the end of the install, I saw this dialog:

Note: it says “The JavaFX runtime will be downloaded when you click Finish”. There are no buttons aside from Finish, unless you count the close gadget. Therefore, I got JavaFX by default with the JRE.

I have nothing against JavaFX, but meaningless PR spin will do nothing to help the technology.

Technorati tags: ,

JavaFX warns against itself on Macs

If you navigate to JavaFX.com on a Mac, you get this warning – at least, I do, and so does at least one other:

In case you can’t read it, it says:

This applet was signed by “JavaFX 1.0 Runtime,” but Java cannot verify the authenticity of the signature’s certificate. Do you trust this certificate? Click Trust to run this applet and allow it unrestricted access to your computer.

I trusted it anyway. Why? Mainly because it is on Sun’s site, and I doubt Sun was hacked. Second, because I clicked Show Certificate and it said everything was fine. Third, because on balance I think it is more likely that either Sun, Apple or a.n.other messed up either the cert or some other aspect of digital security programming, than that this particular bit of code belongs to a bad guy.

Nevertheless, I mention it because it illustrates the continuing hopeless state of Internet security. How on earth am I meant to know whether I should trust a certificate that “Java” has rejected? Who is this Java guy anyway? Why should I give any applet “unrestricted access” to my computer?

I see this all the time. We are confronted with impossible decisions, where one set of training tells us to click No – the certificate is out of date, the application is unsigned, the requested permissions are unwarranted – and another set of training tells us to click Yes – this is a reputable site, I need this installed to get on with my work, I’ve seen dialogs like this before and not come to any harm.

It might be better not to have the choice. In the scenario above, if the applet just refused to run, then there is a better chance that the problem would be treated as a bug and fixed. As it is, there is little chance that we will always guess right.

Technorati tags: , , ,