Blog post

Software Development & the Technology We Use

By Kirk Knoernschild | June 11, 2010 | 0 Comments

Software Development ProcessPresentationPlatforms & Software ArchitectureMobile and Endpoint Technologies

It’s exciting to be part of GBN, and I look forward to sharing opinions with each other. Make no mistake…this is a technology blog. But I hope to blog about technology topics in a way that helps folks understand the strengths and weaknesses of the technology, as well as helping them make the important decisions surrounding the technologies they’ll use going forward. I hope you’ll join me in exploration, and contribute your views.

Here’s a bit of what you can look forward to reading about in my little corner of the GBN world, along with my brief views on each. Over time, we’ll delve into each more deeply.

Software Development Processes and Practices

I’m an ardent believer that agile development methods and practices are *always* good, they do scale, and are a critical success factor for large teams. While that may sound overly zealous, I cannot think of any situation where slow, brittle, and resistance to change are beneficial attributes. Granted, my definition of agile may be slightly different from others, so this will be fun to explore.

Platforms, Development Frameworks, Software Architecture, and Modularity

The application platform that we’ve grown accustomed to over the past decade is undergoing transformation that stands to affect everyone from the developer to the folks in the data center. There is a lot of buzz surrounding the cloud, but there is also significant innovation elsewhere that promises to dramatically alter the tools we use to develop software. Dynamic languages that promise improved productivity and functional languages that promise improved performance are two examples. First class support for modularity (e.g., OSGi) that brings with it platform componentization and the opportunity to rightsize the platform is another. And each has a significant impact on software architecture of the future.

Rich Mobile Application Platforms

By now, I suspect you are familiar with these new breed of mobile devices garnering so much attention. Hardly a day goes by without an earth shattering announcement. The battle between Apple and Google is exciting to watch. Yet beneath these very public disputes lie an interesting set of dynamics. For instance, is Apple’s curated ecosystem really the devil? Or might the fragmentation of the Android platform be a bit more concerning? And each affects how you develop rich mobile applications for the respective platforms, albeit in different ways.

Presentation Technologies

In the mid-1990’s, rich client technology was the rage. Remember PowerBuilder, anyone? Of course, the web changed all that, offering a near ubiquitous platform for delivering the corporate brand to consumers. Unfortunately, web technologies presented new challenges. Rich internet application technologies (RIA) such as Ajax and Flash helped overcome some of the user experience problems, but others persisted. The lack of local storage and inability to access applications in the absence of an internet connection are two examples. While new technologies such as Silverlight and AIR promised to finally overcome these challenges, HTML 5 aims to do the same. And on the horizon looms a rather interesting battle that will redefine the web.

While the above topics are my primary interest, I cannot promise that I won’t occasionally stray and discuss other topics, as well. It should be fun.

Comments are closed