Old-school technology meets modern software development.
When I met friends for a beer in the evening and they asked me what I’m doing at work, until recently my answer was: "Teletext".
"What? The television technology from the last century?" disbelieving replies often came back. And admittedly, teletext (also called teletext in Germany) doesn't sound really exciting at first. And anyway, does anyone still use teletext in times of the Internet, smartphones and TV?
The answer is, surprisingly, yes! In fact, the use of teletext is decreasing from year to year, but the decline in the number of users is less than one might think. In 2016, more than 10 million people still used teletext every day. This is an order of magnitude that television stations cannot ignore. A modern editorial and content management system that can produce teletext content in addition to web content is correspondingly important.
Teletext as a technology works like a relic in today's world. Since in analog television all teletext data had to fit into the rather small gap between two transmitted fields, the transmission is trimmed for data economy. This also affects the logo design and usage. The ARDText logo with the blocks therefore actually consists of letters. In order for these to become colorful blocks on the television, the teletext decoder in the television is told via special control characters at the beginning of the line, "Please switch to graphic mode, then switch to white and blue as background color". Since each line always contains exactly 40 characters, three characters are already used at the beginning of the line. This is the reason why almost all teletext pages don't start at the very left: You often want to set the foreground and background color first, and these shift control characters then look like spaces later. Therefore, you cannot change the color within a word.
The core of the teletext software developed by us is the automated creation of teletext pages. In spite of the old-fashioned playout method, we rely on modern software development. Therefore, our tool is based on several libraries of the Spring-world. Spring Boot helps us to keep the configuration effort low. We use Spring Data to automatically convert documents from the database of our editorial system into instances of Java model classes ("entities"). With Lombok we keep these model classes nice and compact and understandable. And of course, we use code analysis tools (SonarQube) to ensure high code quality.
The tool, and the services it uses, run in docker containers, which can be provisioned quickly and easily, for example to set up a test environment. This also helps us to constantly bring the current state of the software to our customers within the framework of agile software development.
An example of the efficiency of our Sophora teletext software is that the important page number references (e.g. the page numbers on a message overview) have to be maintained manually in other teletext systems. This is time-consuming and a constant source of errors. Our software automates this completely and automatically updates all other affected pages when page numbers are changed.
A particular challenge was the design of an API that allows broadcasters to customize the appearance of their teletext pages without having to worry about technical details such as creating and updating teletext data.
In fact, it is a lot of fun to experiment with such an old-school technology. We turned a Raspberry Pi into a teletext machine that can supply teletext to a connected TV. The Raspberry Pi's camera then films and converts the live image into teletext graphics that are displayed on the TV.
In summary, we have successfully used new and exciting software technologies and frameworks in the teletext project, thus making the technically outdated but still frequently used teletext intuitive and easy to use for television editors.
As you have probably already guessed, the Teletext project has now been completed. And yes, while drinking beer with friends, I'll have to come up with another answer in the future. Maybe "shorthand"?