How we helped a client get more from its data, for less

Flexible, accessible data is key to running an agile business. Re-using it wherever possible, in as many different ways as you can, is the smartest way to turn a profit while keeping your customers happy.

The real challenge comes when you need to link your online records with a real-world operation, as one of our clients did at the end of 2015.

Its website was underpinned by cache of customer records, product descriptions and transaction details, all of which needed to be accessible, both online and in person. Added to this was the fact that the same system had to update – in real time – in response to a series of fast-moving auctions, in which customers could bid both in person at the auction house, and from home through a browser.

Our client tasked us with coding a background application that would open up the data while complying with its established business rules and keeping its customers’ private details safe.
This is how we did it.

The Problem

Our client is one of the UK’s biggest car auction houses, and having worked with it for years, we already understood the way its data was structured. We used that as a starting-point, and identified the issues it was facing:

  • It needed a new customer-accessible website, populated with fresh catalogue data drawn down from an in-house system.
  • It didn’t want to give web developers access to the core data to protect customers’ private details.
  • Earlier attempts to link the website to the database had introduced inefficient queries, which had slowed it down.
  • For the in-house team, the fact that external agents had access to the data constrained them in that, to make any changes, they would need to synchronise their amendments with multiple interested parties.

The fix

It was obvious from the start that the core data was the company’s primary asset, yet the route it was accessed was proving to be a serious pinch point. Because anyone who could draw on it was only ever presented with a set of raw results, it was up to them to work out how they could translate the output into understandable, useful content for the web, showroom catalogues, live bidding systems and so on.

Each developer worked on its own implementation, often overloading the database with more requests than were strictly necessary, and repeating work that someone else had already done elsewhere in a different content. Combined, it was an inefficient drain on both time and resources.

It soon became clear that the answer was to create a bespoke API (application program interface) to sit between the data and the client’s out-of-house developers. Doing so meant we could shift responsibility for a lot of the leg-work to the server itself, which would output fully-formed answers, ready for immediate use in any format and any media while fielding fewer incoming queries.

Further, because the API acted like a digital clean room between the developers and our client’s key asset – its data – it was easy to keep a handle on what was, and wasn’t, made public. Private data, such as customers’ pricing details, past sales and so on, was quarantined, and that freed up our client to provide the API and associated documentation to any third parties who wanted to produce their own bolt-on applications.
The data was now more flexible and more valuable than ever.

The future

It took us no more than a couple of weeks to get an initial draft spec written up, and we had a prototype ready within a month of start of starting work. We iterated it several times based on developers’ feature requests in the run-up to making it live at the end of March.

By limiting the number of routes into the client’s database, we’ve reinvented how it works with – and gives access to – its data. The API itself runs as a completely stand-alone process that can be started and stopped without affecting existing business systems, and it finally gives the in-house team freedom to work on the data without reference to third-parties.

Better yet, it’s more efficient than the system it’s set to replace. That’s allowed us to offload the database, processes and websites onto a series of lighter-weight Amazon servers, which together provide a higher degree of fault tolerance – not to mention a significant cost-saving.

Are you facing similar issues? Call us today on 01276 415787 or email and let’s talk about how we can help you make the most of your data.

MDev_Reader app for those suffering with macular degeneration now available on Android platform

Following a successful project where Humboldt worked with a team at Royal Holloway University to build an app to help those suffering with macular degeneration to read text on an iPad, the company has just completed its second part of the project, an app for the Android platform.

Macular degeneration is a painless eye condition that leads to the gradual loss of central vision. Central vision is used to see what is directly in front of you, when reading or watching television for example. For those suffering with macular degeneration, the central vision becomes increasingly blurred leading to symptoms including difficulty reading printed or written text because it appears blurry, with less vibrant colours.

The original and new app has been designed to test ‘eccentric viewing’, which scrolls the text at a steady pace through the reader’s peripheral vision, enabling those with macular degeneration to read text. The app, which is free and now available for both Android and iPad, lets readers read text from an eBook (or any ePub document) to be scrolled in a single line, much like a news ticker tape. Users can adjust the speed of scrolling using the track pad to find a comfortable reading speed on the screen that suits them.

The app also means users can change text size, text colour and background colours as well as the speed of scrolling. It also includes a movable fixation point on the screen to help people to use their best point of vision. Text can also be scrolled backwards as well as forwards, so if a word is missed, the user can scroll backwards to recap. There is also a screen with a menu of all readable books and documents that is searchable.

To install the App, users will need a Google Play account. Once this has been set up, search for MDev_Reader on Google Play and follow the on screen instructions to download and install the app.

The Macular Society relies on donations and gifts to deliver its services and search for a cure for macular disease. To help people with central vision loss by making a donation visit their website at

For more information about eccentric viewing and steady eye, contact the Macular Society on 0300 30 30 111 or look at the website:

Know what you ship

If you’re planning to build any networked device, it’s likely to be an embedded Linux system. And using a kit from a board vendor makes it easy to start developing the system.  However, these packages rarely take you all the way to a polished commercial product.

In most cases the board vendor will supply a root filesystem and a compiler. This provides everything you need to boot a working Linux system and write your application. You’ll soon have a build process for your application, and shell scripts to run it when the device is turned on. It’s also easy to copy your application into a filesystem image, and program each device you manufacture.

But the filesystem will contain two risks. First, if you don’t know every package it contains, you won’t be able to tell whether the next major vulnerability, such as heartbleed, will affect your device.

Secondly, if you don’t know the contents, you’re probably shipping software under GPL licence.  Under the terms of the licence you need to offer your customers the GPL software source code, or you cannot distribute it. Take a look at this comprehensive guide, compiled by The Software Freedom Law Center, for more information on compliance.

The key message from this guidance is, you need to have the source code for the exact version of every GPL component before somebody asks for it. If you leave it too late, you may not be able to get the code from your vendor. For instance, how much do you trust that two years later they will still be able to provide the source you built your product on?

You also need to provide the correct version of source code for each version of device firmware you ship.

There are two good ways to make sure you know what you ship. Either base your product on a Linux distribution such as Debian, or build from scratch with a system such as Yocto.

Linux distribution solves the problem by providing a package manager that can find the source for every module in the filesystem and archive it for you. The embedded build system compiles everything from source code, guaranteeing the code you have is the correct version.

Finally, there’s a lot of value in taking human error out of the process. So, you may want to consider a fully automated build process that builds both your application and the complete operating system image.

Automated build avoids shipping a corrupt firmware version on the one day somebody mistypes. It also ensures that when your developers test a bug fix, they are testing the same system the end users will receive.

And it avoids depending on one developer and a single PC as the source of all builds. Because let’s face it, one day the developer will leave or the hard disk will fail!


Why Android is winning

We’re hearing so much about Android at the moment in our line of work. We’re still developing iOS applications of course, because the operating system is very much part of our world. It’s necessary for consumer applications, and great for organisations large enough to use the Enterprise Program and who can run an in-house app store.

However, Android has many advantages for businesses large and small, as well as for end users.

For a start it gives complete control and the same freedom old Windows mobile devices offered. So, for instance, a small company could buy ten handsets of their choice and load their in-house application without having to ask permission. And there’s no bureaucracy.

There’s a wide choice of hardware too. Android is available on low-end phones, high-end smartphones, cheap tablets, and robust, weatherproof devices like the Panasonic Toughpad.

It’s also available on processor modules for integration directly in to your own hardware.

Then there’s the ease with which user interfaces can be developed such as modern touch-based screens. And it supports development of USB device drivers, which can control custom hardware.

Android also enables custom application launchers for single purpose devices, and it’s possible to ship a completely customised Android image on your own hardware.

So while there’s still a place for iOS, Android is winning the operating systems war.

We’re recruiting! Join the Humboldt team

Tired of working on the same type of projects day in, day out? Looking for something a bit more varied and challenging where you can use your problem solving skills?

You could be just the person we’re looking for!

We need an enthusiastic, generalist developer with a good knowledge of Linux, as well as C experience, to join our small team in Camberley. You’ll also be eager to try your hand at a wide range of projects, and keen to learn new things.

Our clients are mainly small to medium-sized electronics companies; we work with them as a trusted, experienced partner. You’ll find the work varied – for example you could be working with a leading university to develop an app one month and the next integrating a company’s existing systems to make them more efficient. Or you could be upgrading products to enable them to take the latest technology. Read about some of the projects we’ve worked on here.

You’ll enjoy challenges and problem solving. And you’ll need to be flexible – some clients like us onboard from the beginning and others call us at the last minute to help them complete their project.

As well as Linux, it would be useful, but not essential, if you know about some of the following:

* Device driver development

* Git version control

* Understanding component datasheets

* Embedded build systems such as Yocto

We’re offering a salary £28k – £35k depending on experience.

So if you think you’re the new team member we’re looking for, please call us on 01276 415787 or email us at

Visit our About Us page to find out who we are and how we work.



iPad app for Royal Holloway University study into macular degeneration


