David Chappell


Get the Feed! Subscribe

A Discussion about ALM and Modern Apps  
# Friday, March 07, 2014
I had a chance to talk with Richard Campbell and Carl Franklin for an episode of their ongoing Dot Net Rocks podcasts. They are incredibly smart guys, and so diverse. (If you haven't heard any of Carl's music, you really need to: Start here and here.)

We met after I'd just given a keynote (at the Computer History Museum, a very cool place) about the rise of devices and services apps and what this implies for application lifecycle management. Accordingly, this is what we talked about.

The podcast is here.

0 comments :: Post a Comment


Barriers to the Public Cloud: A Short Interview  
# Sunday, March 02, 2014
David Giard, formerly a Sogeti consultant and now a technical evangelist at Microsoft, does an interesting video series called Technology and Friends. He interviewed me for this series a few weeks ago, where we talked mostly about the barriers to the public cloud.

It was a pleasure talking with David, and if you're interested, you can watch our conversation here.

0 comments :: Post a Comment


A Perspective on Xamarin  
# Friday, February 28, 2014
I've been looking at Xamarin recently, a company that provides technology to build apps for iOS, Android, Windows Phone, and other platforms. The diagram below summarizes one way to think about their offering compared to other popular alternatives. (Click on the diagram for a more readable version.)

Suppose you want to create an app that runs on iOS, Android, and Windows Phone. One way to do this is to create a portable HTML5/JavaScript app. As the diagram's first row shows, this lets you work in just one language and build just one app. These benefits (shown in green) are balanced by some significant limitations (shown in red). HTML5/JavaScript apps provide only a generic web-based user interface rather than a native UI for each device, and they allow only limited access to native functions on the device, such as the camera. They also can't be in app stores--you've got to find some other way to distribute them.

An alternative is to create a native app for each platform, as shown in the diagram's second row. This requires working in three languages to create three different apps, which is significantly more complicated, but it has some real advantages. Your app can now have a native user interface for each device, and it can fully access whatever functions the device provides. Native apps can also, of course, be in app stores.

Both of these approaches have some green aspects and some red aspects--pros and cons. Wouldn't it be nice if there was a solution that included only the green from both options? This is what Xamarin aspires to.

With Xamarin, you build one app in one language--C#--giving you a single main codebase. But you also customize this app for each platform. You create a native UI for each device, for example, and your app can access whatever device-specific functions it needs. The result can also be in the various vendor's app stores.

Even though Xamarin tries to offer the best aspects of the other two approaches, there's still some pain--you aren't really building just one app. Still, you can reuse some (maybe even most) of the app's code across all three platforms, which is likely to simplify the task of creating and maintaining a mobile app.

Xamarin is certainly seeing some success, which suggests that this technology is appealing to a chunk of developers. And in any case, the approach they've taken, providing a middle ground between the two most common options today, is definitely interesting.

4 comments :: Post a Comment


Gartner's 2014 MQ for PaaS: Organizing the Chaos  
# Friday, January 31, 2014
I don't envy the Gartner analysts whose job it was to put together their new Magic Quadrant on PaaS. Even defining PaaS is challenging--different vendors provide quite different offerings--and so figuring out how to position this diverse bunch on an MQ couldn't have been easy.

Figure 1.Magic Quadrant for Enterprise Application Platform as a Service

The only easy part is choosing the leaders: Salesforce's Force.com and Microsoft's Windows Azure. Unlike Gartner's latest IaaS MQ, which put Amazon off by itself in the upper right corner, the PaaS MQ (correctly, I think) indicates that nobody's really that far ahead in the PaaS market.

What's most interesting to me, though, is Gartner's decision to put Salesforce well ahead of Windows Azure. This perhaps stems directly from the MQ's stated focus: It's for enterprise PaaS applications. An MQ focused on ISV PaaS apps might well have put Windows Azure ahead of Force.com, while one balanced across enterprise and ISVs would likely have shown them neck and neck in the leader's quadrant.

For enterprises, though, the MQ's authors put substantial weight on the easy-to-use graphical tools that Force.com provides for building applications. Windows Azure PaaS is oriented toward lower-level development using C# or JavaScript or some other programming language. None of this is outside today's enterprise development world, of course, but these technologies do require a higher level of developer skill than Force.com. In Gartner's terminology, Windows Azure provides a high-control developer experience, while Force.com provides a high-productivity environment. ISVs are more likely to opt for control, which can make Windows Azure a more attractive choice for them.

