Friday, October 14, 2011

Super-nerd Rant

In today's software saturated, techno-savvy world we use computers at every turn to do just about anything.  Next thing you know, our kids will have shoes that tie themselves and embedded chips in their brains that learn everything for them.

Ok, so these predictions are pretty ridiculous.  However, we spend so much time looking forward to the next big trend-setting leap that we pretty much accept whatever crap is handed our way because a developer slaps a release together and calls it complete.

I'm a windows power-user.  I say that because i know with fair efficiency exactly where and how i want my software to work.  What really gets under my skin is when I have to deal with programs that install whatever they damn well please without so much as a user prompt letting us know

"hey, we need to put this at this location because we feel it's best situated there.
  Sincerely,
      Software Development Team"

Now, I love Windows very much.  I've been open to just about every platform: Linux, Mac, Windows, DOS.  I've grown up using every one of them to varying degrees yet windows is my operating system of choice because:

  • The software I want to use is available.
  • The ability to modify and do just about anything with ease.
  • Open development for 3rd party hardware  (I don't see Apple selling their OS to just stick into any other computer and install...  But we'll save that debate for another argument).

What's my point?  Windows is about freedom.  For the most part, applications always come with a user prompt and we all assume everything is going to the location of our choice, correct?

However, with today's massive software footprints (Ahem, videogames in particular), I'm sure the developers realize that by default the people buying their software must have more than 1 hard drive to install things on.  Except, for users like me who constantly browse through every nook and cranny of our hard drives and notice when things get placed where we don't want them to.

The most popular directory, notorious for filling up with folders of crap from installs is the Documents Directory (formerly, My Documents).  Everything from game save data to factory and user presets to authorization files end up here from videogames to audio, video, imaging, you-name-it we've-got-it software.

Since the advent of 64-bit and the latest OS offerings from Microsoft, we've got a slightly different structure for how data is structured.  A hidden folder at the root of the OS drive titled "Program Data" is the 2nd hotspot for misc file accumulation.  And of course, last but not least, the notorious User directory "/*username*/AppData"  Often filled with redundant files from the Program Data directory.

I'm sure i'm not alone when I say enough with the cluttering already!  There are a few select programs avialable in alternative releases appropriately titled "mobile editions" essentially self-contained executables that don't require registry entries and a ton of files spread throughout your OS Drive to operate.

Personally, i've never had the pleasure of working with any mobile edition of software aside from some tiny misc programs that are meant to do specific little jobs.  I'm talking about big boys like Sonar, or any of the software in the Adobe Master Collection.  These programs attack your OS drive in ways you often have to spend hours searching away in options and configurations menus and even then sometimes don't perform file allocating the way you want them to.

For someone like me who has a lot of data to deal with on a daily basis, I require a level of organization out of my work on the computer that keeps things neat and tidy; so you can understand my frustration when I have to work with software installations or software in general that becomes counter-productive to my organization scheme.

We all remember Stardock's "Gamer's Bill of Rights".  I hereby submit for the review of all power-users and windows gurus, peers and developers alike, a list of the

User's Bill of Rights. 

  1. Paying Users shall have the right to return software that does not work with their computers for a full refund, whether or not the registration of a cd key / serial number is involved.
  2. Paying Users have the right to demand that applications be released in a finished state, hotfixes and patches on release day are unacceptable, even if the application comes with an auto-updater utility.
  3. Paying Users shall have the right to expect that the minimum requirements for software will mean that the application will perform adequately on that computer.
  4. Paying Users shall have the right to expect that applications won’t install hidden drivers or other potentially harmful software without their consent (this includes anti-tampering and security)
  5. Paying Users shall have the right to re-download the latest versions of the software they own at any time.
  6. Paying Users shall have the right to not be treated as potential criminals by developers or publishers.
  7. Paying Users shall have the right to demand that anti-piracy security not intrude on the performance of their computer, software, in any shape or form.
  8. Paying Users shall have the right to demand control over the location of all installation files.
  9. Paying Users shall have the right to demand a physical install log file documenting file and registry alteration.
  10. Paying Users shall have the right to demand that paying for a whole new product version be reasonable in change from the previous product.
Most are pretty self-explanatory.  Some may need clarification, however as I know questions may arise as to the vagueness of some descriptions.  I should point out that I mention PAYING users for a reason.  Money is still a form of the Barter system  developed ages ago, representing specific amounts to quantify a good or service.  In this digital era, with all these legal modifications companies like to embellish their products with, the concept itself hasn't changed.  Users really don't have any RIGHTS to anything when it comes to free software releases.  You can't really demand anything from a product or it's developer that doesn't cost anything.  However, when it comes to a product that you are paying any set amount for, the owner / developer has the intent of serving you the purchaser of that product or service.

