Jump to content

Operating systems, games, apps, should work differently

Modinstaller

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)

Link to comment
Share on other sites

Link to post
Share on other sites

Mac OS did that thirty-odd years ago. 
 

Problem is, today’s software is built on a mess of libraries and dependencies. Can you imagine how much more memory and storage space we’d need if every game had its own static-linked version of DirectX, OpenGL, etc. built in?

I sold my soul for ProSupport.

Link to comment
Share on other sites

Link to post
Share on other sites

That's true. The two solutions I see would be:

 

- Libraries and dependencies count as system-side stuff that is stored and installed on the system. So some form of "installing" would need to remain. Most of them already get installed with the system by default, but more of the most common ones could be added with time so this becomes a non-issue.

- Libraries and dependencies are also able to be stored separately from the system, and the system just uses them like it would apps and games. They could even be auto-detected like apps/games could. Imagine having D:\Games, D:\Apps, D:\Libs.

 

I much prefer the first one as it makes more sense organization-wise. Having to carry libs around is just annoying. Might as well carry an entire system around, D:\Systems

That makes me think of something else: portable systems. Imagine having a virgin PC that you just built, you plug your drive in, voilà, you have a working PC. The drive contains a folder, D:\Systems, which contains whatever OS you like running. A multi-boot utility which you have already set up beforehand allows you to either default to a certain OS or choose one. The OS itself could be tailored to run on multiple systems.

 

Now that's the tricky part. Different hardware needs different software. I don't know how feasible a multi-hardware OS can be. Could you have both AMD and Nvidia drivers on a single system and only one of them loads based on the detected hardware? If not, the only option is to have 1 OS instance per physical PC, and storing those on a portable drive seems useless. If it's tied to the PC, might as well install it on an internal drive.

 

Another problem is that if you store everything on a removable drive, you lose the benefits of M.2 SSDs. Few people want to run their games off a USB drive. I still think the idea is very cool and very much functional since the independent games/apps could be stored on an internal drive just fine. It would at least make organization super easy and convenient. Portable SSDs are getting better too.

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, Modinstaller said:

I don't know how feasible a multi-hardware OS can be. Could you have both AMD and Nvidia drivers on a single system and only one of them loads based on the detected hardware?

Linux does that without issue, I do actually have an external SSD with an install I've been carrying around between machines for years now. Even had one with windows/linux dual boot at some point but Windows can be iffy to boot moving between machines depending on BIOS configs and capabilities.

 

The main reason for things being how they are now is that there isn't really a "one size fits all". On most systems there is a "standard" way of doing things, sometimes even in the way you say, but there are always enough counterindications that expecting everything to work that way is pretty much impossible.

 

 

F@H
Desktop: i9-13900K, ASUS Z790-E, 64GB DDR5-6000 CL36, RTX3080, 2TB MP600 Pro XT, 2TB SX8200Pro, 2x16TB Ironwolf RAID0, Corsair HX1200, Antec Vortex 360 AIO, Thermaltake Versa H25 TG, Samsung 4K curved 49" TV, 23" secondary, Mountain Everest Max

Mobile SFF rig: i9-9900K, Noctua NH-L9i, Asrock Z390 Phantom ITX-AC, 32GB, GTX1070, 2x1TB SX8200Pro RAID0, 2x5TB 2.5" HDD RAID0, Athena 500W Flex (Noctua fan), Custom 4.7l 3D printed case

 

Asus Zenbook UM325UA, Ryzen 7 5700u, 16GB, 1TB, OLED

 

GPD Win 2

Link to comment
Share on other sites

Link to post
Share on other sites

That's what AppImage on Linux is. Using all your software through AppImages takes a ton of space. And most programs will still put config files in ~/, ~/.config/, and ~/.local/share/ anyway. Though I'm guessing most programs you chould change that with environment variables or flags. 

lumpy chunks

 

Expand to help Bunny reach world domination

(\__/)
(='.'=) This is Bunny. Copy Bunny into your signature to
(")_(") help him on his way to world domination.

 -Rakshit Jain

Link to comment
Share on other sites