Macular degeneration is a painless eye condition that leads to the gradual loss of central vision. Central vision is used to see what is directly in front of you, when reading or watching television for example. The central vision becomes increasingly blurred leading to symptoms including difficulty reading printed or written text (because it appears blurry, less vibrant colours and difficulty recognising people’s faces.

Humboldt was invited to join a project to build an iPad app to test ‘eccentric viewing’, which scrolls the text at a steady pace through the reader’s peripheral vision, enabling those with macular degeneration to read text.

Working in conjunction with a team at Royal Holloway University, we used iOS app development technology to build an app, which was aimed at medical researchers working on macular degeneration, as well as patients investigating the approach themselves.

The app was preloaded with sample ebooks, and more could be downloaded from the web.

Working with Humboldt

Professor Robin Walker, who headed up the project at the university said: “It was extremely useful to work with a company with knowledge relating to the wide range of challenges involved in this project.

“A number of decisions needed to be made because the initial specification had not been worked out in detail. With Humboldt’s guidance, these issues were quickly resolved. The choices proved to be sensible as the final version of the app fulfils all our requirements. Humboldt challenged us to think differently and suggested considerations such as the best way of programming the app and iPad features so they would be most useful. Their knowledge of digital publishing, digital rights management, and releasing an app via Apple, was invaluable.

“With their input we were able explore possibilities, such as voice activation, and then choose whether or not to use these techniques as we went along. There was a clear advantage to working with people you could sit down with to discuss the initial ideas, test prototypes, and make changes to the initial specification.

“I really enjoyed the relaxed and informal way we worked together with regular communication by email and in person. Most meetings were quite brief and enabled us to develop the ideas and the app from scratch. Humboldt then confirmed decisions in writing and gave us detailed costings broken down into stages. Any teething problems were quickly resolved and I had complete confidence in the company’s ability to produce a working app that could be released on iTunes.”

The result

The app was successfully launched and is available through the App Store. Professor Walker has received further grants to pursue the work. Click here to find out more about the app

Arqiva DCinema project

Arqiva runs a satellite network that streams films and adverts to cinemas on behalf of film distributors. The network uses a transmission system and satellite receivers from a Canadian company. Movie files are large, for instance, a major Hollywood release may be several hundred GByte.

We were asked to build a system to provide integrated management functions for Arqiva’s main digital delivery process.

The system was installed in 2011, and we continue to work with them as they evolve and streamline their delivery process to cope with changes in transmission methods and new customer needs.  Arqiva’s goal is to deliver a greater number of movies per week and to ensure its equipment and satellite bandwidth is not left idle.

The result

The system runs on a small cluster of servers in Arqiva’s data centre and uses Web Interfaces, Java, Linux Servers, and PostgreSQL to handle the databases.

It performs many functions including

  • monitoring distributor folders to detect when cinema files arrive
  • consistency checks on DCPs (digital cinema packages) from distributors
  • moving files to the correct server for transmission
  • generating transmission file lists
  • checking transmission results and generating reports
  • operator’s web interface

We will be launching a customer-facing portal for the system during 2014.

Working with Humboldt

“That we’ve worked with Humboldt for about five years is credit to its integrity which was established from the outset,” says Ian Holloway – technology consultant and project manager at Arqiva.

“Humboldt provides an integral part of the Arqiva DCinema project and from day one, it felt like they were part of our internal team. Adrian and his team played a major part in the initial scoping of the project and continue to do so as the system evolves.

“Open and flexible in their approach, Humboldt willingly suggests alternative approaches and quickly adapts to changes in the project.

“Communication is essential and it’s one of Humboldt’s strengths. The team readily communicate throughout the project’s lifecycle to its final delivery and acceptance.

“Humboldt’s professional approach, contribution and commitment to this project has enabled us to provide a first-class service to our DCinema customers. For example, Humboldt optimised the processing of cinema (DCP) files, reducing the number of times they were copied over the network from three to just one. This reduced the time it took to process a newly arrived movie by several hours.

“A recent update automates the process of generating delivery report spreadsheets for customers, and they are about to begin a major improvement to our live event management service.

“We consider Humboldt as a trusted partner and will definitely continue to work with them”.

Upgrade for thermal imaging camera


Rufilla, a software development consultancy that specialises in training, asked us to support a project for one of their clients.

The client had a thermal imaging camera, aimed at building inspectors and engineers. We were asked to carry out a mid-life upgrade on the product, which included enabling it to support high capacity SD cards (SDHC).

What we did

The camera was a Linux based design, with u-boot bootloader.

We applied the customer’s board specific modifications to a more recent Linux kernel, which supported the SDHC cards, and we made both u-boot and Linux kernel changes.  This was an important upgrade as SDHC cards were becoming more prevalent and the client wanted to give end-users greater choice.

We also made a series of minor enhancements to the camera, which responded to end-user demand. They included modifications to its video system, which reduced the delay between moving the camera and the change showing in the viewfinder. This made the camera easier to use.

The result

The project was delivered on time, and the customer was able to issue an update, which gave compatibility with a wide range of memory cards. This gave their end users more choice and enabled them to store more images.

Says Joe Nicholson MD of Rufilla, “We’ve collaborated with Humboldt many times so I knew they had a great deal of knowledge and experience of Linux video drivers.”

“They were a key component in making this project successful. Fast and flexible, they approached each element in the most appropriate way. This involved meetings, joint investigations, short milestone software delivery, as well as advice on the correct approach.”

“We worked jointly on many tasks so communication needed to be excellent. Humboldt made this very easy and seamless by using online collaboration tools.”

“I have to say, I don’t think we could have completed this project without them”.

MD evReader for iPad

Download on the App Store

The iPad app we’ve developed for Royal Holloway University is now in the app store. The MD evReader helps people with macular disease (MD) to read eBooks using the eccentric viewing technique. Eccentric viewing involves a person trying to see by making use of the peripheral, rather than central vision. The technique is like trying to see ‘out of the corner of your eye’ and can be a useful way of enhancing visual tasks such as reading. The app scrolls text, one line at a time, with the speed and direction of scrolling controlled by a track pad on the iPad screen. Large fonts can be used and the text can be presented onto a digital TV screen via HDMI.

Development required overcoming a number of technical challenges to ensure steady performance while rendering large fonts to two screens simultaneously.

Building Bespoke Mobile Software

As mobile apps have taken off in consumer applications, it’s become more difficult to build an application for a customer to use in-house. Many new platforms have launched without an easy way for an in-house developer to release bespoke software to their customer, and tracking the start of the art can take time. Here’s an overview of the current options:

iPhone / iPad

The devices are certainly popular. iOS is what everybody wants, and Apple now offer two methods for an in-house app: enterprise distribution, and the Volume Purchase Program. As the Volume Purchase Program is only available in the US, I’ll skip over it.

The iOS Enterprise program requires our customer to join the developer program, and then sign the app with their own key. This puts extra workload on to the customer, though it can at least be outsourced to a corporate app store such as Appaloosa. There’s no requirement to submit the app to Apple, so bug fixes can at least be pushed out quickly.

Popularity: 5/5 Waterproofing: 0/5 Developer Ease: 4/5 Customer Ease: 3/5


Apart from a few locked down devices, Android is the closest to the freedom of desktop operating systems. No bureaucracy required, good development tools, and a wide range of hardware. Some of the hardware is even waterproof. If you’re deploying to a large enough number of devices, then a corporate app store may help, but there’s nothing stopping you from simply placing the file on an internal web server.

Popularity: 4/5 Waterproofing: 4/5 Developer Ease: 5/5 Customer Ease: 5/5

Windows Embedded Handheld 6.5

Windows Embedded Handheld allows us to develop applications using .NET, and an administrator can place them on the device with no requirement for approvals. A few years ago, this was the default, with good tools and rugged, waterproof devices available. Unfortunately, the OS and the available hardware are showing their age, and Microsoft don’t give much confidence about the roadmap.

To add insult to injury, the development tools require Visual Studio 2005 or 2008 Professional, and Visual Studio 2010 Professional does not come with downgrade rights. This makes the entry fee for development very high.

Popularity: 0/5 Waterproofing: 5/5 Developer Ease: 3/5 Customer Ease: 4/5

Windows Phone 7

The initial release of Windows Phone 7 required all applications to be distributed through the public Marketplace, but Microsoft now support Targeted Application Distribution. Apps distributed through this method still require certification, but do not appear in public searches. The app is available to anyone with the private URL. Provided that the app connects to an authenticated service, this is a minor problem.

This leaves us to jump through the certification hoop and may delay release of bug-fixes, but it puts little workload on our customer.

Popularity: 2/5 Waterproofing: 1/5 Developer Ease: 4/5 Customer Ease: 5/5

Windows 8 Tablet

This isn’t here yet, and signs are mixed. For Metro apps on PCs, administrators should be able to manage app installation:

In addition, enterprises can choose to deploy Metro style apps directly to PCs, without going through the Store infrastructure. For Windows 8 Beta, IT administrators can use group policy to permit Metro style app installations, as long as the apps are signed by trusted publishers and the machines are joined to the domain

For Windows 8 tablets, we don’t know yet. We know the consumer position:

Consumers obtain all software, including device drivers, through the Windows Store and Microsoft Update or Windows Update.

Steven Sinofsky’s use of the word consumer may be significant.


While Blackberry is neither trendy nor waterproof, it is a straightforward platform for deployment of corporate software.

Popularity: 3/5 Waterproofing: 1/5 Developer Ease: 4/5 Customer Ease: 4/5