<?xml version='1.0' encoding='UTF-8' ?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>Smalltalk Musings</title>
	<updated>2007-12-17T17:14:22-05:00</updated>
	<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView</id>
	<rights>Copyright 2005 Richard A. Demers</rights>
	<generator uri="/CincomSmalltalkWiki/Silt" version="1.0">Silt Syndication Generator</generator>
	<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView" rel="alternate" type="text/html"></link>
	<link href="/rssBlog/rademers-atom02.xml" rel="self" type="application/atom+xml"></link>
	<entry>
		<title>SmalltalkDoc Use Cases - Creating Component Documentation</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Creating_Component_Documentation&amp;entry=3321301743</id>
		<updated>2006-03-31T23:49:03-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><P><B>Users:</B> Smalltalk developers.</P>
<P><B>Problem:</B> The Smalltalk domain model consists of both packaging 
components (bundles and packages) and code components (classes, methods, 
variables, etc.). SmalltalkDoc defines documents tailored for all of these 
components. The user needs to be able to identify a component and be presented 
with an appropriate tool for viewing and editing its documentation. </P>
<P><B>Solution:</B> SmalltalkDoc provides a code tool for documenting the 
component currently selected by the System Refactoring Browser. To the extent 
possible, the documentation tool acquires information from the selected 
Smalltalk object.</P>
</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321301743" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - Creating Overview Documentation</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Creating_Overview_Documentation&amp;entry=3321301639</id>
		<updated>2006-03-31T23:47:19-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><P><B>Users:</B> Technical writers with Smalltalk experience.</P>
<P><B>Problem:</B> Smalltalk IDEs provide ways to attach comments to some 
objects but not all. Comments are simply plain text strings and they cannot be 
cross-linked as hypertext. No guidelines are provided to make these comments 
truely useful to different audiences.</P>
<P><B>Solution:</B> SmalltalkDoc provides for more comprehensive and integrated 
documentation. Comments are XML, which may contain formatting, cross-links, and 
the possibility of code expressions. SmalltalkDoc reifies documentation in a way 
that helps developers write useful documentation with less effort. Automated 
code checks can catch common problems, such as class comments becoming outdated 
when instance variables are added or removed.</P>
</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321301639" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - Using Patterns</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Using_Patterns&amp;entry=3321301514</id>
		<updated>2006-03-31T23:45:14-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><p><b>Users:</b> Programmers developing Smalltalk applications.</p>
  <P><B>Using Patterns</B></P>
  <P><B>Problem:</B> Numerous books of design patterns have been published, many 
  of which are of use to Smalltalk programmers; many more patterns exist 
  implicitly in Smalltalk system and application code. The published patterns 
  can be referenced in other documentation, thereby giving follow-on programmers 
  a starting place for understanding an application. The implicit patterns, 
  however, can only be learned through code studies, and lacking an identity and 
  separate documentation, it is not possible for other applications to reference 
  them. </P>
  <P><B>Solution:</B> SmalltalkDoc overview documents can be used to centrally 
  document and organize patterns of general interest to the Smalltalk community. 
  It may also be desirable to define a new type of SmalltalkDoc, a PatternDoc, 
  that provides a common template for the description of patterns; perhaps 
  similar to that used by the original <CITE>Design Patterns</CITE> 
book.</P>
</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321301514" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - Using Frameworks</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Using_Frameworks&amp;entry=3321301453</id>
		<updated>2006-03-31T23:44:13-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><p><b>Users:</b> Programmers developing Smalltalk applications.</p>
  <P><B>Problem:</B> Frameworks are often difficult to use. The factoring of 
  complex Smalltalk programs leads to a hierarchy of classes that becomes a 
  framework for the creation of subclasses specialized to meet additional 
  requirements. Over time Smalltalk systems acquire a variety of frameworks that 
  are reusable if someone takes the trouble to identify and document them. This 
  is usually not the case. People who learn of them must study the entire class 
  hierarchy of the framework in order to create further specializations.</P>
  <P><B>Solution:</B> SmalltalkDoc supports the documentation of frameworks 
  through overview documents and through documents associated with bundles and 
  packages. Figures illustrating the conceptual structure of a framework can be 
  included, along with explanations. The overview documents can describe 
  structural relationships that span the packaging components. </P>
</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321301453" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - Using Subsystems</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Using_Subsystems&amp;entry=3321301350</id>
		<updated>2006-03-31T23:42:30-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><p><b>Users:</b> Programmers developing Smalltalk applications.</p>
  <P><B>Problem:</B> The APIs of Smalltalk subsystems are often not obvious 
  without considerable study. Developers complain of having to spend hours 
  reading and studying code before being able to use existing subsystems. The 
  problem is that the basic components of Smalltalk code (classes, methods, 
  etc.) do nothing to identify a subsystem's API. Intention revealing names 
  help, but are not sufficient. Explicit API documentation is needed, including 
  both text and illustrations, that provides a framework for thinking about a 
  subsystem and how it is intended to be used. </P>
  <P><B>Solution:</B> SmalltalkDoc supports the documentation of subsystem APIs 
  through overview documents and through documents associated with bundles and 
  packages. Figures illustrating the use of a subsystem can be included, along 
  with explanations.</P>
