Making Squeak more accessible and used - reversing the trend

Derek O'Connell doconnel at gmail.com
Fri Feb 2 12:46:41 UTC 2007


> yes i agree completely. What I am not sure about (but will have no problem to
> be wrong, and not discouraging ) is whether developing large scale end user
> applications that exist today (and have many man-years development invested
> in them), is a practical way to gain user base.
>
> Milan

Milan, I agree, there is no point *just* recreating what has already
been done, and in most cases done very well. It would also be a very
risky exercise, I'd say "doomed to fail". Hopefully I can clarify my
position but first I'm going to refer anyone reading this back to
Brad's original post, otherwise we could be in danger of playing
Chinese Whispers, and make a few points upfront...

- Best to leave this thread on the devs list for now. We need their
buy-in since who else will be implementing whatever emerges from this
discussion? If there is a more appropriate forum then ok but AFAIK
there is no distinction between dev's focused on fundamental aspects
of Squeak/Smalltalk and any dev's that may be mainly focused on the
"user experience". Getting circular here since this is the main topic
of this thread no? :-)

- I'm not complaining about Morphic, quite the reverse, although of
course there are areas that can be improved. In some/most cases though
it is not a Morphic issue but a presentation issue, eg, menu
layout/usage-policy.

- I'm going to be unashamedly dogmatic in my definition of a "user" vs
"developer". My definition of "user" is someone who may, quite
rightly, castrate you if you even dare to mention "coding". I can't
think of a better way to make this point more explicit :-) Well,
maybe, just try getting your girlfriend/ mother/ grandparent/ CEO to
write a Smalltalk program, you'll soon feel like you have been
castrated :-))))

- A "casual" user is one that does not even expect to have to adapt to
a new environment, simply expects paradigms found elsewhere.
Unfortunately that typically means what they find in MS Windows but I
don't see this as unreasonable nor something that isn't already
do-able with what exists in Morphic. It's just that it may not done
very well and/or consistently as your example makes clear.

- Of course we still hope to make converts of everyone but, if I
understand Brad's motivation correctly, we can "hope" but not "expect"
(this should be a guiding principle).

- Personally I don't need convincing that Squeak lacks "something"
from the perspective of a user and would benefit by attracting more
ordinary users, but I also don't think the Squeak community in general
can admit it, or is willing to admit, or in some cases even care. More
fundamentally, why should they care if their interest is CS specific
or driven by personal requirements? The challenge underpinning this
particular discussion is to convince  the community that
attracting/serving ordinary users would benefit everyone! It appears
self-evident to me but maybe it would be useful debate this aspect
further (I may have expanded on this topic below but this reply is
already looking too long, I have but one life and predicting the
future is an uncertain business :-) ). Enough to say ordinary users
surprise and challenge and get "real" value from software... and if
that's not enough then maybe the idea that more users = more chance of
getting paid to do what you like to do will, which I assume is
Squeak/Smalltalk development (personally I'd rather get paid to
snowboard but life sucks so I'd settle for getting paid to develop
(but only using Squeak/Smalltalk)).

- I am reminded of the essay "Cult of the Dead"
(http://wiki.squeak.org/squeak/2950) and muse on the ironic twist that
"dead" is exactly how Squeak must look from outside this community. If
fact it did to me before my curiosity got the best of me.


Now, anyone reading this may be thinking that all the above is my
reply and that this is my concluding paragraph? Sorry to disappoint
you but I'm just beginning (lol).

Assuming for now as fact that we *want* to attract more users, ie,
more casual/ordinary users, that this is a *Good Thing*, that large
app's are impractical/risky... what to do? We could do endless
comparisons such as RoR vs Seaside, SL vs Croquet and now
Zoho-Notebook vs Sophie, etc, and/or we could promote-like-hell all
the potential benefits users could have IF ONLY THEY WOULD LEARN
SMALLTALK, GRRRRRRR! (joke, just to keep the mood light). Comparisons
happen naturally anyway and promotion is now being formed into a
concerted effort and while this is also good neither tackles the
central issue of what would make an *ordinary* user use Squeak instead
of any other more focused, better developed, better presented,
better... well just *better* applications out there... and we may as
well admit there/they *are* many and they increase almost daily. Time
to pack up and go home... I grunt, throw all my stuff in my bag, shrug
on my coat and make for the door... but half way through I pause
and...

I'm going to go out on a limb here and claim that I can categorise 99%
of ordinary and not-so ordinary users daily computer activity in two
words, and I don't even know 99.99999'% of those users! Drum
roll....."Breaking Barriers" (BB). You name it and I'll take bets that
it falls under the BB heading. Yeah, ok, come up with a broad enough
classification and this trick leaves the audience unimpressed and
heading for the door. I could have equally said "Human Things" in
which case I would hold the door open for you AND give a refund as you
leave... but I didn't so now you have to stay in your seat and hope it
was worth it (LOL (with an evil twist)).

I could set about creating a formal-ish definition of BB but I'm sure
with a moments thought most people would agree with me so I aim to
spare you this pain. However, I will offer some examples so I can't be
accused of dodging the issue and so others will have concrete examples
with which to crush me if they feel I am way off the mark. First close
to home and very recently: Croquet provides portals with a border and
icons to open/close etc... new user immediately wants to lose the
border and icons, make portals large so that they are effectively
invisible, transparent... borderless... barrierless (I deserve a point
for this example surely!). The web breaks many barriers, not least
that preventing the ordinary person from
publishing/disseminating/retrieving information. Website creators put
great effort into page design... someone creates ad-blockers, someone
creates GreaseMonkey effectively allowing the viewer to dictate the
design and content... content can be annotated... Web2 buzzes around
(as buzz-words do) promising to make all this type of thing
easy-peasy... Web3 is touted as allowing the user to re-organise the
*web* itself as they see fit. In other words form, content and even
substate are increasingly seen as artificial barriers, to be broken
down. Man, those Website creators must be fuming LOL!

On a less web-centric level, IRC usurps the lag inherent in email,
VOIP usurps landline costs (very artificial by the way), P2P usurps
monopolies and in general where protocols aim to restrict new
protocols arise to provide freedom. Even programming itself is an
activity largely rooted in the need to regain control where suppliers
have attempted to artificially restricted what the user can do (think
"scripting").  It's almost paradoxical that most programming, with the
best of intentions, ends up producing artificial barriers under the
guise of "convenience" - why is it that I'm still looking at and using
a GUI severely constricted by the physical display on which it
appears!!!! I mean G'DAM WHAT CENTURY ARE WE IN! (oops, I'm getting
repetitive :-) ) Which brings us back to Squeak which, if you listen
carefully, is saying "not me!", too right little fella, there, there.

Concluding (yes, at last): attract normal users, hope but don't expect
they go further, provide user-centric app-level features, features
that clearly demonstrate existing Squeak strengths (think "mash-up's"
rather than full blown apps). Use "Breaking Barriers" as a theme/guide
to what sort of new apps should be provided. I also suggest a friendly
competition (in-house or not, preferably not, good for promotion), two
stages, "ideas" then "development" (allowing crucial input from
non-developers). I would also put my money where my mouth is and
contribute to a prize pool.

Phew! Thanks for reading :-)



More information about the Squeak-dev mailing list