Systems, programs, and tools behave in unexpected ways.
Systems, programs, and tools behave in unexpected ways.
Hey guys, I've moved systems a lot. I've got several computers. And the way it works right now doesn't make sense. Installing, uninstalling, appdata, save files, all of this seems like an obsolete way of doing things, to me. Here's the gist of the idea: - Games and apps should all just be a portable bunch of files, completely independent from the system that's being used to run them. - User settings and savegames should not be located in appdata, a steam folder, saved games, or anything like that. They should be directly inside the app/game's folder. - Any file/registry key/data kept by the system in its obscure folders should be specific to the system and the app/game should be 100% functional (keeping settings and saved games) without them. Imagine a world where you could have a drive for the system, and a drive for everything else, and both could be entirely independent. Any old game or app would be entirely contained within its folder. Your data drive could be neatly organized with a "Games" folder containing all your games, and an "Apps" folder containing all the apps. You could move that data drive between systems to keep all of your apps and games and switch systems seamlessly, or copy folders to "install" your favorite apps & games on a different drive, without having to actually reinstall anything. There would be no preferences file contained in some obscure corner of your drive. Specific system-side tools could be made to auto-detect which apps and games are present on the available drives and list them in a neat and organized manner - your desktop could populate itself automatically. What do you think? Would you like to see this? Would you change anything to my version of it? (I know most apps and games nowadays can work just fine by simply drag and dropping their files to a drive and carrying them over from one system to the next, but there are limitations, and it's not the "intended way" to use them - I dream of a world where portable apps/games would be mainstream)
Mac OS introduced itself thirty years ago. The challenge now is that modern apps rely heavily on complex libraries and dependencies. Picture the storage demands if each application required a fully compiled version of DirectX, OpenGL, and similar tools instead of using optimized, pre-built solutions.
It's accurate. The two approaches I notice are: - Libraries and dependencies are considered system components that are saved and installed on the machine. Therefore, some kind of installation process must still exist. Many are already pre-installed by default, but a growing number could be added later without disrupting things. - These libraries and dependencies can also be kept separate from the main system, allowing the software to function like applications or games would. They might even be automatically recognized, similar to how games are identified. Picture having folders like D:\Games, D:\Apps, and D:\Libs. I find this more logical for organization. Carrying libraries around is frustrating. It feels better to bring an entire system with you. Think of a brand-new PC you build yourself; once you plug in the drive, it instantly becomes functional. The drive holds a folder called D:\Systems, which can run any OS you choose. A pre-set multi-boot tool lets you either stick to a default OS or pick one based on what your hardware supports. The OS itself could be customized for multiple setups. This is the challenging aspect. Each piece of hardware requires its own software. I’m unsure if it’s realistic to run both AMD and Nvidia drivers on the same machine, with only one loading depending on the detected hardware. If not, keeping a single OS version per physical PC seems necessary, making portable storage less practical. Storing everything on a removable drive would also negate the advantages of M.2 SSDs. Few people would want to run games off a USB stick. Overall, I still find this concept intriguing and practical, especially if internal drives are used for storage. Portable SSDs are improving rapidly.
Linux handles it smoothly without any problems. I own an external SSD with an installation I've been using for years across different machines. At one point I had a dual-boot setup between Windows and Linux, but Windows can be unpredictable when switching depending on BIOS settings. The main reason systems behave differently is that there isn't a universal approach—most setups follow their own standard, and expecting everything to fit perfectly is unrealistic.
From a long-term upkeep perspective, bundling everything per app is quite problematic. Picture a scenario where an application relies on an SSL library. Perfectly fine if the app is crafted from scratch with the latest version. In reality, this seldom occurs. Now, whenever that library receives a security patch, developers must simply adjust their build and release it—something that rarely takes place.
It's quite a long way back from that point, isn't it? Even Ubi handles it pretty well.
UWP offers a sandboxed setting for safety plus an automatic update mechanism. It didn’t gain much traction. Windows 8 and 10 are the focus now. Moving files used to be cumbersome, especially with version mismatches. Syncing online is the current path, supported by Steam for gaming. App support varies by developer. Many users prefer fewer accounts—centralized systems help, but UWP adds indexing needs that slow things down. A fast setup suits quick apps, while slower systems struggle. The concept aims for apps to register centrally in a structured way, which works well for single-user setups but poses challenges in multi-user or enterprise scenarios involving permissions and app management.
We attempted this on DOS, but it didn't go as planned. Excluding Doom 2 and Lotus 1-2-3. Developers prefer using pre-built libraries and APIs instead of creating everything from scratch. For example, Microsoft often offers device-optimized APIs that can lock users in, but most applications eventually move to newer systems without too much trouble. Hopefully you enjoy exporting to CSV and restoring it. IBM experimented with DB2 across various platforms in the 2000s. I used it, and it was impressive. Running Domino servers on DB2 with a fully object-oriented database made Exchange/Jet seem quite outdated. Still, developers are seeking more efficient solutions. .Net seems designed to bridge that gap, isn't it? Modular programming remains relevant, especially with more virtualization and operating systems moving further behind the scenes.