||This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (September 2014)|
|Developer(s)||SharpEnviro Development Team|
|Preview release||0.8 RC3|
|Written in||Object Pascal (Embarcadero Delphi)|
|Operating system||Windows XP/Vista/7 (32/64-bit)|
|Type||Windows shell replacement|
SharpEnviro, previously known as SharpE and also shortened as #E, was an open-source shell replacement for Microsoft Windows XP and later versions, released under the GNU General Public License (GPL). The goal of the project was to create a user friendly desktop environment that provides advanced and modern desktop features but remains easily configurable. As for any windows shell replacement, it is still possible to run any native Windows application when SharpEnviro is used.
Started in 1999 by members of Low Dimension International (LDI), SharpEnviro underwent several rewrites and development team changes, split off LDI in 2005, and was discontinued in November 2011.
SharpEnviro started its life as SharpOS back in '99 by the two Swedish developers Andreas W (Lowspirit) and Joakim N (Langor) under the software company name Conspiracy Software, it was programmed for Windows in the free Personal Edition of Delphi and was meant to replace the regular taskbar and desktop interface of Windows.
Conspiracy Software later changed name to Low Dimension International and SharpOS was renamed SharpE since it never was an Operating System and only got that name because it sounded cool and the developers were big fans of BeOS.
In its early life SharpE was not skinnable as part of its idea to strive for simplicity, minimalism and a clean user experience, it did however support color themes much like Windows did and much of the inspiration for the UI came from fellow shell replacement geoShell and the operating system BeOS, neither which was skinnable.
As SharpE grew in functionality more and more members joined the ranks with talent such as Pixol, Delusional, Viper, Malx and later on many more during its later days.
SharpE was released in five public betas before changing name to SharpEnviro together with the departure of Andreas and Joakim from the devteam due to school and work, development continued in the capable hands of the remaining developers and SharpE changed its name to SharpEnviro.
SharpE consisted of different parts where each part basically was a separate .exe to make it as modular as possible, if you didn't want a component you could just exclude that component from starting.
Throughout its lifetime the different parts SharpE consisted of differed and at the end of its life it only consisted of SharpBar, SharpCenter and SharpCore, but before it had been distilled into that SharpE consisted of quite a few components, see the list below for short explanations of each :
A launchbar of sorts that supported plugins for everything from remote controlling winamp to showing current memory usage.
Desktop component, provided basically same desktop experience as Windows regular desktop but with some added functionality together with a completely customizable desktop menu.
This was the component that launched all the separate components.
Configuration application for everything.
Update application for all the other components, checked, downloaded and installed new versions when available.
Virtual Window Managers was a given in shell replacements and it had its own separate component to handle it.
Task management, shared interface similarities with SharpBar and provided a taskbar like UI.
Provided basic tray functionality, despite being one of the smallest components it was the most complicated to get right.
A key improvement the SharpEnviro shell has over Microsoft Windows Explorer shell is that it does not limit the desktop to a single or fixed setup of the taskbar. Therefore, any number of toolbars (called a SharpBar) may be created and customized with any module the user desires. The range of modules available span from standard system functionality like a taskbar or start menu button to advanced features such as a CPU monitor, notes or media player controls. By April 2010, more than 20 modules for the SharpBar were available. The choice of modules to be put into a bar and the alignment of modules and bars on the screen is entirely decided by the user's configuration.
The visual appearance of all graphical elements is powered by a complex skin system which utilizes alpha blending and a layer-based rendering engine. An important characteristic of the SharpEnviro skin system is the feature to change the colors of certain parts of the skin independently. For example, skins allow the user to change the color of background elements independently of other elements (such as button or highlight colors).
Configuring SharpE can be fully done using an easy-to-use graphical user interface. With SharpCenter, all settings of the shell can be managed and customized without the need to edit any settings file by hand. Even more complex parts of the shell such as the color scheme and toolbar management can be fully configured from within SharpCenter.
The shell is based on a modular design where the majority of functionality is loaded dynamically from external modules (Dynamic Link Libraries). There are three core components (SharpBar, SharpCore, SharpCenter) which uses and manages those modules, to expose the functionality of the modules to the end user. Such a modular system has the advantage where every interaction between modules and the hosting components is standardized through deployment of multiple Interfaces. Thus the interface data exchange and communication between the host components and modules is nearly unlimited, making it possible to share even complex functionality such as the skinning system.
The distinguishing feature from other shell replacement systems is that the modules are linked together by the core functionality provided by SharpCore. This means that certain functions such as Taskbar, System Notification Area, Virtual Desktops, Application launching, among others, are always routed through and managed by SharpCore - thus making all modules use, share and access the same core functionality of the shell environment.
Some of the features which are distinctly new when compared to features in the Windows shell are:
- Multiple and independently configurable toolbars (which are similar to the taskbar).
- Application Bars (pinning applications to the taskbar, similar to what was introduced with Windows 7).
- Up to 12 Virtual Desktops.
- Multi Monitor support (toolbars/taskbars on each monitor, different wallpapers on each monitor, etc.).
- Allows most common media players to be controlled directly from the toolbars or with special keys on multimedia keyboards (without the need of installing additional software).
- Allows taking and organizing notes anywhere on screen.
- Due to the modular design and the shell being written in Delphi, the memory and disc space usage is higher compared to other Windows shell replacements. With an overall memory usage of 40 MB to 60 MB and disc space requirements of about 120 MB, SharpEnviro cannot be counted as among the lightweight minimalistic shells.
- The absence of any free/personal version of Delphi 2007 (or later) available is a discouragement for third party developers to create new modules or contribute source code patches to the shell.
- Unicode support was planned for future releases, but will remain unavailable due to the project’s discontinuation.
- Some developers was reluctant to implement skin support despite some vocal requests for it since it was a given in most other shell replacements of the time.
Before SharpE became SharpEnviro and the devteam changed there were early plans and technology test releases for the next generation of SharpE which was called SharpE2 or SharpE v1.0, it was developed side-by-side with PB5 by Andreas W and featured ideas and a new user interface inspired visually by Apple's OS X and designed to be as clean as possible.
Some of the features and their status before being discontinued :
Alpha transparent shadow - Functional.
With Windows drivers starting to get hardware acceleration for alpha transparency it opened the door for some cool effects like drop shadow.
Notification system - Semi-functional.
Meant as a discreet notification system much like Growl for Mac or the bubble tray popuphints for Windows, it popped down / up from the SharpBar in a transparent rounded box with text, the code was there but no framework was ever finished to send info to it.
Easy Skins - Functional.
Meant to provide a beautiful customizable interface without the risk of clutter, no .ini or .xml file eiditing was needed and certain elements was shared between skins to provide a unified look whilst still looking unique.
Auto evolve - Functional.
Were SharpE previously had a separate application called SharpUp to deal with updates SharpE2 updated / evolved automatically, the feature worked perfect during development and used much of the code from SharpUp together with some visual tricks to make the actual replacement of the .exe seamless to the user.
New plugin format - Not functional.
Not being able to retain compatibility with the previous version due to the completely new look a new format was planned which was supposed to feature some things that was tinkered with in some of the last versions of SharpE PB5, like per plugin memory usage and plugin standard conformance. During development some test plugins for memory, disk and winamp control was made but they were all loaded internally.