Differentiating Between Google Products

There are a number of Google products that sound like they share the same name and as such confusion may arise between what’s what. So here is a brief of explanation of the most commonly confused Google offerings.

Google Apps: This is a set of online office productivity tools like email, chat, word processing, spreadsheets and presentation software. It runs great in Google’s browser (called Google Chrome), but is not to be confused with Google’s App Engine.

Google App Engine (GAE): This is a sandboxed hosted environment to run computer programs written in Python and Java. The sandbox disallows applications from accessing the server hardware directly and enables Google to marshall and proxy certain resource calls so that it can charge for utlisation of the infrastructure on which the application is hosted (CPU, disk, network bandwidth).

Google Web Toolkit (GWT): This is a Java-based API which allows you to create client-side AJAX-based software linked to server-side Java servlets using pure Java code. The server-side can be hosted as a Google App Engine, but need not be – it can be hosted on any web server running the Java Servlet API.

Google has done a good job of simplifying the software development and deployment process and using one or more of the development environments they provide makes it easy to write software and deploy it for the world to use. We are likely to see more offerings from Google in this product space as it moves into the operating system market and “dukes it out” with Microsoft in the years to come.

Google Goggles: An Android-based application, i.e. available on mobile phones only (at this time), which augments what the phone’s camera sees with Google search results. Effectively, you can use the phone’s camera to lookup information on Google’s search engine. For example, point the Android-phone to the Golden Gate Bridge and press search and Google Goggles will recognise what it is seeing through the camera and use that information to conduct a Google search – the result is information about the Golden Gate Bridge retrieved from Google’s search engine. Goggles will, in time, also enable visual language translation. Simply point the Android-phone’s camera to text written in say German and the Google Goggles will lookup the text, translate it and feed it back to you audibly or visually in English.

FOSS versus COTS

The three commonly touted benefits to free and open source software (FOSS) in government are: (a) that it is inexpensive and so demonstrates that a government agency is being fiscally responsible and using taxpayer monies frugally, (b) that it avoids a government agency getting “locked in” to a commercial supplier, and (c) that it can be inspected by adequately ‘informed’ citizens because the source code is not hidden, thus consistent with open and transparent government.

The arguments seem compelling at first glance, but in reality there are a number of challenges experienced with FOSS:

Firstly, the low or no cost of FOSS only reflects the initial cost of the system. The total cost of software typically comprises three cost elements: (a) an upfront cost, (b) an ongoing cost and (c) a series of ongoing indirect and opportunity costs. FOSS has a low upfront cost element, but usually comes with high ongoing and indirect costs due to higher costs to locate and retain technical support. The cost of upgrading from FOSS is usually higher too because upgrade paths from one version to the next cannot be controlled as well as COTS software – many people contribute to the source code which makes up a FOSS product.

Secondly, the claim that FOSS avoids “locking in” a user to a particular commercial supplier is possibly false because it does not illuminate other forms of “lock in” which a user faces. Users of FOSS are often “locked in” to the product itself – a product that nobody or no company can support and a product which can be impossible to upgrade from. The user in effect becomes locked in to their own decision to use FOSS. The intellectual property behind FOSS is donated to the public domain and so it is not owned by any one company or person, the implication being that no one company or person takes ultimate responsibility for technical support of the users of the FOSS product – users have to be more technically independent and proactive when addressing their technical support needs. COTS authors usually reinvest a large part of their revenues back into technical support mechanisms to ensure their users get the most out of the COTS systems. COTS authors reinvest in technical support for their clients by building help desks and establishing telephone hotlines, writing documentation, providing online chat operators, developing training courses, setting up online communities of practice, and publishing lists of helpful information like “tips & tricks” and frequently asked questions (FAQs). The same quality and quantity of FOSS technical support is rare to find in one source. Typically technical support needs to be harvested from online user groups. There are instances of companies that “add value” to FOSS products but they charge for their version of the FOSS application and so by definition this excludes them from being considered FOSS due to the software charge.

Finally, the more philosophical attribute, that FOSS is consistent with the basic principles of open government because informed people can open and inspect source code may be flawed. The openness of government does not make sense when the granularity of the processes to be “opened” are so fine grained. An analogy: it would be difficult to argue that the inner workings of a photocopier must be visible to all for it to be accepted as an artefact that supports open government administration and therefore utilized by a government agency. A photocopier provides an organisation with certain ‘services’ and those services should be considered atomic or indivisible – they should be considered fine-grained enough to not warrant any further decomposition or revelation. The concept of open and transparent government processes taken to that level of detail does nothing to add value to the way in which a government serves its citizens. In fact, if a photocopier manufacturer could not protect and conceal its intellectual property and had to make it “open”, it is likely they would not be able to maintain a commercial business and future iterations of their photocopier may be jeopardised – government without access to a photocopier, because the photocopier is no longer profitable to build in an open way, may indirectly subtract value from government and its citizens. This is an exaggerated example, but the principle is the same. If opening a process adds no value or does not remove risk that a government process can be hijacked, then the reason to open the process is moot.

