Tribal Knowledge Hub
Tribal Knowledge Hub

Technical discoveries, solutions and musings from a long time IT professional.

Archive for October, 2012


leave a comment

This week Apache Cordova (formerly known as PhoneGap) graduated from the Apache incubator and is now a top level Apache project. Cordova got its start as PhoneGap at a company called Nitobi. Adobe acquired Nitobi in 2011 and donated PhoneGap to the Apache Software Foundation which placed in incubator status. Adobe continues to develop PhoneGap as a release of Cordova but indicates that it may acquire some proprietary features.

The Cordova API allows developers to take applications built in HTML5, CSS3 and JavaScript and deploy them natively on a number of mobile platforms. Cordova sits as an abstraction layer on top of the device OS so that by using a different version of Cordova, the same app can run on Blackberry, iOS, Android, Windows Mobile and a host of other mobile platforms. Cordova includes a rendering engine for HTML and CSS as well as a JavaScript runtime. So Cordova applications run ‘natively’ and do not require a web browser.

I first encountered Cordova while working on an Android application for a defense contractor. The application was map focused and allowed users to see where friendly forces (and others if known) were on the battlefield. The application was built natively in Android using Java (Dalvik). A number of potential customers expressed an interest in the application but wanted it on different platforms like iOS or on a desktop browser.We were struggling with the potential of having to rewrite the application for multiple platforms including some proprietary hardware/software used in our industry.

After attending FOSSGEO in Denver, I decided to try a web-based solution using HTML5, CSS3, JavaScript and Sencha’s extJS JavaScript library. At the time, I built the application targeted to the browser. In doing some research I stumbled upon PhoneGap in a matter of hours I was able to demonstrate our application running on Android, iOS and in a desktop browser. As a strategy we were considering porting PhoneGap ourselves to our proprietary platforms and using it as the framework upon which to build a variety of cross platform apps.

In addition to packaging the web functionality, Cordova exposes many native device features including sensors, the file system and contacts. Since Cordova runs as a native app on the device, Cordova-based apps have been accepted in Apple’s iTunes app store. Here is a sampling of Cordova/PhoneGap based apps currently in production:

  • Wikipedia — Wikipedia Mobile
  • Facebook — Mobile SDK
  • — Mobile Development SDK
  • IBM — Worklight Platform for Mobile
  • Microsoft — Halo Waypoint

As a mobile developer I think Cordova (I still have trouble not calling it PhoneGap) is a credible cross platform solution that can help organizations manage the growing array of mobile platforms in use by their customers and employees.

Written by Dave

October 23rd, 2012 at 2:55 pm

Posted in Mobile

Bumper Sticker

leave a comment

I was driving today and I saw a car with this bumper sticker. My wife was with me so I had to explain to her why I thought it was funny. Like all good humor, this bumper sticker is rooted in truth. In my job, I have had the opportunity to work in a wide range of industries. It is an almost universal truth, that as a practitioners, we do a poor job documenting our code.

Why don’t we (and I do mean we)  document our code?

Sometimes it is just laziness. I know that when I write code and it works, I consider the task done. I often view documentation as a separate task, a burden.

Often we as project leaders, fail to plan and budget for documentation. Doing it right takes work.

In some cases, it is precisely this sentiment. Since the code is the truth why should I document it? In fact one of the problems with documentation is that it must be maintained, just like the code. The only thing worse than no documentation is bad documentation.

Written by Dave

October 20th, 2012 at 8:31 pm

Posted in The Craft

Tribal Knowledge Hub

leave a comment

I have been blogging for years using primarily using both hosted TypePad and WordPress platforms. I finally decided to put some of my technical expertise to use. All of my existing blogs (and this new one) have been ported to the open source WordPress platform running on the the LAMP platform. LAMP stands for Linus, Apache, MySQL and Perl, PHP, Python. I have used all of these technologies in the past so it seemed to make sense to use them for my blog. All of these are hosted on a virtual private server at

In this blog I will share and categorize some of the technical discoveries I make on the job and in my private exploration. Among the topics I will cover in this blog will be the issues encountered in configuring WordPress. My goal is to record and share so that when others encounter the same issues, they can find the solutions, just as I have on other technical blogs.

Written by Dave

October 19th, 2012 at 6:16 am

Posted in WordPress