In 1997 the first opportunity to work on open source software arose when the source code for well-known computer viruses were distributed on technology community web sites. This provided a great opportunity to explore operating system kernel design, computer security considerations, multi-platform development, and memory management.
By 2000, open source software, or free / libre open source software (FLOSS) work included compression tools and web-site content scanning and scraping. These were all simple examples of communal software development, but the real progress in FLOSS was still being made in other areas, primarily in UNIX-based operating systems like Darwin and Linux. Open standards were much more accessible during this time, so focus on the Java platform, through the Java Community Process, and on the standardisation of Simple Object Access Protocol (SOAP) and .NET / Command Language Infrastructure (CLI) / EMCA-335.
Later on, work on the Java platform turned to FLOSS development through custom and secure Java Virtual Machine (JVM) implementations, and the extension of the platform through additional implementations for security / encryption and compression. The NetBeans IDE, stewarded by Sun Microsystems at the time, became the next focus, after working with Sun Microsystems on the Sun Forte Developer studio tools. Development primarily included bug fixes, and elements of community development for third-party extensions. This experience then pushed me towards developing the Apache OpenOffice productivity suite, starting with NeoOffice, then OpenOffice.org, before the project was finally donated by the Oracle Corporation to the Apache Foundation.
Prior to Apache OpenOffice, a brief period of work on FLOSS included governing / leading the FlightGear open source flight simulator project, written primarily in C++ with Python. The project was entering a period of transition from the long term founders / developers to a new generation of contributors, including the development of a new web portal, and the improvement of the actual simulator engine (SimGear).
In the enterprise, these experiences have enabled insight into implementing FLOSS, where the true return on investment (ROI) is between FLOSS and proprietary technology, how to govern the development of intellectual property (IP) by inherently protecting product development from the use of potentially dangerous FLOSS licensing implications, and perhaps most importantly, how the enterprise can develop FLOSS to benefit their business, whilst maintaining their market advantage.
The first entry into the world of point-of-sale (PoS) development came in 2000 when a request was made to develop an embedded PoS for the Microsoft Windows platform. The solution was intended to integrate barcode scanning and touchscreen technology into a single, simple, interface connected to an on-site networked server for a hardware supplier. The solution was straight forward, elegant, and cost effective. It provided potential for scalability and was tailored specifically for the client.
More complex PoS projects have included public facing web and mobile solutions, with integrated code scanning, including barcodes, and product recognition using device optics, such as inbuilt mobile cameras for mobile phones. These solutions included integration into cloud-based application service provision, and white-labelling of solutions tailored to restaurants and coffee houses, with live menus, stock management, and integrated security from the foundation level.
By utilising web technology, the cost of entry into this market was highly achievable. Platform agnosticism provided an always-updated model for the software, real-time analytics and metrics, and on-site mapping and analysis of sales representatives, including waiters and baristas, ensuring table arrangement and reservations were optimised for every establishment. It also allowed a bring your own device (BYOD) model to be used by utilising standard web browser technology to be the only requirement for each and every sales resource.
The most ambitious PoS came in the form of an augmented reality solution, that integrated the entire end-to-end retail experience, punctuated with a versatile web- and tablet-based PoS solution, complete with mobile payments, near-field communication (NFC) payments, and web payments. The sales process could begin and end on web, off-site, utilising embedded motion capture on-premises, or a mixture of the two, with a holistic borderless sales process. The technology originated from a research project, and was cost effective to prototype for a single premise. Scaling upwards and out to additional retail outlets was relatively simplistic, and cost effective, with a proven ROI from the prototype.
Development on video games began in 1998, when an opportunity arose to develop web-based marketing-oriented dynamic content for large electronics firms that had yet to take advantage of increasing interest in dynamic content, including Nintendo. The solutions were mostly focused around Java applet and Macromedia Flash technology, but quickly focused more on Dynamic HTML (DHTML).
Desktop PC gaming became the next focus of interest, and in 1999 a sports management game was written for Microsoft Windows 95 and 98, providing pseudo-artificial intelligence to model computer player decision making and movement. The game was written whilst at college, and collected a small cult following for its rather comical take on the sports management simulator genre that had flourished in the UK.
Gaming began to turn to the mobile when Nokia released it’s Series 40 (S40) platform, complete with marketplace. Game development on JavaME (micro-edition) became prominent, with the re-implementation of memory and graphics techniques on MIDP and CLDC profiles that had previously flourished in micro-development on low-memory home games devices from Atari and Spectrum. Series 60 on Symbian soon followed, and the mobile become a realistic marketplace for video games as screens had better capacity and colour palettes.
Whilst creating a custom smart TV platform, work with ARM game development begin in earnest with the development of a platform software development kit (SDK) for third party developers, allowing existing games to be ported from mobile devices to the smart TV using familiar APIs based on the Java development platform.
The focus on later work was often on the infrastructure and massively multiplayer online (MMO) capability by creating high-capacity scalable architecture for large enterprises that was capable of managing large amounts of data, as well as asynchronous gaming experiences. Other game ventures include a 3-dimension audio-focused game, based on downloadable chapters, and a strong narrative, which later saw similar themes from the likes of Papa Sangre and The Nightjar, delivered successfully.
The smart TV is becoming the hub of home life, featuring application capabilities, internet connectivity, and communication tools to stay in touch with one another.
A pioneer in television development began a project to create a new tier of home media hub, featuring extendable storage, breathtaking electronic programme guides (EPGs), internet connectivity, an application (app) marketplace, and all on the smallest footprint hardware available, for less cost than was currently possible.
Using unique knowledge of the state of patents for EPGs, the company focused on avoiding licensing where possible, by innovating with new ideas and approaches. The product could be separated into four distinct areas: hardware, platform, user experience, and service.
The product hardware was designed first, based on an aggressive, and optimistic, set of projected capabilities in relation to the memory and processing power available. Prototypes for the hardware were then produced by multiple suppliers in China, working alongside internal engineers for several weeks at a time. These prototypes were then shipped to the development divisions in the UK, beginning with the platform team, who built a minimised Linux distribution for the product.
The hardware, now complete with a custom operating system, was pushed to the user experience (UX) team, who developed a software development kit (SDK), user interface (UI), and EPG, all layered onto the core platform. Applications, self-updating services, and application programming interfaces (APIs) for specific interfacing with control devices were developed, including social networking, music and video streaming, and video game apps.
A service, featuring the updating management, intelligent programme recommendations, and advertising features was built alongside the product development teams to facilitate a complete offering for the television and set-top box market.
By working with a large platform development company, already occupying a similar space, the UX team developed middleware to translate APIs between the products, enabling applications to be ported from one vendor to another, creating a more rapidly growing store for apps than was possible earlier, and thus solidifying the product’s place in the market.
Geographic Information Systems (GIS) are a vital analytics format used for everything from security to retail. The investment that has gone on to making these systems both comprehensive and extendable is impressive, and yet they often provide beautifully simple and elegant solutions.
In 2009 the UK government began a programme to create a GIS-based intelligence system focused on tracking resources, managing capability, and protecting assets. The design of the solution was based on creating a responsive and adaptive web-based application that could render across a myriad of devices, from keyboard-based interfaces, to modern touch screen devices.
The system created a service bus, collecting data from a large catalog of secure government programmes, and layered the information onto a web-based open mapping platform, using open but commercially licensed application programming interfaces (APIs).
Since this system went into use, other similar command-and-control programmes have been undertaken, from retail solutions, to logistics, and more recently video games.
The video games sector is one of the most interesting areas for GIS exploitation, with auto-generated worlds generated on open data now possible, and virtual worlds mapped onto GIS platforms becoming increasingly popular.
The most recent example of this is the design and development of a large-scale global multiplayer gaming project, utilising open map data to render realistic city environments. Open industry standards are utilised throughout, from the W3C’s Semantic Web Activity, through to OpenLayer, and OpenStreetMap.
Sourcing the appropriate skills and packages to make GIS projects deliver on their potential is a key component to reducing complexity and delivering lightweight portable interfaces which will provide an elegant experience for end-users.
GIS is an area that attracts complexity and high licensing costs through proprietary solutions, and it’s often important to understand the options available before prototyping begins.