Archive for July, 2006

I was revisiting an article I penned very optimistically several years ago about open source software collaboratives. Most notably, I mentioned the Avalanche Corporate Technology Cooperative and the Government Open Code Collaborative (GOCC). These were (I stress the “were”) seemingly ill-fated initiatives to share the source code to business applications in the commercial and public sectors, respectively.

Government Open Code CollaborativeAvalanche Corporate Technology Cooperative

Open Source Enterprise Applications.pdf (550.16 KB)

Checking on these initiatives two years hence, I discovered that there has been scarce an update to either one of these sites since I wrote the article. Looking back and reflecting on my thoughts and experiences over the past couple of years, I realize that these two initiatives were destined to fail and that the open source community is unlikely to produce quality, open source enterprise applications. Allow me to compare.

The market for infrastructure software such as operating systems, servers, and utilities is occupied by a competitive mix of open source and commercial products. The margins on these products and their support services are low and there is little value added by offering unique product configurations. The market for enterprise applications, on the other hand, is occupied by businesses, system integrators and the software developers they employ to build their applications. Organizations may derive significant business value from product differentiation and custom configurations and there are no incentives for sharing of software at this level.

However, despite all of these important points, the most important reason why open source enterprise applications are unlikely can be explained in two words – critical mass. A significant amount of effort is spent making sure that open source operating systems, servers, and utilities run on a variety of software and hardware platforms and can be configured in a myriad of ways to meet business needs. The only real parallel in terms of the enterprise application world are enterprise resource planning (ERP) systems from companies such as SAP and PeopleSoft. Even these systems are known for how difficult they are to configure. The open source community will likely never see the case for building infinitely configurable enterprise applications that serve a handful of organizations at most.

Given the growth of Web 2.0, mashups, and Web services, it remains to be seen whether enterprises choose to leverage any or all of these developments in their applications. Perhaps open source enterprise applications aren’t really applications at all, just mashups of different open services that look like what we used to refer to as “enterprise applications”.

Comments Comments Off on Open Source Enterprise Applications – Lacking the Critical Mass

I stumbled onto the book Getting Real: The smarter, faster, easier way to build a successful web application while canceling my Backpack service with 37signals. True to the advice they give in the book, 37signals made canceling their service very easy – one of many valuable nuggets of advice offered in the book.

Getting Real describes the practices, both software development and beyond, used by 37signals, a small company that despite their excellent, easy-to-use applications is perhaps still best known as the innovators and driving force behind the Rails framework. Given the tie to the Rails creators, it is not surprising to learn that this book espouses an Agile approach to software development. What differentiates this book from other Agile texts is that it blends both Agile software development practices with, dare I say it, pragmatic guidance from 37signals and other industry notables on the business of creating, releasing and managing Web applications in the Web 2.0 world. This includes advice on staffing and the organization (borrowing from Peopleware), application design (using a user story / UI approach as opposed to a user story / domain object approach), pricing and signup, promotion strategy, support and post-implementation activities.

Getting Real - The Book

The book could not have been released at a better time. It will function very well as a handbook for operations at GeoGlue as the team expands. To that extent, I believe you can even purchase an organizational license to the book for about $50. There are a couple of real gems in here (for the Ruby crowd, no pun intended) – one of my favorites is the obligatory sections beating up on functional specifications.

“A bunch of people agreeing on paragraphs of text isn’t true agreement. Everyone may be reading the same thing but they’re thinking something different. This inevitably comes out later on: ‘Wait, that’s not what I had in mind.’ ‘Huh? That’s not how we described it.’ ‘Yes it was and we all agreed upon it – you even signed off on it.’ You know the drill.

Further, I appreciated the analogy between agile approaches and parallel efforts outside of software engineering such as military special operation forces and hurry-up offenses in American football. In this respect, I’m sure functional specifications will continue to have their place, as do conventional forces that constitute the majority of our military and the huddle-based offense run during 95% of your average football game. Getting real is a great approach – but it’s not the only approach.

In the end, I measure a book by how timeless it is and how often I refer to it after my initial reading or perusal. I believe that, in this sense, Getting Real will take a coveted position next to classics by Fowler, the GoF, Stephens, Wall, and others.

Comments Comments Off on Getting Real – The Book

The BSCoE4J Java application development framework was released today to the Commonwealth and is now available for download. The framework contains both abstract and concrete components that support the creation, manipulation, and persistence of domain objects. It interfaces well with, and is meant by no means to supplant, well-understood open source frameworks that address presentation layer, persistence layer, or domain object creation and discovery challenges.

BSCoE4J Java Framework

The addition of the BSCoE4J Framework as the third core BSCoE assets rounds off the BSCoE offering for custom enterprise application development. BSCoE4J joins the BSCoE.NET Framework and the BSCoE Software Engineering Process (SEP), forming a comprehensive set of tools for Commonwealth applications looking to do development in either Java or .NET.

Comments Comments Off on BSCoE4J Java Framework

Jacob Reimers’ Google Maps Control has been a genuine blessing for me over the last couple of days. After a lot of prototyping with Google and Yahoo maps, I decided to go with Google maps for GeoGlue and keep Yahoo maps open as an option based upon the development of the APIs as well as any potential licensing or usage constraints. After dealing with the Google APIs directly, and feeling the pain of issues such as the well-known Internet Explorer “Operation Aborted” maps loading issue, I was yearning for an intermediary API that had already thoughtfully addressed some of these issues.

The Google Maps Control does just this and more, and hit the sweet spot of platform combinations that I was dealing with – .NET 2.0 and Google Maps v2.0. The component is well documented and its design well thought out. Its naming convention emulates the Google API naming fairly closely, so when in doubt, most standard Google Map documentation will lead you to the answer of how to address the issue with the control’s API. The control also contains methods to support Google’s newly released geocoding functionality as well as support for Yahoo’s geocoding functionality, which by virtue having been around longer, is more likely to be in use in existing applications.

The component is well maintained and aligns well with the newest releases of the Google API. It is closed source but free for all use (Jacob’s words) although no license is included in the distribution. Best of all, it enables you to remove all the Javascript references in your .NET source code and use pure C# / VB.NET. The sample below is a snippet from GeoGlue that replaced 60 odd lines of Javascript code scattered across several files. In brief, it sets the latitude, longitude, and markers and then adds a number of markers to the map from a data source — all in pure C#.

GoogleMap.Latitude = double.Parse(locationResult.Latitude);
GoogleMap.Longitude = double.Parse(locationResult.Longitude);
GoogleMap.Zoom = 1;
while (ProductResults.read())
{
   GoogleMarker gm = new GoogleMarker();
   gm.ID = ProductResults["Title"].ToString();
   gm.Latitude = double.Parse(ProductResults.["Latitude"]);
   gm.Longitude = double.Parse(ProductResults.["Longitude"]);
   gm.MarkerText = "<b>" + ProductResults.["Title"].ToString() + "</b><br\>" + ProductResults.["Description"].ToString();
   GoogleMap.Markers.Add(gm);
}

Comments Comments Off on Microsoft .NET Google Map Component

I received the Bose SoundDock as a gift for Father’s Day (thank you girls!) and felt compelled to tell everyone about it. For a couple of days, I mulled over trading in the white model I received for a black model to match my IPod. After reading all the glowing reviews on Amazon.com, I just couldn’t bear waiting another week to try the SoundDock out. I was not disappointed…

Bose SoundDock

The sound on the unit is incredible given its small size. What’s most amazing is that you can crank up the volume and get little or no sound degradation. Given the rather limited controls on the speaker unit, fine tuning is more a matter of tweaking the IPod’s equalizer settings. It gets around pretty well within the house, having made the rounds from the bedroom to the study and ultimately to the basement to accompany me for workouts. From the reviews I read, it would seem that caution (and adequate packing) is advised for transporting the SoundDock over longer distances. I believe that a separate case is available for the SoundDock. If nothing else, you can box it up again and move it around that way.

With a $300 non-negotiable Bose pricetag, the SoundDock doesn’t immediately appeal to your thrifty consumer (that’s me). However, I implore you to drop by your local electronics store with your IPod and give it a listen with some of your favorite tunes. You might be surprised at how compelled you feel to get a SoundDock after you’ve heard how it sounds.

Comments Comments Off on Bose SoundDock