Hi all,

I wish I had more time for this thread topic at the moment since it's extremely 
interesting to me because usability and visual GUI design is my daily work and 
passion, but also because I'd also like to improve the Racket IDE and hopefully 
even see a GUI builder integrated into it eventually. I'm sure to come back to 
this later on, but for now, I hope I can contribute at least a little.

The easier part. To get rid of some of the 80's/shareware/non-native looks a 
few generic things could be improved without being a professional graphics 
designer.
- Get rid of all the hard-coded colour and font definitions on the GUI 
framework, and use OS-specific mappings instead. To verify them afterwards, 
test the results on different OS'es, different themes on each, with different 
system font sizes applied.
- Get rid of all the self-made widgets (GUI controls), and use native OS 
controls instead (GTK mappings to native OS?).
- More professional help is needed for refined look and feel on layout details, 
illustrations, and icon design (metaphors and looks). Also, the font and colour 
definitions on the definitions/interaction panes could use a professional touch 
for more stylistic and legible defaults (atleast to get rid of the odd default 
font size and 16 colour palette). 

The more difficult part. To improve the usability, more precise information is 
needed, and especially, prioritising of it to be able to then apply it to 
actual GUI design. Eventhough there is a lot of expertise, experience, 
opinions, passion, and desires in the air, it all seem unstructured and partly 
contradicting, and therefore difficult to turn into concrete and reasoned GUI 
design. So, a perfectly normal starting point :)
Here are some issues usually needed for a good concept design brief, useful 
also to later validate the concept proposals (the product validity and 
usefulness for its knowingly selected target groups, rather than verifying the 
correctness of functionality, for example. Verification comes later). 

Who are the precise, targetted product stakeholders? Usually usability is 
considered as something concerning end users only. Overly generic target groups 
aren't very useful either. I'm starting with an educated guess. Feel free to 
add and correct as necessary, and arrange to prioritised order (the most 
important one on top)
- People new to programming
- CS teachers
- Professional, semi-professional Scheme/Racket users
- People with more or less experience with other programming languages 
evaluating Racket as something potentially useful/interesting to them.
- Self-learners

The most important, frequent, or otherwise essential use cases _for_each_ 
target group, prioritised. 

More base information and guidelines for the concept design. A FAQ for each 
group could be useful; what issues are raised most often? Other requirements, 
needs, and desires for each group?. Examples where the use cases are best 
handled or ideas for good solutions. Anything else relevant?

Profiling against other similar products? How would you like Racket to be 
differentiated from others, what should it be known of? Guessing again...
- Easily approachable for people new to programming, or Scheme.
- Easily teachable
- The language for creating languages
- Powerful and practical beyond others

All of this, could then be used to determine what is present foremost in the 
GUI and how, and what is buried deeper for less frequent or more advanced use. 
Where single, well-thought solution is better, where user-specific flexibility 
is required?Actual use cases can be tested against the GUI proposals to choose 
the most fit approach and optimise details even further (e.g. less phases for 
the most frequent tasks, shortcuts added where needed to support advanced use, 
and so on).

I hope you find this useful.


br, jukka


|  J U K K A   T U O M I N E N
|  m a n a g i n g   d i r e c t o r  M. A.
|
|  Finndesign  Kauppiaankatu 13, FI-00160 Helsinki, Finland
|  mobile +358 50 5666290 
|  jukka.tuomi...@finndesign.fi  www.finndesign.fi 



_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to