Let's take Steam for example which is a very big digital games distribution platform right now, the likes of which EA seems to want to compete with as they move their Origin platform out of Beta into the public as a finished platform.  One thing you will notice when purchasing something online through these platforms is the clauses that state exactly what it means to "purchase" one of these software products, especially through these platforms.  Note there is no brick and mortar store to return a physical box to.  What we're talking about is EULA's or End User License Agreements.  Not only does Steam have one as a purchase policy, but also the software you're purchasing through Steam.

What it comes right down to is the fact that both the purchasing platform and the software developer treat the game as their property 100% of the time, and you are given license to use it as long as you stay within their parameters; which you of course agreed upon when clicking the check box saying i agree before purchasing.

Just like the barter system, human perception is involved.  You either agree to make the purchase or you don't.  What happens now seems completely counter-intuitive to the whole concept.

I know most people don't bother reading them because they figure they understand the general idea of what the EULA is describing.  However, most of these EULA's will state that your purchase is non-refundable, that because of piracy, they have to right to refuse refunds on account that they cannot trust what you or someone may do to the product to tamper with it once it is in your hands.  Therefore, if the software does not work or operate to your expectations, it's your loss.  It gets even more complex when it comes to bundled sales.


Don't get me wrong, i'm an avid user of Steam and I enjoy the purchases I've made on it.  However, I myself have experienced this issue once.  I purchased an Eidos game pack through steam which included a bunch of games for an extremely reasonable price!  Great offer, great games; one issue.  Upon trying to launch a game called Infernal, I get an error: Ageia PhysX SDK not installed. Please reinstall the game.

Well, since i'm on steam i just uninstall and have it re-download.  I am again greeted with the same problem.  Here's where we run into Right #2.  If a publisher wishes to use some feature by a 3rd party developer such as the PhysX SDK, the least they can do is include the deployment of that installation file needed in the installation process or prompt the user with a link to download the latest version from a supporting site.  I spent a couple of hours searching and trying to install said missing SDK needed just to launch the game and the game still to this day still will not launch.

Enter Right #1.  Right now, i'm not completely pissed as all my other games in the pack work fine, aside from this one, but I do find it reasonable as on Steam the bundle pack still considers each individual product with it's own discounted price, therefore I should be able to get a refund for this game in particular and not feel shorted slightly however many dollars and cents it might be.

Steam's Refund Policy:
"As with most downloadable software products, we do not offer refunds for purchases made through Steam - please review Section 4 of the Steam Subscriber Agreement for more information.

Steam Subscriber Agreement
Steam Subscriber Agreement
An exception is made for games purchased during a pre-order period if the request is received prior to the games' release date."
 I dare any of you that haven't actually read anything akin to a legal document before to read through the Steam Subscriber Agreement.  Actually sit down and read it.  It's pretty appalling how "subscribers" are treated to be what they consider fair.

Excerpt from the Agreement page:

"D. Ownership.
All title, ownership rights and intellectual property rights in and to the Software and any and all copies thereof are owned by Valve and/or its licensors. All rights reserved, except as expressly stated herein. The Software is protected by the copyright laws of the United States, international copyright treaties and conventions and other laws. The Software contains certain licensed materials and Valve's licensors may protect their rights in the event of any violation of this Agreement."

I'll try and save face on the topic of copyright and simply sum up my feelings and thoughts on it to the fact that how we view and treat Copyrighting today needs a drastic change.  The ideology behind it is outdated especially in a world that faces issues that completely circumvent it's purpose like piracy and infringement at global scales.  The end result is this - less and less cooperation out of fear and insecurity that someone somewhere is trying to pull one over on you....  Moving on.

Here's another good example of some violations of these rights.  When it comes to Adobe, everyone knows Photoshop, that amazing image editing program that seems prevalent in just about any industry, consumer or professional, and everything in between.  Adobe has really made a profound mark on the world with Photoshop's revolutionary way of working with digital imagery and the like.  However, through the versions and releases it's been notorious for file clutter.

First off, let's take a look at how it installs.  Simple enough when it comes to prompting for a location to put the program itself.  Bare with me as I take the time to explain my particular computer's setup.  I have a solid state drive is my Operating System Drive which has a mere 128gb of space.  I state this because i have this drive to house my Operating system and ONLY my operating system (ideally).  The latest version of Photoshop is CS5.5 which I pointed at a 2nd drive i have installed in my computer: the E Drive which I labelled Programs.