TADA: A Framework for the Analysis, Design and Assessment of ICTD Initiatives

I developed the TADA framework after a number of years witnessing technology-oriented projects and programs in the international development arena failing due to their strong bias towards only technological artefacts – i.e. desktops, notebooks, servers, software, web sites, etc. As ICT was viewed by commercial organisations throughout the 1990′s and perhaps up to the ‘dot com bubble’ burst, international development projects often share a narrow view of how an organisation derives its benefits from technology. The use of technology in the developed world has matured and obtained almost ‘magical’ status in some sectors, and so too, the approach to how technology is incorporated into developing contexts and the expected benefits derived will require a more evolved view of how technology works. My hope is that the TADA framework will be used by designers, assessors and implementers of international development projects to apply a more evolved and comprehensive approach to the use of ICT.

The aim of the framework is to promote a comprehensive approach to ICT projects and programs based on what has been learned over the last 20 or so years in the commercial world across developed countries. The framework is simple. It divides up an ICT program into six areas of attention: (i) policy, (ii) human resources, (iii) process, (iv) natural environment, (v) the commercial context and(vi) technoware. Each area of attention then uses a simple scale to reflect the degree of maturity of the planned or incumbent ICTD program or activity. The framework has already been used in a number of international development projects and has been warmly received. In Kiribati, where power is expensive due to it being produced by diesel generation, the framework helped to expose significant cost savings to be made by using more energy-efficient mechanisms for computing (using thin-client technologies).

Greater savings in recurrent costs, of course, increases the sustainability of the initiative. In Indonesia, where free and open source software is popular and is frequently adopted by government agencies, the framework helped to illuminate existing government policy on the use of open source and showed how the commercial context would be able to play a positive part sustaining the government’s planned ICTD initiative. The framework is intended to be ‘lightweight’ and to be descriptive, as opposed to prescriptive. It is intended that it be used to guide assessment, design and analysis of ICTD initiatives and also to assist with the setup of a sound monitoring and evaluation scheme for the activity.

The Future of HDTV: UHDTV & 3DTV

Dr. Yumita, the Executive Engineering Director of NHK (Nippon Hoso Kyokai, in English, the Japan Broadcasting Corporation) was a panel member in the last session of the ITU World Telecom 2009 Conference. During the panel discussion he outlined his vision for the next generation of TV currently in development. He explained that Japan is working extremely hard to develop the world’s first 3D television broadcasting system capable of running across the new generation of UHDTV or “super high vision” TV planned for introduction in the next couple of years in the country and around the world. The new broadcasting system would allow ultra HDTV (the next generation of HDTV) to display 3D video that will not require the cumbersome yet traditional red-blue glasses.

He explained how the broadcasting system will require enormous amounts of digital bandwidth between the broadcaster and the TV receiver and will be based on existing IP protocols but requiring next generation digital networks.  Dr Yumita also cited the significant progress made on “wide field” TV imagery, a display system which allows TV pictures with a 100-degree field of vision or more to be broadcast and displayed. Today’s widescreen TV typically displays a field of vision less than 30-degrees or so but humans often depend on at least 100-degrees of view. He explained that the new broadcast protocol is being designed to prepare for wall and ultra-large screen TV formats.

Google App Engine

Google App EngineToday I experimented with the creation of an application in Python to run on the new Google App Engine (GAE) infrastructure. Things couldn’t have been easier. I whipped up a .yaml file, created a couple of Python classes, a simple CSS stylesheet and HTML form (to give the application a face) then ran a single command line command (“appcfg.py update myapp”) and a few seconds later, there it was! An online, robust, scalable web application operating on the Google infrastructure. I use Eclipse IDE because of its extensibility and because there exists a plugin to develop GAE applications in either Java or Python. I am a fan of python because of its efficient data types like lists and dictionaries. I was however curious as to why I need to locate all resources in a sub-folder called “src” under the application – why couldn’t the source files be located in the root directory of my local file system folder for the application? Anyway, something to test out another time. I am going to dig a little deeper into the data structures available to a GAE application tomorrow – I’ll let you know how it goes :-)