<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Marko.<div><br></div><div>Thank you for your feedback.</div><div><br></div><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Also moving towards a system without files <b>(and therefore no textual JS representation of scripts)</b>, this feels wrong to me.</div></div></blockquote></div><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I am not sure what you mean by "no textual representations" - how will editing the scripts of an object will look like when there's no textual representation of scripts? What is a JS representation? And will it still be possible with your CodeDB plan to develop a part locally with our editor in a world and to publish it after a number of coherent changes? </div><div><br></div><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>So in my opinion it really only adds clutter to what you really want to see/do. </div></div></blockquote></div></div></div></div></div><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>PS: I also have to add that I never really saw the need for method categories and the only systems/languages (I know) that do have this are Lively and Squeak... :-/</div></div></blockquote></div><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>The rationale here is: There are no private methods in ST or JS, but certain objects are implemented using lots of methods (which is good!), but not all should be meant to be used as interface by <i>users</i><i> </i>of such objects - tagging those as, for example, "private" and the intended interface as "public" might alleviate finding the correct method for a certain task.</div><div>I personally find my self searching for the correct method in Lively often, do like tagged scripts especially when there are "framework parts"/"template parts" that users should adapt slightly to their needs (we had those in a recent demo app), and do appreciate the categories in Smalltalk systems like Squeak :-)</div><div><br></div><div>But I do understand that any implementation and any UI of a feature will feel like <i>clutter</i> if you don't want that feature. </div><div><br></div><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>So an additional one-line text morph for "tagging" would be a simple and nice solution.</div></div></blockquote>Currently, the editor can also display all scripts at once, which, for example, allows to search in all scripts of an object (and only these) - very important for refactorings as long as there are no sophisticated refactoring tools. Further, the editor also displays connections (Lively's data binding). In these two situations a text field for tagging a single script wouldn't make sense. </div><div>An alternative is to use multiple panes as the SCB uses, probably with drag and drop - however, we decided to keep the editor lightweight and stay with it's three-pane layout. </div><div>I do however see your point in regards to exposing implementation details with <b><i>addScript</i></b> - but like that the editor does not hide these details, because this way the scripts are added as it's possible everywhere in the system - feels unified and direct to me. </div></div></div><div><br></div><div>Best,</div><div>Lauritz</div><div><br></div><div><div>On Nov 28, 2011, at 2:13 PM, Roeder, Marko wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Lauritz -<div><br></div><div>I am a bit indecisive when it comes to adding UI elements vs. having more code in the code pane. So here are my thoughts on that:</div><div><br></div><div>On the one hand you could argue that keeping the UI of the script editor clean and easy is a good idea looking at how browser (e.g. the SCB) do look like. But I think that you should also hide as many "implementation details" of how scripts are added and categorized/tagged, meaning that even <b>this.addScript(</b>...<b>)</b> (and therefore <b>.categorize(</b>...<b>)</b> too) is some kind of information a beginner/user should not need to see. So an additional one-line text morph for "tagging" would be a simple and nice solution.</div><div>On the other hand even the "implementation details" might be interesting for people who e.g. want to add scripts programmatically (you could argue) but this is not majority of users. So in my opinion it really only adds clutter to what you really want to see/do.</div><div>Also moving towards a system without files (and therefore no textual JS representation of scripts), this feels wrong to me.</div><div><br></div><div>So what do you think? Comments, thoughts? ;-)</div><div><br></div><div>Best,</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- Marko</div><div><br></div><div><br></div><div>PS: I also have to add that I never really saw the need for method categories and the only systems/languages (I know) that do have this are Lively and Squeak... :-/</div><div><br></div><div><br><div><div>On Nov 28, 2011, at 20:51 , Lauritz Thamsen wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi.<div><br></div><div>We added script tagging to our <a href="http://www.lively-kernel.org/repository/webwerkstatt/documentation/livedoc/Tools/ObjectEditor.xhtml">Object Editor</a> (Script Editor).</div><div><br></div><div>A script might be in several categories at the same time, so we allow multiple tags. Further, we don't want the editor to have as many UI elements as our <a href="http://www.lively-kernel.org/repository/webwerkstatt/documentation/livedoc/Tools/SCB.xhtml">System Code Browser</a>. Therefore, we tag scripts like they are added. Programmatically in the editor's script pane: </div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>this.addScript(function example() {</div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>alertOK('hello');</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>}).<b>categorize(['example', 'public']);</b></div><div><b><br></b></div><div>Any feedback or comments? :-)</div><div><br></div><div>Best,</div><div>Lauritz</div></div>_______________________________________________<br>lively-kernel mailing list<br><a href="mailto:lively-kernel@hpi.uni-potsdam.de">lively-kernel@hpi.uni-potsdam.de</a><br><a href="http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel">http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel</a><br></blockquote></div><br></div></div>_______________________________________________<br>lively-kernel mailing list<br><a href="mailto:lively-kernel@hpi.uni-potsdam.de">lively-kernel@hpi.uni-potsdam.de</a><br>http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel<br></blockquote></div><br></body></html>