Suitability of Panda for a dashboard

Hi, some general questions before I dive into Panda3D,

I am tasked with a dashboard application, accessed by browser only, that displays data in real time. The client app will be getting data pushed down from the webserver, and displaying changes as if it were a stereo equalizer with moving level graphs. It also needs to send messages back to change configuration on the webserver.

Q1) Does Panda3D require a browser plug-in, or it that optional?

Q2) Any obvious problems using Panda to build such an app?

thanks for your patience,

John

Hi, someone more experienced can probably answer your questions better, though:

Q1. To run inside the web, panda requires a browser plugin. However you can also pack your application into a standalone .exe that will install into windows (see this section in the manual for more information: https://www.panda3d.org/manual/index.php/Distributing_Panda3D_Applications)

Q2. I see no immediate problems with this type of project, something such as flash may work better depending on what you are trying to build (just a web interface to a server?) Do note that you will have to handle the networking, be it handled by sockets or some sort of XMLRPC library of some sort, it is certainly do-able however.

The runtime is needed if you distribute it as a p3d file, which can be in a browser but can also be run like a normal application. Panda apps can also be packaged as stand alone applications.

Pandas and python own networking should be able to do what you want.

Thanks,

So for any socket connections and real-time messaging I’d have to roll my own using standard Java libraries?

I don’t want to be refreshing the HTTP page every time there is a change in some gauge - thats why I thought a game engine might be a slick environment to develop in.

just trying to be clear. BTW I am also looking at JMonkey and DimensionX.

I originally wanted Flash/Flex but for sensible and silly corporate reasons thats not so desirable any more.

thanks

John

Actually, no java is necessary. Standard python distributions (such as panda3d’s) include ways for XMLRPC which would be the faster, easier fix. There is also my personal favorite, pythons socket interface, which is basically a low level interface to cross-platform sockets.

you can find information on these here:
XML RPC:
http://docs.python.org/library/simplexmlrpcserver.html
and sockets:
http://docs.python.org/library/socket.html

Also to make socket programming easier, there is an asynchronous socket manager called asyncore, I’ve never used it, I hear it’s good at what it does though.

http://docs.python.org/library/asyncore.html

Another idea is to use threading (please note only on the server) and have one thread per user, to manage each user.

Python most certainly can do what you want. Aswell panda3d.
I only question if it is the best language for what you are trying to build, the reason I suggested flash or java, as you suggested, is that those are more standard plugins already found in peoples computers today. If you’re aiming to build a 3D video game over the web, panda3d is a gods send.

If you’re just aiming to build some sort of web-based server manager, you may want to use something like ajax (my dad swears by it, I’ve never loved it though) or flash (I would use this, unless licensing is an issue of some sort or you want iphone support (in which case ajax is the only true option)) Java of course, is another option, and that is found on peoples computers today as well. The question becomes, what language are you comfortable with? Are you hiring people for this can you can choose any language? Are you doing this yourself, and you love a certain language?

I would think about which language your programmer(s) are comfortable with, and then choose the best way to do it based off that.

As I said before, in no way am I swinging a bat at panda3d, I enjoy this engine with all my life (literally) I am only questioning what people may think about your application when they have to download a game engine plugin to use your server administration panel… :unamused:

Actually, no java is necessary. Standard python distributions (such as panda3d’s) include ways for XMLRPC which would be the faster, easier fix. There is also my personal favorite, pythons socket interface, which is basically a low level interface to cross-platform sockets.

you can find information on these here:
XML RPC:
http://docs.python.org/library/simplexmlrpcserver.html
and sockets:
http://docs.python.org/library/socket.html

Also to make socket programming easier, there is an asynchronous socket manager called asyncore, I’ve never used it, I hear it’s good at what it does though.

http://docs.python.org/library/asyncore.html

Another idea is to use threading (please note only on the server) and have one thread per user, to manage each user.

Python most certainly can do what you want. Aswell panda3d.
I only question if it is the best language for what you are trying to build, the reason I suggested flash or java, as you suggested, is that those are more standard plugins already found in peoples computers today. If you’re aiming to build a 3D video game over the web, panda3d is a gods send.

If you’re just aiming to build some sort of web-based server manager, you may want to use something like ajax (my dad swears by it, I’ve never loved it though) or flash (I would use this, unless licensing is an issue of some sort or you want iphone support (in which case ajax is the only true option)) Java of course, is another option, and that is found on peoples computers today as well. The question becomes, what language are you comfortable with? Are you hiring people for this can you can choose any language? Are you doing this yourself, and you love a certain language?

I would think about which language your programmer(s) are comfortable with, and then choose the best way to do it based off that.

As I said before, in no way am I swinging a bat at panda3d, I enjoy this engine with all my life (literally) I am only questioning what people may think about your application when they have to download a game engine plugin to use your server administration panel… :unamused:

Great answer.

Yeah I have some limitations, so Flash which was my first choice is now not so attractive.

I am not a python guy, so what you said there is extremely helpful, and I’ll be looking at that today.

The P3D plugin is not a good requirement in a corporate tool, I agree.

Don’t know if this topic still interests you, but after a cuppa and some reflection, I see that I must not have explained my problem well enough.

here is a Comet&Ajax explanation that exactly hits what I need to do.
freeliberator.com/comet/
With Comet, Ajax techniques would work. And maybe this would be the fastest path to my goal.

I can’t see yet how python would work at all since I need to run this in a browser at the client side. The requires Java or Flash AFAIK unless Javascript can do the socket connections. I can’t ask clients to install python and run a python app.

John