Hi Sebatian,
Thanks for your questions and your interest. I will ask them below. The
explanations tend to be detailed, so they can work also as English notes
on the workshop and be more helpful to to you and people with similar
inquiries (also because, as Gauss said, I have no time to write a
shorter text :-P). They're complemented with links at the end of the mail.
On 26/06/15 11:41, Sebastian Heidbrink wrote:
Hi Offray,
I started a software night here in town and I was also thinking about
presenting the GTToolkit and Roassal to the crowd.
You mentioned something that made made me wonder.
You said that even non programmers liked the language.
How did you approach them? Did you give them prepared interface
implementations to Twitter and also a predefined GTToolkit browser
implementation?
Or did they just use the inspector?
I approach them with interactive documentation. I think that I can
relate with non-developers because I'm one of them :-). Most of the
non-developers don't look at ourselves in activities like making apps or
websites, at least not as a primary interest or activity. But
storytelling is a primary interest for us as humans and in a complex
world, when they are factual stories, this is involving progressively
data manipulation and/or visualization. So that's my rationale to
approach non developers: lets create interactive documentation using a
live moldable system: Pharo.
For that I used my project grafoscopio[1][2] (which is my first Pharo
project and stil pretty alpha). I explain to participants the software
motivations, their incomplete status using a mind map[3], and the fact
that the software will change during the workshop and we're going to be
all part of it. After that here is how we proceed:
1. We install grafoscopio on a vanilla Pharo system, then we load the
"docking bar" (by making GrafoscopioBrowser startDockingBar). The
docking bar is a fixed reference point in the interface, similar to the
ones found in Windows, Linux, Mac and Squeak, which comes handy when
interface get cluttered with windows (kind of usual with Smalltalk) and
it provides shortcuts for the functionality in Grafoscopio: Launch
documents, Roassal Examples, Playgrounds and Transcripts, update the
software, its prerrequisites and external tools, and help.
2. We start exploring the Roassal examples to get a glimpse of what is
possible.
3. We browse the Pharo Tutorial (which is now a grafoscopio
interactive document). Grafoscopio documents are a tree of two kinds of
nodes: plain text and playgrounds. Playgrounds are updated automatically
with any change on a grafoscopio node, so the participants can read and
execute the code and made annotations on it about what is not clear. We
start this as a solo activity and then we proceed to a collective
reading of the Pharo Tutorial, with extended explanations and comments
and then we use the Sven's elegant code blog post as a final collective
interactive lecture to get used to the language [3a]. This is how we use
the GT tools for the first time, by reading and executing playgrounds
inside a document.
4. After that we work on a suggested problem that I called the
silences map: visualizing the things that politicians *don't* answer to
on twitter. For that we made some data scrapping using the techniques
described at [4]. The difference is that we start with a single tweet as
a reference and from a hand drawn mockup of how our visualization will
look like. Then we go from data scrapping to code and to visualization
interactively. The participants are really interested in code with this
approach, even more that I have imagined at the design of the
experience, which has been a nice surprise to me. I imagine that this is
related with the use of interactive documents, and "data from the real
world", which they can relate to.
What does one need to use Twitter as a base for a demo? A developer
account I guess?
We're using data scrapping and with particular accounts, as explained on
[4] (which I think falls under fair use), so we don't need developer
accounts.
How stable is Pharo of it comes to the usage by non Smalltalkers and
non developers?
I thought one might spent most of the time with explaining what which
tool is what not to use "just now!"
Is stable, but have several issues:
- Suddenly it become slow after running some examples of the elegant
code examples[3a] I don't know if this is because Web Server is running
after the 4 example "Set up an HTTP server that returns the current
timestamp".
- Cut and paste is not working uniformly in GTTools and from Firefox
and Chrome on Linux.
- My grafoscopio interface is not polite and is too alpha. In part
limited by my own experience and knowledge, in part by what Glamorous
Toolkit can done by default (no contextual submenus on the tree nodes,
no automatic updates in the browser windows name after renaming it or in
the panels after tagging a node as "code", no usual window menu on top
every GT Browser window).
- Coding to get minimal stuff working is fine for this group and you
can understand the basics in this way, but can be intimidating for
others. I don't know if telescope [5], could decrease the entry barrier
for non-technical inclined people. Here we have a communication sciences
student, a visual designer and a physicist with no much previous
exposure to programming, but they're interested in the problem and the
way we're using to solve it. I don't know it this can work with a more
general public, without a two way conversation on the graphical objects
and the code, instead of only from the former to the first one. May be
something like Inventing on Principle by Bret Victor[6] could be the
answer and I think that Pharo is an ideal environment to get Roassal
working on this way.
Is there any library or framework available on smalltalkhub.com that
you could recommend as a base for such presentation/workshop?
Yep, see the links at the end :-)
Thank you!
Sebastian
Links
====
[1] http://mutabit.com/grafoscopio/
[2] http://smalltalkhub.com/#!/~Offray/Grafoscopio
[3]
http://mutabit.com/deltas/repos.fossil/grafoscopio/doc/tip/Docs/Es/Presentaciones/grafoscopio-mapa.png
[3a] https://medium.com/concerning-pharo/elegant-pharo-code-bb590f0856d0
[4]
http://mutabit.com/offray/static/blog/output/posts/visualizing-politicianspolitical-discourses-on-twitter.html
[5] http://rmod.inria.fr/web/software/telescope
[6] https://vimeo.com/36579366
Hope this helps and don't hesitate to share further related questions or
issues,
Offray