<div dir="ltr">What Amber and Lively have in common is that they provide a runtime and tools to interactively develop client-focused web applications. Apart from that both projects are quite different.<div><br></div><div>With Amber you will typically write Seaside-like Smalltalk-wrapped HTML code. The way how you write that code is different to conventional web programming, the result isn't. Amber comes with jQuery and of course you can use whatever other third-party JS lib you like on top that. Depending on your needs projects like <a href="http://angular.js">angular.js</a> or <a href="http://ember.js">ember.js</a> might be interesting.<div>
<br><div>On the contrary, Lively Kernel encourages you to use Morphic. You don't have to as you can create any kind of browser supported output (HTML/SVG/Canvas/WebGL...) and of course you can use other JS libs with that approach as well. Integrating other JS libs with Morphic directly is also possible but depending on the scope of the library that might create conflicts. We successfully integrated things like d3, Markdown, MathJax, and others but if you take a library like ember that brings its own rendering approach than direct integration with Morphic will probably be challenging. Coexistence is certainly possible, though.</div>
</div></div><div><br></div><div style>Morphic really focuses on direct interaction. The typical first development cycle for a app written in Lively is the following:</div><div style><br></div><div style>- Interactively add a Rectangle to the current world, change its size so that it serves as a container</div>
<div style>- Interactively add things like buttons, lists, texts to it. Interactively rearrange.</div><div style>- Start sketching out first pieces of logic: Let's say we have a button and a list and want to display list items on button click:</div>
<div style> - Interactively give the list a name ("exampleList")</div><div style> - Open an ObjectEditor on the rectangle, add a method #populateList that looks like:</div><div style><div> this.addScript(function populateList() {</div>
<div> this.get('exampleList').setList(Array.range(1,10));</div><div> });</div><div style> - try it out directly in the ObjectEditor by evaluating "this.populateList()"</div><div style> - Interactively connect the button's fire connection point with the rectangles #populateList script</div>
<div style>- Try things out, Save your world, refine</div><div style><br></div><div style>Later on you will probably do things like create a module to extract code, move common code into classes, write tests.</div><div style>
<br></div><div style>Also consider:</div><div style>- You will probably want to shrink interactivity of the elements of your resulting application down. This is possible but we do not provide a "let's-make-that-morph-stupid-solution" at this point. </div>
<div style>- Even if you don't want to deal with a server you somehow need to deploy your application</div><div style>- A application written in Morphic that just does things you can typically do with static HTML (present static document-like content) will carry a lot of overhead compared to its usefulness.</div>
<div style>- Lively encourages a "one-page-app" architecture vs. the typical "one-page-per-process-step" of conventional apps. Since you want no server logic this should suite your needs.</div><div style>
<br></div><div style>I hope that helps a bit. Other than that, I can just recommend to get started with whatever system you feel most productive at this point. Software development is mostly iterating technical solutions of your ideas anyway. What's valuable are your ideas and how they are shaped by the feedback of those steps.</div>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 5, 2013 at 12:33 PM, Chip Nowacek <span dir="ltr"><<a href="mailto:chip@twostewards.com" target="_blank">chip@twostewards.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I've thought about your response while I have been looking at other platforms. My circumstances have changed and I need to build a prototype, yes, but one that can be then refined and deployed on a large scale (as) quickly (as possible).<div>
<br></div>
<div>I am not a professional developer. Whatever system I use I will have to learn and likely figure out how to integrate with JS libraries. I wish I had your experience. LK seems like the most natural choice - but only if I can take what I build into production. The only other platform I am considering at the moment is Amber Smalltalk. I want everything going on in the browser and potentially use something like Firebase as a replicating direct-to-client key store. I really don't want any logic on the server. Oh, and I need some lightweight expert system on the client, too.</div>
<div><br></div><div>If you were me, what would you do?</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 10, 2012 at 9:04 PM, Robert Krahn <span dir="ltr"><<a href="mailto:robert.krahn@gmail.com" target="_blank">robert.krahn@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Lively is a wonderful environment for experimenting. Of course this depends on what you want to achieve but in my experience you are able to do quite complex things pretty fast.<div>
<br></div><div>Take this demo for example:</div>
<div> result: <a href="http://lively-kernel.org/other/fuelDemoVideo1.mov" target="_blank">http://lively-kernel.org/other/fuelDemoVideo1.mov</a></div><div> building it with wiring parts together: <a href="http://lively-kernel.org/other/fuelDemoVideo2.mov" target="_blank">http://lively-kernel.org/other/fuelDemoVideo2.mov</a></div>
<div><br></div><div>It is a rough visualization of a how a car driving along a given path that highlights the fuel stations the car can reach with its fuel level that changes as it drives along.</div><div><br></div><div>
(The purpose of the demo was mainly to show how such a visualization can be created using a mix of graphical/textual programming and combining existing components, not the actual application itself)</div>
<div><br></div><div>Creating the initial sketch (that was really running of course) was something that two people (that were very familiar with the system) did in the course of three hours. Pretty fast I guess. Tweaking things to look nicer and embedding ideas that came up in the process of building it took 2-3 days more.</div>
<div><br></div><div>For the purpose of creating this interactive demo, Lively worked very well. However, important to mention is that this was *just a demo*. The application that came out of it not usable in the sense of a software product as you have to be careful of where to click etc. So a lot of issues related to the usability of the interface from the standpoint of an end-user were not addressed. Producing something like a "demo to be used by others" will definitely require *much* more time.</div>
<div><br></div><div>Also consider that Lively / Webwerkstatt is used as a research environment as opposed to a stable development environment like Eclipse. Things look rough. Interfaces change. Tools evolve. We are currently working on a version of Lively that is more stable than what you find in Webwerkstatt (see the other messages on this list), however, we are not able to give any support guarantees.</div>
<div><br></div><div>I agree with Jens, take a couple of hours time and try to dig in the system and produce at least a tiny part of what you have in mind and see if this feels right.</div><div><br></div><div>I would love to see a new system build in/with Lively :)</div>
<span><font color="#888888">
<div><br></div><div>Robert</div></font></span><div><div><div><br></div><div><br></div><div><div class="gmail_quote">On Mon, Sep 10, 2012 at 8:12 AM, Jens Lincke <span dir="ltr"><<a href="mailto:jens.lincke@hpi.uni-potsdam.de" target="_blank">jens.lincke@hpi.uni-potsdam.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF"><div>Hi Chip,</div><div><br></div><div>did you play with it for 2 hours you to try it out, or what are your experiences yet? It depends what kind of demo app is required... A mobile app? </div>
<div><br></div><div>I think you could try, but be aware that it can be easy if you do similar things others have been done, but it can get messy when you want to go where no one has gone before you in lively ;-)</div><div>
<br></div><div>Best,</div><div>Jens</div><div><br></div><div>Am 10.09.2012 um 15:59 schrieb Chip Nowacek <<a href="mailto:chip@twostewards.com" target="_blank">chip@twostewards.com</a>>:<br><br></div><div><div>
<div></div><blockquote type="cite"><div>Should I take the silence as: "Stay away from Lively" ?<br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Chip Nowacek</b> <span dir="ltr"><<a href="mailto:chip@twostewards.com" target="_blank">chip@twostewards.com</a>></span><br>
Date: Thu, Aug 30, 2012 at 6:11 PM<br>Subject: LK ready for prototyping?<br>To: The Lively Kernel Mailing List <<a href="mailto:lively-kernel@hpi.uni-potsdam.de" target="_blank">lively-kernel@hpi.uni-potsdam.de</a>><br>
<br><br>Hello,<div>
<br></div><div>I'm sure I am less than 1/10th the programmer of the least on this list. I hope you'll forgive the my rather lowly skill set.</div><div><br></div><div>That said, I have a desperate need to create a demo app for investors and production developers. In your estimation, is LK ready for that type of work? I will ask about production readiness later.</div>
<div><br></div><div>While I'm asking, anyone interested in helping out with (what I think will be) an important application with long legs? The domain model, 4 years in the works, is pretty stable. It needs a compelling, highly-interactive front end (thus the LK question). In broad terms, I am looking to build a cognitive tool that deals with human relationships. It'll also need a mobile app at some point.</div>
<div><br></div><div>Thank you humbly,</div><div><br></div><div>Chip</div>
</div><br>
</div></blockquote></div></div><blockquote type="cite"><div><span>_______________________________________________</span><br><span>lively-kernel mailing list</span><br><span><a href="mailto:lively-kernel@hpi.uni-potsdam.de" target="_blank">lively-kernel@hpi.uni-potsdam.de</a></span><br>
<span><a href="http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel" target="_blank">http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel</a></span><br></div></blockquote></div><br>_______________________________________________<br>
lively-kernel mailing list<br>
<a href="mailto:lively-kernel@hpi.uni-potsdam.de" target="_blank">lively-kernel@hpi.uni-potsdam.de</a><br>
<a href="http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel" target="_blank">http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>