Hi Nico, > I do have one question: what was your experience with Amber? >
as an overall statement I would say it was a pleasure to use amber to develop the app. The initial setup until the class browser opens is easy. Learning how to create packages and knowing that code persistence is based on packages is also quite ok because amber includes a WebDav Server that can be started from the downloaded amber repo. So no big problems in starting. Thinks that go less smooth: - the web app I'm developing is checked into git. Amber puts all files (js and st) in the same directory. This makes managing files in version control system a bit cumbersome. - all code is put in the same directory. The amber code checked out from the repository is in the same place as the code that I produced myself. Again you need to do additional steps to do to clean it up - tools for combining code are missing. That is not a big problem because a simple cat on the console can solve this but would be nice not have to. - I prepared two different locations on my web server for the same app. One that is used to develop (the WebDav server access it) and one where only the combined javascript source code is used. This is needed to test the target deployment. Something that could ease this would be wonderful What keeps me from using it in every project: - The startup times for amber can be quite huge. All the class initialization is a lot of stuff that burns CPU cycle. On an iphone you don't notice really but on the Nexus 7 tablet it takes 2-4 seconds for initialization and the first page to appear. This is a not a problem for desktop browsers but for mobile ones where I find amber extremely good for. I only used amber in pre pre 1.0 versions and I know there have been optimizations that I didn't test, yet. And the annoying "You didn't ask for but I add it anyway wishlist": - I need to test Helios because I think it solves a lot of issues with the current browser. I don't know how it is supposed to work that you have a second window with the IDE that accesses a page. But I'm sure it works flawlessly or I misunderstood it from the screenshots - retarget files on the disc. I would like to have different paths on disc for separate packages. - amber using websockets to connect to a backend pharo server. This can be used for comfortable code management, amber support for state transport client->server and server->client and to replicate console log to the pharo transcript (or whatever). This is important on mobile devices where sometimes you cannot access the browser console. - it would be fine to have support for obfuscation. It is not only for hiding code but also for making it smaller thus saving bandwidth and startup times. This could be the case if the produced javascript code would be work with google closure compiler. Even better would be to have visitor for AST/IR to make it even more effective/less dangerous. Norbert Am 14.05.2013 um 15:32 schrieb Nicolas Petton <petton.nico...@gmail.com>: > Nico > > > On May 14, 2013, at 11:37 AM, Norbert Hartl <norb...@hartl.name> wrote: > >> I think my last post of this message fell into the time the old mailing list >> dies. So here it is again >> >> --- >> >> We (@2denker in cooperation with a local university) built a monitoring tool >> for disaster scenario recovery rehearsals. Several times a year >> universities, red cross, THW und hospitals are planning a rehearsal >> together. For this an environment is prepared for a simulated disaster (car >> accidents, explosions in civil areas, …). The local environment is prepared >> to look real as well as film make-up artist prepare people for injuries >> (broken legs, open head, …). >> The rehearsal should improve the coordination of several hospitals, >> firemen…as well as the quickest possible treatment for the injured. >> >> One important part of the rehearsal is monitoring of what happens. This is >> achieved by installing a local position system and using our tool. Every >> injured person gets a wireless tablet. On the tablet there are UI elements >> that indicate treatment done to them. Whenever a doctor comes visiting the >> injured person activates the corresponding UI button. The events are >> transmitted to a server and are prepared for another analysis software. The >> tablet enables the HQ to make contact to individual persons or groups. The >> tablet measures times of needed treatments and instructs the injured to be >> dead if measurements weren't taken in time. >> >> Technically it is done in smalltalk solo. >> >> The server is a pharo image. It has >> >> - web admin interface with complex forms for managing injuries, injured, >> groups, etc. For this we used seaside because it is best suited for this >> job. Forms are done with magritte, magritte-bootstrap. The interface also >> displays the live incoming events and other data >> - a static file server that delivers static resources to client tablets >> - a websocket connector that is used by the clients to connect to the server >> - a http handler to export data to other analysis tools >> >> The client is done with amber smalltalk. It >> >> - loads the web page containing amber from the server >> - connects back to the server >> - downloads a UI spec for the injured using the tablet to display >> personalized UI elements >> - stores events on the tablet in case the injured is offline >> - measures times to instruct the injured >> >> If you have any questions please don't hesitate to ask. >> >> Norbert > > -- > Nicolas Petton > http://www.nicolas-petton.fr > >