Hi Guys,<br><br>I&#39;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">&lt;<a href="mailto:jwhite@codeweavers.com">jwhite@codeweavers.com</a>&gt;</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&#39;ve spent a bit of time researching what has gone before, and thought<br>
I&#39;d try to summarize what I&#39;ve found.  Mostly that will show my<br>
ignorance and hopefully smarter people than I will rush to correct me<br>
and I&#39;ll learn something &lt;grin&gt;.<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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;t help but feel that there may yet be something clever<br>
      that could be done with broadway; I&#39;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&#39;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>