</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321301350" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - Using the Class Library</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Using_the_Class_Library&amp;entry=3321301214</id>
		<updated>2006-03-31T23:40:14-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><p><b>Users:</b> Programmers developing Smalltalk applications.</p> 
  <P><B>Problem:</B> The Smalltalk library contains a wide variety of classes of 
  general use to programmers, each defining a set of generally useful methods. 
  However, it is difficult for programmers to learn and remember all of them. In 
  VisualWorks, moreoever, there is no set convention for distinguishing public 
  from private methods. Programmers usually have to spend time browsing code to 
  determine which classes and methods are already available and applicable to 
  their problem. There was formerly an "Object Reference" Guide to the 
  VisualWorks class library that helped to simplify this task, but this has not 
  been maintained in over ten years.</P>
  <P><B>Solution:</B> SmalltalkDoc supports documentation for all levels of 
  Smalltalk components, including individual methods. However, it would probably 
  not be useful to create SmalltalkDocs for every method of every class, it 
  would be useful to do so for the generally useful common classes, such as 
  Strings, Numbers, collections, or, for example, the Pollock objects (Panes, 
  Agents, etc) that programmers normally work with. More important are the 
  overview documents for code components that point developers towards the most 
  important classes and APIs defined within.</P>

</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321301214" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - New Users</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_New_Users&amp;entry=3321300664</id>
		<updated>2006-03-31T23:31:04-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><P><B>Users:</B> Programmers doing their first projects in Smalltalk. These 
people have gone beyond the need for tutorials, but they are often overwhelmed 
by the size and complexity of the class library. They also need guidance in 
adopting best practices.</P>
<P><B>Problem:</B> Today, this need is partially met by a set of PDF "Guide" 
documents, which are not, however, directly available in the Smalltalk 
environment. The files containing these guides must be located, the correct 
guide selected and opened, and then searched for the required text. While these 
guides are indexed and searchable, they do not and cannot provide hypertext 
links to more detailed Smalltalk packaging and component documentation. </P>
<P><B>Solution:</B> Existing guide documents can be broken into topical pieces 
and incorporated as overview documents into an on-line set of SmalltalkDoc 
documents that are immediately available in the Smalltalk environment.</P>
</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321300664" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - Beginners</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Beginners&amp;entry=3321300609</id>
		<updated>2006-03-31T23:30:09-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><P><B>Users:</B> Programmers learning the Smalltalk language. These people have 
varying levels of expertise in programming, object-orientation, systems design 
and systems development. In many cases they are more expert in the C/Java 
languages. </P>
<P><B>Problem:</B> People new to Smalltalk first need step-by-step tutorials in 
the syntax, basic object classes, and messages used for control structures. They 
also need to learn how to think in terms of interacting objects.</P>
<P><B>Solution:</B> SmalltalkDoc includes documents in which tutorials can be 
provided. SmalltalkDocs can link to each other, to SmalltalkDocs at both the 
packaging and component levels of detail, and to other Internet resources. It 
may be desirable to define a new type of SmalltalkDoc, a TutorialDoc, that 
supports the evaluation of Smalltalk code similar to workspaces. </P>
</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321300609" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - Evaluators</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Evaluators&amp;entry=3321300532</id>
		<updated>2006-03-31T23:28:52-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><P><B>Users:</B> Programmers evaluating Smalltalk for future programming 
projects. These people have varying levels of expertise in programming, 
object-orientation, systems design and systems development. They have heard 
varying claims about Smalltalk and want to check it out for themselves.</P>
<P><B>Problem:</B> Many people have heard of Smalltalk and its claims of 
enhanced productivity, and would like to take a quick look at something more 
detailed than marketing brochures but less detailed than Smalltalk code  14 
preferably online and at varying levels of detail. </P>
<P><B>Solution:</B> SmalltalkDoc provides a great deal of information about 
Smalltalk. An evaluator can begin by browsing high-level overview documents, 
sample the tutorial documents, and delve into Smalltalk details with component 
documents. Evaluators can get fast answers to questions such as: "Does Smalltalk 
provide support for my favorite database and security protocol?"</P>
</p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321300532" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
	<entry>
		<title>SmalltalkDoc Use Cases - Introduction</title>
		<id>http://www.cincomsmalltalk.com/userblogs/rademers/blogView?showComments=true&amp;printTitle=SmalltalkDoc_Use_Cases_-_Introduction&amp;entry=3321300385</id>
		<updated>2006-03-31T23:26:25-05:00</updated>
		<author>
			<name>Richard Demers</name>
			<uri>http://www.cincomsmalltalk.com/userblogsrademers/blogView</uri>
			<email>rademers@mn.rr.com</email>
		</author>
		<content type="html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><div xmlns="http://www.w3.org/1999/xhtml">

<P>SmalltalkDoc is an on-going project to significantly improve the 
documentation of the VisualWorks Smalltalk language, components and IDE. It was 
initiated by Mark Roberts, in the Cincom VisualWorks group. SmalltalkDoc has 
evolved through two previews shipped with VisualWorks, but these only hint at 
what is planned.</P>
<P>SmalltalkDoc seeks to reduce the burden of producing documentation, to help 
automate the process of keeping it up to date, and to provide a facility that 
even experts (being Smalltalkers, after all) will find useful.</P>
<P>We need to begin with a description of SmalltalkDoc's intended audiences, the 
problems they face, and some of SmalltalkDoc's proposed solutions to those 
problems; in other words, the high-level use cases for SmalltalkDoc. Use cases 
for both the readers and writers of Smalltalk documentation need to be 
included.</P>
<P>The SmalltalkDoc use cases will each be published in this blog. I'd like to 
invite all past, present and future Smalltalkers to comment on each use case. If 
any further use cases are identified, I will separately publish them as blog 
items for further comment. </P>
<P>Disclosure: my involvement has been that of a part-time designer and 
programmer, working under contract from Cincom. </P>
</div></p>
</div>]]></content>
		<link href="http://www.cincomsmalltalk.com/userblogsrademers/blogView?showComments=true&amp;entry=3321300385" rel="alternate" type="text/html"></link>
		<category term="SmalltalkDoc"></category>
	</entry>
</feed>
