<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>doc.mashweb.club – practices</title>
    <link>/tags/practices/</link>
    <description>Recent content in practices on doc.mashweb.club</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Wed, 04 Jan 2017 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="/tags/practices/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Zen-White-Paper: Principles</title>
      <link>/zen-white-paper/principles/</link>
      <pubDate>Wed, 04 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>/zen-white-paper/principles/</guid>
      <description>
        
        
        &lt;p&gt;As pointed out by David Ungar (who pioneered the type of prototypal object system that JavaScript uses), from values derive principles and from principles derive practices.&lt;a href=&#34;/zen-white-paper/notes/#fn:35&#34;&gt;&lt;sup&gt;35&lt;/sup&gt;&lt;/a&gt;
&lt;sup&gt;, &lt;/sup&gt;&lt;a href=&#34;/zen-white-paper/notes/#fn:36&#34;&gt;&lt;sup&gt;36&lt;/sup&gt;&lt;/a&gt;
 We have just explored the values behind the Zen system. Now let&amp;rsquo;s examine the principles of the Zen system. Zen will complement the approach of Lively Kernel,&lt;a href=&#34;/zen-white-paper/notes/#fn:37&#34;&gt;&lt;sup&gt;37&lt;/sup&gt;&lt;/a&gt;
&lt;sup&gt;, &lt;/sup&gt;&lt;a href=&#34;/zen-white-paper/notes/#fn:38&#34;&gt;&lt;sup&gt;38&lt;/sup&gt;&lt;/a&gt;
 which shares Zen&amp;rsquo;s principles 1–3 as listed below. How much, if any, of Lively Kernel&amp;rsquo;s code it will borrow is yet to be determined. Note, in particular, the following principle 11 of Zen that is different than the principles of Lively Kernel:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It will run in any &lt;em&gt;browser&lt;/em&gt; without a download or installation. (Sometime in the future, an attempt might be made to make it work in mobile browsers.)&lt;/li&gt;
&lt;li&gt;It will be a composition environment, a GUI builder.&lt;/li&gt;
&lt;li&gt;It will store its apps as web pages.&lt;/li&gt;
&lt;li&gt;It will compose web pages using the DOM&amp;rsquo;s interfaces and APIs&lt;a href=&#34;/zen-white-paper/notes/#fn:39&#34;&gt;&lt;sup&gt;39&lt;/sup&gt;&lt;/a&gt;
&lt;sup&gt;, &lt;/sup&gt;&lt;a href=&#34;/zen-white-paper/notes/#fn:40&#34;&gt;&lt;sup&gt;40&lt;/sup&gt;&lt;/a&gt;
 but not SVG or Canvas drawing operations.&lt;/li&gt;
&lt;li&gt;Zen will allow its composition objects and simple programs to be inspected and edited via a Squeak-like object inspector.&lt;a href=&#34;/zen-white-paper/notes/#fn:41&#34;&gt;&lt;sup&gt;41&lt;/sup&gt;&lt;/a&gt;
 Zen will, by default, hide its visual programming environment. When visual programming is enabled, Zen will use HTML elements like &lt;code&gt;DIV&lt;/code&gt; to model nodes in the program&amp;rsquo;s abstract syntax tree (AST).&lt;a href=&#34;/zen-white-paper/notes/#fn:42&#34;&gt;&lt;sup&gt;42&lt;/sup&gt;&lt;/a&gt;
 Zen will enable these program nodes or blocks to be copied, pasted, and rearranged, just like the ordinarily visible parts of a Zen web page.&lt;/li&gt;
&lt;li&gt;It will enable its users to easily compose sequential programs, that is, programs that can wait for external, asynchronous events such as user input or I/O. Zen will synchronize its user&amp;rsquo;s sequential programs through Scheme continuations in an interpreter running on top of JavaScript in the web browser. (See below.)&lt;/li&gt;
&lt;li&gt;Zen will be loadable into any web page as a library, although caution will be required to ensure compatibility.&lt;/li&gt;
&lt;li&gt;It will &lt;em&gt;complement&lt;/em&gt;, &lt;em&gt;augment&lt;/em&gt;, and &lt;em&gt;interact&lt;/em&gt; with existing web page editors and website builders, not replace them.&lt;/li&gt;
&lt;li&gt;It will allow the Zen-editing of a web page to be locked, leaving intact the form and behavior it built inside the web page.&lt;/li&gt;
&lt;li&gt;Zen will not add more than 1–3 seconds to a web page&amp;rsquo;s TTI (time to interact).&lt;/li&gt;
&lt;li&gt;Zen will not follow Lively Kernel&amp;rsquo;s principle of implementing a scene graph.&lt;a href=&#34;/zen-white-paper/notes/#fn:37&#34;&gt;&lt;sup&gt;37&lt;/sup&gt;&lt;/a&gt;
 Instead, it will leverage the CSS2 visual formatting model&lt;a href=&#34;/zen-white-paper/notes/#fn:43&#34;&gt;&lt;sup&gt;43&lt;/sup&gt;&lt;/a&gt;
 and CSS3 features implemented by A-grade web browsers&lt;a href=&#34;/zen-white-paper/notes/#fn:44&#34;&gt;&lt;sup&gt;44&lt;/sup&gt;&lt;/a&gt;
 to model a document in a web browser.&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Zen-White-Paper: Practices</title>
      <link>/zen-white-paper/practices/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/zen-white-paper/practices/</guid>
      <description>
        
        
        &lt;p&gt;We have explored the values and principles of the Zen system. Now let&amp;rsquo;s explore some of the Zen developers&#39; practices to create Zen.&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
