Let’s take a look at Web Browsers. They have a lot in common with Smalltalk Browsers. They have the same blocks of functionality (and, of course, a lot more around these):
- Navigate to a Document: enter a URL into the address field, or start a Browser with a URL as parameter
- Navigate within a Document: Well, there’s not that much of functionality here, you have a scroll bar and can follow some in-document links
- Edit a Document: Well, not really, but you can interact with some documents, like entering data into a form or doing fancy drag&drop and the like
- Navigate to somewhere else: follow external links or submit a form
So I think looking at the way Web Browsers let us find our way through the web can help us understand how Smalltalk Browsers can help us find our way through the Smalltalk image (wow, isn’t this a philosphical statement, opening totally new horizons? 😉 ).
Using today’s web browsers means working with a tabbed web browser. The nice thing about the tabbed browsers is that they help us keep our screen organized by giving us several options for the navigation to somewhere else part:
- Follow a link by replacing the currently shown document with the other one
- Follow a link by opening a new window
- Follow a link by opening a new tab (you can even decide to open it in the background, continue reading the current document and keeping the new one for later)
Wouldn’t you like to have these options for Browsing for senders/implementers/references in a Smalltalk Image? I would. Very much.
So, in the next installment (maybe tomorrow), I’ll try to bring all of these thoughts and things together and draw a little Smalltalk IDE Utopia 😉
Of course, you are invited to jump into the discussion and help drawing a picture of the perfect Smalltalk IDE.