It's a fair 1 terrabyte 7200 RPM drive, it does it's job well.  I choose my location on this E drive for Photoshop and photoshop installs effortlessly.  It's after the installation that I notice stuff all over my C drive (The O.S.) Not only does Adobe go to great lengths to get all their various software to play together nicely, they go through great lengths to clutter up file space.  I will mention this install of Photoshop was part of the Master Collection just for reference.

I can only choose 1 root location to install each of the products in the master collection;  I therefore chose E:\Adobe\ as this root.  Let's take a stroll through the C drive and see just how many different locations various folders have been created with numerous files.

I'm running Windows 7 X64 so let's take a look in C:\Program Files\  and see what's been added.
  • C:\Program Files\Adobe
  • C:\Program Files\Common Files\Adobe

Apparently the first directory is needed to house "common" plugins that can be used across different software: mediacore is a much needed directory to housing after effects plugins by 3rd party software developers like Red Giant etc.  This directory can grow quite a bit depending on how much 3rd party plugin acquisition some production facilities might get into.

The 2nd location, at the current updates released to date for all the Adobe software (including frequent Air and Flash releases etc..) sits at a whopping 179 mb.  What the hell is in this folder?  Apparently just Support files, legal documentation in over 28 languages, various configuration files and xml sheets, linguistics, etc..  Why this all has to be located on the C drive instead of the Root folder of the install the user was prompted for is beyond me, especially when asbsolute paths can be recorded in registry when updates need be applied that require access to these various locations and files.

That's only the tip of the clutter iceberg,  That lovely hidden folder at the Root of the OS drive called "ProgramData" just got hit with an Adobe folder too.
C:\ProgramData\Adobe  which right now sits at about 564 mb. One particular folder stands out here "CameraRaw"  already weighing in at a decent 309 mb.  Another folder just below it at 90 mb titled "CS5" just seems to house a JRE (java runtime environment) and it's license agreement data, which honestly never popped up once during install.  there's a folder for Fireworks CS5.1 which houses 3 folders "EMStorePath", "Extensions", and "PreInstall"; and another folder for InDesign which hold extensions.

But wait, there's more!  I'm sure every photoshop user has an ever growing brush collection, or presets collections of various types for everything from Gradients, Patterns, etc.... 
Just to get there, these don't get installed into the actual program's directory which is the first place one might think to look.  Instead, they end up here:
C:\Users\*username*\AppData\Roaming\Adobe\Adobe Photoshop CS5.1\Presets
which just up one directory also holds "Adobe Photoshop CS5.1 Settings" where your workspaces etc.. are all stored.

This isn't even the worst part, just locating the directory: C:\Users\*username*\AppData\Roaming\Adobe took a bit of navigating to figure out which was actually useful to the application (Local, LocalLow, or Roaming).  In this directory there are 37 folders!  Right now it's not that hefty at just 61 mb but I have absolutely 0 presets, brushes, etc.. on account of not having transfered any of my vast collection in yet.

All the Adobe related Roots:
  • C:\Users\*username*\Documents\Adobe                       3.70 mb
  • C:\Users\All Users\Adobe                                          564 mb
  • C:\Users\*username*\AppData\LocalLow\Adobe          .80 mb
  • C:\Users\*username*\AppData\Local\Adobe                 3.83 mb
  • C:\Program Files (x86)\Adobe                                   56.1 mb
  • C:\Program Files (x86)\Adobe Story                          8.98 mb
  • C:\Program Files (x86)\Common Files\Adobe           955 mb
  • C:\Program Files (x86)\Common Files\Adobe AIR   37.5 mb
  • E:\Adobe                                                                     10.4 gb

I don't know about anyone else, but I don't like all that clutter on my C drive.  I most certainly don't appreciate having to use an external location to install presets, brushes, etc... into OUTSIDE of the main program's directory.  It just doesn't make sense.  If they wanted to make it friendly to multiple Users on 1 PC, then create a directory structure within the application based on who runs the software each time.  Is it really that much harder to do that instead of locating a zillion different files and directories in obscure places that only us power users would notice without having to resort to scouring the web / forums or calling technical support?

Enter Right #8.  Adobe should be smart enough to still get their programs to cooperate nicely together even if all the necessary miscellaneous stuff were located in the root directory, hell clutter the crap out of that root directory wit JRE folders and License support files and Common Paths for whatever you need, but please just keep it in the root folder.  OR, even better, ask the user where to store common presets and plugins etc...  That would be great!  I'm not trying to insult anyone, but this really would make digital life a whole lot easier.

Another aspect of the afformentioned Adobe insanity has to do with Premier Pro and media-caching.  by default after installation media cache files are put into a single folder no matter what your project is.
  • C:\Users\*username*\AppData\Roaming\Adobe\Premiere Pro\5.5\Metadata Caches
  • C:\Users\*username*\AppData\Roaming\Adobe\Common\Media Cache
  • C:\Users\*username*\AppData\Roaming\Adobe\Common\Media Cache Files

