Richard Harrison Portfolio

You can refer to my CV for a more detailed view

Enterprise level


Emesary is a simple and efficient class based interobject communication to allow decoupled disparate parts of a system to function together. It is something that I've been using in one form or another since the mid 1990's. I finally released an opensource version a few years ago

Generic Business Domain model

Starting in 2003 I've been building and refining a generic domain model suitable for a wide variety of applications. The key concepts have been to ensure that the domain models the real world accurately and allows business process modelling by correct definition of business entities (customers, products, suppliers etc). Extensive use of hierarchies and perspective based entity projection, where perspective based entity projection is the concept that an entity may have differing properties and capabilities based on the perspective of the viewer. An example of this is that your customer may also be someone else's supplier.

F-14, F-15 simulators

Built a full wind tunnel based flight dynamics model, aircraft systems, and 3d cockpit models for the F-15 and F-14 aircraft.



WPF C# .NET Entity Framework Menu Builder (2011)

Menu Building Using WPF, XAML and the Entity Framework, together with the .NET version of emesary provided a slick compact application. The concept was to create something to try out the various options available an to do this by modifying or creating menus, recipes and ingredients from a number of suppliers.

Java Avionics Training Platform (2007)

Avionics CBT Platform Involved in a joint venture to build a CBT for light aircraft avionics training to ease the transition to glass for private pilots.

This was a very complicated project requiring a lot of R&D to validate many concepts before choosing the best methodology.

I was primarily responsible for the simulation and related systems, together with design, specifically:

  • Designed and implementation of the object framework the framework
  • Real Time executive
  • Lesson creation, execution and pilot assesment
  • Radio aids and Flight simulation
  • Integration with Jeppesen Integration Toolkit for chart display.
  • ARINC424 Navigation database (using FirebirdSQL)
  • ARINC429 system interconnect
  • Integration with GIS / terrain data
  • Avidyne EX5000 device simulation


PHP site application framework.(2013)

At the start of 2009 I decided to create an open source project to produce a small compact application framework built with a coherent class model, split into layers, and using event messaging for inter object communication.

The net result is still in beta but has been used in production systems and allows for compact, efficient and well structured code. It's open source so you can see my coding and ideas for yourself, this is a good place which is the main page from the test site. Not immediately obvious but worth pointing out that the menu on the Left is actually just a different view on the same data on the rest of the page, and when you update anything all views are automatically updated by the framework with no extra code. Change the category by clicking on the edit icon and see how it works.

Online furniture for Eymet, France.(2009)

Commissioned to produce a catalogue style site to allow online ordering and viewing of their range of Mexican rustic solid pine furniture and chestnut flooring for sale in Serres-et-Mongtguard, near Eymet, Dordogne, France. The site is built using Joomla! and virtueMart

Property Marketing Site.(2010) properties for sale in FranceFrench Property Search awarded us the ongoing maintenance and development of their existing site listing properties for sale throughout france. The site is constructed in vb.Net using SQL server. We have developed a number of enhancements, together with making the site more search engine friendly, and consequently improving by a factor of nearly 3 the number of uniqe users from search engines.

Java Avionics Device Emulation (2010)

Avidyne EX5000C Moving mapContracted by Digiflite flight training solutions to provide an emulation of the MFD moving map for an Avidyne EX5000C. The emulated system provides navigation data via an SQL database (populated via ARINC 424 or DAFIF importer). Geographic information (terrain, coastlines, water bodies, etc.) rendered from shapefiles. Written in Java with JNI for interface to vendor libraries.

The contract required a sophisticated asynchronous computer based training system, which was implemented using HTML, CSS and a Java backend to tie it all together.

Information about a historic house.(2003)

Kemps, Portslade Old Village, Site ThumbnailPersonal project to publish details about the history and area. PHP, XHTML/CSS, graphics design and layout. Kemps, Portslade Old Village, website.

My Company Website.

Zaretto Home Page The concept is bright, bold and concise. Trying to present only a brief amount of content on each page to keep the look and feel and maintain the legibility. Notably the first site where I managed to figure out how to use PNG files with alpha channel to blend with the background (much better than using transparent pixels). Zaretto Software Development and Web Design

Gîte (holiday rental) brochure and booking (2012)

www.lablunie.comAsked to design and build a site to deliver a web prescence for a superb Château. We created the initial graphical and implemented the site using PHP and used our newly developed property management and booking system,See Château la Blunie website.

Website design and creation.(2007)

Corporate Website Responsible for the visual design, page and content generation for a corporate website with drop-down javascript menus.

Application Construction.

New UIContracted to take an existing two-tier application, and re-design the UI to present a more modern interface.

Use of HTML for all textual presentation, C++/Builder, VCL component creation, using a C-library for the backend information provider.

Intranet Web Application(2001)

Intranet javascript applicationDesigned and built a web-based intranet application, relying heavily on client side Javascript, with no state information on the server. Javascript & HTML

C++ Point of sale GUI (Windows)

Point of sale UIResponsible for the creation of an application based on a working prototype, using an API for the business logic.

Clustered, scalable application server. (2001)

Web Application Thin ClientResponsible for the design and implementation of a massively scalable web application server using HTML templates, CORBA, Javascript and AJAX. Application cluster designed using CORBA and provided fault tolerance, redundancy and scalability. C++/CORBA/Javascript.

Windows GUI application for the creation of printed cards. (1998)

Windows GUI application for the creation of printed cardsContracted to develop a new GUI, multilanguage support, for the storage, creation and printing of a single sheet document built from selectable phrases and extra text. Required the construction of a complete layer of UI objects to support Unicode. Application internationalized and support for Unicode input via custom edit control (not relying on Win32 localisation controls).

Exhibition Sign (2008)

File System Navigator.(1997)

Datamanager File system explorerContracted to produce a reveloutionary new file system manager to supplement windows explorer. This application was designed to allow an ordinary user to better manage their files. It had built-in file preview, a clipboard that could hold many files, and allow the user to collect files in one place which then could be copied or moved en-masse. The application also had a file categorizer, which would scan all of the disks and present a list in order of date, filename or type as "virtual drives", which could then be browsed. Product retired due to changed business requirements, overview archived here

Offline forum browserWin32 application and backend database (1994-2003)

Offline forum browserA research project to provide a modern GUI based on a legacy console oriented interface. Provided email and online conferencing/forums using CiX. The application uses a two-tier approach with the GUI being functionally seperate from the datastore and processing. Plugin support for transers using a Win32 port of the XPR (eXternal PRotocol)