It's really hard even for treg users to explain just how complicated the TextBlade is and, somewhat as a result, we still have people saying it is "just a keyboard" so it shouldn't take so long to ship.
Using it reveals a lot. Those long talks with Mark, WHILE HAVING THE TB IN FRONT OF US, lets us understand a lot more. A lot of the tech is way beyond my - and I suspect - most people's area of expertise. But we can go through things with the TB as Mark guides us and get the gist of things, even if it would require a lot of specialized training (and not just in computers) to fully understand it. Still, it is very difficult to really explain it here, essentially second hand and others not having a TB to see the process. And I think it would be hard for WT to do it with just words and no hands on.
So, with that said, I'll give it a shot!
Let's start with the basic design. Regular keyboard has a LOT of keys - each key has one character per "layer". You may have another character on a "shift layer". Or get something else using modifiers like command, control, alt/option. But, ignoring the modifier, you have one character for each key.
Not so with the TextBlade. You only have 8 keycaps plus the space bar. This creates two major issues that must be dealt with via really complicated firmware. One is the additional layers - especially the green layer. Because even if you count the 3-6 main characters on each keycap, there are only 32 of them. Well, 26 letters, 10 numbers, 8 punctuation keys, plus esc, tab, 2 shift, delete, and return are used on even basic standard keyboards - 50 total and that doesn't include the other modifiers. I'm also not factoring in function keys or directional keys and absolutely not including a numpad since many keyboards don't include them.
So to get many of these other characters, we need a special layer - specifically the "green" layer. Now, for the user, this is actually a good thing. Sure, you have to adjust to getting numbers or the symbols on the number keys by holding down the space bar. But the fact is, this is more than made up for by the fact that those numbers are only one row above the home row. And the symbols are on the home row. It is really easy to hit space to access them - I'd say much easier than using the pinkie to get a shifted character on a regular keyboard. The thumb is a stronger digit and it normally is in exactly the right place anyway!
So, no big deal? Actually, it is. For WT. People are going to want a space when hitting the space bar. Other times they'll want the green layer. And they have to work at fast typing speeds that advanced touch typists can do (btw, @WayTools, I'd be interested in how fast you've seen people type on it. I mean the really fast typists. I know of people who have gone over 100, but I'd looking for the results for even faster typists.
One of the problems is timing. Think about a person typing just 100 wpm. That's 500 characters, or over 8 characters a second. The TB has to be able to tell if you want space or the green layer character at this and faster speeds. Everyone is different in how much the delay between hitting one space and the next key (if they want green layer) and they also differ in how long before they release the space bar if they want the green layer.
As it happens, I was holding it much longer (percentage wise) than typical. So I was getting green characters when I didn't want them. Some others experienced this as well. Meanwhile, others had the opposite problem - so we get filters for the green layer (and others later). Personally, I'm hoping we'll get more settings to choose from to fit us even better, but what they have already done was very necessary. But it is only one of many interrelationships.
As I said, there are two obvious issues with having so few keycaps (there are probably a lot more but I'm trying to keep this simple). The other example is, how do you know what character you hit even on the main level when you have 3-6 characters on the same keycap?
I suspect many would just say to divide the keycap area into a set area for each. After all, isn't that what we have with regular keyboards. Yep, we do. But regular keyboards have you stretching pretty far to hit those individual keycaps for each character. This is not the case with the TB. And while the horizontal distance is the same as a good standard keyboard, there are still keys that are horizontally on the same keycap with the TB. If WT took the same approach - a set area for each character on a keycap, it would be a mediocre keyboard at best, because of the physical design. You don't always hit each key the same way as you type. There is a lot of programming for figuring out not just where you hit the key, but what you likely INTENDED to hit. All of which is way beyond what I could even start to figure out how to do, even if limiting it to basic principles!
A lot of our early treg testing was dealing with cleaning this up. Used to have swapped characters quite a bit. Not now, but at one time it was a very big deal and, while making it better happened quickly, it didn't go away for a long time. So this is something that is really complicated, but I can't do a very good job of explaining it. I don't think WT could either except to others who have specific expertise in this area. And I don't think anyone in the keyboard world does because they are using old technology. They don't need to know for their products.