Giter VIP home page Giter VIP logo

Comments (41)

pubblisoft avatar pubblisoft commented on June 12, 2024

Chrome App client driven:

I have already developed three years ago an app built-in chrome for digital signage, but it was not a good solution. In public place there is not enough interaction control with chrome and a javascript chrome app works slowly. Basically it's hard to build a safe kiosk in chrome.
An issue was: what i can do in the chrome crash case ? The most of the time I needed to connect to terminal services to reboot chrome.

I learned that I can not trust in a viewer that controls itself, especially if there are users touch interactions.

from xibo.

pubblisoft avatar pubblisoft commented on June 12, 2024

Chrome App signage:

https://github.com/cooperhewitt/chromecast-signage

or

chromecast.com by google

or

https://code.google.com/p/risevision/source/checkout

or

http://www.novisign.com/android/android-based-digital-signage/

... anymore ?

from xibo.

pubblisoft avatar pubblisoft commented on June 12, 2024

Xibo should provide the protocol specifications for create a generic client able to comunicate with xibo server. Xibo server should provide an infrastructure to: design, schedule, manage permissions, templates etc.
Everyone should be able to make their own client with capatibilities to manage regions, levels, positions. I could write a simple client (c++, javascript, .net etc) that get web media regions from the server: the client will inherit the web page interactivity without any other changes. In that case the client app will manage the lifecycle of the application and web component render the interactive contents.
I would like to spend my time to create a real cross-platform application with interaction capatibilities: the 80% of work has been done, because xibo server works well. The really needed thing is to have a client side protocol specifications.

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

Xibo contains a WSDL that explains the interactions between the player and CMS, and should also provide a Schema for the XLF (the layout XML sent to the player).

I totally agree with you that everyone should be able to make their own client - that would be great. However 99% of the user base have no interest in making their own client, all they want to do is download and use a solution that works and is free (cheap).

That is the ethos Xibo was born with and why we have developed the .NET and Pyclient players - unfortunately the Pyclient player didn't work out and the .NET player is built on ageing technology (I started coding it in 2006!).

What we want is a new client that can run cross platform and has an understanding of XMDS and XLF that rivals the current offerings.

I take your points about building signage that runs within a web page - Xibo started out as a .HTA application in 2004, which we of course abandoned due to all the problems you mentioned. However, Chrome Packaged Apps is a long way from a simple webpage and I have yet to see a better proposition for a client that could integrate well with the way Xibo functions (native content augmented with web content).

We have looked at:

  • Air
  • Python-QT
  • C++
  • WPF

I am happy to work with you on the XMDS specification (the WSDL is a great starting point) and the XLF schema. We will be looking to enhance both XMDS and the XLF schema to support things like monitor control, interactivity, etc, so we will need a detailed map of the current situation before we start anyway.

from xibo.

pubblisoft avatar pubblisoft commented on June 12, 2024

My previous version of DS client was built on Air/chrome javascript app software. Beginning June 14 2011, Adobe AIR is no longer supported for desktop Linux distributions. I will upload on github that client.
I agree to doc. the XMDS / XLF as first step. I can start to do that. Please let me know where sync the doc on git.

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

I suggest forking the wiki (very empty at the moment) https://github.com/xibosignage/xibo.wiki.git, adding the pages and then letting me know here where they are - I can then pull them in to the main documentation, making any necessary corrections as I go.

Sounds OK?

from xibo.

pubblisoft avatar pubblisoft commented on June 12, 2024

yes,ok !

from xibo.

Speedy-Gonzalez avatar Speedy-Gonzalez commented on June 12, 2024

In your blog post you wrote "Unfortunately the Python Player development has been fraught with problems and limitations"

Is there no chance these limitations and problems could be fixed?

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

Well, there is always a chance :)

The big problem is that Xibo uses a lot of web content, because people want to show web content. Libavg is very good at displaying video and image content, but before Xibo did not support displaying web content at all.

We helped develop the libbrowsernode addition to libavg, with the help of the folks over at libavg HQ, but it was never that reliable and always a pain to build (hence the requirement for 10.04 until recently).

Unfortunately we just don't have the expertise required to keep libbrowsernode up to date or actually to keep 2 separate clients up to date (libbrowsernode never worked on windows).

In short it would have to:

  • Become more reliable (libbrowsernode)
  • Become more portable within Linux
  • Become usable on Windows

If those are things that can be achieved, we'd be more than happy to keep it!

from xibo.

pubblisoft avatar pubblisoft commented on June 12, 2024

i agree that libavg is not the best way for render web content.

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

It is also interesting to say that the current windows player suffers with some of the same problems, although the .NET WebBrowser control is more reliable (but not cross platform). 1.7 started the integration of the CEF browser control, which also has its own problems.

from xibo.

pubblisoft avatar pubblisoft commented on June 12, 2024

the windows player on linux should be use with mono, for the moment.

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

Unfortunately it is not that simple, the windows player uses activex for flash, video and the webbrowser control for webcontent (which marshals IE underneath).

None of those things work on Mono.

from xibo.

martialgallorini avatar martialgallorini commented on June 12, 2024

What about writing client based in openFrameworks ? Free, open source, C++, multimedia oriented, cross platform...

http://openframeworks.cc/

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

I don't see support for web content (perhaps I am missing something!)

At first glance it looks a lot like libavg in terms of focus and feature set.

from xibo.

martialgallorini avatar martialgallorini commented on June 12, 2024

there is a lot of addons which are not included in the core framework and i always find them to be of very good quality. Maybe you can find something useful there. See official addons page : http://www.ofxaddons.com/

from xibo.

nagyrobi avatar nagyrobi commented on June 12, 2024

Maybe move with everything to HTML5 and use any browser in kiosk mode? On any OS?

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

We are leaning heavily towards that, except we'd want to wrap it in something a little more managed (like chrome packaged app, or firefox extension, simple application hosting a browser control, etc - or all of them).

That being said openframeworks.cc does look interesting.

from xibo.

martialgallorini avatar martialgallorini commented on June 12, 2024

using openFrameworks, i would recommend going with ofxUI addon to design user interface :
http://www.syedrezaali.com/ofxui/

from xibo.

pubblisoft avatar pubblisoft commented on June 12, 2024

... there is a good kiosk extension for Opera browser (it's most used for digital signage) , but the problem of clients built on browser is: what can we do if something changed in the browser and the plugin doesn't works anymore ?

from xibo.

nagyrobi avatar nagyrobi commented on June 12, 2024

I'd say that the layout itself should be able to be shown directly without any extension. The extension should provide just the extra things like remote screenshot.

And since the displays use dedicated PCs, one should perhaps delay updating the browser to the latest version until xibo supports it.

from xibo.

martialgallorini avatar martialgallorini commented on June 12, 2024

Qt (http://qt-project.org/) seems also a very good alternative with its cross platform ability. Using Qt/QML to build the application for desktop and mobile. There are great multimedia features + a good integration of Web see QtWebEngine : http://qt-project.org/wiki/QtWebEngine#5ef787a743aaa025fb1edb5f7086eab1

The problem may be the license though

from xibo.

freibuis avatar freibuis commented on June 12, 2024

has any one tried to port the windows version over via mono or god forbid run the installer on linux via wine?

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

@freibuis one of the issues is that the current implementation of the windows player is at its end of life - its build on Windows Forms which means we are limited with the visual things we can do. It also uses ActiveX to hook into Windows Media Player, etc which won't work on Linux.

@martialgallorini We've explored Qt before and hit several brick walls - we've not had massive time on it, so they may be "overcome-able".

@nagyrobi - this is in line with our current thinking, use HTML5 for rendering as a lot of modules are already rendered in this way, but wrap the whole thing in a more controllable technology - where this will fall down is video.

from xibo.

Speedy-Gonzalez avatar Speedy-Gonzalez commented on June 12, 2024

For me the PowerPoint feature is very important. I hope a new cross-plattform player could still come with this feature.

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

I think it would be highly unlikely to be honest - supporting PowerPoint basically means being tied to Internet Explorer and to a technology that can spawn ActiveX to embed internet explorer in another application - I think that would mean sticking with what we have, which isn't an option.

I had though that an Office application that plugged into PowerPoint and automatically uploaded videos to Xibo may be a workaround - but I have no idea if that is possible and even if it would be sufficient for peoples needs.

from xibo.

pubblisoft avatar pubblisoft commented on June 12, 2024

I do not think that the support for Powerpoint will become a problem. There are various solutions regarding the PowerPoint viewer implemementation:

  1. to use openoffice API : https://wiki.openoffice.org/wiki/API
  2. to use a chrome extension like: https://chrome.google.com/webstore/detail/docs-pdfpowerpoint-viewer/nnbmlagghjjcbdhgmkedmbmedengocbn?hl=it
  3. to use a chrome extension like: https://chrome.google.com/webstore/detail/office-editing-for-docs-s/gbkeegbaiigmenfmjfclcdgdpimamgkj
  4. to use a javascript extension: http://viewerjs.org/examples/
  5. simply embed in to html5 web page: http://stackoverflow.com/questions/39855/embed-a-powerpoint-presentation-into-html

... search for more solutions googling...

from xibo.

martialgallorini avatar martialgallorini commented on June 12, 2024

I would prefer a standalone application, but if you prefer using a webapp, between openFrameworks (which i really love !) and HTML/JS there is another great tool used a lot by creative coders called Processing (https://processing.org/) . It is open source, and of course cross platform, based on Javascript and supports a lot a multimedia formats, PDF, XML, OpenGL, python and a great bunch of additional libraries. It is also possible to embed the app into web page using ProcessingJS (http://p5js.org/)

But because it is an interpreted language which needs a runtime environment, it might use more ressources than an openFrameworks app though. Might be an issue for full HD video player but never tested.

from xibo.

pikseng avatar pikseng commented on June 12, 2024

There was an earlier xibo java client project.. Why not continue from there using JavaFX?

from xibo.

freibuis avatar freibuis commented on June 12, 2024

I think its time to drop support for power point. Its nice to have, but not worth holding back the client.

I believe the client should be able to work on any platform with out any baggage.

maybe a tool that can read powerpoint and create a html5 slide show or output as mp4/webm. Lets face it. powerpoints are not that interactive.

from xibo.

nagyrobi avatar nagyrobi commented on June 12, 2024

I'm currently struggling to display some presentation created on http://prezi.com/ and the only way to do it in a fashionable manner and offline is to make a Full HD fullscreen screencap at 25-30fps and save it as an MP4 video file. That should be the way to go with powerpoints too imho...

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

I totally agree - we try to encourage people to export powerpoint as MP4 where-ever possible. An office plugin that made that process simple might just be enough to get people to switch over.

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

JavaFX might be a contender...

from xibo.

stanleysct avatar stanleysct commented on June 12, 2024

Hi,

Is there a way we get Xibo Android source code?

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

No, sorry. Xibo for Android is a proprietary software and protected by licence and copyright law. Its the main thing keeping this project alive in terms of funding and without it the project would cease.

from xibo.

pb7892 avatar pb7892 commented on June 12, 2024

What could be the problematic issues about creating a Xibo Linux player fully installable as a deb package for Ubuntu or any Debian like OS ? Working on a chrome kernel about the web contents and VLC for other media contents ?

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

😄 you make it sound simple

The saying "the devil is in the detail" is most appropriate here - there are lots of options and lots of ways this can be done... we've tried 4 different ones now and they all have their pros and cons.

Given we have no expertise with C++, we are leaning towards either JavaFX or Chrome Apps with a slight preference for JavaFX.

from xibo.

debain avatar debain commented on June 12, 2024

Another solution (not a replacement for a "real" cross plattform desktop client!) i am currently testing:

  • Use chromium with --kiosk --remote-debugging-port --noerrdialogs --incognito
  • Remote control chromium with crconsole (https://github.com/sidorares/crconsole) and then display fetched/cached html/js content

Scripting chromium - didn't test it and i am not sure if it is possible to compile on all plattforms: http://breach.cc/ (and http://tampermonkey.net/ or http://www.greasespot.net/ for userscripts)

This is how i keep software running on linux (Answer one - http://stackoverflow.com/questions/696839/how-do-i-write-a-bash-script-to-restart-a-process-if-it-dies):

until myserver; do
    echo "Server 'myserver' crashed with exit code $?.  Respawning.." >&2
    sleep 1
done

Interaction with remote controled browser or disabling some input on linux would be easy (event device/hid/etc), for example https://github.com/billroy/bitlash-commander is implemented in nodejs

from xibo.

fogsag avatar fogsag commented on June 12, 2024

https://crosswalk-project.org/

from xibo.

riondluz avatar riondluz commented on June 12, 2024

Hi Dan et al:

I'm late to this thread and also #27 (interactivity), both of which are of serious interest to me. i indend to post my thoughts on the matter on the community forum. Either as a new post or in reply to others of like mindedness. But I wanted to catch-up with the github posts before going there.

I have 0 interest in windows for anything and i realize I am likely in the minority, but would like to contribute to that end. Having built Lib_Browsernode's libberkelium from source and understanding (mostly) the reasons for transiting to CEF is a large undertaking and good reason to pause to design a better client.

I saw your comment on the difficulty of maintaining two client players and would like to forsee a time when
LAMP dev grows strong in the community at large because windows does not hold 1/2 a candle to linux
in any regard (solely the opinion of a LAMP programmer and sysaadmin).

I've been side-linded for a bit, and am in process of up'ing to 1.6.0 server, and get up2speed with CEF
and have high hopes for its future. I look forward to seeing more on the 'community' forums!

Thanks for everything and my finding a place/people of like-mindedness (pubblisoft, Speedy-Gonzalez, martialgallorini, et al)!

from xibo.

dasgarner avatar dasgarner commented on June 12, 2024

Great - we look forward to hearing from you (all of you in fact!)

Please don't take my short replies in the wrong way - I just have a lot to read though 😄 it will be great to discuss with you on the forums.

With that in mind I have summarised here: https://community.xibo.org.uk/t/replacement-player-for-the-discontinued-ubuntu-python-client/77

from xibo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.