edit.tf development blog

Back in 2014, I was working on a teletext project with Dan Farrimond to celebrate forty years of the medium. Then, designers would prepare frames using aging professional and proprietary editors, convert them to a graphic format like PNG, and upload them to the web. Dan felt that although having more and more of this kind of work online was great, what would really help catalyse an online teletext scene would be to have an easy means for people to edit their own frames, perhaps to contribute to amateur teletext services. In response, I wrote edit.tf, which allowed anyone to open up a page in their web browser and do just that, providing they could get their head around control codes and the like. edit.tf was designed to be free and available to everyone, and was licensed from the outset under the GPL v3. Dozens of people then did varied and interesting things with edit.tf and adapted it for their own needs. Around the same time, the teletext scene experienced a surge of interest. Teletext 'block parties' started happening and teletext art came of age despite the discontinuation of its medium, in the United Kingdom at least, a few years earlier in 2012.

At the time, a novel feature of edit.tf was that all the data for the frame was encoded in the page's URL as a mere 1167 base-64 digits, rather than being on a backend or cloud server. This opened up possibilities for easier frame creation. It meant that the user could bookmark the page, saving the frame in their web browser to work on later. The user could link to the page on a website so that visitors could open up an editor with the frame ready to improve or use in their own work. Similarly, users could collaborate on a frame by sending the URL via email or instant messengers. Because the data is stored in the URL fragment identifier, the part of the URL after the # symbol, it doesn't show up in my web server logs and the pages are private to the user (at least from me).

Since 2014, the amateur teletext scene has grown and a lot of work has been done on a wide variety of teletext projects, even on new and better editing tools. In particular, Alistair Cree has produced a in-browser teletext editor, the ZXNet editor. It is more full-featured, more correct, and more regularly maintained than edit.tf. I'd now enthusiastically recommend it to new would-be teletext creators.

Despite this, you can still try edit.tf out online. GitHub hosts the source code and documentation. This page will serve as an occasional source of edit.tf news, including those times when I open up my laptop and have a go at solving one of the outstanding bugs or enchancements. Contributions and improvements are still, of course, very welcome.

And remember: keep it blocky!


The most recent updates follow in reverse chronological order. Older updates are archived for the year 2019. Comments are welcome via email.

Some people call the editor 'edit-tf', which is the name of the repository. Other — seemingly more — people call the editor 'edit.tf', which is the URL of the editor, and hopefully will be for a long time. To simplify things, I went through the code and documentation and replaced every instance of 'edit-tf' with 'edit.tf', including the name of the respository itself.

The 'tf' stands for 'teletext frame', by the way, as in 'edit teletext frame'.

In other news, I came across a way to browse some recently-developed viewdata services today. Have a look at vd-view, a viewdata web client that can connect you to nxtel, TeeFax, TELSTAR and Tetrachloromethane.

Demoparties are computer art festivals, often spanning a whole weekend. They feature demos, whose purpose is to show off computer graphic art, music and programming skills. Highly-skilled, tightly-knit demo groups work together to squeeze performance out of old and new computer hardware, often employing clever hacks, in order to produce amazing audiovisual effects. These demos are shown on a big video projector connected to a sound system in view of the artists, musicians, coders, and other attendees sitting at benches in a large hall, though there is often plenty of socialising in other rooms or even outdoors. The demos are voted on by everyone attending at the end of the party, and the authors of the demos which left the biggest impressions are celebrated as winners at a prize-giving ceremony. Since the 1980s, a culture has grown up around all this called the demoscene, though its roots go back before even that.

2017 was the most recent year that I went to the Nova demoparty in Budleigh Salterton. I was visiting with my friends from the CRTC demo group, with which I was more or less involved. With the agreement of the organisers, we were trialling teletext graphics as a new competition, a sort of rather British variant of the ASCII and ANSI art competitions. We weren't sure about how that would fit into the scene culture at first, but people responded to it really well, and we got six entries that year for the competition. To give some idea of what a demoparty is like, have a look at the teletext compo being shown on the big screen in this archived stream. Steve — now with an impressive scene CV — won that year with Dragon and Castle, even though it bent the rules by using a special extra large version of edit-tf that I hacked up on the Saturday, allowing 200 lines in the frame rather than the usual 25.

Munching on a pizza, I was idly sofa-scening yesterday — that is, tuning into the party's video stream from home — to see how it was going for Ruairí, h0ffman and the team. I was pleased and surprised to see that the teletext competition was still a part of Nova and has been held ever since 2017, with compos in 2018 (with archived stream) and this year, 2019 (with archived stream). Nova accepts remote entries, so I'd really encourage anyone out there playing with a teletext editor and making nice things with it to send in an entry for Nova 2020 and keep teletext going in the demoscene.

In especially older programs, you'd get a tip of the day when you started up the program. In edit-tf, I had a message like this on the UI which plugged an artist or pointed people to other editors to try out. But because edit-tf is mostly intended to work in a standalone and generic way (i.e., you can download it and use it completely offline), because people have said the tips are clutter, and because of the inevitable linkrot, I'm trying out the editor without them.

In other editor news, I should try to merge in the functionality to do with boxes (start box and end box) that I worked on a couple of years ago. I think I stalled over the question of whether one or two start-box/end-box characters delimit a box. I should just commit it really. Then the editor will support all the reasonable Level 1 functionality.

Teletext scene news! I learned today through the Digitiser 2000 letters page that David Walford is putting on a free event happening on the afternoon before Digitiser Live on the 20th July. It's called Chunky Fringe, and it's billed as a 'gathering of Digitiser fans, teletext enthusiasts, performers and artists'.

Nikki and Bunty have got into teletext and are sending me frames.

Half a dozen new frames from Dogetext in the examples archive. Later in the day, one more. A vintage frame from TVE was reconstructed by the same author, with a subtle hold graphics trick.

Another benefit of having the data in the URL is that, to some extent at least, the web will have scattered across it teletext frames in the form of edit.tf (and zxnet.co.uk) URLs. These URLs are trivial to identify and can be converted easily into frames.

The Google search operator site: seems to promise to return all URLs in Google's index with a given site or domain, but in our case, this doesn't work, perhaps because of the use of the URL fragment identifier (the part of the URL after the # symbol). This would make sense, since the conventional use of the URL fragment identifier is to identify a part of a document. Neither DuckDuckGo nor Bing do this either.

A web archivist could run a web crawler or network of web crawlers to wander over the web, looking for these URLs, and harvesting any that it sees. Though the web is big, perhaps teletext frames can be found on a small and predictable part of it, and a heuristic could guide the crawler. What remains of the HTTP referer field in edit-tf's server logs after the fragment identifier is removed, and where it is even passed by the browser at all (because of privacy and security threats), could nevertheless be used in seeding the crawler or informing such a heuristic.