We’ve definitely come a long way. Enormous strides, year over year. But some pains remain in our way of getting to the ideal operational efficiencies:
Allocation – It’s still hit-or-miss with so many variant species of installers. Some products throw components on a computer like a blind drunk person with a shotgun having a spastic seizure. The CoApp project is probably the best idea to come along since the dawn of Windows. Sadly, it will probably be ignored by Microsoft. (yes, I know it’s derived from Linux and open source, shadddup!)
Permissions – There’s still too many stupid-ass vendors making crappy products that “require” the users to have Administrator rights. HIRE NEW PROGRAMMERS you idiots!! It’s not that friggin hard. Lock yer shit down!
Licensing – I can’t even count how many variations vendors use today for controlling where their products can be installed and used. License files. Registry keys. Services. Hardware “dongles”. Static keys. Derived keys. Concurrent acknowledgement services (think FlexLM and FlexNet) and on and on. If only there were a real “standard”.
Isolation – App-V, ThinApp, XenApp, SVS, etc. are all fantastic ideas. Where the **** are they? Yes, I know they’re “available”, but so is medication for dying children in the poorest of places. The problem is (a) it’s too expensive, (b) difficult to deploy, and (c) still too complex to manage for the laymen of the world. Until this technology is bundled into the core OS products, we will have to suffer with DLL conflicts, shared services, side-by-side assembly caching, versioning, re-basing, redirection and bullshit packaging hacks. Come on. This is 2010, right?
Layers – It’s still too friggin complicated to use MDT or OSD or SysPrep or imagex or whatever to build and deploy large numbers of computers in an automated fashion. Drivers are a pain in the ass. Custom tweaks are still cumbersome. Task sequences are nice but still quirky. The whole process needs to be thought through from scratch and simplified.