Category Archives: software development

Amazon fails to address interoperability concerns; Flexiscale plans cloud platform

Just attended a session here at FOWA from Amazon’s Jeff Barr and Flexiscale’s Tony Lucas on cloud computing. These vendors have similar offerings (in kind, but not in scale; Flexiscale is tiny by comparison). Lucas had told me he would talk about interoperability between Amazon and Flexiscale but did not do so, nor did Barr mention it.

I took the opportunity to get in some questions at the informal gathering after the session. The context is that Amazon has had serious outages this year, which will not have gone unnoticed by organizations considering its platform; the ability to import and export AMI’s (Amazon Machine Instances) would help users to implement failover plans. Is either Amazon or Flexiscale considering support for the Open Virtual Machine Format (OVF), used by VMWare?

Neither is doing so. Lucas muttered something about standards driven by commercial agendas; Barr said Amazon would wait and see and did not want to standardise too early; and that customers were not asking for it.

What interested me was the intense interest from other developers who had come up to ask questions, in this topic of interoperability and avoiding lock-in. This makes me wary of Barr’s comment that there is little interest.

In mitigation, Lucas said that his company can already import AMIs, but does not do so because it might breach Amazon’s terms and conditions. Barr pointed out that AMIs are just Linux VMs so you can easily migrate their contents. Both good points. Nevertheless, it strikes me that VMWare’s vCloud offering goes beyond either Amazon or Flexiscale in this respect.

Lucas made a couple of other observations. He said that Google’s BigTable, which sits underneath the AppEngine API, is not open source and makes  it impossible to implement AppEngine on his platform. He added that Flexiscale was always conceived as a platform offering, not just on-demand virtual servers, and will announce a platform based on a 100% open source stack shortly (aside from the Windows version; sounds like there will both Linux and Windows available).

Future of Web Apps 2008 Day One: Web is DVD, desktop VHS

I’m at London’s dreary Excel centre for Carson’s Future of Web Apps conference, just before the opening of day two. Yesterday was a mixed bag; good when speakers talk technical; bad when they descend into marketing. The origins of the conference are as a start-up incubator; developers and entrepreneurs getting together to see what’s new and make contacts. It still has some of that flavour, but it has grown beyond that because web apps are a mainstream topic and Carson attracts generally excellent speakers. There is a good crowd here; I’m not sure if every last ticket sold, but it is pretty much packed out, though the dark economic mood is dampening spirits.

Digg’s Kevin Rose spoke briefly about his site’s new recommendation engine, which has been active since July or so. The idea is that Digg learns a user’s profile by examining clicks and votes, using it to customize what the user sees. He spoke about a forthcoming feature, where third-party sites will be able to call the Digg recommendation engine to get profile information that it can then use to customize its own site.

An interesting idea; though it raises several questions. How does it work – would logging out of Digg be sufficient to disable it? Will users opt-out or opt-in? How much of this kind of customization do we want anyway?

This whole theme of contextualization is a big one here; it ties in closely with social networking, and Google’s OpenSocial API is getting quite a bit of attention.

Blaine Cook (ex Twitter now Yahoo, Ruby guy and inventor of OAuth) gave a though-provoking session on scalability along with Joe Stump from Digg (and a PHP guy). They took the line that languages don’t matter – partly a reflection on Twitter’s scaling problems and whether it was Ruby’s fault. Other factors make language efficiency unimportant, they said, such as disk I/O and network speed; and the secret of scaling is multiple and redundant cheap boxes and apps which are segmented so that no one box  is a bottleneck. The case was overstated but the main points strike me as sound.

I’m wondering how many of the developers here are actually having to deal with these kinds of scalability problems. Many web apps get only light use; the problems for everyday developers are different.

I attended a session entitled "The future of Enterprise Web Apps" by Googler Kevin Marks. It turned out to be a plug for the OpenSocial API; not what I was expecting.

Francisco Tolmasky of 280slides.com evangelised his Objective-J and Cappucino JavaScript framework, based loosely on Apple’s Cocoa framework. Hmm, bit like SproutCore.

I give Tolmasky credit for the most striking analogy of the day. The Web is DVD is says, and the desktop VHS. Adobe’s AIR is a combo player. He is talking about transition and leaving us in no doubt about what he sees is the future of the desktop.

