3 ms·
That's a case of not solving the problem. Leaving aside the need to send a massive set of screen images for the moment, a severe issue with that protocol is th
by IncRnd 4y ago
That's a case of not solving the problem.
Leaving aside the need to send a massive set of screen images for the moment, a severe issue with that protocol is the lack of compression. It doesn't need to use a quadtree[1], although that will significantly speed up the interface when sliding the tree depth to the screen action being taken. Even RLE[2], Huffman[3], or any other standard string compression[4][5] would solve this issue shown in the blog.
[1] https://en.wikipedia.org/wiki/Quadtree#Compressed_quadtrees https://en.wikipedia.org/wiki/Quadtree#Compressed_quadtrees
[2] https://en.wikipedia.org/wiki/Run-length_encoding https://en.wikipedia.org/wiki/Run-length_encoding
[3] https://en.wikipedia.org/wiki/Huffman_coding https://en.wikipedia.org/wiki/Huffman_coding
[4] https://en.wikipedia.org/wiki/Data_compression#Image https://en.wikipedia.org/wiki/Data_compression#Image
[5] https://en.wikipedia.org/wiki/Lossless_compression#General_purpose https://en.wikipedia.org/wiki/Lossless_compression#General_p...
- Genbox 4y agoEfficient data handling is better than spending cycles on generating a lot of backslashes and then burn cycles on compressing it.
- IncRnd 4y agoIt's also good to properly manage transmission of that list of screens, even after you've fixed the backslashes. The article stated that they degraded the user experience by artificially limiting the string length instead of fixing the issue.
- thfuran 4y agoAs an immediate stopgap before the proper fix was in place.
- duskwuff 4y ago"Screens" is referring to the state of a multi-step UI (similar to the back/forward cache in a browser), not a bitmapped image.
- IncRnd 4y agoYes. In what way does that mean that the transmission size should not be compressed? Bitmapped images are not the only data structure whose size will shrink by removing redundancy.
- Xorlev 4y agoI think you're being downvoted because you've claimed "That's a case of not solving the problem.", but I think that actually better describes this answer. It's clever, certainly, but misses the fact that the stack of screens was never intended to be recursively escaped and changing the form that it took was the real fix rather than rubbing some compression sauce on what was never intended to be lots of backslashes in the first place. And indeed, that's what the author did: they shipped a bandaid fix while working on a more comprehensive fix, one which didn't require RLE or a quadtree (!).
- IncRnd 4y agoYou're describing the desire to avoid protocol compression when transmitting data that grows without bound. That has nothing to do with fixing the backslashes. The problem isn't backslashes. Those are just a symptom of data that can have any length.