Turning change into profit
Turning Change into Profit
It was the Greek philosopher Heraclitus who said, “Change is the only constant in life”. That was a long time ago, and the rate of change he had to cope with was probably a lot less than the current rate of change for all of us now.
In IT, change manifests itself everywhere, and it is a constant battle to keep every piece of data up to date and synchronised across disparate data silos. Managing change in data, and I would include documents in that category, is a subject that has always intrigued me. Surely, if things are changing all the time, then it seems a sensible plan to have in place good procedures and processes to manage that change. But for most IT systems change is seen as a necessary evil that we are forced to deal with rather than a predictable process that we can embrace and manage.
Planning for change
In the days before satellite and radar, when a naval ship wanted to intercept another ship an interception course could be set based on the speed and direction of the target. But even if that speed and direction remained constant it was likely that on arrival at the calculated intersection point the target would not be in sight – so which way to turn to find it when we do not know where to look? The rather simple solution was to set a course that was deliberately out to, say, the North so that when arriving at the intersection point the search could begin immediately by turning South.
What is the IT equivalent to that simple but effective strategy? When designing some data or system we need to acknowledge from the start that it will not be right first time and will need to change, so why not think about how we are going to change it right from the start? This applies not only to the design itself, but the data held within it. Our software is designed to compare and detect changes in structured data and documents, but it is usually the case that the data we have to compare is not designed to be compared and no-one has thought about how it might be done.
Take the example of data export from some system. Often this export includes identifiers and pointers to show the relationship between the various data items, for example that this invoice relates to this customer. That is all good and expected, but if the same data is exported a second time often the identifiers and pointers have all changed, so exactly the same data set appears quite different – all those changes are not really changes at all. If it is not clear when two data sets are the same, then it is somewhat difficult to find out how they have changed! A little thought in the design of that export process could have prevented that particular problem.
Representing change
The upside of these issues is that it keeps us busy in having to design ever more intelligent ways to find change and represent it in a way that is useful for automation, so the changes themselves can form part of the flow of data from one system to another or the changes can be shown in a way that is easy for a human to understand.
Finding change to text in documents is relatively easy, though you need to consider for example if a change to the formatting is really a change you want to see or not. But within any document there are typically graphics and tables and these present more of a challenge. If the graphics is in SVG (Scalable Vector Graphics) then it is possible to find out where the XML representation has changed and then insert bounding boxes or other indicators to show that change. Tables are interesting too because the columns need to be lined up first, then the rows, taking into account that the order may have changed, and some cells may have been merged. Even when we have found what has changed, the next challenge is to represent that change in a way that is easy to understand for everyone who needs to see it. We enjoy challenges!
Good comparison tools can turn change into profit.
techUK – Building Stronger Local Economies
techUK champions the tech sector throughout the UK. We work with local authorities, devolved government, and local and national policy makers to advocate for the tech sector in strengthening economic growth and resilience. We provide opportunities for our members and local stakeholders to meet, build relationships, and collaborate to drive forward local projects. For more information or to get in touch, please visit our Nations and Regions Hub and click ‘contact us’.
Upcoming Nations and Regions events:
Latest news and insights:
Get our Nations and Regions insights straight to your inbox:
Sign-up to get the latest updates and opportunities from our Nations and Regions programme.
Contact the team:
Learn more about our Nations and Regions campaign: