[Pharo-dev] default monospaced code font

Goubier Thierry thierry.goubier at cea.fr
Tue Oct 15 07:57:51 EDT 2013

Interesting discussion. I'll raise a few issues.

Le 15/10/2013 13:29, Esteban Lorenzano a écrit :
> well... fonts and UX  in general are two different (yet related) issues.
> UX is a huge an complicated task, and has to be taken very seriously if we want to succeed. To allow the appropriate/productive/happy flows in an environment requires a lot of effort and to put all the pieces together.
> Yes, I know, that sounds so general that is like not saying anything :)
> Here is the concrete: Put all the UX pieces together requires a lot of effort usually not taken into account. That's how the UX evolved more or less the same way as morphic: a patch over a patch without much thinking about the issue, just takign what is there and parching/extending as needed. As morphic, the current UX in pharo is broken: there is no coherence between tools and sometimes even inside the same tool (for example nautilus has different behavior inside the code panel than in the list panels on top).
> This is not the fault of any tool, just a consequence of how evolution was managed until now.

Some of the thing most forgot is that when you do a GUI, what takes time 
is not doing it, it's polishing it. Making sure all small things play 
together nicely, and that you've spent days trying to get that drag and 
drop to work in the perfect way, with the right feedback and all (and 
focus navigation, and...).

> So, we wanted a better UX for Pharo3 that included: a new Theme, new Icon set, and new tools that worked well together. But task demonstrated to be a hard to beat beast, and we just moved forward in small areas (there is for example a new centralized menu coming along with a new spotlight).
> And there is a prototype of a new theme and also some icons that where thought specially and that will fit nicely.  But they will not be ready this year and after thinking a while (and getting feedback of people in community), we decided, for Pharo3:
> - adopt the glamour theme. This is a step forward our current one because glamour guys (specially Doru) continued working on it to have a really clean and simple theme.

Is it the default theme coming with the latest 3.0, with that flat look? 
Hate it because it breaks one HCI guideline visual cue: feedback when 
pressing on a GUI element (scrollbars, buttons); there is none in that 

There it looks like a step backward, coming back to the squeak look 
(which turned me away from squeak for many years: yes that's not 
rational but can't get over it. Pharo was the first to give me back the 
feedback at the GUI level)

> - adopt the EclipsePack theme because is an iconset specially thought for programming that plays very well together. No matter if you do not like Eclipse (even if I think you are missing the relevance of Eclipse and a lot of good ideas that we could take from them), is about creating a unified vision. The old icon set (famfam) was not intended for programming environment and also there were a lot of different icons incorporated anarchically.

Iconset are hard. But some of the Eclipse iconset are downright ugly 

> - adopt a monospaced font for coding (right now Source Code Pro) and a non-monospaced for the rest (right now Open Sans).

Hum. Once you're set on a non-monospaced font for coding, as most 
smalltalkers have, going back to a monospaced font will hurt... I'm not 
even using a monospaced  font for coding in C :(

> The objective is to offer a L&F that where visual elements plays well together.

Work on that is the real key. Not sure the theme changes are part of it, 

I value more a drive to get everything Spec-iffied: tends to create a 
lot of common look and feel because applications tend to behave in the 
same way.

> And there is another more important (IMHO) objective: to offer newcomers an environment easier to approach. Pharo (and all Smalltalk-inspired environments)  is already very alien for newcomers. We get a lot of power in exchange of that alienish stuff, but very often the curve of learning or acceptance is too high and people that could step closer to us are pushed away. So, my idea is to keep been as alien as possible in the things that make us Pharo and be the less alien possible in the rest: A nice L&F that can be feel as "some kind" familiar, is part of it.

It's a good objective, but... There is something there; Pharo is 
different enough in it's approach that trying to match Eclipse won't 
work and may even disrupt more, because you will make it alike where it 
is not.

> Said so... well you still can switch back to the old and ugly (IMO) L&F executing some lines of code in your workspace.

Or a setting somewhere :)

> Same to fonts: monospaced fonts is the worldwide accepted  way of present source code. Why should we stay different?

I wouldn't be so sure of that.

> In any case, please give it a chance before drop it (once I can actually see why the fonts are not really applied) and we'll see how it works.

I will :) But, I'd be frank, here none of us is a HCI specialist, and it 
shows. Sorry, but it does. No usability testing, no look into HCI 
guidelines, but, at the same time, probably the most advanced GUI 
toolkit available (Morphic), some of the best mind when it comes to 
architecturing GUI code (and code on average), and the most productive 
environment around.

If you want to make it familiar, look into Dolphin and VisualWorks and 
copy that :)

Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95

More information about the Pharo-dev mailing list