Wednesday, May 30, 2007

Tools Have Consolidated to Three Platforms

The tools market has consolidated onto three platforms: Eclipse, Visual Studio, and the Browser.

  • Eclipse - For enterprise class development, virtually all standalone IDE's have moved to the Eclipse platform. Adobe Flex, BEA Workshop, Zend Studio, IBM Rational, and JackBe are examples of independent IDE's that have or have announced a move to Eclipse in the past year. There are virtually no enterprise vendors at this point that are selling a standalone IDE that do not have an Eclipse strategy other than edge cases like IntelliJ and the NetBeans project. When I was at ActiveGrid, 100% (and I am not exaggerating) of Fortune 1000 customers I met had standardized on the Eclipse platform for development.

  • Visual Studio - The Microsoft camp is of course on Visual Studio with its myriad of extensions, but even Microsoft is experimenting with browser-based development with its new Popfly service.

  • Browser - The new and emerging market is browser-based, lightweight application development that used to be dominated by products like Microsoft Access and FileMaker Pro. There are a host of products including Coghead and Zoho Creator that enable a similar ease of use along with the ubiquity of a browser.

    Following is a chart that shows the array of companies offering Eclipse and Web Browser solutions for application development. I did not include Visual Studio in order to save space, it does not have as interesting an ecosystem IMO.

    It is interesting how the enterprise type of developer that in years past used sophisticated tools like PowerBuilder is still attracted to a full fledged IDE, and the line of business / SMB type of developer that used to use tools like Microsoft Access and FileMaker Pro can now use a web browser. Microsoft has added a ton of features to Microsoft Access over the years, but the core functionality that most people use can now be easily replicated in a browser. With the addition of tools like Yahoo! Pipes and Microsoft's Popfly, the Web 2.0 wave has finally hit application development in a big way.
  • Thursday, May 17, 2007

    What Happened to LAMP?

    As many of you know, I am a huge proponent of scripting languages and the LAMP open source stack. Four years ago, I founded ActiveGrid to bring these technologies into the enterprise. People regularly ask me, "what happpened to LAMP?" since at this pint it is clear the LAMP stack has not had much penetration into the enterprise. I thought it would be worthwhile to analyze why this has occurred.

    #1 - Java is now easy

    Over the past few years, it has become incredibly easy to build Java web applications, especially database applications. NetBeans is a great example of a Java RAD environment that walks developers through writing a standards-based database web application. For coders, the prevalence of simple frameworks like Struts2 for UI and POJOs (plain old Java objects) with Hibernate / Java Persistence Framework for persistence have made it very straightforward to code a database application, especially when compared to Java EE. Sun's recent endorsement of scripting languages within the JVM (JRuby, JavaFX) is also lowering the bar for Java web application development.

    #2 - New infrastructure software has hidden costs

    Even if it was quicker and cheaper to build a LAMP application than a Java application, the cost of getting a new software platform approved is pretty astronomical at a lot of enterprises. Adding staging servers, management software, security auditing, training staff in new technologies, etc. is very expensive. Linux and Apache have been enormously successful in the enterprise since they were brought in as a horizontal solution. Bringing in Linux to replace Solaris and running Apache for all static content significantly reduces costs. But running PHP or Python for some applications when an enterprise is already supporting Java and perhaps .Net is not viable for most enterprises, as the cost each added platform multiplies support costs. MySQL has been a bit of an exception to this since it is substantially easier to use and administer than its competition, but it really is a tough slog when enterprises already have enterprise-wide license agreements to Oracle and DB2.

    LAMP is still a huge success outside of the enterprise market, it is the stack of preference for Web 2.0 companies, SaaS companies, hosting providers, and legions of ISV's.

    At ActiveGrid, we made the transition to Java deployment last year, and as previously announced last year, there will be a tooling update this year. While it can be an inefficient use of time and capital to transition a startup from one trend to another (since it is cheaper and easier to simply shut down a startup and start a new company from scratch), I am glad the company has successfully transitioned and is pressing forward in its mission to simplify application development.

    Tuesday, May 08, 2007

    A CLR in Every Home

    The most interesting aspect of Microsoft's Silverlight software is the included mini-CLR (Common Language Runtime). It supports multiple languages including scripting languages, is much faster than JavaScript (at running JavaScript even!), and is much easier to program than Apollo. I think that Silverlight has expanded the talent pool of people able to create rich internet applications to the legions of Microsoft .Net developers. Once these apps start pouring out, most people will endup having the plug-in installed on their machines.

    Although Microsoft did not support Linux, they do support Firefox and the Macintosh, and the Mono folks have already said they will take care of the Linux version. I'm sure Microsoft is not complaining, they get Linux support without having to endorse Linux.

    Perhaps I am a luddite, but I still prefer Google-style JavaScript than RIA applets for most applications. Media-intensive sites and sites with complex UI like Yahoo! Pipes car manufacturer configurators greatly benefit from RIA, but RIA's are too cumbersome when filling in a form or adding a weather Widget to your homepage.