DevScope

Stupid Developer Tricks: Portable Apps

Carry your Windows Apps with you on a USB key drive. A developer's vision now a full-time job.

For developer John T. Haller, it all started back in March 2004 with an innocent thread on the Mozillazine.org forums. What if you could tweak the Firefox browser so you could bring it with you in a USB key drive and run it on any PC? As it turned out, Firefox 0.8 beta had just been released with a structure that allowed just that.

Over the following weeks, John tuned the open source browser so that it would store temp files and settings in local folders, rather than on the client system's hard disk. By May 2005, John had set up a site and was accepting donations. Today, PortableApps.com is a full-time job. John maintains dozens of portable versions of popular open source software and fields millions of free downloads. I spoke with John about his career-changing experience.

You made Firefox portable back in 2004. Why not stop there?
We added Mozilla Thunderbird and Sunbird because they were based on the same code base. So making them portable from a technical perspective was sort of the same thing. The Gecko rendering engine along with the XUL [user-interface language] have the same inter-components, [so] you can redirect the same [resources] for the different applications.

How much programming is involved in tuning applications?
That depends on the app. Some of them are relatively lightweight, such as Miranda [IM client]. Some are more heavyweight. GAIM [IM client] is one of the heavyweight ones. Current versions of Firefox are actually more heavyweight because of things they've added. It depends entirely on the application and how it keeps track of the current data.

How difficult is it for dev shops to make custom Windows apps portable?
It depends. A lot of apps along those lines are developed in VB, for instance. Visual Basic, at least the pre-.NET versions-you wouldn't believe how many pre-.NET applications are in corporate America and aren't going away-generally they're well contained. All you need is the VB runtime and a local store. .NET apps are a different story, because you need the .NET runtime. Generally C and C++ apps are pretty easy to make portable because they are self-contained. Even Python apps, if they are compiled-it's the same thing.

Is there any reason proprietary apps can't employ this model?
Not at all. I actually have several software providers that I'm working with that have done portable versions of commercial applications: for example, RoboForms Password Manager, Passtogo and Sign-Up Shield.

I know you've been busy. How is the portable business these days?
It's been picking up progressively, month over month. Probably about 8 million individual applications have been downloaded. Firefox is most popular. The 2.0 release [launched in November] will bump that figure.

About the Author

Michael Desmond is an editor and writer for 1105 Media's Enterprise Computing Group.

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube