Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: The browser as a (simple) window manager. (Updated)

by MadraghRua (Vicar)
on Dec 15, 2010 at 21:59 UTC ( #877392=note: print w/replies, xml ) Need Help??

in reply to The browser as a (simple) window manager. (Updated)

Have you considered looking at things like Matlab or Stella or Neurosolutions? As I understand your thread you want to have an element of simulation in there that can be displayed or modified during the simulation. Matlab does provide a means to generate the algorithm to run the data through. There may also be a windowing environment other than your offerings that it can run on. Stella is another simulation offering that comes with a runtime viewer. Perhaps worth checking out what they do and some research on how they were developed. on the few occasions I have done this I've usually gone outside of Perl to another windowing environment.

yet another biologist hacking perl....

  • Comment on Re: The browser as a (simple) window manager. (Updated)

Replies are listed 'Best First'.
Re^2: The browser as a (simple) window manager. (Updated)
by BrowserUk (Pope) on Dec 15, 2010 at 23:46 UTC

    Thanks for the links. Of those, I'd only ever heard of MatLab.

    For the type of plotting I'm interested in, these highly sophistacated products are overkill. With sophistication, comes complexity and learning curve. were they free products, they might be worth considering, but this isn't important enough to sepnd money on. I already know how to produce the types of plot I am interested in using the simple API of GD. It does all I need.

    The only addition I am looking for is the ability to watch the plots evolve in real-time, rather than only seeing a static image of the final result. To this end, the browser and Canvas tag can provide this ability, and has a sufficiently simple api that the learning curve is minimal.

    The final parts of the task, and that I was asking about, are:

    1. Avoiding the need for a webserver.

      This is fairly easily achieved by running a simplified server in a thread, that can server to the browser, but without the need to be able to service more than one concurrent client. And without imposing the stateless nature of http on the interactions.

    2. Avoiding the need to write code in another language (Javascript).

      I intend to achieve this by proxying the Canvas API within a perl object that talk to the browser via the server-in-a-thread.

    I'm still working out how to do handle push within the (minimal & standardised) Javascript that will be served along with the HTML; and getting to grips with ajax for the browser interactions, but it just takes time.

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://877392]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2018-05-28 10:41 GMT
Find Nodes?
    Voting Booth?