Friday, January 20, 2017

The scale of portable

When we're talking about portability, we're not just talking about "can it run from a USB drive"?  We're talking about whatever settings you change, they stay with the program, regardless of the medium it's launched from (USB, DropBox, OneDrive, etc.)  Re-running a process or re-changing a setting on each computer is not portable.

Most programs work on a scale from very portable to not portable at all:
  1. Command-line tools are very rarely anything BUT portable so we don't spend much time on them
  2. Writes unimportant data to C:\Users\USER\AppData\, but for example just a recent file list.  This is one that falls on the line and may be acceptable to some users.
  3. Runs outside of Program Files folder and without dependencies, but but doesn't write settings to the local folder.  This is considered "no-install" but is not portable.
  4. Windows Explorer integration by it's very nature isn't portable.  Registry entries don't transfer from computer to computer.  You would have to run this process every time you launched the program and it leaves behind junk each time you do so.
  5. Program requirements like DotNET 4.0, which mean that functionality on older computers (like WinXP) isn't a sure thing.