With the caveat that I am not a software developer…
I love portable apps, myself, but I don’t see them becoming the norm.
I do see them becoming the norm. We are using a wider variety of devices and operating systems than ever before and the trend is not slowing down. Developers looking to capitalise on broader target audiences are increasingly coding with multi-platform in mind, meaning by their very nature the apps are less tied heavily into the OS (registry settings, strict install paths, etc).
Portable apps are not necessarily easy for a non-technical user to install…
They are easier. Download an app and hit the executable. Bang, there’s your program. None of this “Where would you like to install…”, “Which components would you like?”, “Would you like a desktop icon?”, “Can I install the Ask toolbar?” crap that goes on with legacy installers. This is also what we are training new users to do with the rise of the various app stores - download an app, click on an icon, it just works.
(Perhaps related…) Typically, portable apps write configuration data to the same folder that the actual program is in (or a subfolder). Starting with Windows Vista, programs are (by default) prohibited from writing data to the “Program Files” folder tree (for security/virus protection reasons, IIRC). That means that the user will need to put the portable app folder somewhere other than “Program Files”. Or, the portable app would have to write save data to a common place (hello, registry or AppData), making the whole thing a bit less portable.
The whole ‘install components on first launch’ idea assumes that the user has permissions to install stuff. This may not be true.
Wouldn’t writing saves to the standard OS data folders make the app decidedly non-portable?
If you are downloading a portable app into your “Program Files” folder, you’re kind of doing it wrong. The average Joe Schmo user downloads everything to their “Downloads” folder, “My Documents” or the “Desktop” - all locations on Windows which the user has pretty free read/write access. Me, I have a bunch of common portable apps in my dropbox folder (which is typically on my Desktop). They follow me everywhere I go and work regardless of the machine I am on.
Also, if the portable app is storing config data in System locations, to my mind the app developer is doing it wrong and they are not really providing a portable app. Quite a few actually provide the option on first launch.
Why make it portable when you can make it in the cloud?
Absolutely, though it depends what the app is trying to achieve. Some apps aren’t good candidates for cloud service (Photoshop or Video Editing) just as some apps are not good candidates for being made portable (MS Office Suite).
Portable apps open up all sorts of gaping security holes because it requires a user’s account to be wide-open to allowing applications to access areas of the system they’re not supposed to access.
This I am not so convinced on. Sure I can download a portable app to my work desktop and run it no problems, but if that app is trying to do anything that requires elevated privileges (accessing system files, low level kernel processes or system drivers), it still won’t work unless I have the necessary admin rights, which is no different from a native install. It’s no more or less secure as it operates under the same security constraints. I’ll admit that modern OS’s are better at managing this. There are also lots of apps that you cannot install to “Program Files” if you don’t have admin rights, but will happily install to the desktop. Unless the plan is to not allow a user to run any executables at all, I am not convinced the security challenges are really all that different.
Now I say all that as user that prefers portable apps. If there is a portable version available, I’d much rather use it than the installer version. I’ve also noticed over the last year or so, many of the popular open source or freeware projects are now making portable versions available, or portable versions can found very easily - CPU-Z, Xnview, Q10, ADOM, DF, Gimp, 7-Zip, FileZilla, Blender, Audacity to name just a few.