Nico, thanks for your helpful input. I will try all of these when the project enters the next phase. Well, I will measure the startup times soon because it influences the do or don't of using it in new projects.
Norbert Am 15.05.2013 um 12:12 schrieb Nicolas Petton <petton.nico...@gmail.com>: > Hi Norbert, > > I'm answering inside your email. If you'd like more explanations about some > of the points, please just tell me. I'm also forwarding to Amber ML. > > On May 14, 2013, at 5:37 PM, Norbert Hartl <norb...@hartl.name> wrote: > >> 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. > > One approach that worked for me and others is to ignore the .js files and > recompile the .st files of your project using a git hook when you pull. > > >> - 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 > > You can now deal with that. loadAmber() takes additional optional arguments > to deal with project paths. > >> - 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. > > bin/amberc does that. That's actually how the WebDAV of Amber is compiled > into one file :) > >> - 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. > > The latest stable release of Amber should be *a lot* faster to load. > >> >> 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 > > yes, it does :) > >> - retarget files on the disc. I would like to have different paths on disc >> for separate packages. > > You can also do that now with loadAmber() > >> - 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. > > ok, that's an interesting point :) > >> - 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. > > it does work with Google Closure Compiler, there's an option in bin/amberc > too for that ;) >> > > Cheers, > Nico > >> 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 >>> >>> >> >> > > -- > Nicolas Petton > http://www.nicolas-petton.fr > > -- > You received this message because you are subscribed to the Google Groups > "amber-lang" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to amber-lang+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > >