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
> 
> 


Reply via email to