[squeak-dev] presentations, projects, tabbed interfaces, and paper as a UI metaphor

Brenda asparagi at hhhh.org
Sat Jun 28 18:36:25 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quick summary of a long email: I have a couple of months free, which I
am thinking of spending writing or helping write some classes that let
me treat Squeak as smart paper.  To me, this seems related to BookMorph
and its subclasses and rewrites, how Projects are treated, and how
people give presentations using Squeak.  Right now, I am looking for
other people who care about this idea or have requirements that should
affect the solution, related code that already exists, and
collaborators.  I don't have set requirements or design notes yet but
will send them here for review when I (hopefully we by then) do.

Several things have been bouncing around in my head lately:
- - I recently resumed work on an application with a tabbed interface
which I wrote a couple of years ago.  Back then, I rewrote a subset of
BookMorph and TabbedPalette to support this since they weren't doing
what I wanted and were too crufty for my refactoring skills at the time,
but lately I've been thinking about Ned Konz' exhortation to extend
others' existing packages vs. write new ones from scratch.
- - Also a few years ago, I gave a presentation of an early version of
this tool using a StackMorph.  It was frustrating to set up despite the
very useful tutorial, and very embarrassing when the floating controls
disappeared on the second slide, so I couldn't advance to my demo.  I
see a couple of new options on SqueakMap (one of which is also a
BookMorph rewrite) now.
- - I've been using OneNote on my Tablet PC, which is a neat concept and
is better than the other alternatives I've tried, but doesn't actually
do everything I want (plus it's giving in to the Man).
- - My computer is not yet as useful to me as a piece of paper, yet it
could be so much more!

So, I took a deep look at BookMorph (and a shallow look at its rewrites,
other presentation software, and the Projects stuff).  It seems clunky
in places, yes, but there are several really excellent concepts buried
in there:
- - A page/slide/project.  That is, a laid out collection of morphs and
behavior that you want to look at/experience together.
- - Conscious navigation between pages, including transition effects and
sounds.
- - Different interfaces for this inter-page navigation: thumbnails, tabs,
button controls.
- - Navigation on a page: zoom, scroll.
- - Templates for pages/slides.  That is, a similar layout for several
pages, with different data in each.
- - Nested pages.

I'd like to see one, consistent underlying library that uses these
concepts to support presentations, notebooks, tabbed interfaces,
HyperCard-like stacks, and projects.  I want to be able to easily create
presentations and interfaces that work smoothly and that I really like,
or at least that nobody has to gripe about.

Here's my plan:
- - Identify related existing code.
- - Identify potential users, opinionated folks :) & collaborators.
- - Write up some requirements & design notes, and have whoever cares look
them over.
- - Refactor, implement or whatever based on the design notes.

Existing code I know of so far:
- - BookMorph, its subclasses & friends
- - SlideshowMorph on SqueakMap (with tests, w00t!)
- - Slide Auditor on SqueakMap
- - Spiral on SqueakMap
- - InternalThreadNavigationMorph & other stuff in MorphicExtras-Navigation
- - Projects & World-related stuff

If I missed your code, I'm sorry.  Please let me know.  If you haven't
released it yet, I would be very grateful if you were willing to do so,
or send me a copy of your working notes/current code/draft.

Potential users:
- - Folks giving presentations.  Based on searches of SqueakMap,
conversations about presentation software on squeak-dev, code authors
and general scuttlebutt, this includes Stephane Ducasse, Joshua Fein,
Bob Arning, Ned Konz, Craig Latta, Lex Spoon, Andreas Raab, and Alan Kay.
- - OneNote users.  Dunno who this includes beyond me and Ron Teitelbaum
but I'm sure there are more of us out there.
- - Folks writing tabbed or other page-like interfaces.  So far this
includes at least me and Cees de Groot.
- - Possibly, all Squeak users if the projects & world stuff is really
part of this.  Looking at the Project stuff might be a second step. What
do you think?
- - Did I miss anybody in the above categories?  Sorry, and please let me
know if so.
- - Do any other uses leap to your mind?

I'll start on the requirements by listing what the existing code seems
to be trying to accomplish.  If you have requirements beyond this,
especially if you are one of the people listed (or who I should have
listed) above, please holler.

Thanks for listening, if you made it this far, and I'd love to hear your
thoughts.

Brenda
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (MingW32)

iD8DBQFIZoSpjIInAF656BkRAk2tAKCR0EkZ7mcCLRbIVfw7diNCDniAegCgpUHS
zKSLmhBqlPpWawDYWvyjf1k=
=kvNo
-----END PGP SIGNATURE-----




More information about the Squeak-dev mailing list