Firing Non Sqeak say windows desktop applications

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Firing Non Sqeak say windows desktop applications

KiranMutt
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
Reply | Threaded
Open this post in threaded view
|

Re: Firing Non Sqeak say windows desktop applications

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