Embarcadero All-access: a better way to deploy developer tools?

I have a call lined up with Embarcadero today, and wanted to catch up with their latest tools. It reminded me of something I’d intended to post about for some time, the Embarcadero All-Access system which allows no-touch install of many of its tools. Here is how it works. First, you run the All-Access client:

image

I’m not showing all the available tools here: I count 17 currently. You’ll notice many of them are marked InstantOn. Let’s say I want to take a look at DBArtisan. I click the link and get a dialog:

image

This invites me to start a download. Click Yes and I get a download thermometer:

image

Once downloaded, I have to pass a license screen and enter a serial number. Presuming you have a current subscription, you can get a serial number by logging on to you Embarcadero account and requesting it there, where it is supplied instantly. This part of the process is similar to that used by Microsoft for MSDN subscriptions. It is a shame it is not built into the All Access desktop client, but a minor inconvenience.

Then the application runs.

image

No further setup, no install options, or any of the other complications that often accompany installing developer tools.

To be fair, I can think of other development tools that are pretty much download and run. Eclipse is usually good in this respect, at least until you try to get updates. Further, even with All Access there can be additional steps. Instant-on 3rd Rail, for example, does not install a Ruby runtime, so it is not really click and run: the Eclipse-based IDE runs, but you cannot start a project without getting a Ruby interpreter from somewhere.

Nevertheless, this is the closest I’ve seen to on-demand developer tools, short of the interesting browser-hosted tools that are emerging. Embarcadero now also calls it the ToolCloud. It is not just an easy install; this is application virtualisation:

Aimed at simplifying deployment, enabling side-by-side versioning of products, and breaking down the barriers to use, InstantOn is also great in locked-down desktop environments, since the product does not affect any system files or system registry settings.

says the faq.

Alongside the technical aspects, All-Access simplifies license management for a development team. You can install the server piece on your own network for full control.

This comes at a price of course. There are four subscription levels, from Bronze to Platinum, though even the Bronze gives you use of a wide range of tools including Delphi, C++ Builder, JBuilder, Rapid SQL, some parts of ER/Studio, 3rdRail and Delphi for PHP. Example price from Grey Matter in the UK starts at £3188.57 for a 1-year Bronze concurrent license.

The interesting question: when can this be made into a generic tool that developers can use for deploying their own applications?

Sony locks down the PS3 – removes Other OS support from all models

Sony is removing the ability to install an alternative operating system such as Linux on the Playstation 3. In a blog post, Sony’s Charlotte Panther says:

PS3 Firmware 3.21 will be available this Thursday. It will disable the “Install Other OS” feature that was available on the PS3 systems prior to the current slimmer models, launched in September 2009. This feature enabled users to install an operating system, but due to security concerns, we’re now removing this feature.

Panther suggests not upgrading the firmware as a workaround, but observes that this will block access to the PlayStation Network.

It is a move that will matter little to most PS3 owners, but a great deal to the few who were doing interesting work with the cell processor that runs Sony’s games console.

The wider picture is that we are seeing a rise in locked-down devices across the industry. Games consoles are generally like this – the Xbox 360 is the same – as are most mobile phones. Apple is now extending the iPhone model, where users have limited access to the device, to the larger iPad. As I understand it, Google intends that ChromeOS devices will also be locked down, though it is too early to say whether installing alternative operating systems on these will be possible. Sony mentions security, and certainly having a protected operating system that can only be updated by the vendor is an excellent security feature.

The downside is that it gives greater power to the vendor, to control what you can do with the device, stifle creativity, and potentially to charge more for applications and extensions than is possible with an open system.

There is a good explanation of how this works in Daniel Lyons’ recent piece on the Apple iPad.

Building for multiple mobile platforms with one codebase

Individuals may have strong opinions about the merits of Apple iPhone versus Google Android versus the struggling Palm WebOS versus the not-yet Windows Phone 7; but sit them round a table to discuss app strategy and those diverse platforms change from a debating point to a problem. Presuming a web app won’t cut it, how do you target all those devices without the unreasonable expense and complication of managing multiple projects? The native languages are all different; Objective-C for iPhone and iPad, Java for Android and RIM BlackBerry, JavaScript for WebOS, C# for Windows Phone 7.

