2020 August: State of The Website

So today, I am starting a new type of article called "State of The Website" where I will be documenting the development and progress of this website every so often. The starting reference point for this will be a Reddit post I made to r/ModelM on the 8th June 2020 called "My prototype IBM website and database". That post was my initial announcement and request for feedback for this website.

Design changes

I shall admit that I am better at backend development rather than frontend, so getting the website's styling right has been a bit of a challenge. I hope that you find the design is developing in vaguely the right direction!

Screenshot of the website as of June 2020
The website then (June 2020)

Since June, the biggest changes have been the font and generally adding 'depth' to the look and feel of the website. Things continue to look less flat and less like a Windows 8 start menu.

Screenshot of the website as of August 2020
The website now (August 2020)

Another thing to note that there's now a site search bar available in the navigation menu! Currently, it will search in pages and within the keyboard and documents databases. I plan to extend that functionality to all types of content on the website eventually.

Social media

Since 19th July, I have run an official Instagram account for the website where I post pieces of my collection every working day. Well, at least, that's the aim anyway.

Screenshot of my official Instagram page
My new insta

If you fancy seeing some cool IBM and family stuff on your insta feed, give me a follow @sharksibmstuff! I will also be posting updates about this website there too.

New content

Keyboard database entries

Back in June, I had just 620 IBM, Lexmark, Unicomp, Lenovo and Toshiba keyboards indexed in my database. Since then, the database has grown considerably as more sources are found and unique examples are identified in the community and we now have over 800 keyboards recorded! Most notably, the following have been added since June:

Keyboard database searching

I have made database searching actually useful with two new ways of querying. Firstly, you can run a semi-useful 'additive' search where specifying search terms in a comma-delimited list will find results and sort them by the number of occurrences of those terms found in the keyboard's data. Or, you could run a very useful 'subtractive' search where specifying search terms in a semicolon-delimited list will first run an additive search and then filter down progressively using the terms in the order you gave them.

As an example for the latter, you could use this in a similar way as the Keyboard Finder tool for 'homing' down on a specific keyboard when you don't know its part number, official name, or some of its properties. Give it a try with something like "Model M;122;1986;Cmdxx" (removing the quotes, of course) and see how well it will narrow down the result to Model Ms with 122 keys that first appeared in 1986 and have a "Cmdxx" function key lettering scheme. Don't worry, it is not case sensitive.

Speaking of which, the Keyboard Finder tool is being sunsetted and eventually removed. Whilst it was a quick and convenient tool and does its job, it's quite clunky for what it is and subtractive searching renders it obsolete. However, before I remove it, I will implement fixed filtering options to the main database page since I know that having a list of possible options may make things easier too. And finally, I have added a help page for the database that explains some of the data points being shown and explains the two searching methods in more detail.

New and improved keyboard topics

Since the last update, two new topics have appeared - the Keyboard FAQ and the Keyboard Research FAQ. The Keyboard FAQ is quite a wordy one, attempting to answer some of the common questions people may have regarding IBM and family and things within the hobby. The Keyboard Research FAQ is also a very recent addition and is bare with just a single research question answered, but more deets will eventually make its way there!

All of the other topics have also received attention, with the Keyboard Dictionary and Keyboard Types topics having a lot more entries in them and the Keyboard Connections topic having a slight overhaul.

New articles

I have added one new article and ported another older one over from my old blog. The new one is a brief comparison of a '95 Lexmark M13 against a '04 Unicomp M13. It is largely observational and nothing absolutely critical, but of course, I have given my opinion when it comes to competing technologies (especially regarding their differing pointing stick technologies). It was pretty fun to write and I will be basing my future articles on its format.

Speaking of ports, I have finally diverted some attention to the ThinkPad section of the website and ported my other two popular articles from my old blog; "27 Years of ThinkPads" and "The Laptop of Humanity".

New documents

More than a few documents have been added, including a few 'prints' of IBM and Lenovo support documentation backed up in case they are ever taken down. When known, all sources of the documents are now visible to give credit to where it is due.

Re-exposing old ThinkPad components databases

If you were somehow around during the early days of this website, you may have remembered that I used to have multiple database pages for the different components fitted on my ThinkPads. I removed them as my focus for this website turned towards keyboards, but given that this is a database-driven site and the data is still just sitting around, I thought it may be handy to have them out again.

At the moment, I just have the CPU and the RAM databases available since they provide the most useful details. In the earlier days, there also used to be a GPUs, a laptop screens, a wireless NICs and a wired NICs database, but those were not exactly detailed so I have yet to reimplement those database pages until I improve their data points. Just note that the new search querying techniques I mentioned for the keyboard database are not operational on these smaller databases - I am in the process of redesigning the API that this website's framework uses and I have yet to implement it on all pages yet.


Two more articles

I have two new articles in the works for this and next month respectively. The first coming in a few weeks is a comparison of three IBM keypads that have been closely associated with ThinkPads; a Lexmark-made IBM Model M4-1, an ALPS-made IBM KeyPad III, and a Silitek-made IBM KU-9880. The one after that will be a look over the reproduction Industrial Model M craze that has caught the attention of a lot of people.

Soarer's Converter guides topics

I have a multi-part guide in the works for everything Soarer's - when and why do you need them, where to get them, how to make your own, how to use the tools with it, and of course how to make remaps and macros. The first two topics of setup and basic scripting are due for launch within weeks.

IBM keyboard toolkit software

As I have mentioned several times in the past month or so, I am working on a software toolkit to help improve the performance of older pointing stick and trackball devices like TrackPoint II and Unicomp pointing sticks and provide a GUI of sorts for Soarer's Converter remap and macro preparation. Time is short at the moment, so I missed my July target for a beta, but I'm optimistic about a beta early next month! This software will be Windows only at first, with Linux support coming just a few weeks after and macOS support coming at some time not specified after that.

Keyboard database submissions form

After some people have asked about this, I am working on a form that will enable others to help out with populating the keyboard database. This is near ready for use, but I'm just working and testing security (captcha, spam prevention, etc) before it goes live. I'm hoping to roll it out by the end of the month.

Keyboard database external API

I want the data this website holds on IBM and family keyboards as open and accessible as possible, hence I am working on an API in which other websites will be able to access the database and use its data for something meaningful. I have already experimented with this by working on ways to generate and deliver formatted markdown data to be used on r/ModelM's wiki.

Once ready, it will look like a small form where you tell it how you expect the data to be formatted and it will tell you how to access that data from your own website/application. That's the only details I am able to share at this time.

Laptop GPUs database

The next laptop components database to be re-exposed will be the GPU database since it's fairly detailed already. I just need to proof read and make amendments. This should be done within a week or two.