Currently, when you launch Premier Pro and create a new project, you've asked about general settings, and then your Scratch Disks for Captured Video, Captured Audio, Video Previews, and Audio Previews.

None of these deal with the media cache that gets created when Premier conforms imported material.  Unless you've navigated your way around Premier, they clutter up your C drive pretty quick ESPECIALLY when working with HD media.  After just a couple projects My 128 SSD drive would have been filled to capacity.  However, I took the time after installation before creating any projects to go to Edit > Preferences and take a look at the Media Tab.  Here is where the user can select a specific location for all media cache, and/or whether or not to save the cache files next to the originals when possible.  By default that checkbox is unticked.  The media cache Database also gets quite hefty as well, and thus I specified a location for it off of my OS drive.

The final quirk to file organization with Premier is not with the project creation, it's the project's file structure.  You can do a lot inside of Premier to tidy up your project, adding "bins" like folders to nest objects however you wish.  However, you have to use the dialog for scratch disks to change and indepently specify the location of where to place the various files involved in a project.  Most users that want to get started quick will most likely choose the "Same as Project" folder option.  Which results in a cluttered project folder.  I usually end up doing this as I need to start capturing video right away when a project comes in.  I then spend minutes to an hour or so after the project has been created going into the folder and manually moving files around and re-locating them inside of the project at a later date. 


I use Cakwalk Sonar extensively for my audio productions, and their project creation scheme is one I agree with and like.  I wish Premier would act more like Sonar in this way. Sonar by default lets you select the project folder as the root folder for holding audio data, but it automatically assumes you want a directory to hold the audio in, while the project file itself resides in the home directory of your choice.  It would be equally as awesome to see Adobe adopt that school of thought.

This tyrade could go on and on, i'm sure.  But my final one is the age old CD prompt, and anti-piracy schemes that force online activation etc...  Most of these have to do with PC games.  I am one of those believers that the anti-piracy methods companies employe on their software are the reason PC gaming has gotten as shitty as it has.  I've been an avid PC gamer and collector since I was little.  My first computer was an i386 running DOS and my first game was a silly 2d ape vs ape where you type in the coordinates in X/Y and try to hit the opponent with a banana that exploded bits of buildings if you missed.

Game companies are so huge and so invested in giant projects now that their only leverage to gaining any profit off of their expensive investment is an equally expensive investment in security measures to keep their stuff from getting pirated, which is usually circumvented.

Enter Rights #6 and #7.  We all remember the whole controversy of the Rootkit, and all the fuss about Watermarking and discs being required to be in the drive to authenticate.  There's some anti-piracy security so full-proof they actually keep you from USING the software you purchased.  These are the ones that irritate people beyond all measures of sanity.

If you're software is that prone to attack and has such a viable market, i can understand the necessity to want to protect your product and your business, but ultimately the business isn't about being a business it's about catering to others.  You as the company are providing something specifically for someone else's enjoyment / utilitarian purpose, or otherwise.  Don't treat your customers, neigh, your friends by association like they're potential scum who don't even care about your product, they just want to rip you off.  Or, you may do so at your own company's peril.

I definitely am a firm believer that software companies invoke a lot of piracy out of user frustration (at one point).  I won't get into the semantics, that's just unnecessary.  I don't disagree that Piracy is causing a lot of issues, nor am I defending it.  However, back in the days when sites that catered to gamers could go download a NOCD Patch for their game in just about every game on the planet wasn't just helping pirates get their hands on games they didn't pay for; I admit I've spent a fair share of my time scouring those sites for No-CD patches for the games I legitimately bought just so I wouldn't have to stick a damn disc into my drive to play it when I wanted to instead of having to hunt through a cabinet full of games.

I know I can't be the only one with these concerns.  Please leave comments on similarities, arguments, or differences with anything I've discusses.  Hell, make your own Bill of Rights and post it up in the comments below, I thank you for any and all.  Even flamers!

-END RANT-

3 comments:

  1. Paying User has this right to bitch and complain, then return software after it did not reach expectations and turned out to be a "BETA" version....

    ReplyDelete
  2. I definitely am a firm believer that software companies invoke a lot of piracy out of user frustration

    This shit. Right here.

    ReplyDelete
  3. For those who actually understood any of what I said in the rant, I have a question for you... How do you feel about software developers that release multiple versions of their sofware and charge you higher price-points for additional functionality? For example a company that might offer a free version of their program / or trial, offers a "basic" "standard" and "pro" versions for varying prices over minimal or finite specification differences.

    ReplyDelete

please keep comments relevant to topic.