TABLE OF CONTENTS
Teknidermy Magazine - Issue 5 , Vol. 1
July/August, 2001

What the Shell?
A "primer" on the subject of shells...
by Tin Omen, with craeonics & Kenray

-ed's note: It has come up many times recently, that we should devote an article to the subject of shells. Being an exotic and mysterious subject, we at the Tekhaus found ourselves lacking enough knowledge to write such an article. So, we went straight to the source, and begged the assistance of Desktopian's Tin Omen.

Craeonics wrote a set of basic "queries" and Tin Omen shared his considerable knowledge with us...

We hope you find this information as interesting, and as valuable as we do...


Tin Omen, occasionally known as 'Todd Kadrie', is a mild-mannered 38 yr-old LAN Administrator at a brokerage firm in Minneapolis, MN, USA, as his day job. But in his spare time, he operates 'desktopian.org', a news and information site catering to the shells and desktop enhancement communities. He started his original site 'tin_toys', in June of 1998, as a place to host his desktop themes for the Litestep shell. Over time he began adding news and opinion posts, shell-use tips and documentation, and links to useful desktop enhancement add-ons. He picked up a domain name, 'desktopian.org' roughly a year and a half ago, and has since also been joined by Karl-Henrik 'qwilk' Henriksson at the desktopian helm.

Tin Omen's primary goal has always been to,
"...hook people up with the interesting stuff I come across on the net. Especially if it's both 'free' and 'cool'. I'm a complete sucker for open-source freeware.:D."

On the wide-ranging subject-matter seen on the site, he comments, "Whether it's posts with information about replacement shells, desktop enhancement utilities,alternate OS's, useful WinNT/2K information/news, comments or links about the book/movie/album that I just read/saw/heard, interesting new technology, or just about anything that makes me stop and say, "Hey that's pretty cool! ..I've got to tell someone about it!".

Its pretty much open season as editorial content goes. Since qwilk joined the fun a year or so ago, Desktopian.org has expanded into new WAP browser support and news and information about mobile computing, Mac and Amiga info (both of which I have zero experience with<g>), and a whole pile of other interesting new stuff."

Tin Omen suggests the following websites for further information on the subject of replacement shells:

"Floach.pimpin.net, shellfront.org, ls2k.orgmodulo. and news.geoshell.com are all great sources of information about replacement shells or their add-on and supporting module releases.

Of course there are a large number of other supporting sites out there. For folks with an interest, we maintain a fairly complete list of shells and shell resource website links over on the front page at desktopian. Tons of good information and free software out there just waiting to be surfed up and put to use!:D"


The Shell Primer


1. What is a shell?


I'm not sure I can give you an exact technical definition, but in practical
terms, the 'shell' is the graphical control interface loaded over the
operating system, to allow you to get things done with your computer. I
guess its primary jobs are loading your applications and giving you status
information and control of those programs.

Under Microsoft's Windows OS's it's been possible (since Win3.X or before)
to load non-standard 3rd-party shells. Under Windows3.X the default shell
was the 'Program Manager', which provided an interface of application
launch icons organized in 'Program Group' sub-windows. Tracking of running
applications was done through icons on the desktop.

Windows95/NT/Win2K uses the 'Explorer' shell, which uses a Start Menu and
desktop-icons for launching applications, while the Taskbar allows you to
see and control running applications.

The current crop of replacement shells have substantially the same function as
Program Manager and Explorer: they launch applications. But they generally
do it in an improved or much more flexible manner. Most use variations of
the old familiar app-launch controls (menus, graphical desktop icons and
tool bars), while adding a veritable army of new desktop feedback controls
and integrated utilities. These utilities, called 'Modules', 'Plug-ins' or
'Applets' by the various shells, display information about and even allow
you to control everything from system status (cpu and memory load displays,
date/time, network interface statistics), to the weather report, to what
track is playing in your mp3 player.



2. What is a shell enhancer?


IMHO, a 'shell enhancer' is a utility who's primary purpose is to 'improve'
on your shell of choice. Most will run independently of the shell, so they
are seen as often used with the basic Explorer shell as with replacement
shells.

