Where would you draw the line?
When making an abstract system, it is really important to find where you need to stop.
Let's say you are making a web-based gallery app, but you want it to use a file system bundled together. Sure, you embed a virtual filesystem inside the app. Then, let's say you need to set a video as a wallpaper, but your operating system doesn't allow this from a website. What would you do? If you kept continuing the method you adopted earlier, you would end up with a web desktop where you can set your wallpaper - just with one catch, it's virtual and is bundled with your app.
Soon you start to realize, if you follow this path, anything feels simulatable. Maybe a few steps later, you would simulate transistors, a full computer, a room, maybe a house - perhaps?
Or you can go in deep, introspecting on the details of the system you got, which is when your app gets simplified - so much so that the app is essentially a transparent layer to the system you already run.
Here, a gallery app can just use img tags instead of canvas, we could just leave grids to the word wrapping, and we can just reuse the filesystem the operating system already has: procedurally turning your virtualization empty, simplified to the point where the app doesn't really do anything.
However, someone can also solve the problem without abstraction, for example, by utilizing what you already have. If the operating system allows you to set images as wallpapers and not videos, you simply use images and change them to make it act like a video wallpaper.
Ultimately, virtualization or abstraction is an endless spectrum; you can move either way, from nothing to everything. There is no balance. But where you want your work to stay on this line is fundamental to understanding what your work means or what purpose it serves.
Done correctly, a highly abstract system can benefit from the extended canvas, but may struggle to handle the complexity. A more direct system could benefit from the simplicity and ease of development, but it will struggle to provide fine details. It's simply like an artist with a truckload of dyes and pens compared to an artist with a single pen - both can create masterpieces, but you simply can't compare them, as they are positioned differently on the spectrum of abstraction.
Continue reading on the abstraction series.