<div dir="ltr">Frank,<div><br></div><div>App delivery depends on your goals.  If you are a miserly Scrooge at heart, you&#39;ll consider all your code proprietary or your customers too stupid to learn Smalltalk, so you can write your code in your own collection, keep it out of the System Browser, and hide it in a single variable, or adopt a restricted sandbox GUI like eToys uses which hides the Browser. But if you have a more loving view of your customers, you might decide to give them everything plus a tutorial on how to modify the source Smalltalk to suit their individual desires.  Most business customers will find it cheaper to hire you to make changes either way since you&#39;ll have the knowledge and skill to do it faster than they could.  <div><br></div><div>One of the most disastrous miserly tactics I&#39;ve ever heard of was a vendor put a time check on his code and if it wasn&#39;t updated every month it would fail to work, thus insuring continued payments he figured.  But his tricking the customer failed when he went on vacation and didn&#39;t supply an upgrade one month, the system crashed, and the customer had to find a new solution.</div><div><br></div><div>Kirk Fraser<br><div><div>This is being done in poverty <a href="http://www.reliablerobots.com">www.reliablerobots.com</a> </div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 2, 2015 at 12:33 PM, Dan Norton <span dir="ltr">&lt;<a href="mailto:dnorton@mindspring.com" target="_blank">dnorton@mindspring.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>





<div>
<div align="left"><font face="Arial" size="2"><span style="font-size:10pt">Writing and reading files can be done easily. For Cuis, I summarized the protocol in World &gt; 
Help... &gt; Terse Guide to Cuis &gt; File Streams. If a file is used for the output, then it will have to 
be parsed in some way in the future. By compiling it into a class method which answers a 
Dictionary accessed by the drawing methods, no further parsing is needed.</span></font></div>
<div align="left"><font face="Arial" size="2"><span style="font-size:10pt"><br>
</span></font></div>
<div align="left"><font face="Arial" size="2"><span style="font-size:10pt">A GUI might be appropriate for a user who does not like computers, but a definite 
requirement IMO is to not have the IDE obvious.</span></font></div>
<div align="left"><font face="Arial" size="2"><span style="font-size:10pt"><br>
</span></font></div>
<p style="margin-left:0mm;margin-right:0mm;text-indent:0mm;margin-top:1.76mm;margin-bottom:1.76mm"><font face="Arial" size="2">
<span style="font-size:10pt">I&#39;d like to use this discussion  to provoke comment on app delivery in Squeak and Cuis. If you 
google &#39;Future of Smalltalk&#39; you&#39;ll find a concise statement of the problem: &quot;</span></font><font face="Times New Roman"><span style="font-size:12pt">One of the big 
problems ... which prevents the take-up of any &quot;workspace&quot; based language 
(Smalltalk, APL, Forth etc.) is that it&#39;s really hard to work out what it is that is 
delivered to the customer.&quot; - Frank Carver <a href="http://www.efsol.com/FrankCarver.html" target="_blank">http://www.efsol.com/FrankCarver.html</a>.</span></font></p><div><div class="h5">
<div align="left"><font face="Arial" size="2"><span style="font-size:10pt"><br>
</span></font></div>
<div align="left"><font face="Arial" size="2"><span style="font-size:10pt">On 2 May 2015 at 9:26, Ralph Johnson wrote:</span></font></div>
<div align="left"><font face="Arial" size="2"><span style="font-size:10pt"><br>
</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; Writing to a file is very similar to writing to the transcript. </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; You need to open a writestream on the </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; file, then you write to it.   </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; If I were writing the data out, I&#39;d probably try to write it out as</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; a CSV (comma separated values) so </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; that I could read it into a spreadsheet.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; If you want to make it easy for people who don&#39;t like computers,</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; perhaps you should make a GUI </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; for it.  The GUI might list all the drawings in the top pane. </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; When you select a drawing, you get to </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; see its contents in the bottom pane.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; I assume that when you run drawn2012 it returns some kind of data</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; structure that gives you the </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; drawing for 2012?</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; My son had something like this.  He had his program send each</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; person email, telling them who </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; they drew.  If you wanted to do this, you could focus on how to</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; send email instead of on how to </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; make a GUI.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; I&#39;m not sure what your motivation is here.  Is your main aim to</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; learn a little Smalltalk?  To make a </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; useful tool for yourself?  To make a useful tool for someone</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; else?  These are all worthy goals.  My </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; advice would depend on your goal.  And of course, goals change. </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; You might have started out just </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; wanting to learn Smalltalk but now you just want to make a tool that</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; someone else can use so you </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; don&#39;t have to be in charge any more.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; On Sat, May 2, 2015 at 8:07 AM, Dan Norton &lt;<a href="mailto:dnorton@mindspring.com" target="_blank">dnorton@mindspring.com</a>&gt;</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; wrote:</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     Dumb questions can have uses after all. Thank you Hannes and</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; Ralph for your thoughtful</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     responses. You must have been digging into the archives - my</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; original post was nearly a</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     year ago.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     Perhaps it is time to say what I chose to do. Design of Secret</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; Santa was driven by:</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;        1. A desire for simplicity</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;        2. Relatively infrequent use (annual)</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     Input is a text file listing the names of participants. A pair</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; of names on the same line </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     denotes</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     a couple. Output consists of the result of drawing names,</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; compiled as a class method.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     Method names are serialized: drawn2012, drawn2013, ...</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     The Transcript shows the latest drawing, as a Dictionary, which</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; is compiled. Below that in </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     the</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     Transcript are the statistics (iterations, rule violations). The</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; image must be saved.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     I would appreciate any thoughts on application delivery. The</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; above is a very crude, if not</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     non-existent, way to deliver an app. Use of external files for</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; output would improve things a</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     little. Isn&#39;t it possible to do better than this for a Smalltalk</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; app? What if the user is not a fan </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     of</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     computers?</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;      - Dan</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     _______________________________________________</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     Beginners mailing list</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     <a href="mailto:Beginners@lists.squeakfoundation.org" target="_blank">Beginners@lists.squeakfoundation.org</a></span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt;     <a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a></span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style="font-size:10pt">&gt; </span></font></div>
<div align="left"><font face="Arial" size="2"><span style="font-size:10pt"><br>
</span></font></div>
<div align="left">  </div>
</div></div></div>

<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@lists.squeakfoundation.org">Beginners@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div>