Link to post
Share on other sites

Including everything on a per-app basis is actually terrible from a long-term maintenance standpoint.

 

Imagine if a program is using, say, an SSL library.  Ideally, when the program is released... it's built against the newest version.  This rarely happens.

 

Now whenever there is a security update to that library, all a developer has to do to update their build and distribute it.  This rarely happens.

Link to comment
Share on other sites

Link to post
Share on other sites

For games, platforms already do this. You tell platform where your games are, then sync settings and progress from cloud.

^^^^ That's my post ^^^^
<-- This is me --- That's your scrollbar -->
vvvv Who's there? vvvv

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, LogicalDrm said:

For games, platforms already do this. You tell platform where your games are, then sync settings and progress from cloud.

Unless it's an EGS game of course 😕

F@H
Desktop: i9-13900K, ASUS Z790-E, 64GB DDR5-6000 CL36, RTX3080, 2TB MP600 Pro XT, 2TB SX8200Pro, 2x16TB Ironwolf RAID0, Corsair HX1200, Antec Vortex 360 AIO, Thermaltake Versa H25 TG, Samsung 4K curved 49" TV, 23" secondary, Mountain Everest Max

Mobile SFF rig: i9-9900K, Noctua NH-L9i, Asrock Z390 Phantom ITX-AC, 32GB, GTX1070, 2x1TB SX8200Pro RAID0, 2x5TB 2.5" HDD RAID0, Athena 500W Flex (Noctua fan), Custom 4.7l 3D printed case

 

Asus Zenbook UM325UA, Ryzen 7 5700u, 16GB, 1TB, OLED

 

GPD Win 2

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Kilrah said:

Unless it's an EGS game of course 😕

They are that far back the curve, huh? Even Ubi does it decently.

^^^^ That's my post ^^^^
<-- This is me --- That's your scrollbar -->
vvvv Who's there? vvvv

Link to comment
Share on other sites

Link to post
Share on other sites

On 3/27/2022 at 3:37 PM, Modinstaller said:

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.

You have just describe UWP. Complete with sandbox environment for security, and central automatic update system. It didn't resonate with people.

 

 

On 3/27/2022 at 3:37 PM, Modinstaller said:

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.

Windows 8 and 10 world. We have it.

 

On 3/27/2022 at 3:37 PM, Modinstaller said:

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.

Moving data is old. And you need to deal with version conflicts. Online sync is the way forward, and we have this with Steam for games.

Apps, it depends on them. Then again, people aren't really open to have a million accounts. Sure it needs a central system, but then UWP, and well...

 

On 3/27/2022 at 3:37 PM, Modinstaller said:

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.

Good idea, but that requires indexing, and that takes time (not instant). Fine for fast system, an issue for slow systems.

Windows idea is to let the app decide and register itself at a central location, in a near and organize manner.

 

On 3/27/2022 at 3:37 PM, Modinstaller said:

(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)

Portable apps doesn't work with your suggestions. The problem is multi-user environment, and enterprise environment (think: deployment, adding/removing apps based on user permissions/roles)

Link to comment
Share on other sites

Link to post
Share on other sites

We tried this with DOS. Didn't work out so well. Well, Doom 2 and Lotus 1,2,3 aside.

 

Developers would rather license built in libraries and APIs rather than write their own. Yeah, Microsoft for instance kind of suckers developers into the candy store with device optimized APIs and then locks you in, but, most apps then migrate to a newer OS without too many headaches. Knock on wood. 

 

Imagine if a SQL instance had all of its own libraries and dependencies built in. Now try migrate it to new hardware, or a HD or storage config not included in the original package. I hope you like exporting to CSV and back.

 

IBM tried this with DB2 across multiple platforms back in the 2000s. I worked with it, and it was cool. Running Domino servers on DB2 with a full object orientated database made Exchange/Jet look like an utter joke. But... developers want leaner/faster/cheaper. .Net is supposed to be this bridge, right?

 

Modular programming is still a thing. With increasing virtualization its a bigger thing because operating systems are being pushed more to the background. 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×