Hi Guys,<br><br>I've also been contemplating an alternative html5/js client, and as far as I remember, Alon proposed an extension to spice-server to actually contain a http server to serve the content to the browser. <br>
But it seems like a too big project to take on alone :)<br><br><br clear="all"><div>Best Regards,</div><div><br></div>Attila <br><br><br>-----------------------------------------<div>DTU Computing Center - <a href="http://www.cc.dtu.dk" target="_blank">www.cc.dtu.dk</a></div>
<div><a href="mailto:attila@cc.dtu.dk" target="_blank">attila@cc.dtu.dk</a>, <a href="mailto:gbaras@student.dtu.dk" target="_blank">gbaras@student.dtu.dk</a>, <a href="mailto:s070600@student.dtu.dk" target="_blank">s070600@student.dtu.dk</a></div>
<div><br></div><br>
<br><br><div class="gmail_quote">On Wed, Mar 28, 2012 at 7:05 PM, Jeremy White <span dir="ltr"><<a href="mailto:jwhite@codeweavers.com">jwhite@codeweavers.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I, like many before me, am interested in seeing a spice client on other<br>
platforms. Things like Mac OS X, iOS, Android, HTML5, and so on.<br>
<br>
I've spent a bit of time researching what has gone before, and thought<br>
I'd try to summarize what I've found. Mostly that will show my<br>
ignorance and hopefully smarter people than I will rush to correct me<br>
and I'll learn something <grin>.<br>
<br>
I gather that the primary focus of Spice development is around the spice<br>
gtk client. That currently provides clients for *nix and Windows<br>
systems. Spice-xpi lets you launch the client from a web browser so you<br>
get some modicum of browser integration. libvirt integration lets you<br>
launch the client from vm managers, and related systems.<br>
<br>
Spice-gtk and spice-common is where all the action is. The interesting<br>
spice implementations are all in c code.<br>
<br>
A proof of concept Mac implementation with Gtk has already been done. In<br>
theory, that's a straight forward, if potentially unsatisfying, solution<br>
for the Mac. iOS and Android pose a much more substantial challenge,<br>
however.<br>
<br>
I didn't see any evidence of active work on alternate platforms - if I<br>
missed that, please both accept my apologies and fill me in.<br>
<br>
So, as I look around for ways forward, I've considered the following<br>
options:<br>
<br>
1. Native versions for all<br>
<br>
This is probably the most satisfying option, but requires fairly<br>
meaty work for Mac, iOS, and Android. It also doesn't satisfy<br>
the zero-installation I-want-it-in-my-browser people. It also<br>
imposes a long term maintenance challenge.<br>
<br>
<br>
2. HTML5 to rule them all<br>
<br>
This, afaict, requires a complete SPICE client written in<br>
Javascript. This is no small task, and creates a fairly serious<br>
maintenance challenge. The client is still evolving<br>
fairly rapidly, and synchronizing two code bases will be tricky.<br>
<br>
It's also not clear if HTML5 can deliver the kind of performance<br>
we all crave.<br>
<br>
But, if a functional client could be implemented, it<br>
would effectively solve all the alternate platform issues, right?<br>
<br>
<br>
3. Chrome / Pepper / Native Client<br>
<br>
This approach would reuse the spice-common code, presumably,<br>
and is a bit of hybrid. It would be part Javascript, part<br>
C code. It would have similar, if more modest, maintenance<br>
issues. It would also only support Chrome (afaik, no<br>
other browser has adopted the Native Client vision).<br>
<br>
I saw one person on the mailing list propose this, but I saw no<br>
actual action on it.<br>
<br>
<br>
4. Use gtk/Broadway<br>
<br>
On the face of it, this would appear to be a compelling option.<br>
Just rebuild the client to use the broadway backend, do some<br>
server side footwork, and you have a solution similar to the<br>
HTML5 vision. But you have one code base.<br>
<br>
But then I realized that having broadway working on a remote<br>
server just recreates the problem that spice is meant to solve,<br>
once again serving to remind me of my own stupidity :-/.<br>
<br>
I can't find any reference to this being considered in the<br>
mailing list archives, and a broader search finds me lots<br>
of spicy restaurants on Broadway Ave :-).<br>
<br>
I can't help but feel that there may yet be something clever<br>
that could be done with broadway; I'm probably wrong, but it<br>
feels like a string I should tug on.<br>
<br>
<br>
<br>
I did discard the concept of a Flash client; I feel that's not really a<br>
good long term solution.<br>
<br>
So all that leads me to conclude that the best path forward would be a<br>
Javascript / HTML5 client implementation.<br>
<br>
So now, please bring out the clue bats!<br>
<br>
Did I miss some implication of the libvirt connection? Can an alternate<br>
client solution be leveraged instead?<br>
<br>
Other thoughts?<br>
<br>
Thanks,<br>
<br>
Jeremy<br>
_______________________________________________<br>
Spice-devel mailing list<br>
<a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
</blockquote></div><br>