sounds really great. I cannot estimate this, but do you think this could make a good part of Isis itself? What did you and Johan use as license so far? And who else contributed to the code?
Dan, is it mature enough to be a candidate? Or shall we better keep is separated yet? Just lots of blue-eyed if-then-else questions ;) LieGrue, strub ----- Original Message ----- > From: Adam Howard <[email protected]> > To: [email protected] > Cc: > Sent: Friday, June 15, 2012 5:06 AM > Subject: Re: Introduction and another viewer > > Dan, > > Thanks for the words of encouragement and the link to Johan's previous > work. I tried it out tonight and it's almost as if we shared to do lists. > He already has many of the features I wanted to add to my little project. I > sent him an email and I hope to hear back from him soon. > > One of those features, though, you mentioned as a possible negative of the > DnD viewer was maintaining a client-side cache of objects. Johan uses this > so that the views can be direct projections of the local model. You change > a field in one view and all others views automatically update. The next > step I suppose would be to tie in either the WebSockets or EventSource API > to allow the server to broadcast object change events back to all connected > viewers. Would you advise against this sort of approach? Or is the > client-side cache you mention more an artifact of the remoting protocol? > > On Heroku, I just signed up for the account to post this demo. It seemed > like the easiest and cheapest (free) way to post a simple java webapp. > Especially since I didn't require an RDBMS. My 24 hours of experience have > been fine. > > On the iPad, I thought this would be cool too and then started to think > about how dragging and right-clicking doesn't work. Then I found jQuery UI > Touch Punch [1] which maps the jQuery UI events to touch events: click > becomes tap, right-click becomes tap & hold, and they've made dragging > and > dropping work as well. I'll definitely have to try it out. > > -- > Adam Howard > > [1] http://touchpunch.furf.com/ > > On Thu, Jun 14, 2012 at 10:12 AM, Dan Haywood > <[email protected]>wrote: > >> Hi Adam, >> Welcome to Isis, and thanks very much for your interest and the good work >> you've already done so far! >> >> Since you've made a number of points, I've commented on them > inline.... >> >> >> On Thursday, 14 June 2012, Adam Howard wrote: >> >> > >> > I started reading Dan's book last fall and made it part way > through the >> > carserv example app using Isis 0.1.2-incubating. I used the DnD viewer >> > almost exclusively, enjoying how tangible the objects became using the >> > multi-window interface. >> > >> >> >> >> > >> > About a month ago I came back to the book and decided to start writing > my >> > own little app alongside carserv. I grabbed the latest Isis quickstart >> > archetype (0.2.0-incubating) and started coding. Surprisingly, I saw > that >> > the DnD viewer was no longer included as standard in the archetype. I >> used >> > the HTML viewer for about a week but it just didn't feel the same. > With >> the >> > DnD viewer I could look at my object representations and it would help >> > drive my modeling. "Oh, I need a relationship here so I can drop > this >> > object on that one." >> > >> >> Like you, I also have a soft spot for the DnD viewer, and Rob does too of >> course because it's his baby. It's also the viewer that's used > on the big >> system in Ireland, used by 2,500+ people on a day-to-day basis. >> >> On the other hand, the DnD viewer, let's say, not the prettiest of UIs. >> (For myself at least) I'm pretty sure lots of people have seen it and > got >> turned off by Isis / the naked objects pattern.... >> >> As you've probably realized, the DnD viewer code itself has not been >> deleted. However, we removed it from the archetype because: >> * we wanted to try to include only the stuff that was "complete", > and in >> its current incarnation a few new features are only semi-implemented >> * its status was becoming less clear with the move to remove the remoting >> stuff >> * to figure out what it's positioning should be within the context of > the >> other viewers. >> >> Where I think we are now is that we see the DnD viewer as being >> resurrected, but positioned solely as a design tool for developers. >> >> At some point Rob needs to do some tidy up work to remove the >> semi-implemented features and get it back to where it was (ideally: I'd >> like it to look like NOF 3.0.3, with the collections on the left). As and >> when that's done, I'll add it back into the archetype. >> >> In the meantime, you can of course create a Maven module and reference the >> viewer; the module generated from the 0.1.2-incubating archetype will >> probably work just fine (save change the version of Isis referenced, >> obviously). >> >> >> >> >> > >> > This got me wondering. Could a browser-based multi-window interface be >> > built on top of the JSON viewer and a javascript ui library? I looked > at >> > all the contenders (YUI, jQuery, MooTools, Backbone, ExtJS) and > finally >> > settled on jQuery after seeing this blog post [1] and looking at the >> > jqMobile example. >> > >> >> Indeed. And in fact a chap called Johan Andries had the same idea and >> spent some time putting together an early JS application against the >> Restful interface using JQueryUI and Backbone. He's also shared his > code, >> at [5]. >> >> >> >> >> > >> > I've been playing with it for the past couple weeks and I'm at > the point >> > where I wanted to know if this is something the community is > interested >> in. >> > I know it's ANOTHER viewer and I'm making no claims that > it's ready (or >> > will ever be ready) for anyone else to use. I'm really asking if > the >> ideas >> > embodied in the DnD viewer are still desired? >> >> >> Yes, I think they are. In fact, Johan's viewer also uses the DnD as > its >> metaphor. I had a quick play with your app [4] (though not for long) and I >> think that Johan has gotten a little further with his framework than you. >> That said, he doesn't seem to have done any work on it since Nov last. >> >> So, one option you might want to explore is to contact Johan and either >> join his project, or fork it and take it from there. >> >> For myself, I was thinking that a GUI based on ExtJS might do well as a >> sovereign style app... but I can't see myself starting on that this > year >> (2012). >> >> >> >> > The most important to me >> > being multiple objects on a virtual desktop that you can visually > layout >> to >> > increase understanding. >> > >> >> Agreed. Also, with toolkits such as SenchaTouch, I think there are >> opportunities for very interactive UIs that can be deployed on iPADs and >> the like. >> >> >> >> >> > >> > All of the latest developments I've seen, both in Isis and >> NakedObject.NET, >> > have centered on single-object view web layouts. Was it discovered > that >> the >> > desktop metaphor viewers were lacking for some users? >> >> >> The next generation of the Irish government project is indeed moving to >> Naked Objects MVC. It's too early to say how that will pan out. >> >> However, the issue with the DnD viewer is mostly its architecture: the >> client/server remoting protocol, and having to maintain client-side cache >> of objects and managing transient/persistent objects and lazy loading over >> the wire. The Irish app which runs under this architecture does work, but >> the sordid little secret is that there are a number of hacks under the >> covers to get it to do so. >> >> But this is why the Restful interface (per the json-viewer) is so >> important, I think: it will enable different types of viewers with whatever >> UI paradigm fits, but on a solid, scalable, back-end architecture . >> >> So... I would say, go for it and build a DnD (or whatever) viewer, using >> the restful API. There's no reason not to. >> >> >> >> > The new web viewers >> > are great but they don't give me the same sense of exploration as > the >> > original GUI. Maybe that exploration isn't needed after the model >> > solidifies and the app is being used. >> > >> > Anyway, sorry for rambling. >> >> >> Not at all... very interested to hear your thoughts. >> >> >> >> > I tried something new and posted my little app >> > on Heroku. If I understand the service right you can access the JSON >> viewer >> > [2], the HTML viewer [3] and my "windowed" viewer [4] at the > urls below. >> It >> > might take a few seconds to spool up. Credentials are sven/pass. > Tested >> in >> > Chrome, FF, and Safari. >> > >> >> Heroku: that's on my todo list to look into. I might pick your brains. >> >> >> >> > >> > Again it's nowhere near complete but you can execute actions, view >> objects >> > and collections, create objects and modify properties (mostly.) >> > >> > Thanks for creating a wonderful framework to build on. >> > >> >> Thanks for the kind words, looking forward to continuing the conversation! >> >> Cheers >> Dan >> >> >> >> > -- >> > Adam Howard >> > >> > [1] >> > >> > >> > http://net.tutsplus.com/tutorials/javascript-ajax/creating-a-windows-like-interface-with-jquery-ui/ >> > [2] http://simple-dusk-6870.herokuapp.com >> > [3] http://simple-dusk-6870.herokuapp.com/htmlviewer >> > [4] http://simple-dusk-6870.herokuapp.com/services.html >> >> >> [5] http://code.google.com/p/restfulobjects-js/ >> >