There are three possibilities that come to mind. One is that all the platforms will eventually allow you to write in C or C++, making this the unifying language, though you still have some fancy footwork to do overcoming library differences. Android now allows this via the NDK, and Palm via the PDK. There is currently no alternative to Java for Blackberry, and Microsoft says native code won’t be possible on Windows Phone 7, but well, you never know.

The second is Adobe Flash. This is an interesting one, because Apple prohibits Flash on the iPhone, but Adobe has a Packager for iPhone that builds native iPhone apps from Flash projects. Another issue is that although Flash is available or promised for all the main non-Apple devices – Apple’s gift of a selling point to its rivals – it is not Flash alone that does what it needed, but AIR, the “desktop” or out-of-browser runtime. This has been previewed for Android and promised for other devices including Blackberry. AIR for Windows Phone 7? Maybe, though I’ve not seen it mentioned.

A third idea is a clever framework that does the necessary cross-compilation under the covers. This cannot depend on deploying a runtime, nor compiling to native code, because these approaches are blocked by some mobile platforms. Rhomobile has the Rhodes framework, where you code your app in HTML and Ruby and compile for devices including iPhone, Windows Mobile, RIM Blackberry, Symbian, and Android. Rhodes includes an MVC (Model View Controller) framework and an ORM (Object Relational Mapper) to wrap database access. There is also a RhoSync server component to enable offline data with synchronisation back to the server when reconnected; and the RhoHub hosted IDE for buildings apps with a web browser.

Rhomobile tells me that Palm WebOS support is in the works. They also promise Windows Phone 7 support, which intrigued me because Rhodes says it compiles to “true native device applications”. Has Rhomobile gotten round Microsoft’s opposition to native code? Apparently not; VP Rob McMillen eventually told me that this will mean a .NET IL (intermediate language) implementation.

The Rhomobile approach reminds me of AppForge, a company which produced the well-regarded Crossfire add-on for Visual Studio and compiled Visual Basic to a wide variety of mobile platforms. Unfortunately AppForge was acquired by Oracle, and its new owners showed callous disregard for existing customers. Not only did development cease; it also became impossible to renew existing licenses. Thanks to an activation component, that also blocked new deployment of existing applications – every developer’s nightmare.

That said, there is no activation requirement for Rhodes that I know of, and the framework is open source, so I don’t mean to suggest it will suffer a similar fate.

What about Java? On the face of it, Java should be ideal, since multi-device support is what it was designed for. It is a measure of how far Java has fallen that we hear far more about the lack of Flash on the iPhone, than the lack of Java. Microsoft says yes to Flash on Windows Phone 7, though not on first release, but nothing about Java.

Java as a mobile runtime needs a strong dose of lobbying and evangelism from its new stewards Oracle if it is not to fall by the wayside in this context. Hmm, AppForge.

Bill Buxton, Windows Phone 7 hits at Mix10, say attendees

I recall seeing conversations on Twitter about whether it is worth going to conferences, especially vendor-led ones such as Microsoft’s Mix10 which took place earlier this month. It’s expensive, it’s marketing, and many of the sessions are available for free online soon after they take place.

In that context it’s interesting to see some off-the-cuff comments from attendees about what they liked at Mix. Networking comes high on the list, something you cannot get from a distance. There is general boredom with slide-driven presentations, and enthusiasm for interactive panels. One attendee says:

I always find the panels more exciting, and I like the open dialogs where people can ask questions and get real world opinion and advice

As for the content, the name that comes up most often is Bill Buxton, the design expert who joined Microsoft specifically to introduce greater design-consciousness into a company whose track record in this respect is poor. It was a fascinating appointment, and I believe you can see traces of his work in Windows 7 and much more in Windows Phone 7. I talked to Buxton briefly about this and wrote it up here. When I say “his work”, I don’t mean hands-on screen designs, rather a different approach to product development.

Buxton apparently made a considerable impression at Mix10. His session An hour with Bill Buxton (the link has the video) is also one that is interactive, and worth watching if you have an interest in where design fits into the development process. The fact that Microsoft-platform developers are engaging with his ideas is encouraging, given the usability issues that spoil so many Windows applications and machines.

Overall it also seems that Windows Phone 7 went down well – remarkable when you consider that Windows Mobile was all-but dismissed as irrelevant a few months ago – though I did smile at the Microsoft employee (I think) who shows an iPhone with a Mix scheduling app installed. Its special feature: shake the iPhone and it displays a Windows Phone 7 screen, handy if Ballmer appears in the corridor:

image

One final point: an attendee says IronRuby was shown running on Windows Phone 7 in one of the sessions, something I was told elsewhere was not possible.

Adobe news: Flash Builder 4, Creative Suite 5, quarterly results

Lots of Adobe news this week.

First, the release of Flash Builder 4. It seems a long time ago that I was looking at the first preview of code-name Gumbo; it’s good to see this finally released. Since it is Eclipse-based, it looks similar to to Flex Builder 3.0; but under the covers there is the new Flex 4 SDK with the Spark component architecture. The design tools have been revamped, and a time-saving feature is that you can now generate an event handler with one click. Flash Builder 4 also has built-in unit testing with FlexUnit, which is a big deal for those enlightened folk who do test-driven development.

Adobe has also worked hard on database connectivity. Flash Builder 4 will generate wrapper code for a variety of data sources, including HTTP and REST, PHP, SOAP, and Adobe’s LiveCycle Data Services middleware.

image

There is a new data/services panel that shows all the available sources, with drag-and-drop data binding, batch updates, and other handy features.

There are a few downsides to Flash Builder 4. ActionScript feels dated if you have been playing with something like C# 4.0, soon to be released as part of Microsoft’s Visual Studio 2010. I’ve also heard complaints that equivalent projects built with Flex are larger than equivalents built with the Flash IDE. The naming is puzzling; we now have to distinguish between the Flash IDE and the Flash Builder IDE, which are completely different products, but the SDK for code-centric development is still called Flex. There is no support yet for AIR 2.0, the latest version of the desktop runtime; nor for the much-hyped iPhone app development. Patience is called for, I guess.

More information on Flex and Flash Builder here.

The next big product launch from Adobe will be Creative Suite 5, for which a launch date of Monday, 12th April has been announced. You can sign up for an online launch event and see some sneak peek videos here.

Finally, Adobe released quarterly financial figures today. The company says they are strong results; revenue is 9.1% higher than last year and GAAP earnings are positive (unlike the last quarter). However, looking at the investor datasheet [PDF] I noticed that new analytics acquisition Omniture now accounts for 10% of revenue; if you deduct that from the increase it does not look so good. Still, a profit is a profit, and the quarter before a major update to CS 5.0 may be under par as users wait for the new release,  so overall it does not look too bad.  The Q1 Earnings Call is worth looking at if only for its nice indexing; I wish all online videos worked like this.

One questioner asked about HTML 5 – “how quickly can you provide support when it comes”? An intriguing question. I suspect it reflects more on the publicity around Flash vs HTML than on the progress of the HTML 5 standard itself, which is coming in fits and starts. “The reality is that it’s a fragmented standard, but we will continue to support it”, was the answer from CEO Shantanu Narayen, though he added a plug for the “benefits of our runtime, which is Flash”.

UK government’s open source commitment words not deeds says Ingres VP

UK Prime Minister Gordon Brown spoke today about the government’s IT strategy, including a mention for how open source technology can reduce costs:

… we will unleash data and content to the community to turn into applications that meet genuine needs. This does not require large-scale government IT Infrastructure; the ‘open source’ technology that will make it happen is freely available. All that is required is the will and willingness of the centre to give up control.

A naïve statement: “IT Infrastructure” normally refers to hardware as well as software. Hardware is not “freely available”; and even in cases where free open source software is used, the management and software development effort does not come for free either.

The closest thing to free IT infrastructure is something like Google Apps, which is not open source, but subsidised by advertising alongside Google’s confidence that it can make money somehow if you commit to its platform.

Still, leaving that aside, it is good to hear that the UK government recognises the benefits of open source. Or does it? Steve Shine, executive VP of worldwide operations at the open source database vendor Ingres, is sceptical:

This is not the first time such platitudes have been made by the government.  Over the past 12 months the office of the CIO has continually pointed to open source as the key to reducing capital expenditure on large public sector IT projects.  We at Ingres work with public sector bodies daily and have not seen the enforcement of these policies at a practical level and so view this announcement cautiously.   Right now there is a very large negotiation underway to renew Oracle’s contract with the MOD which in theory should be put to competitive tender but sadly is being conducted behind closed doors.

We therefore urge the government to enforce the ideas put forward today: Put steps in place to open up the public sector IT procurement process, run tenders in public and put penalties in place for those bodies that fail to assess open source software.

Ingres has a direct commercial interest in this, of course, so such statements are not surprising. Shine has a point though. It takes more than a few speeches to change the software culture of the myriad departments and other state-run entities that between them compose government IT.

Google’s privacy campaign, and three ways in which Google gets your data

Google is campaigning to reassure us that its Chrome browser is, well, no worse at recording your every move on the web than any other browser.

Using Chrome doesn’t mean sharing more information with Google than using any other browser

says a spokesman in this video, part of a series on Google Chrome & Privacy.

image

What then follows is links to four other videos describing the various ways in which Google Chrome records your web activity.

If you subtract the spin, the conclusion is that Google retrieves a large amount of data from you, especially if you stick with the default settings. Further, it is not possible as far as I know to use the browser without sending any data to your default search provider, most likely Google. The reason is the Omnibox, the combined address and search box. Here’s what Google’s Brian Rakowski says in the video on Google Chrome & Privacy – Browsers search and suggestions

For combined search and web address to work, input in the Omnibox will need to be sent to your search provider to return suggestions. If you have chosen Google as your search provider, only around 2% of the search input is logged and used to improve Google’s suggestion service. Rest assured that this data is anonymised as soon as possible within 24 hours, and you always have the option of disabling the suggest feature at any time.

However, even if you disable suggestions, what you type in the box still gets sent to your search provider if it is not a valid web address, in other words anything that is not a complete URL (though Chrome will infer the http:// prefix).

It is also worth noting that Google does not only get your data via browser features. Most web pages today are not served from a single source. They include scripts that serve data from other locations, which means that your browser requests it, which means that these other locations know your IP number, browser version and so on. Two of the most common sources for such scripts are Google AdSense (for advertising) and Google Analytics (for analysing web traffic).

Even if you contrive not to tell Google in advance where you are going, it will probably find out when you get there.

It is important to distinguish what Google can do from what it does do. Note the language in Rakowski’s explanation above. When he says input is sent to your search provider, he is describing the technology. When he says that data is anonymized as soon as possible, he is asking us to trust Google.

Note also that if you ask to send in auditors to verify that Google is successfully anonymising your data, it is likely that your request will be refused.

There are ways round all these things, but most of us have to accept that Google is getting more than enough data from us to create a detailed profile. Therefore the secondary question, of how trustworthy the company is, matters more than the first one, about how it gets the data.

Windows Phone 7 emulator yields its secrets

So that didn’t take long. Microsoft has made a Windows Phone 7 emulator available to all, explaining that it is a virtual machine running the real device OS. While it works fine for debugging applications, most of the phone UI is mysteriously absent, the exception being Internet Explorer (needed for testing web applications). However, Dan Ardelean has done some nifty work with the emulator image, discovering that a lot more of the UI is present and can be exposed if you make a few modifications. He posted his modified ROM but has since removed it because of copyright concerns. I doubt it will be hard to find.

image

Applications available in the hacked emulator include Mobile Office with Word, Excel, PowerPoint, OneNote and Sharepoint Workspace (undermining Microsoft’s claim that this is only a consumer device), games including a version of Times Reader – full circle for this one, which started out in WPF, moved to Silverlight for Mac, deserted and went to Adobe Flash, and may now reappear in Silverlight – and music/video via a Zune section.

image

My tip to Microsoft: if you don’t want these things to leak, best not put them in the publicly-available image.

Ardelean has also figured out how to amend the native C# port of SQLite, satisfying demand for a local SQL database engine. SQL Server Compact Edition is actually present in Windows Phone 7, but not available to custom applications.

Visual Studio software factories to emerge from Microsoft deep freeze

Last night at the Microsoft Mix party in Las Vegas I happened across Michael Lehman, a senior architect, who told me he had been working for the last six years on a Visual Studio add-on called Feature Builder. This turns out to be the evolution of the very same project which Microsoft’s Jack Greenfield told me about back in March 2007, at an architecture conference in the UK, though back then it had a more exalted status (in Greenfield’s eyes at least) – he described it as a platform rather than merely an add-on. Now Feature Builder is to appear as an extension in the Visual Studio 2010 Gallery, only discoverable by those who seek it out. If enough developers find it and like it, it may end up as part of a future Visual Studio release.

It’s all part of Microsoft’s desperately confused architecture and modelling story. Note that Greenfield in 2007 denigrated the UML:

The UML is a collection of useful abstractions. Unfortunately it’s been peddled as a universal modelling language, but the U never stood for Universal. We subscribe to Michael Jackson, author of Problem Frames, who says that there is no such thing as a universal solution. It’s a childish approach. This is where the Universal Modelling Language marketing pitch fails. UML was never properly extensible. It also has the problem that it was designed by a committee.

So what do we have actually shipping with Visual Studio 2010? Standard UML modelling, the best Microsoft has yet come up with.

Reading between the lines, this likely means that the UML faction within Microsoft outvoted the non-UML faction. However, each release of Visual Studio seems to have its own unique approach to modelling and architecture tools, so it would be no great surprise if Visual Studio 2012, say, replaced them with something different.

As for Feature Builder, it does sound interesting – read the Greenfield interview referenced above for why it has potential. Lehman says it is a simpler approach than previous software factory tools from Microsoft, and named Feature Builder to avoid association with past efforts.

Update: Lehman has blogged about the project here, and you can download the preview here.

Microsoft playing HTML 5 standards game alongside Silverlight game

I’m at Mix10 in Las Vegas where Microsoft has been showing off the latest preview of IE9 – you can try it here, provided you have Vista SP2, Windows 2008 or Windows 7.

The two themes are performance, with GPU-accelerated HTML and graphics and a new Javascript engine that compiles code in the background, and standards support. This latter was not a surprise to me, as I’d heard the well-informed Molly Holzschlag praise Microsoft’s commitment to HTML5 at a workshop here on Sunday – see this earlier post.

During the keynote, we saw IE9 playing a video using the HTML 5 video tag – no Flash or Silverlight needed. Microsoft also showed that in this instance IE9 performed better than Chrome thanks to better hardware acceleration. Although one should always mistrust one vendor’s demonstration of another vendor’s product, it should not be surprising that Microsoft is able to deliver a browser that is better optimised for Windows.

Video, hardware accelerated graphics, audio element support, fast JavaScript: there is considerable overlap with the features of the Microsoft Silverlight (and Adobe Flash) plug-ins.

The plug-in approach has advantages. It offers consistency across browsers, and enables rapid evolution without the hassles of standards committees. The multimedia features in Silverlight and Flash are well ahead of those in HTML 5 – Holzschlag nailed this when she described today’s HTML 5 demos as reminiscent of Flash demos a decade ago.

Still, if you can do without the plug-in you end up with cleaner code, removing the awkward transition between what is in HTML and JavaScript, and what is in the plug-in. There is also a better chance that your code will run on Apple’s iPhone and iPad, for example.

The question though: can Microsoft do an equally good job of supporting HTML 5 throughout its platform, as it will do with Silverlight? This is where I’m doubtful. The Visual Studio and Expression tools will continue to drive developers towards Silverlight rather than HTML 5.

It’s notable that shortly after Microsoft’s IE9 demos at Mix, we saw demos of fun technology like code-name Houston, develop databases in the cloud using just your browser and … Silverlight.