Some are designed to enhance the visual appearance of the shell. I'd
classify so-called 'Titlebar skinning' applications like WindowBlinds or
eFX, or skinnable desktop applications like WinAmp or Sysmeter in this
category. The basic functions of these apps can usually be found in some
form in the base operating system or shell, but these apps have been
enhanced to provide extra visual appeal, or to make the desktop appear to
be something new and different, extending all the way to emulating the look
and feel of other operating systems. Obviously, this area is Teknidermy's
meat and potatoes!:) Websites like the recently demised Deskmod.com and
skinz.org, and the new WinCustomize.com serve this area as well.

Some shell enhancers are oriented around extending the functionality of the
existing shell. Functions like improved file managers, add-on toolbars,
virtual window managers, minor context-menu or systray enhancements or
command-line replacements and extensions. Actually, there is quite a bit of
overlap between 'appearance enhancers' and 'function enhancers', as they
often both have the same underlying functions. The only way I differentiate
the two types, is that some aim to provide extra visual zing, while others
focus simply on enhancing the base functions. ShellCity.net has a massive
collection of add-ons of the 'functional' variety. The above skinning sites
all link to 'visual' enhancement apps, and one of my favorite sites for
utilities serving both visual appeal and functionality enhancement for any
shell is VirtualPlastic.org.




3. Why use a shell?


Most shells are not as easy to configure as the default Explorer shell. So
it's clear that shell-users are in it for something other than
'ease-of-use'. In most cases people choose to use shells to allow them to
redesign their desktop to work the way 'they' want it to. If they want the
clock to be 2" x 6" in the middle of the desktop, many shells will let them
put it there.

Because people can design their control interface 'the way they want it',
they are able to make their desktop much more efficient for their own
personal use. Although it may take more effort to assemble a particular
'design' for the desktop using a replacement shell, most seasoned shell
users will absolutely insist that their resulting personally designed
desktop works much better... for them.<g>

In addition, many replacement shells give an extensive amount of control to
the desktop designer over the graphical presentation of the desktop. They
support 'skinning' of almost every feature of the desktop. For 'visual
appeal freaks' like most skinners tend to be, a replacement shell gives you
the largest possible canvas to exercise your skinning habit.:D



4. Why use a shell enhancer?



To add on a function that Bill and Co. didn't consider necessary. Or to
make your desktop apps look at home on the Borg Cube, if it floats your boat.:D


5. Why not use a shell?


I wouldn't recommend replacement shell use for people who don't have an
interest in extended 'tinkering'. Most shells can require extensive
documentation reading and hand-editing of config files, to get upright and
running. In addition, if you don't follow the instructions properly, it is
possible to mis-configure the OS to not load any shell at all (giving Win9X
users the infamous, 'Reinstall Windows' error - Note: this issue is always
easily fixable using a text editor or registry editor to correct the
improperly set 'shell' setting in the OS. The key point is to read the
docs, and make sure you follow them, before blindly jumping in).

In a nutshell, shell replacements are not for the AOL newbie crowd.



6. Why not use a shell enhancer?


Hmm, I use quite a few 'function enhancement' apps, but very few 'visual
enhancement' apps (I've got quite a few skinnable apps installed, but
WinAmp is the only one that sees regular daily use). As a rule, visual
enhancements can be more resource intensive and less stable than the basic
OS components. But on the upside, many are mature enough apps that they are
very easy to install and configure. So, if you are sensitive to resource
use (memory and processor load for example), or insist on perfect stability
no matter how dull and boring your desktop looks and functions<g>, you
should probably stick to the stock equipment.:)



7. Advantages of another shell over Explorer?


You can make 'Bill's' desktop look like 'YOURS'. You can make 'Bill's'
desktop work like 'YOURS'. You can also make your desktop so inscrutable
and hard to figure out that no one else at your office will even consider
fooling with your box while you head to the snack machine.:D



8. Advantages of using a shell enhancer?


If you want the feature an enhancement provides, then by definition it's an
improvement over Explorer. Have at it.

If your question is actually, "Should folks make a choice between shells
and shell enhancements?", well as a rule, they aren't mutually exclusive.
But most shell-enhancements make fewer changes to the system and are easy
to use and configure than most full-blown replacement shells. So shell
enhancers win the 'ease-of-use' category in that respect.



