A site-specific browser (SSB) is a software application dedicated to accessing pages from a single source (site) on a computer network such as the Internet or a private intranet. SSBs typically simplify the more complex functions of a web browser by excluding the menus, toolbars and browser graphical user interface associated with functions that are external to the workings of a single site. [1]
Modern site-specific browsers range from simple browser windows without navigation controls to sophisticated desktop applications built with frameworks like Electron that bundle entire browser engines. This evolution has enabled many popular desktop applications to be built using web technologies, effectively making them advanced site-specific browsers. [2]
One of the earliest examples of an SSB was MacDICT, a Mac OS 9 application that accessed various websites to define, translate, or find synonyms for words typed into a text box. However, the first general-purpose SSB is considered to be Bubbles, which launched in late 2005 on the Windows platform. [3] Bubbles introduced the term "Site Specific Extensions" for SSB userscripts and created the first SSB JavaScript API.
In 2007, Mozilla announced Prism (originally called WebRunner), a project to integrate web applications with the desktop. [4] That same year, Todd Ditchendorf, a former Apple Dashboard engineer, released Fluid for macOS. [5]
On 2 September 2008, Google Chrome was released with a built-in "Create application shortcut" feature, bringing SSB functionality to mainstream users. [6] This feature allowed any website to be launched in a separate window without the browser interface.
The landscape of site-specific browsers changed dramatically with the introduction of Electron in 2013 (originally called Atom Shell). [7] Electron combined Chromium and Node.js into a single runtime, enabling developers to build desktop applications using web technologies. This framework has since powered applications used by hundreds of millions of users, including Visual Studio Code, Slack, Discord, and Microsoft Teams. [8]
In 2015, the concept of Progressive Web Apps (PWAs) was introduced by Google engineers Alex Russell and Frances Berriman, representing a parallel evolution in web-to-desktop technology. [9] While PWAs share similar goals with SSBs, they follow web standards and can be installed directly from browsers.
More recently, alternative frameworks like Tauri have emerged, offering significantly smaller application sizes by using the system's native web renderer instead of bundling Chromium. [10]
Site-specific browsers can be implemented through various approaches:
The simplest form of SSB is created through browser features that allow websites to run in separate windows without the standard browser interface. Modern Chromium-based browsers offer "Install as app" or "Create shortcut" functionality that creates a dedicated window for a specific website. These SSBs share the browser's underlying engine and resources but operate in isolated windows.
More sophisticated SSBs are built using application frameworks:
While site-specific browsers and Progressive Web Apps (PWAs) share the goal of bringing web content to the desktop, they differ in several key aspects:
Aspect | Site-specific browsers | Progressive Web Apps |
---|---|---|
Standards | Proprietary implementations | W3C standardized [13] |
Installation | Manual creation or developer-distributed | Browser-prompted installation |
Offline support | Basic caching | Full Service Worker support |
Development | Any website can be used | Must meet specific criteria |
Distribution | Traditional downloads or app stores | Web-based, optional store distribution |
System access | Full (framework-dependent) | Limited to web APIs |
Site-specific browsers have become the foundation for many popular desktop applications:
Communication and collaboration: Many modern communication tools are built as SSBs, including Slack, Discord, Microsoft Teams, and WhatsApp Desktop. These applications benefit from web-based development while providing desktop integration.
Development tools: Visual Studio Code, used by 73.6% of developers according to Stack Overflow's 2024 survey, [14] is built with Electron, as are Atom and GitHub Desktop.
Productivity software: Applications like Notion, Obsidian, and various project management tools use SSB technology to provide consistent experiences across platforms.
Framework-based SSBs, particularly those using Electron, are known for high memory consumption. Studies show Electron applications typically use 120-300MB at baseline, with complex applications consuming significantly more. [15] This is approximately 5-10 times more memory than equivalent native applications.
SSBs can provide security benefits through process isolation, where each application runs in its own sandboxed environment. However, bundling an entire browser engine also means each application must be updated independently to patch security vulnerabilities. Research presented at the Network and Distributed System Security (NDSS) Symposium has identified various security challenges specific to Electron applications. [16]
The choice of framework significantly impacts application size:
Most modern browsers provide some form of SSB functionality: