4 ms·
I have a much bigger problem with MS. It has to do with a fundamental aspect of the Windows architecture: The OS holds your applications hostage. In the DOS er
by robomartin 12y ago
I have a much bigger problem with MS. It has to do with a fundamental aspect of the Windows architecture: The OS holds your applications hostage.
In the DOS era applications had a huge degree of independence from the OS. You could nuke the OS, upgrade it, modify it and move machines and your apps worked just the same.
Today things are different. The OS, by means of such "features" as te registry, holds applications hostage.
Say I have a five year old machine. I want to purchase (or more than likely, build) a new machine. In the past this was relativley painless. Once the machine is up you move your apps and off you go. Today this requires full re-installation of apps from scratch. It's a nightmare and it is one I contend has significant economic consequences. Whereas someone like me might consider upgrading hardware every year or two, the financial math now includes the non trivial time and expense of reinstalling everything.
We've done this a few times. With typical high end engineering workstations full of software it can easily take a month of installing and configuring software to get back to the setup you had before he upgrade. This isn't pallatable at all from more than one perspective. And so machines continue to be used as long as possible before upgrading anything that might trigger a reinstallation event.
To me this is a major flaw in the design of Windows. OS, applications and data ought to be fully separable independent entities. I get all the advantages of DLL reuse and centralized settings, etc. I still contend that this could be achieved at the cost of additional storage and some more smarts. A one terabyte hard drive is about $60 today. I could not care less if DLL's need to be duplicated for each software installation in order to break lose from the OS and registry as much as possible.
The point is, if they are smart they ought to be able to figure it out. I ought to be able to install all my apps on a portable USB drive, walk up to any machine in the world, plug in and have my tools and files available for use instantly. That's the way it should work.
- cjp 12y ago> To me this is a major flaw in the design of Windows. As much as possible, I use PortableApps on Windows. When I migrate to a new machine, all I need to do is copy the PortableApps folder. I don't see this as a flaw in Windows. If every application developer/packager built portable apps, there wouldn't be a problem.
- robomartin 12y agoPortableApps looks interesting. That said, I can't see using it with applications such as SolidWorks, CAMWorks, Xilinx FPGA tools, Altera FPGA tools, MicroSIM, various compilers, various FEA tools, Altium Designer, etc. In other words, I am talking about some major engineering applications that would probably do very poorly (if they even work) with such an environment. As a business you would be risking all kinds of possible nightmare scenarios with compatibility, maintainability and general support issues. The real solution has to be OS-based. Which is unlikely to happen.
- sliverstorm 12y agoEvery operating system is guilty of this. Each has its own upsides (Windows has uninstallers; Linux has decentralized config; OSX has centralized application storage) but they all commit the sin of complicated painful installation. A lot of the responsibility for that lies with the application developers, by the way. The reason it doesn't work the way you are dreaming is of course because the OS provides more abstraction than ever. In the old days, DOS just handed the whole machine over to the application you launched- that would not be acceptable today.
- robomartin 12y agoI don't want to get into details because there are loads of possible and creative solutions. An API could be created very easily to have an application request services from the OS and have those services installed locally within the installation directory structure of the app. From that point forward the app can travel from machine to machine and retain the environment it requires. Of course there are tons of details to work out. My point is that we live in an age where computing power, memory, storage and remarkably intelligent computer scientists abound. With some work this is not beyond our capabilities. Imagine the selling point of an OS that allows you to isolate your apps and data to the point where they travel with you to be used on any machine (or machine migrations as people and companies upgrade systems).
- radicalbyte 12y agoYou can save a lot of time by using https://chocolatey.org/ https://chocolatey.org/ for package management. Application data for modern apps lives in the user profile; back that up and the process becomes much simpler. DLLs: .Net has a really cool feature called the Global Assembly Cache. That stores one copy of every version of every DLL that has been registered. Which means best-of-both-worlds: conserve HDD space and no issues with versioning.
- robomartin 12y agoI just don't see it working with some of the engineering applications I mentioned in another reply. Too risky as a business to muck with such tools as they can bite you hard when you least expect it. I am afraid the answer has to come from Microsoft.
- fleitz 12y agoYup, this is the approach taken for OS X and for apps that don't 'install' it's quite easy to migrate. On OSX you really have to go out of your way to modify the OS.
- robomartin 12y agoI use OSX for iOS development but I am far from an OSX expert. Question: Can I take the entire "Applications" directory, copy it to a USB drive, go to an Apple store, plug it into any machine and run Photoshop from my USB drive?