Blog Home  Home Add to any service  
Beckshome.com: Thomas Beck's Blog - Thursday, July 20, 2006
Musings about technology and things tangentially related
 
 Thursday, July 20, 2006

Phil Windley’s recent post on e-Government mashups is a great introduction to the topic of citizen-facing Web services. As refreshing as it is to see that progressives in Rhode Island and the District of Columbia are exposing government data to their citizens and opening themselves to the law of unintended consequences, this only scratches the surface of what is possible. As I’m sure Phil knows as a former state CIO, fully open citizen self-service is likely to only go so far. As cool as it is to mashup public highway, crime, and public entity data on a map for the world to see, enabling truly effective government is going to be, to a greater extent, dependent upon empowering government knowledge workers. Imagine if, as an example, a knowledge worker was able to pull together information from their state’s welfare, criminal justice, and revenue (i.e. tax) systems and mash these up in a way that enabled them to uncover hidden relationships between this data and serve the state’s citizens more effectively.

 

 

 

Behind the scenes, what state governments should be doing is exposing all of their data through services. Then, through the combination of public policy setting and comprehensive identity management frameworks (another thing Phil knows a thing or two about), they can filter through as much of that data as is possible and allowable to each of their discrete stakeholder groups. Those of us working on such monumental tasks recognize that this is truly much easier said than done. However, the rewards of pursuing this route clearly are worth the effort expended. Although I do have a working knowledge of other states’ activities in this area, I can say concretely that Pennsylvania has already begun reaping the rewards of pursuing this approach. Our state’s Justice Network (J-NET) system is allowing for the effective exchange of offender, court, and other criminal justice data between state systems and empowering the knowledge worker. This ranges from high level policy setters who can now integrate criminal justice information into their data analysis and policy setting right down to the police officer making a routine traffic stop who can now more comprehensively assess the situation using data available on his wireless device.

 

Phil has got it right when he says that the goal should be to “set the data free”, exposing ourselves to the law of unintended consequences. the thought of better informed citizens, empowered knowledge workers, and greater transparency cause those famous words to echo through my head - government of the people, by the people, for the people.

Thursday, July 20, 2006 6:20:59 AM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Sunday, July 16, 2006

A couple of weeks ago, I was asked to describe what GeoGlue was. Although, we have a far-reaching strategic vision for GeoGlue, I can describe the functionality in the initial release using two words – “Soundseeing Mashup”. Now both of these words are fairly new additions to the English language. The mashup concept has gained a good deal of traction through all of the Web 2.0 writeups. Soundseeing, on the other hand, was a term that even I had not heard until just a couple of weeks ago.

 

 

Wikipedia, in its very brief description of soundseeing, describes it as an audio tour that uses the ambient sounds and descriptions given by a tour guide to give the listener an accurate depiction of the surroundings. These types of recordings are usually made at tourist points of interest and are commonly distributed through podcasting  Soundseeingtours.com provides a collection of links to get you started on understanding soundseeing. The New York Minute Show appears to be a leader in the genre, with a number of podcasts covering popular areas of New York City. The Amateur Traveler is also pretty good, with a diverse geographic focus and a good bit of content collected over the last year or so.

 

GeoGlue, then, mashes up soundseeing tours with Google Maps. Now I can hear you thinking, “just what the world needs, another Google Maps mashup.” Please bear with us, the mapping component is only one of GeoGlue’s facets. It just happens to be the facet that gets the most visceral reaction from people and is therefore a great feature for our initial release.

 

In going about assembling some initial content for GeoGlue, what I did discover is that the barriers to entry in soundseeing are fairly low. Not to knock any of the podcasts available out there now but with a small investment of time, anyone could tell a somewhat compelling story or stories about the town they grew up in, work in, or traveled to. We at GeoGlue are counting on this and will be reaching out to you to collect your stories in the not-so-distant future.

Sunday, July 16, 2006 3:28:51 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Tuesday, July 11, 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.

 

            

 

Open Source Article.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”.

Tuesday, July 11, 2006 10:06:52 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  |   |  Trackback
 Sunday, July 09, 2006

I stumbled onto the book Getting Real: The smarter, faster, easier way to build a successful web application while cancelling my Backpack service with 37signals. True to the advice they give in the book, 37signals made cancelling 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.

 

 

 

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 offence 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.

Sunday, July 09, 2006 2:19:45 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Thursday, July 06, 2006

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.

 

 

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.

Thursday, July 06, 2006 8:09:29 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Wednesday, July 05, 2006

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);

}

Wednesday, July 05, 2006 9:40:02 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Tuesday, July 04, 2006

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…

 

 

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.

Tuesday, July 04, 2006 11:09:29 AM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Sunday, July 02, 2006

Since I originally published my article on active authentication in the Java Developer’s Journal a couple of years back, I’ve been receiving a trickle of requests for the source code. It looks like the article is still available online although the accompanying source code seemed to have disappeared. I rummaged through my archives and dug up the WAR file containing the source code in case you’re interested. I can’t vouch for its absolute correctness. I seem to recall recreating the source code for a guy in Switzerland a couple of years back to run on Tomcat 5. I’m not sure if this is the version I’ve posted.

 

ActiveAuthentication.war (6.11 KB)

 

Also, since I’ve been less involved with Java over the past 3 or 4 years, I’m not sure that this solution is even necessary or applicable anymore. Even when the article was written, there were various degrees of vendor support for active authentication through HTTP filters across the various platforms. I most vividly remember the differences between Tomcat and Websphere. Give the code a whirl and let me know if it works or needs a bit of improvement.

Sunday, July 02, 2006 2:08:28 AM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Saturday, July 01, 2006

With Suzanne and the kids away for a week, I’ve been holding up my end of the bargain and working to make some significant progress with GeoGlue. After getting hung up quite a while on the nuances of Google and Yahoo maps – not to mention Flash encoding -  I chose to take a more lightweight approach to getting a first-cut working product out to production. I’ve revamped the user interface pretty significantly but still  many of the tried and true styles still manage to show through.

 

 

 

I’m now engaged in getting the site ready for a production push, albeit in a much scaled-back mode, prior to my departure for Detroit on Friday. I’ve included a fuzzy screen shot to give you and idea of what I’m dealing with. As always, if you’re interested in becoming an alpha adopter, drop me a line at alpha@geoglue.com.

Saturday, July 01, 2006 10:07:54 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
Copyright © 2008 Thomas Beck. Some rights reserved.

Creative Commons License