Best sessions of the day (that I attended) were Blaine Cook on Jabber and its XMPP protocol, and David Recordon from SixApart on the evolving Internet "open stack". In this he includes:

  • OpenID + hCard for identity
  • XRDS-Simple for discovery (http://is.gd/3M53)
  • OAuth for authentication
  • ATOM and POCO  ( or PorC) – Portable contacts)
  • OpenSocial

I put these two sessions together because they both addressed the "Web as platform" topic that is really the heart of why we are here. Spotting which APIs and protocols will win is tricky; but if consensus is reached on some or all of these, they will impact all web developers and bring new coherence to what we are doing.

I’ll be covering today on Twitter again – see here if you want to follow.

Prism: official Delphi language comes to Visual Studio

Embarcadero is to release Delphi for .NET as a Visual Studio add-on, called Prism. Marco Cantu has a summary. Note that according to this post, which is based on an announcement statement by product manager Nick Hodges at the SDN conference near Amsterdam, there will be:

full support for the .NET framework 3.5 (WinForms, WFP, Silverlight, ASP.NET, WCF, LINQ) … CodeGear will provide Datasnap 2009 integration and dbExpress for ADO.NET support

It looks as if this will be a full alternative language for .NET developers. Note that many of the language changes, such as generics, in the Win32 version of Delphi 2009 seemed to have .NET compatibility in mind. It makes sense for Embarcadero to use Visual Studio to host .NET development tools, just as it uses Eclipse for Java.

There remains an awkward question. What advantage is there in using Delphi (a version of Pascal) rather than C# for .NET development? If this is aimed only at existing Delphi developers migrating code, it will only ever be a niche.

Not good news for RemObjects Oxygene, which is also an Object Pascal add-on for Visual Studio; but Oxygene has some other tricks like Mono support, for running on Linux, which may sustain it.*

I am trying to clarify a couple of points. To what extent, if at all, will Prism support the .NET version of Delphi’s VCL (Visual Component Library), which would not fit smoothly with the Visual Studio design tools? Even if VCL.NET applications work, you would probably be better off using Delphi’s own IDE for them. Code ported from Win32 Delphi will likely use the VCL, so this is tough to get right. And what is the future of Delphi for .NET in RAD Studio? I will update this post when I know more.

*Comments below suggest that this is in fact Oxygene rebadged; I won’t say more until I’ve got official confirmation.

What’s new in .NET Framework 4.0?

Good question. There are a few things we know about Microsoft’s managed application runtime and class library:

There will be major updates to the Windows Communication Foundation (WCF) and Workflow Foundation (WF). According to this announcement along with this post by Steven Martin we are going to see “better support for Web 2.0 technologies like REST, POX and ATOM” and a 10x performance increase in WF.

The table shown here also mentions a bigger role for XAML:

Seamless integration between WF and WCF and unified XAML model. Build entire application in XAML from presentation to data to services to workflow.

There will be a new application server codenamed Dublin, which hosts WF/WCF applications and manages messages, long-running transactions, state management. Dublin extends Internet Information Services (IIS) and will run on Windows Server – probably Server 2008 only.*

Dublin supports Oslo, which is Microsoft’s latest attempt at model-driven development. I guess Dublin is the host for Oslo applications, as this post implies. XAML is a good fit with modelling, because it is both declarative and well-suited for visual representation. Models do not have to be visual, and Oslo includes a new textual language which could also be based on XAML (?), but nevertheless there is synergy between modelling and visual designers.

Putting this together, we have a new take on Microsoft’s end-to-end stack, developed in Visual Studio with XAML supplemented by procedural code where needed, hosted on Dublin, and using WPF or perhaps Silverlight(?) for the presentation layer. Thanks to the new REST support, or the old SOAP support, you could also use other clients including JavaScript or Java.

It is all a bit perplexing if you currently think of the .NET Framework as the runtime engine and class library for C# and Visual Basic. It sounds as if .NET Framework 4.0 is enterprisey, more JEE than Java. We are seeing increasing fragmentation or more positively, diversification, in Microsoft’s .NET story. There are micro versions, cross-platform versions (Silverlight), desktop versions (client profile), and more and more pieces that only belong on servers.

How much of Oslo and the Dublin application server is likely to be implemented in Mono, I wonder? I suspect not that much, since Mono has focused in the past on the common language runtime and ASP.NET. There was no WPF support in Mono until Moonlight.