9. Disadvantages of shells?



They're often challenging to configure, and can be difficult to 'theme' or
'skin', both from the design and the end-user-installation standpoint.
Also, if you chose to try out a 'cutting edge' unreleased build of a given
shell, they can often be quite buggy and unstable. But that's normally
offset by all the cool new toys they bring to the table along the way!:D



10. Disadvantages of shell enhancers?


Heh, too many toys to keep track of and use? Hmm, nope, can't say I've ever
had that problem.



11. What to use? Shell or shell enhancement?



Both! If it suits you and you're a tweaker. Or just use the 'enhancements'
with the explorer shell if you're not. Like I said, they aren't mutually
exclusive. Some of the most astounding desktops you'll run across use a
hefty mixture of both.



12. What's the best shell?


Ask that to 20 different shell-users and you'll get at least 3-4 different
answers.<g> As a long-time advanced Litestep user, my current shell of
choice is jugg's PureLS shell www.purels.org. PureLS is an extension and
continuation of the earlier version 24.5 C Language-based Litestep codebase
(Litestep development since the spring of '00 has been on a rewrite into
C++). It has no installer, no pre-configured themes, is lightly documented,
and fully assumes that you know and understand how to configure and run
Litestep.

But, for new users, the shells I generally recommend as the most easy to
use, and with the most extensive and well-developed support network, are
Litestep http://www.lsdev.org/  and geOShell www.geoshell.com. Both have
sizable user-bases and a range of support mailing lists, FAQ's and message
boards (see their websites for links) to help new users get upright, along
with decent-to-massive theme and add-on module and utility collections
ready for use.

Of course there are a variety of other easy-to-use shells out there.
Litestep and geOShell are just good starting points to get familiar with
how things work... before you head out into the list of 28 or more (at last
count) other replacement shell's we've got listed on the front page at
desktopian.org.:D



13. What's the easiest shell to start with?


Answered above. Litestep and geOShell. Head to the websites, look at a
bunch of screenshots and themes and pick by whichever type of desktop
strikes your fancy: minimal or massive.:) BUT, and this is a biggy…

DO NOT EXPECT TO BE ABLE TO RUN THAT AMAZING THEME YOU SAW IN THE SCREENSHOT WITHIN 10 MINUTES OF FIRST FIRING UP THE SHELL.

Most theme installs are semi-manual affairs, and you'll need some familiarity with how a given shell functions and is configured before you'll be able to pulldown a
random theme and configure it to work with you're particular desktop. Most
of the devteams are working on this area, but it's still a pretty hit-or-miss prospect.



14. What's the history of shells?


Long long story, going back to 1988 or before. The Shell Family Tree gives
the dates and developers of the ancestors I'm aware of
http://desktopian.org/shelltree.html. The current crop of shells can be
largely traced back to LoneRunnr's Litestep B23c & B23d releases starting
in March of 1997. It was his decision to open-source Gnu GPL-license the
shell and turn it over to a new group of developers when he grew tired of
working on it, that popularized and vitalized the entire movement.



15. What's the current state of shells?


At the moment, development on the major shells and modules has slowed a
bit, as the primary coders have either gotten embroiled in RealLife™ or
begun new development on the underpinnings of the next 'Big Revision'. In
addition there is collaboration going on between some of the devteams. For
example, the Litestep and geOShell devs are cooperating on the new Raptor http://raptor.geoshell.com  project to, '...design and implement a common architecture for building shells for Windows.' In addition, the Litestep devs are working toward Litestep.25 'Phoenix' and the geOShell devs are working on 'Mantis' or geOShell R5. Most of the smaller shell devs have been posting about regular progress as well (PureLS, projectFlash, Cloud9ine and the Ghost shells all have had dev updates or releases in the last few days alone).



16. Where are shells going?


I'll admit I'm not an expert on (or even much of a fan of) WinXP, but it
will clearly be the OS under most shells in the next six months to a year.
It's reportedly replacement shell-aware, and the Stardock/Windowblinds folk
have been directly involved with Microsoft in the shell implementation. From what
I've heard from WinXP beta testers, replacement shells continue to work
just fine.

