views:

121

answers:

2

So, someone want me to hack some code for him. He has a 42" TFT display on which he will display some application/business related data.

However, 75% of the screen real estate is unused, so he wants to fill it with "TV/adverts/flash/you know, that kind of thing... web based....".

Any advice? Do I want an embedded web-server? If so, which? (he wants free & open source, or as cheap as possible) Do I display it in a browser? (duh! probably, dude) But I don't want/need a menu, address bar, toolbar, etc - it should be full screen (does that mean "kiosk mode"?).

Sorry, folks, the requirements are not clear, but I hope that you can guess what he probably means (he is not very techie). How should I proceed with this? Thanks.

+4  A: 

I am working on such a display system, although ours already quite evolved, with support for multi-screen, multi-user and a lot more.

A few hints :

  1. We use firefox with the "full fullscreen" extensiton (https://addons.mozilla.org/fr/firefox/addon/1568) that allows to not display any menu bar, status bar etc. and to automatically start Firefox in that mode. Then you just need a startup script to launch firefox specifying the right URL when the machine is started.

  2. Our system is web based, but as a multiscreen system it has one server and several client PCs connected to the server via HTTP, and each one to a TFT screen via VGA cables. If you have only one screen you could install the browser and the web server on the same machine. Only restriction : we use wake-on-lan from the server to the clients to automatically start the display every morning. This will not be possible with a single machine system !

  3. To give you some ideas, the display mechanism basically works like that : first, the browser loads a html page with lots of javascript (that javascript constitutes what we will call the "client application".) This client application is written using the Prototype.js library (just an indication, there are many other possibilities). Then the client application asks the server for the content to be displayed. That content is passed as a JSON stream representing a playlist of objects (images, videos, text news, etc.). The client app displays each object in the playlist sequentially. The objects stay displayed for a specific duration (lots of setTimeout in the code). The transitions use effects from the Scriptaculous library (fade-in, fade-out...). When all objects have been shown, the client asks the server again for the playlist (in case changes have been made), and the process starts again. There is actually never a full reload of the page.

Then we also have a multi-content mode, where the screen is separated in various zones that are updated separately.

For one machine and a realtively static system (i.e. no GUI to add content), maybe you could implement that mechanism in a local site accessed via file://... The whole "intelligence" of the system would be in the javascript. That would save you the server part. I see one possible restriction : I think flash can't play video files from the client's machine (security restriction) so check this if you plan to use flash videos.

Well, I hope these few ideas can help you. Good luck !

Pierre Henry
Hmmm, I like that. just have a browser, so server. Full screen with no menu/status bar, etc is a must. There will be multiple physical screens, each of which will may have the same information displayed plus the same TV/flash, etc - or, to keep it flexible, we might show different info and different tv/flash/etc on each screen (which just shows that each screen shows a different page). Presumably you are using HTTP server push? http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push Thanks for your help!!! (I prefer PHP to JS)
Mawg
Actually we don't use HTTP push. As I said we have a Javascript client application that pulls the data from the server whenever it's needed. How do you plan to plug multiple screens on one PC ? We already had trouble to get the right screen resolution with only one screen with some screen models... And few are the graphic cards with more than 2 VGA/DVI ports.
Pierre Henry
A: 

Get one these

They offer a VESA mount for it I think if the screen your using supports that.

Full screen firefox would be one option.

A more flexible option would be a full screen QT app written in the language of your choice using the webkit widget for display, this would likely make flash content more difficult.

As for the content, i would put a LAMP setup on the fit pc. Build the web page using whatever feeds you want and just display the web page aka http://localhost

Alternatively you could host the "web parts" of the display on a standard web hosting server and display the data coming in on RS-422 in a separate QT widget.

Mark