As Gartner points out in the report, however, Microsoft also offers a direct competitor to Force.com with xRM. Available both in the cloud and on-premises with Dynamics CRM, xRM offers the same kind of graphical tools that the MQ's authors admire in Force.com. Yet for reasons I've never understood, Microsoft doesn't push xRM as a cloud platform. One likely path to improving Microsoft's position in this MQ is to change this, making clear that Microsoft offers a high-productivity environment alongside Azure's high-control approach.

In giving Salesforce the lead, Gartner puts a lower priority on the risks of cloud lock-in, an area where Windows Azure outshines the cloud-only Force.com. And the report only briefly mentions a benefit of Force.com that I'd argue has been critically important to its success: the ability of Force apps to easily use data that's already stored in the cloud. Once an organization buys into Salesforce.com CRM, as so many have, they're obliged to keep lots of interesting information in the cloud. If the organization then wants to build new enterprise applications that use this data, the obvious home for that new code is Force.com. Unlike the other vendors in this MQ, Salesforce's SaaS success drags its PaaS platform along with it.

A few more thoughts:
  • Putting Google as a challenger just outside the leader's quadrant must have been a tough call. Still, I think this is exactly right. App Engine is still too narrowly focused, especially for an enterprise-oriented MQ, to qualify as a leader today.
  • Some inconsistency seems unavoidable in putting together an analysis covering such a diverse market. For example, the report says that "The combined selling of Google Apps (SaaS) and Google Cloud Platform (IaaS and PaaS) is a promising business opportunity", listing this under Strengths for Google. For Microsoft, however, Gartner observes that "Spreading its efforts across a wide range of IaaS, PaaS and SaaS offerings dilutes focus", listing this as a Caution. Which is it? Is offering all three varieties of cloud service good or bad? The answer, I suppose, is that it depends on how well a company does it.
  • And finally, where is Amazon's Elastic Beanstalk? Perhaps it doesn't qualify as PaaS from Gartner's perspective (a view that I would dispute), or perhaps Amazon chose not to participate in the MQ. Whatever the situation, Amazon has historically been the best in the cloud industry at figuring out and quickly filling customer needs. The company's apparent lack of emphasis on PaaS says something interesting about its view of the prospects for this market.

0 comments :: Post a Comment


Keeping Up: My Current Favorite Resources  
# Tuesday, December 31, 2013
The central challenge in our profession is keeping up with technology change. Whatever your job, wherever you are in your career, you need to learn lots of new things every year. If you don't, your career is guaranteed to be suboptimal (and probably short).

Along with following the right people on Twitter and reading the trade press, I've come to depend on two subscription services:
  • Safari Books Online: For about the cost of one technical book a month, I now have access to an enormous library of current titles on pretty much every subject. Technical blog posts are useful, but for really understanding something, nothing beats a good book. Everybody in IT should subscribe to this service--it's just great.
  • Pluralsight: Live training seminars can be wonderful and inspiring, but they're also expensive and time consuming. Web-based training has taken over much of this market, and Pluralsight appears to be the leader. Their audio-over-slides style is simple and works well, and their library is large and growing. I'm especially impressed with how rapidly they get courses posted on hot new topics. And like Safari, their monthly subscription fee for individuals is about the same as buying one book a month, something that all of us should be doing anyway. I've done a couple of courses for Pluralsight, so I get the service for free, but even if this weren't true, I'd happily be a paying subscriber.
Along with these, I'm always looking for new ways to keep up. What are your favorite ways to stay current? Feel free to let me know in the comments.

2 comments :: Post a Comment


Understanding NoSQL Technologies on Windows Azure  
# Monday, November 25, 2013
The NoSQL wave began in the cloud, and so you'd expect cloud platforms--including Windows Azure--to support these technologies. To help people understand the Windows Azure NoSQL options, I've written a Microsoft-sponsored white paper that surveys the topic.

Understanding NoSQL Technologies on Windows Azure looks at both the native options, such as Windows Azure Tables, and the open source databases that can run in Windows Azure VMs, e.g., MongoDB. The paper focuses on what these technologies are and why you'd use them, rather than how to use them, and the goal is to help you understand and make better choices about using NoSQL databases on Windows Azure.

1 comments :: Post a Comment