Some shell-users have been concerned that a major commercial player in the
skinnable enhancement arena is involved at a low level in WinXP. The fear
being that they will attempt to 'squeeze-out' freeware replacement shells. But
the fact is, MS has to design and deliver the OS to appeal to the 'lowest
common denominator', which means that although they will continue to
'tweak' the interface down the road, it will always have to be very simple to use, and difficult to modify, to keep support costs to a minimum, if for no other reason. I'm certain there will continue to be a lot of interest in highly-customizable desktop replacement shells.

Plus another consideration to the issue is that a fair chunk of shell users
have been or currently are Linux users (myself included). In many cases the
availability of good desktop-tweaking tools and a wide variety of
replacement shells for win32 has kept them on this side of the fence.:D So
it's in MS's interest to ensure that these 'free' add-ons continue to
function properly down the road. From Microsoft's perspective, replacement
shells are just more cost-free tools in their ongoing siege on Linux.

But woe to replacement shell's if MS ever decides they can turn a profit in
the niche...

As to 'new' areas of shell development. Over the last three years, shells
have gotten more and more feature-filled. Often adding scripting languages
to the core, extended more flexible configuration options, COM object
support, support for multiple module development languages, attempts to
simplify or extend configuration options etc. This seems to be an ongoing
trend. Shells will continue to absorb the features of the more popular
add-on modules and utilities into the core. As this occurs the core will
get larger and more complex, and eventually some users will become fed-up
with the growing size and complexity, and new variant shells will pop up
with reduced feature sets and new focuses to fill the needs of those niche
users. This is the way things have worked in the past, and I'm certain that
this is the way they'll continue to work in the future.



17. What will XP mean for shells?


Damn, I really need to read ahead on these questions. Looks like I already
tackled this item above.



18. Why do you use shells?


I use shells to make my desktop reflect 'me'. Pure and simple. In fact,
when I do have to load up the Explorer shell from time to time at the
office, it's pretty frustrating losing direct access to all of the programs
and built-in convenience customization that I have configured ready-at-hand
on my day-to-day replacement desktop.



19. How many people use shells?


That's a pretty tough question. Many shell users use more than one shell (I
switch between 2-3 myself), and there are few places where all shell users
could congregate for a convenient head-count. The LSCount module attempts
to track the number of Litestep users by setting a value in the registry
the first time it is loaded. The current count is 5,277. I have no estimate
for the users of the array of other shells out.



20. Who writes these things anyway?


People with a lot of spare time and an interest in making cool new toys. A
number of prominent shell and module developers have gotten RealLiveJobs (TM)
based on their demonstrated shell-coding ability. Several with Microsoft.

At least a couple went from no coding skills, to writing a few minor shell
add-on modules, to working on a shell dev team, to gigs as professional
coders. How's that for a hobby that pays in the long run.:D



21. What's the difference between a shell and skinning?



'Skinning', is about firing up your copy of Photoshop, The GIMP or
PaintShopPlus, and going wild with the skinnable surfaces your apps make
available to you.

'Shells' are about firing up your text editor and going wild with the
layout and interface of the desktop.

'Shell Skinning' is about firing up both Photoshop and your text editor and
pushing out the envelope on every surface you can see.:D



22. What's the difference between a shell and a shell enhancement?


Hmm. I think I tackled this one above, but... A shell tosses the entire
interface out and lets you start from scratch. While a 'visual' enhancement
lets you redress what's already there.



23. What shells would you advise?


See my answer to #13 above.



24. What shells wouldn't you touch with a ten foot pole?



Explorer. Esp. the version that ships with WinXP.:D



25. Is it worth all the effort?


Are you kidding? I get an endless stream of 'What the *@!# are you
running!?' comments from my co-workers. And I've gotten a nifty website out
of the bargain!


Also, the Litestep Community would appreciate it if an editor's note could
be made informing people that litestep.net is down (see
http://www.lsdev.org/ for more information) for an unknown period of time.

Our eternal gratitude to Tin Omen for taking the time to help us understand this subject in more detail, and to Craeonics for the fine list of inquiries...

07.01.01

TABLE OF CONTENTS