SIMBL
{{Infobox software
| name = SIMBL
| developer = Mike Solomon
| latest preview version = 0.9.9
| latest preview date = {{Start date and age|2011|01|27}}
| operating system = Mac OS X
| genre = Loader
| website = {{URL|https://github.com/msolo/simbl}}
}}
SIMBL (short for SIMple Bundle Loader, formerly Smart InputManager Bundle Loader, and pronounced like symbol or cymbal), is a discontinued application enhancement (InputManager bundle) loader for Mac OS X developed by Mike Solomon. It helps third-party developers modify and add functionality to applications developed with the Cocoa environment without access to the source code. SIMBL loads code via the InputManager system, which was developed to support foreign input methods. Plugins using SIMBL have advantages over normal InputManager modifications such as targeted code loading into specific applications. Designed for Solomon's PithHelmet, SIMBL is now used by other developers. The most popular use of SIMBL is to add functionality to the Apple Safari web browser which did not have an Apple-authorized plugin system until version 5 in 2010.
SIMBL was developed in response to the restrictive licensing and costs of Application Enhancer and the drawbacks of loading code blindly through the InputManager mechanism.Solomon, Mike 2006. SIMBL, http://www.culater.net/software/SIMBL/SIMBL.php
Installation
SIMBL is installed like any other InputManager.{{clarify|What is an InputManager?|date=April 2011}} As such, it is restricted to certain locations depending on the version of Mac OS X installed. In default installations, it is located in /Library/InputManagers. In versions of Mac OS X prior to Leopard, SIMBL could be installed per-user.Oddgard, Allan, 2007, "InputManagers on Leopard" http://blog.macromates.com/2007/inputmanagers-on-leopard/ In plugin installations, the SIMBL package is automatically installed. Since SIMBL injects code into running processes, buggy plugins can cause process- or even systemwide problems.Apple Inc, 2003 "Safari 1.1: Safari Quits Unexpectedly When PithHelmet Is Installed", http://support.apple.com/kb/TA21363?viewlocale=en_USNevyn, 2006 "Fixing God's Problems" {{cite web|url=http://devnevyn.livejournal.com/1124.html |title=Devnevyn: Fixing God's horrible mistake's fix |accessdate=2008-10-15 |url-status=dead |archiveurl=https://web.archive.org/web/20091223171139/http://devnevyn.livejournal.com/1124.html |archivedate=2009-12-23 }}
Plugins
=Advantages over InputManager Plugins=
SIMBL bundles may be disabled by removing the plugin and restarting the application. With normal InputManager hacks, the user must log out and log in. Also, the normal InputManager mechanism is loaded for all Cocoa applications, providing the possibility of incompatibility and unexpected application behavior. SIMBL only loads bundles for specific and identified applications.
Leopard restrictions on InputManager plugins mean their installation can only be done system-wide. SIMBL plugins may be installed per-user if SIMBL is installed system-wide.
=Update Compatibility=
SIMBL plugins must specify which versions of the application that they will run with; running a more recent version of the application with the plugin activated will cause an error dialog to appear.Bohon, Cory, 2008. "SIMBL Plug-in woes after 10.5.3" http://www.tuaw.com/2008/05/28/simbl-plug-in-woes-after-10-5-3/ Like all unsupported hacks, the amount of work required to update a plugin depends on the size of the update.Solomon, Mike 2007. 14 Nov 2007, "TerminalColors in Leopard" http://www.culater.net/thc/index.php?entry=/Development/terminal_colors_leopard.txt {{webarchive|url=https://web.archive.org/web/20081222180951/http://www.culater.net/thc/index.php?entry=%2FDevelopment%2Fterminal_colors_leopard.txt |date=2008-12-22 }}
=Development=
Development of SIMBL plugins require knowledge of Cocoa reverse-engineering. SIMBL works only with Cocoa applications, not Carbon or other kinds of applications.Stødle, Daniel 14 Nov 2005, "Re: Loading code into an arbitrary Cocoa application" {{cite web |url=http://lists.apple.com/archives/Student-dev/2005/Nov/msg00034.html |title=Re: Loading code into an arbitrary Cocoa application |accessdate=2008-10-15 |url-status=dead |archiveurl=https://web.archive.org/web/20110524085939/http://lists.apple.com/archives/Student-dev/2005/Nov/msg00034.html |archivedate=2011-05-24 }}>
No licensing payment is required to use SIMBL, unlike APE, although a donation is suggested. The source to SIMBL is also freely available.
Alternatives
- Application Enhancer by Unsanity
- PlugSuit by the Afloat authors (Compatible with SIMBL plugins)Waldo, Brian, 2008. Say Goodbye to SIMBL, http://macapper.com/2008/04/28/plugsuit-say-goodbye-to-simbl/
- EasySIMBL by Norio Nomura (built upon original SIMBL plugin, compatible to 10.7 & 10.8){{Cite web|url=https://github.com/norio-nomura/EasySIMBL|title=GitHub - norio-nomura/EasySIMBL: EasySIMBL is modified "SIMBL" for OS X 10.7, 10.8, 10.9 or 10.10 supporting sandbox, resume. No installer.|website=GitHub}}
- [https://github.com/w0lfschild/mySIMBL mySIMBL] by w0lfschild (macOS 10.9 and above){{Cite web|url=https://github.com/w0lfschild/mySIMBL|title=GitHub - w0lfschild/mySIMBL: Plugin manager for macOS|website=GitHub}}
References
External links
- [https://web.archive.org/web/20191204150927/http://www.culater.net/software/SIMBL/SIMBL.php SIMBL]