On Fri, Mar 30, 2007 at 05:14:14PM +0000, max@nbtsc.org wrote:
How did you find all that stuff? I recall you mentioned "stepping through the Swiki", presumably in numerical order. I would be happy to do the same for a range of Swiki pages to sort out useful doc content. Just tell me where to start.
I did not find it all at once. I found most of the tutorials on listed on a few pages that had much shorter lists of tutorials. You can see what sites I imported the list from; in the "Links and Sources" section, they are marked with [Links Imported].
I have been stockpiling links ever since I started the doc team; whenever I came across something I hadn't seen before, either from a Google search, mailing list post, or IRC message, I write it in the Swiki for later examination. That is where all the links in the tutorial list came from.
Regarding Stepping through the Swiki; I tried doing that once, before I started the tutorial list, but I didn't get much done as I had no real goal back then. Perhaps it would be more useful now to at least make sure all the pages have a few appropriate links to them, as that would aid in the construction of a "Squeak Index".
I believe that it would be very helpful to both newbies and maintainers to have a reasonably comprehensive unified "official" doc site. This could be kept up to date to reflect changes in Squeak, and could also be improved with input from new Squeakers.
What I have in mind is something web-based and fairly simple, but a little fancier and more stable than the Swiki, with content that is easy to read, up to date, and quickly addresses, say, 80% of beginning user's needs for help. For that frustrating final 20%, let there be links to the existing jumble of sites.
Sounds like a really good idea, except, it would be better for this documentation to be based in a Squeak image, so that it could be tested, and code snippets run directly from the docs. Of course, we would have it available on the web as well; hopefully, both would keep each other up-to-date. Other than that, it sounds great.
I think this "official" site should include:
- Introduction to Squeak with brief outlines of system
architecture and project history.
Objects, classes, syntax tutorial, how to read code.
How to use the browsers, debugger, Monticello, and other
basic IDE tools.
All of the above exists in very complete form, but needs to be compiled. I know where this stuff is if you want to index it.
- Intro to Morphic
This kind of exists. There is a bunch of stuff on the Swiki about Morphic, but I haven't really looked at what is there.
- FAQ
The Squeak FAQ has very little bearing on reality and probably needs to be completely re-written.
- (eventually, maybe) a design patterns how-to
There are some of these around, and they are very good, but they are a little harder to find. One of the best is the "Bowling for Smalltalk" series near the top of my tutorial list.
I'd be happy to undertake writing this stuff or assembling it from some of the current sources (with permission from the authors, of course). I'll need plenty of input from the more experienced, but that shouldn't be too hard to find.
It's also quite possible that having official documentation is somehow a really bad idea, in a way that hasn't occurred to me. If so, please feel free to tell me why.
No; official documentation is a really good idea. It should exist, but does not. Quite a few in the community have grown to distrust documentation, because it is probably out of date, and so they don't write documentation, because it will fall out of date. Goran's Magic Book is really the only way I know of that we could get and stay out of this loop in the long run. Until I or someone else create it, all we can do is to is get content ready to put into it.
I can contribute several hours a week worth of actually trying things out in squeak, and more time (during my mindless day job) reading web pages and writing summaries etc. I can't read PDF's or anything too fancy from my phone browser.
Cool. Nearly all the documentation is HTML on the Swiki; there are a few PDF's and a few Squeak projects, but mostly HTML docs.
Thanks for the motivating example, Matthew. I think we stand a chance of doing a real service to the Squeak community here.
Indeed. Documentation is the biggest hurdle that exists for everyone involved or seeking to be involved in Squeak. The problem is most obvious with newcomers, but is just as bad for an expert who is trying to understand an unfamiliar package. Source code can only go so far. It can never tell you why it is one way and where it fits into the larger system.
So, here is what I think what we should do for the next few months is finish the tutorial list, then similarly tackle the other major problems on the Swiki: http://wiki.squeak.org/squeak/2352
Once we have those bugs resolved, we will have enough good, up-to-date documentation that we can start seriously thinking about long-term maintenance. If that sounds like a good plan, I will summarize it and put it on the Swiki.