As far as my understanding goes, Crqouet uses Embedded application Framework like RFB aka VNC to talk to non-squeak applications. This works only when you need to open a doc/pdf/image from a server through browser either firefox/Openoffice/evince.
But how do you fireup a desktop say a notepad/netmeeting from Croquet environment. First of all is it feasible? Do we need to write Squeak adapters to marshall in/out from say calling Windows APIs..to get it working.. How do i call Windows APIs..basically ? how do i approach this complexity? Thanks for info... Kiran |
Andreas' TEmbeddedApp framework is neutral with respect to where the app
is running, where state is stored, what arguments go to the app, and whether those communications with the app are replicated. The email snippet I've included below gives examples of two very different points in the solution space: One is to a VERY local app -- text within the same Squeak session in which Croquet is running. In this case, you know that all participants have Squeak, so you know that they have the software needed to run the replicated app. The other is to a single VNC server that each participant is going to communicate with through separate channels. In this case, you assume that all participants can reach the same shared server over the net. You can do something in between -- where each participant is going to communicate with an application local to their own box. I haven't pursued this approach myself because I don't want to worry about what box my user is on. ("All running 'Windows'" is a meaningless specification.) There are probably a couple of ways to do this, including: operating system "shell" communication, pipes (well, maybe not on Windows), FFI (foreign function interface, perhaps to ActiveX libraries?. Croquet uses this internally), plugins that you write, which abstract out the operating system differences to provide a common interface for Squeak code. The [hidden email] community (and http://squeak.org) will be a good resource of info on these. HOWEVER.... Why spend time writing a whole new thing? Why not just run a VNC server on one of your Windows boxes? It might not be satisfactory, but then you'll have a clearer idea of what design issues actually matter in your use case. And maybe it will be Good Enough(TM). In such a prototype, you will have to deal with the issue of where the external application is going to get its data files from, but you're going to have to deal with that anyway. ALSO... Why on earth would you want to run Netmeeting (or any of the myriad incompatible and unsatisfactory replacements) inside of Croquet? What problem are you really trying to solve? kiran wrote: > As far as my understanding goes, Crqouet uses Embedded application > Framework like RFB aka VNC to talk to non-squeak applications. This > works only when you need to open a doc/pdf/image from a server > through browser either firefox/Openoffice/evince. > > But how do you fireup a desktop say a notepad/netmeeting from Croquet > environment. First of all is it feasible? > > Do we need to write Squeak adapters to marshall in/out from say > calling Windows APIs..to get it working.. How do i call Windows > APIs..basically ? how do i approach this complexity? > > Thanks for info... > > Kiran Howard Stearns wrote Re: [croquet] using croquet as an interaction platform for issue tracking ???: > On Jan 10, 2007, at 3:35 AM, Hussayn Dabbous wrote: >> ... 3.) Is it possible to connect a Croquet Viewing portal with a >> terminal program, i.e. putty ? > > Yes. > > The core technology for this is a class called TEmbeddedApp. There > are several examples in the SDK of how you can program various kinds > of embedded applications. The KAT demo let's you interactively create > two kinds: > > + A simple text panel from the underlying Squeak environment. What's > really happening is that each Croquet participant receives the same > input (mouse and keyboard) for the text panel, which is passed on to > a 2D Squeak text window "outside" of Croquet, and the result > displayed within Croquet. The Croquet code built on top of > TEmbeddedApp manages the state of the text panel within Croquet, so > that anyone joining late can get the correct state for their local > Squeak. > > + A full Virtual Network Computing (VNC) client viewer, connecting to > an external server. The VNC client is also built in 2D Squeak, but > maintains its own separate TCP Socket (outside of Croquet) to the > common external VNC server. In this case, the shared session state > is maintained by the VNC server, and the Croquet code built on top of > TEMbeeddedApp deliberately avoids replicating input to the embedded > app (the remote VNC server) so that you don't get multiple > characters. > > Your Putty terminal example is somewhat between these two. But since > VNC is a superset of what you need, it's a good way to prototype > something. > > For example, you could display a Web browser with an issue tracker in > one, and a terminal emulator in another. You could also use the > simple text panels as a free-form issue tracker, or later build > something more specific that would be programmed to communicate > separately with Scarab or other programs. Howard Stearns University of Wisconsin - Madison Division of Information Technology mailto:[hidden email] jabber:[hidden email] voice:+1-608-262-3724 |
Free forum by Nabble | Edit this page |