All this begs the question: is .NET becoming too complex? I interviewed Scott Guthrie, Corporate VP Developer Division, at the Remix conference in Brighton last month. I asked him about Oslo, thinking that he must be closely involved in what is, according to some at Microsoft, a major step forward in application development. His reply: “That’s not my world”.

Guthrie is a simplifier. He was one of the original developers of ASP.NET, along with Mark Anders, and as I recall, when asked what modelling tool he used he replied, “a whiteboard”. I spoke to Anders about the early days of ASP.NET and he emphasized the value of simplifying what already exists; see also How ASP.NET began in Java.

Microsoft also claims that Oslo/Dublin will make complex things easier for developers, but looking at all these pieces I’m waiting to be convinced. PDC 2008 is where we will find out more.

*According to this post “Dublin” actually refers to the next version of Windows Server itself, though this announcement says “a set of enhanced Windows Server capabilities codenamed ‘Dublin’ that will offer greater scalability and easier manageability.” I guess this comes to the same thing, and that preview versions of Dublin could either be early releases of the entire OS, or preview bits that install into Server 2008.

Microsoft’s cloud platform, multi-touch Windows 7: mining the PDC schedule

I’ve been looking at the PDC Session schedule, as posted so far. Microsoft is serious about its new cloud computing platform. For a start, count the sessions.

Out of 180 posted so far, here are the subjects with 10 or more sessions:

  1. Cloud services [33]
  2. Windows 7 [22]
  3. SQL Server [16]
  4. Visual Studio [16]
  5. Silverlight [13]
  6. Live Platform [11]
  7. ASP.NET [10]
  8. Languages [10]

That’s a huge focus on the cloud. Microsoft’s problem: the company is not perceived as a leader in cloud computing. It has two distinct challenges: first, getting the technology in place, and second, winning developers to its new platform. In mitigation, it is in theory well placed to migrate users from on-premise Windows and Office to cloud equivalents.

Here’s a few snippets about Microsoft’s cloud platform:

A lap around Cloud Services: … Learn about the pillars of the platform, its service lifecycle, and see how they fit with both Microsoft and non-Microsoft technologies. Also, hear about the services roadmap over the next few years.

Cloud Computing: Economics and Service Level Agreements: … Topics include the pricing model for the cloud computing platform, how to monetize a service, and how to reduce the total cost of ownership.

Connecting Active Directory to Microsoft Cloud Services: … Manage and secure end user access to cloud services using your existing investment in Active Directory. Enable end users to access cloud services through existing Active Directory accounts, the same way they access your intranet-hosted software today. Hear how to enable existing software to use new service capabilities without re-writes, and do it all through the use of open and standard protocols.

That last item is a big deal. Managing separate user identities for local and cloud services is horrible.

What else can we glean from the PDC schedule. Here’s a few items that intrigued me:

Windows 7: Web Services in Native Code … Windows 7 introduces a new networking API with support for building SOAP based web services in native code.

Windows 7: Developing Multi-touch Applications … This session highlights the new multi-touch gesture APIs and explains how you can leverage them in your applications.

Oomph: A Microformat Toolkit … a toolkit from the MIX Online Team, that is aimed at web developers and designers to make it easier to create, consume, and style Microformats on the web. See also here.

Concurrent programming: Microsoft Visual Studio: Bringing out the Best in Multicore Systems … demonstrations of the parallel performance analysis and optimization tools in the next release of Microsoft Visual Studio. .

Oslo of course: A Lap around "Oslo" … “Oslo" is the family of new technologies that enable data-driven development and execution of services and applications. Come and learn how to capture all aspects of an application schematized in the "Oslo" repository and use "Oslo" directly to drive the execution of deployed applications.

Generics and constructors in XAML: Microsoft .NET Framework: Declarative Programming Using XAML … Learn about XAML additions like: support for generics, object references, non-default constructors, and more.

Instant cloud apps: Research: BAM, AjaxScope, and Doloto … Hear how BAM can turn a simple specification into a web-based cloud application with the click of a button. Learn how AjaxScope and Doloto automatically instrument and rewrite your web applications’ JavaScript code for end-to-end monitoring and optimization.

Office, a big feature of PDC 2005 when the ribbon was introduced, only has 3 sessions posted so far, though there may be more to come. Normally a new version of Office accompanies each new version of the Windows client.

Another question: what is in .NET Framework 4.0, to merit a full new version number? There is surprisingly little mention of it so far.

Microsoft’s open source breakthrough

Microsoft’s integration of jQuery and Visual Studio/ASP.NET is significant and I wrote about it on the ITJobBlog. I’ve included some comments from Scott Guthrie about ASP.Net AJAX vs jQuery.

Miguel de Icaza, who works on open source versions of .NET, also says it is a “first time for Microsoft”.

Rick Strahl, who is an ASP.NET MVP and writes an excellent technical blog, says in a comment to Guthrie’s original post:

To me jQuery has easily  the most game changing component in Web Development since ASP.NET originally was released.

It is a breakthrough; but note that it comes from the developer division, which is more inclined towards open source than other divisions running Windows and Office.

Future of Web Apps London next week

I gather that FOWA 2008 London is nearly sold out so now is the time to book, if you have not already. I’ll be there.

With stock markets reeling around the world, it’s an interesting time to have a conference focused on start-ups. Still, there are always opportunities. Lean times also help to concentrate minds on what is really cost-effective; if we are in for a prolonged downturn (which looks likely), that may stimulate interest in both web-based and open source technologies.

Some of the schedule looks like more of the same, if you have been to this kind of conference before, but there are some new topics there too: “How to decrease the environmental impact of your app” is intriguing; and I’ve already mentioned that XCalibre and Amazon will be co-presenting on cloud interoperability. I’m also looking forward to Tim Bray’s session as I have not heard him speak before.

Google, Adobe, Mozilla: Open source war of words is all about owning the platform

The route to dizzying riches in this industry is to own the platform. Look no further than Microsoft, which not only sells the operating system, but also dominates the applications which run on it, from Microsoft Office on the desktop, to server products like Exchange and SQL Server, and network management software like System Center. Anyone can build applications for Windows, and plenty of third-parties have done so successfully using its free SDK (Software Development Kit), but somehow it is Microsoft that profits most.

Microsoft is still doing its thing, but attention is turning to the next generation of Internet-based computing. I touched a nerve when I asked Google’s Dion Almaer about Adobe Flash: it’s not open enough for Google, he told me. I put this to Adobe’s Dave McAllister, director of standards and open source, who assured me that Flash is all-but open, excepting (ahem) the source code to the runtime. Then he surprised me (considering he is an open source guy) by accusing Mozilla of bad faith over Tamarin, the source code to its ActionScript 3 runtime and just-in-time compiler, and remarking that Sun’s efforts to open source Java had mainly helped its competitors. I wrote this up for the Reg.

The problem is that these companies want the best of both worlds: the widespread adoption and community contributions that open source can generate, but the control and profit that comes from owning the platform.

If you can’t own the platform, the next best thing is that nobody owns the platform, which is why IBM worked to hard to get Sun to open source Java, and deliberately muddied the waters by sponsoring the Eclipse tools platform and alternative Java runtimes and GUI libraries.

Why is Google wary of Flash? Simply, because it is risky to build your own application platform on a runtime that belongs to another company. It is not enough for Adobe to say it will never charge for the runtime, any more than it is enough for Microsoft to give away the Windows SDK. Google is watching Adobe, and seeing how it is building online applications like Buzzword which competes with its own Google Docs. Companies with their own platform ambitions (Apple also comes to mind) are more likely to be averse to Flash. Oh, and look who else is building its own alternative to Flash? Yes, Microsoft with Silverlight.

Like Google, Mozilla is trying to build a browser platform that has less need of proprietary plug-ins like Flash. Although I was surprised that Adobe’s McAllister said Mozilla was using its open source contributions in the wrong kind of way, seemingly missing the whole point of open source, I was not surprised to find tensions. I quizzed Mozilla’s John Resig on this exact subject one year ago, when I wrote that Adobe and Mozilla were on course for collision.

As McAllister points out, open source also has risks, particularly the danger of fragmentation and multiple incompatible versions. Maybe Flash is better as closed-source. Still, let’s not pretend it is really all-but open source. The real issue is who owns and controls the platform, and in this case it is definitely Adobe.


Advertisement Click here for special offers including free magazine subscriptions,white papers and ebooks.

Technorati tags: , , , , , , ,