Life at Eclipse

Musings on the Eclipse Foundation, the community and the ecosystem

The Two Solitudes

I don’t think you can go to school in Canada and not read Hugh MacLennan’s the Two Solitudes. So for me it was an obvious metaphor for a phenomenon that has become apparent to me over the past year or so. That is: Europeans and Americans (particularly Californians) view the practice of software development in materially different ways.

I travel a lot to both Europe and California and I talk to a lot of people about what they are building and how they are building it. In my personal and completely unscientific experience the difference between the two regions is stark. I thought it might be interesting to explain what I am observing and see if others see things in a similar way. I freely admit that my experiences could be completely coloured by sample bias (e.g. maybe I’m just talking to completely different crowds in the different regions).

BTW, some of these ideas are distantly related to Michael Cusumano’s book The Business of Software, where he points out that the US is somewhat unique in looking at software as a business. Certainly there are not that many European independent software vendors relative to the US.

It seems that most of the Europeans I talk to are focused on large systems engineering problems. As a result, they largely view software as part of a supply chain, where what they are working on is going to either be part of or in support of a systems engineering product such as an automobile or an airplane. The next largest group that I talk to are fairly typical application developers working in large banks, insurance companies and the like. But here are the interesting bits:

  • Both of these groups are deeply concerned about software complexity and both are looking to modeling and model-driven development as part of the solution. They view modeling as absolutely strategic to their future ability to develop the software their customers or businesses will need.
  • I also see a lot more interest in desktop applications as opposed to web applications. Just recently I had two different conversations with groups that are migrating existing web applications to Eclipse RCP desktop applications. This is not to say that Europeans don’t build websites or use RIAs! But in my experience there is a very noticeable difference in the relative interest in desktop applications in Europe.

Now if you’re still reading this, you’ve likely guessed where its going next. My experiences in the US generally and even more so in California is that the Web is king and that anything which doesn’t run in the browser is uninteresting. I also uniformly get incredulous reactions if you ask someone in the US if they’re using modeling or model-driven development practices. They’re all hacking code with small, fast, super-smart teams. It’s just a completely different world in my personal experience.

Do others have similar observations?

The challenge for Eclipse in this context, of course, is to be relevant in both contexts. I actually think that we are doing a good — but not yet great — job of doing so. Projects like e4 are leading the way to making the Eclipse platform more relevant in the Web 2.0 world. But it certainly has a ways to go. The Modeling project has a virtual alphabet soup of technologies in it, but at the moment falls short of a providing a cohesive modeling platform. Something I hope to see the community begin to address shortly.

Written by Mike Milinkovich

February 1, 2010 at 6:17 pm

Posted in Foundation

7 Responses

Subscribe to comments with RSS.

  1. nteresting observation, Mike. I’ve had similar experience. You don’t hear “expert systems” or CASE tools mentioned much in the U.S. these days. Eclipse is clearly relevant in both contexts already, even though it lacks the cohesion of a “leading commercial product”. Personally I’m quite content with it being a platform for innovation. Building products is a gamble — it may or may not work out. Let the market deal with that. This is probably not a very popular opinion 🙂 Eclipse takes a lot of heat for not being more of a product. The growing challenge is getting the greater commercial community to support the basic innovation (as it’s always been). I’ll make sure to let everyone know once I figure out how to do that 😛

    Peter Nehrer

    February 2, 2010 at 9:42 am

  2. Mike,

    You are correct about “web-centricity” in the US.

    I recently demonstrated an RCP app to an IT manager. He asked if I could build a browser interface to “go along with it”.

    CharlieKelly

    February 2, 2010 at 10:54 am

  3. Mike,

    The old adage goes “when all you have is a hammer, everything looks like a nail”. You’re over-generalizing based on your observable universe.

    My social circle of software developers, largely centered around California and Texas, contains very few web developers. By and large, my friends work on consumer devices, embedded software, compilers, debuggers and software platforms. I don’t see the phenomena you describe at all **as a factor of locale**. There are sloppy developers everywhere and in every industry who rationalize their lack of design and planning as pragmatism.

    I’m even guilty of this sin on occasion, but my team doesn’t let me write code any longer so my impact is becoming less noticeable as my marketable skills depreciate.

    Eric

    February 2, 2010 at 11:25 am

  4. @CharlieKelly – Did you point the IT Manager to RAP? It might have been a solution.

    @Eric – I do agree that I am making a gross over-generalization. But here is a question: do your friends use model-driven development to build their devices? I’m not saying that people don’t build devices in the US, but that in my personal experience when they do they use less formal approaches than the Europeans.

    Mike Milinkovich

    February 2, 2010 at 12:39 pm

  5. That has been exactly my impression as well, even though I have never put my feet on either Europe or US (I am a Brazilian living in Canada). I can’t quite put my finger on it.

    Rafael Chaves

    February 2, 2010 at 1:55 pm

  6. Hmmm. I must be in the wrong place! I’m in California, and am heavily involved in both RCP-based desktop applications, and in MDD-based tooling to support my work. And yes, I’ve done plenty of web-based development using RAP and other frameworks too. Though my fellow Californians may disagree, there are some needs that are still best served by desktop apps.

    But I understand what you mean. I still get a lot of funny looks from colleagues when I mention Modeling, though that typically only lasts until they start using the tools, hit the “aha” moment, and finally understand why I’m doing it.

    Steve

    February 2, 2010 at 3:20 pm

  7. Mike, interesting post.

    I agree with you about the supply chain analogy. Modelling, in some scenarios seen as an evolution of the CASE tools, is a well known process part of the strategic enterprise architecture in lots of big European companies. I’m aware of quite banks still using an old CASE repository but moving the client part to Eclipse to boost graphical modelling. Anyway, I still see lots of scepticism when you mention MDD (or the rest of the related acronyms, MDA, DSL, …), so they won’t recognize the words, but they share the same spirit.

    But I’m not sure about European interest in desktop rather than web apps. Perhaps it depends on the industry or the target users, but what I can see at financial institutions here in Spain is that they are moving (slowly but steadily) to web apps. There are several reasons: same platform for customers, tellers, mobile or ATMs (ubiquitous platform, decrease development costs); growing interest in UX, specially web UX, and forget the ugly enterprisy software (the wire transfer process is easier for a customer than for our own well-trained tellers); and use the same tools our tellers use at home, aka, the browser (easy adoption, less training).

    Just my 5 cents.

    Ferdy

    February 2, 2010 at 7:24 pm


Comments are closed.

%d bloggers like this: