Do you remember what you were doing 20 years ago right now? Probably not. But I do remember 20 years ago, at this point, I was learning to program for the first time.
My first project was FusionScape (at the time it was called Doors). It was what I called a Desktop Replacement Interface Program (DRIP). FusionScape was awesome; it was well-received and liked, but it was bloated and challenging to maintain. You see, all of the programs built into it had to be updated at the same time. I then decided to separate FusionScape into separate programs. These programs were:
- Autorun Express
- Data Project (a notebook-like program that was designed for project records)
- Cobweb Internet Browser (a web browser with so much more than Internet Explorer or even Firefox at the time)
- Painter Pro (my bitmap and vector graphics editor, and the longest-lived of all of these programs)
- Quick Quiz
- Record Checker
- Tutorial Master
- Wonderword
- VUEBB
Development on Autorun Express was stopped in 2006 when I decided it didn't need anything more and was pretty complete. Data Project development continued until about 2008 or early 2009. Cobweb was in late 2009. Painter Pro was somewhere in early 2010, but I did pick it up again in 2017 until 2018. Quick Quiz was stopped in 2008. Record Checker was in 2009. Tutorial Master was also in 2008. Wonderword was in early 2009, and VUEBB was in late 2008.
Painter Pro was, by quite a long shot the longest lived of them all. Cobweb received updates for a long time, too, but Painter Pro was my baby. It was powerful and had so many features that no other editors had back then.
All of my software back then was powered by Balfour's Business Class Library, a class library of tools and features for the .NET platform. It featured controls like Painter Pro's drawing platform, Wonderword's rich-text editor, and Cobweb's Yorkshire Hill browser, which was an extended version of the Trident engine. It actually meant that the software itself, like Painter Pro, was just a graphical extension of the class library, providing access to its features. It was a powerful way to enable direct interoperability between the software. For example, Wonderword could use Painter Pro's drawing features, and Painter Pro could use the Cobweb Yorkshire Hill browser when necessary.
Wonderword, as feature-rich as it was, never reached the point I wanted it to. I'd always dreamed of writing a page control that had proper pages like in Microsoft Word. That never happened and was the main reason Wonderword development stopped in 2009.
Wonderword was always my dream. I always wanted to make it into a full-on word processor. It featured so many things that weren't really even in existence back then, and the bookmarking system was absolutely brilliant.
Now...
And, after all these years, I'm finally revisiting Wonderword. However, as my ZPE Programming Environment, eTraxion, BalfLaf, and more are now written in Java, it's time for me to bring Wonderword to Java with a new philosophy.
I am exceedingly proud to announce that for the last two days, I have been redeveloping Wonderword from the ground up in Java. The paged view was built with the help of AI to speed up development. I will be bringing so much more to Wonderword over the next few weeks, but for now, it's got all that you'd expect from a simple word processor, including the ability to save in DOCX format and text formatting and bookmarks.
My plan is this: make it more useful than before, whilst making it fully interoperable with other software and file formats. I'm also looking at bringing the WUX2 file format to it, which will be based on the same concept: a broad file format with 'Data Channels'. The following is a list of features I aim to bring to it over the next few weeks:
- Opening of DOCX files
- Macros written in YASS
- More formatting options
- Named bookmarks
- Headers and footers
- Locked view (set by the file itself)
- WUX2
- Tables
- AI dictation mode
- Printing support
- Image support
- Shapes
- Built-in Pixabay embedding
- Links
- Styles
- Page breaks
- Mail merging
- Converting to HTML
Here's a little screenshot of it after a day's development:

Simply put, the Wikipedia page on ZPE has been taken down. The page, initially started by me, had other contributors but apparently didn't have sufficient coverage; therefore, someone decided to remove it.
As a result, I will no longer be supporting Wikipedia - I have donated £20 from time to time, and now I feel it's a waste of money. I will no longer be doing this, nor will I flag things that I spot across the website.
It's such a difficult thing for any teacher to leave a school where they've done things to improve pupils' outcomes, built great relationships with pupils and staff, or built systems that enhance staff's working day. That's what I feel I did at Knox, and leaving Knox was tough.
But it was the right thing to do, least of all to allow me to grow as a professional.
This week, week two, saw me finally start to feel integrated into my faculty (not necessarily the whole school yet, but faculty is enough after one week) and having nice chats with pupils who are already showing me a bit of respect. I've also gained a good understanding of how things work here and have come to accept I am not at Knox anymore. Whilst, of course, I will miss hundreds of pupils who will be there to inspire and support, new pupils will come and take their place.
However, I must never forget those moments I had at Knox—the school I'd wanted to work at since I was 14. Those memories mean a lot to me.
I cannot believe I'm saying this, but I am. Yesterday, I left Knox for the last time after three and a bit years, and it's been a tough couple of weeks in the lead-up. There are so many wonderful members of staff I've worked with that I'll miss seeing every day. But even more painful is not seeing the pupils who make my day every day. Particularly my National 5 class, who I'm so proud of, but also very sad to be leaving—I'd hoped to stay with them until they left school in S6.
I remember leaving Newbattle 3 and a bit years ago. I initially decided to leave due to an argument with someone. I was planning on leaving mid-term without a job to go to because it destroyed what little remained of my mental health after having COVID just a few days before (and for those who follow my blog, you'll know COVID hit me hard). I stayed for the kids, and it was tough.
In a previous post on my blog, I posted that I would be rebuilding some of my lessons and focusing on improving them. Ultimately, improvements are centred around three core areas:
- Quality assurance/moderation of my materials
- Pupil voice and feedback
- Changes to the curriculum
One of the first areas I'm working on is tightening my learning intentions and success criteria, with the first step being the introduction of "We are learning to" and "Your success criteria" statements being included in all lessons.
It will be gradual, especially as I will update them as I use them.
It's now common knowledge across my school at Knox Academy that I am moving to a new school, and whilst this is an extremely exciting moment in my life, it's also extremely sad for me.
I'm sad because I am saying goodbye to the school I've wanted to work at since I was thirteen or fourteen. I'm also very sad to be saying goodbye to an awesome group of staff who have become friends with me whilst I've been working here. And then the pupils.
This week has been particularly tough for me after seeing some of the amazing pupils I teach in tears or nearly in tears after finding out that I am leaving (I keep thinking back to when my teacher, Mrs Muir, left in Primary 3 and how sad I was, so I can relate to how it can be). The hardest thing about leaving Knox was leaving them, and I've actually been in tears each night this week thinking about leaving them.
When I first started at Knox, I'd planned to stay there for as long as I remained a teacher, but I'd promised myself that at the very least I'd be there till my current S4s left. Sadly, that hasn't really happened, and I'm sorry for letting them down.
People always say that you forget teachers over time, but the truth is, I have always remembered the teacher who inspired me most, Mr Laird, my History teacher in S1 and the person who inspired me most as a teacher. I'll never forget the last day I ever saw him - standing on the desk in tears, saying how much he's going to miss his class and the rest of the pupils that went to see him. I remember all my teachers who inspired me. You don't forget teachers. I always remember the wonderful kids who I've enjoyed teaching the most, too. I remember quite a lot of them from Newbattle, and I could name everyone in my registration class from there still, as they were a fantastic bunch. The same will be true of the kids at Knox.
But I need the new challenge, and my new school is the perfect place for that.
To quote Oasis:
Don't stop being happy
Don't stop your clapping
Don't stop your laughing
Take a piece of life, it's alright
To hold back the night
Over the next few weeks, I will be giving my resources an overhaul. I'm going to be looking at adding animations next to instructions to show pupils how to do things without having to read. I will also review the learning intentions, the conciseness of the content, and assess the overall quality of the content.
After using Quicksand as my de facto font for my website, web tools, DragonDocs, DragonSlides and my software, it's finally time for a change. I'm now moving everything to Instrument Sands. DASH still hasn't switched to the new font, but I do intend on making it the default font for DASH.
I remember the day I decided to switch to Quicksand very well. My first project to use it was DASH in 2019. I replaced Source Sans Pro on my website after using it extensively for digital literacy materials at my previous school. This experience led me to choose it as my default font for all my projects. Quicksand is still on my website, and I'm hesitant to remove it entirely, so we'll see what happens.
Whilst this may not be as sad for some of you readers, for me, this is a sad day as it's like the end of an era for me in terms of design.
Over the last few weeks, I have been working very hard to improve my smart home to make life easier, but the primary focus has been making things easier for other people when they use my house. I've been adding stuff for myself as well, of course.
The first thing I did was get myself into Matter. Following the rapid transition from technologies like Zigbee and Z Wave to Thread and Matter for smart homes, I have decided to adopt Matter devices in my house. I will make them the primary technology going forward. This happened after I decided to get a new lock for my door, which is Thread/Matter-based. After several attempts to connect it directly to Home Assistant, I opted instead to run it through my HomePod Mini, which immediately connected and gave me complete control of it, and it works nicely through it. Home Assistant then connects to the HomePod Mini to get the device through it, too. This new Aqara U200 is absolutely brilliant, and I am loving not having to carry keys around with me.
I now also have an excellent new robot vacuum, the Roborock QV 35S, and not only does it integrate really well into my smart home, it also makes my floor spotless and is hundreds of times better than its predecessor. I cannot believe how effective it is.
Next, I've been adding NFC contact points around my house. One of my new innovations is an NFC tag you can tap on each photo and picture around my house. Your device then takes you to the location where the image or picture was taken (all my pictures are of places). I've also developed a clever filter that, when an Apple user taps a location tag, opens Apple Maps; however, for others, it opens OpenStreet Maps. Nice.
Additionally, I've added new NFC points around the house to control devices that you'd typically have to manage from the front door tablet (known as my Home Control Tablet), either via Siri or HomeKit. To make this accessible to everyone in my house, I've created straightforward URLs to activate web hooks, eliminating the need for a specific app like Home Assistant. I'm very proud of how these have come along.
I also have NFC points in the garden, allowing me to activate various features such as my Home Sweet Home mode, which will simply turn on the appropriate lights when I get home (I do also have my detection automation on my iPhone, actually).
I'm doing a video in the current month that will show everything that I have done so far, so keep an eye out for that.
ZPE 1.13.8 is only just out, and we've already got the headline feature of ZPE 1.13.9, and it's all about security.
Plugin security has been non-existent over the last few versions due to changes and deprecations in the underlying Java language. Anyway, today I decided it's time to relook at this and I've come up with my own way of doing this. Simply put, it forces plugin developers to develop an alternative way of accessing files, and that's using the new ZPE Sandbox Security file system. It also prevents access to certain other things, like running commands on the command line through the shell and restricts users to the built-in ZPE shell.
Overall, this is the first step to a more secure plugin-based environment and I'm really happy with it.
