Esteban A. Maringolo 2015-05-20 9:03 GMT-03:00 Ben Coman <btc@openinworld.com>:
On Wed, May 20, 2015 at 3:04 AM, Avdi Grimm <avdi@avdi.org> wrote:
I dunno if this is useful to anyone, but I was rolling around concepts in my mind and this is something I came up with:
[image: Inline image 1]
This takes some cues from modern IDEs, but it also differs in that it doesn't make the assumption that you want to see just one "buffer" at a time, and that "split window mode" isn't sufficiently powerful to handle the need for lots of windows open on lots of little methods.
Interesting idea. It might be better to use a breadcrumb rather than the three pulldowns and I think Playground tends to need more room.
One idea I've contemplated, since often my many open windows result from following some path investigating senders/implementors of other senders/implementors, is that it would be useful to have a tree structure docked to the side that records that hierarchical path of investigation. This would help in cases when I want to back up a few steps to investigate another path but usually I've lost the needed window (so I just open another one). This would also help when it came time to prune an investigation, since windows often hang around longer than needed since its hard to remember which windows below to which path of investigation. Ideally you might collapse the middle items of a path.
That is exactly what Dolphin Smalltalk X6 has implemented a decade ago. Once you start looking for senders/implementors the "method explorer" let you navigate through them in a single window, filtering by hierarchy too. [image: Imágenes integradas 2] It also provides you with a ready to select list of selectors in the selected method. E.g.: [image: Imágenes integradas 3] Regarding a tab based environment, Dolphin X6 also included that in a concept called "Idea Space", you can open as many idea spaces as you want, and as you browse classes, inspect objects or look for references, all the usual new windows will open inside the idea space where the command was issued. There also was the option to save the open tabs, to restore them later. And you could move between tabs using only the keyboard; in fact you could do everything without a mouse. [image: Imágenes integradas 4] If you look at the screenshots you'll see a white text input in the toolbars, it was like a quicksilver/spotter like input, you could search for classes and methods as you type with a blazing UI speed. Smalltalk used to be ahead of the mainstream, we cannot afford to have other smalltalks to be ahead of the time of Smalltalk itself. I'm not advocating the use of Dolphin over Pharo, but I think we don't even have to look outside our Smalltalk world to find better implementations of the same paradigm tools (browsers/implementors/inspectors). Regards! Esteban A. Maringolo ps: The product documentation explains some of these tools ( http://www.object-arts.com/downloads/docs/index.html), however if you have a Windows environment you can try it for yourself.