PDA

View Full Version : Squeezebox Jive Software Platform



rtitmuss
2007-05-01, 15:48
Logitech’s Streaming Media Systems group is pleased to announce a beta release of our Jive software platform, designed to power the development of remote control applications for Squeezebox and Transporter. The key highlights of the Jive platform are:

• Jive Browser, a resolution and color-depth independent renderer that allows us to power a wide range of display types, from monochrome VFDs to full color LCD screens.
• Jive UI, a new, Lua-based, scalable user interface that can be completely customized by anyone familiar with Lua, a powerful, open-source scripting language.

While speculation will likely be rampant as to what this means from a hardware perspective, please understand that Logitech has a policy of not discussing our future hardware plans. We are providing the Jive software platform to our developer community so that you can begin to integrate it into your future plans.

We will be opening up a new forum, and creating a new bugzilla category to support the community’s development efforts. Our engineering team will do their best to be available on the forum to help you with questions and technical issues but their time is limited so we appreciate your patience.

You can find the Jive software and related documentation at http://wiki.slimdevices.com/index.cgi?Jive.

We’re excited to see your reactions and ideas about what can be done with the Jive platform, and we look forward to working together with you. Thanks for all your support!

Fred
2007-05-01, 16:14
Your first step to become "familiar with Lua", as Richard puts it, should be the home page of the language at http://www.lua.org/.

JJZolx
2007-05-01, 16:24
While speculation will likely be rampant as to what this means from a hardware perspective

I'm much more interested in what it means from a software perspective. The level of activity in SlimServer development has fallen off considerably since the release of 6.5 and the takeover by Logitech. The lead software engineer has left the company without a replacement. Bugs in SlimServer are now addressed by tech support and seldom get assigned to a developer. Discussions about the future of SlimServer no longer take place in public. It's looking more and more each day as if SlimServer is being deprecated.

Fred
2007-05-01, 16:33
I'm much more interested in what it means from a software perspective. [...] It's looking more and more each day as if SlimServer is being deprecated.

Richard said:


[...]our Jive software platform, designed to power the development of remote control applications for Squeezebox and Transporter.

I'm not sure what you read in there that hints anything about a dark future for SlimServer. If you check the beta software out, you'll see it connects to SlimServer to browse and control the players.

I don't know Logitech future plans, but for sure this release is not a step towards SlimServer obsolescence.

Fred

NigelMSB
2007-05-02, 01:21
I'm not sure what you read in there that hints anything about a dark future for SlimServer.FredI'd like to hope there isn't anything in there (and in the foreseeable future, I don't think there is), but:

- it is called the "Squeezebox Jive Software Platform" in the wiki (not the "SlimServer Jive Software Platform").
- The Jive client isn't open source (see http://svn.slimdevices.com/repos/jive/trunk/jive/src/pkg/jive/LICENSE). I suppose this ties in with all recent hardware clients being closed, but does make me wonder.

It's exciting stuff, at any rate.

iwp
2007-05-02, 06:54
The Jive client isn't open source (see http://svn.slimdevices.com/repos/jiv.../jive/LICENSE). I suppose this ties in with all recent hardware clients being closed, but does make me wonder.

What an interesting license.

Firstly, it's dated March 2007, which suggests that Logitech's Lawyers have put it together explicitly for use by the streaming media division. Kudos to Logitech for not rigidly imposing their existing culture onto Slim.

Secondly, it's not quite open source. Logitech are keeping the right to distribute it to themselves (though anyone can go and download the source). It's an interesting half-way house that allows Logitech to publish source code without giving up patent rights etc.

I wonder if (and hope that) this is only an interim license for the Jive "beta", while Logitech sort out any IP concerns they might have, and when it comes out of beta it'll be GPL or something else?

autopilot
2007-05-02, 07:46
I am very interested, yet very confused. What exactly is this all about?

Is this A) What will will see displayed on future Squeezebox units, using a color screen rather than the current VFD?

Or B) A new way to control/compliment the Slimserver/SB, which can be integrated into Harmony like remotes (to take on Sono's in the remote front)?

Or C) The beginning of A full/part replacement server software system, marking the beginning of the end for Slimserver as we know it?

Forgive me for being dull, just what to know what this all really means for us end users?

seanadams
2007-05-02, 07:47
iwp,

Yes, it is a new license. It is effectively very similar to the firmware license for the original SLIMP3 source code, and is not an "open source" license per the FSF definition. Primarily its purpose is to allow people to do most of the things that are possible with open source software, but to limit other products from using the code by not allowing redistribution.

As you may know, in the past we looked for ways to open the Squeezebox firmware, but due to architectural issues combined with incompatible terms in a number of other component licenses (Ubicom, Microsoft, and more) it was not feasible. However, Jive was designed from the ground up for this license strategy - long before the Logitech merger, in fact. Although the license itself may be subject to revision, there are no plans to move to GPL.

iwp
2007-05-02, 10:49
Sean, thanks for the clarification - even though it does of course raise more questions than it answers! It's a shame you're not planning a real open source license. But I shaln't press any further.

Except to note that this technology sounds like it will allow us to write smart (scripted) extensions which can be scaled and rendered on anything: perhaps a TV/monitor, perhaps a Nokia-style device, perhaps a Harmony or Sonos-type remote, perhaps a next-gen SqueezeBox display, and even perhaps existing Squeezebox hardware.

If you folks have pulled that off, then you've worked a small miracle. You can take the Squeezebox hardware in pretty much any direction you like without having to reimplement the entire UI code. Plugins need only be written once and should just work on whatever hardware the platform gets ported to.

NigelMSB
2007-05-02, 14:27
- it is called the "Squeezebox Jive Software Platform" in the wiki (not the "SlimServer Jive Software Platform").On further reflection, this looks to me as much about branding as anything else. We have SqueezeNetwork and a Jive screenshot shows "Squeezebox Jive". From a user's perspective, Squeezebox is where it's all at, so it makes sense.

peterw
2007-05-02, 15:50
- The Jive client isn't open source (see http://svn.slimdevices.com/repos/jive/trunk/jive/src/pkg/jive/LICENSE). I suppose this ties in with all recent hardware clients being closed, but does make me wonder.


What is the point of Section 6 granting IP rights from developers to Logitech, and placing a burden on developers of providing modifications' source to Logitech when Section 3 prevents developers from distributing changes to others? Section 6 suggests that Logitech could at any time contact me and demand that I give Logitech the source for any Jive modifications/plugins I've written, and any IP rights associated with those changes, even though my modifications are only on my personal system(s).

Even though Section 2 says I can only use the Jive source for personal use[0] and Section 3 says I cannot distribute modified source, Section 11 suggests that I can't even make changes on my own system unless I adhere to Logitech's trademark guidelines???

Section 3's assertion that the Jive software "constitutes and contains trade secrets of Logitech..." also seems odd. And Section 9's assertion that a broad range of information Logitech might convey to me should be covered under a Non Disclosure Agreement seems heavy-handed.

This license does not seem conducive to the sort of development community that SlimServer has enjoyed, as developers could not share Jive code with each other directly. Only Logitech could release any Jive software publicly. It also explicitly eradicates one of the GPL's nicest provisions -- the GPL allows users to make any changes they see fit, no matter how great, and *not* give the source code changes to anyone else, so long as the user does not distribute any software based on the GPL code to another party. Not only does this license forbid me from freely sharing code with others, it forbids me from making strictly personal/private changes, too.

So not only could I not easily make code to address others' requests ala http://forums.slimdevices.com/showthread.php?t=32801 but the license discourages me from addressing my own desires.

Perhaps these terms could be improved, or someone with stronger legal abilities could explain to me the error of my analysis, but this doesn't look like any license I'd want to accept. I'd rather *not* see the Jive source code and have access to some sort of SDK that would allow distributing plugins under free licenses like the LGPL.

-Peter

[0] This phrasing is very odd: "solely for personal use only, whether commercial or non-commercial"

oreillymj
2007-05-03, 08:48
There's a difference between the content/intent of a license and how that license is enforced.

From what Sean has said, the idea is to free up the I.P. as much as possible for community involvement without giving away all rights so that competitors cannot piggyback on the work of Slim/Logitech/contributors as has happened in the past.

erland
2007-05-03, 09:56
Which communication interface is used between Jive and SlimServer ? Does it use CLI, SlimProto or some totally new interface ?

mherger
2007-05-03, 10:20
> Which communication interface is used between Jive and SlimServer ? Does
> it use CLI, SlimProto or some totally new interface ?

It's CLI over HTTP using JSON. Have a look at the new Jive plugin.

Michael

seanadams
2007-05-03, 11:57
I'd rather *not* see the Jive source code and have access to some sort of SDK that would allow distributing plugins under free licenses like the LGPL.

Peter,

I can't immediately speak to all of your points, but with respect to the intent of the license there are some issues that should be clarified. I expect that we will modify it in the near term as we gain a better understanding of how third parties will want to use Jive, so your feedback is very important at this stage.

Our goal is that the LPSL would apply only to the code which is written largely _by Logitech_, i.e. the core runtime engine, plus the bulk of the lua code which makes up the main application. Separable applets not derived from LPSL code could be released under whatever license the developer chooses, in the same way that a Linux application need not be under the same license as the kernel. In fact, we plan to release several applets ourselves which will be under true open source licenses, so that developers can readily use them as starting points to create their own.

rtitmuss
2007-05-03, 11:58
Which communication interface is used between Jive and SlimServer ? Does it use CLI, SlimProto or some totally new interface ?

As Micheal said Jive uses the CLI serialized in JSON/HTTP. An important point to mention is that we are using HTTP push. This means that events (for example pressing play on the remote, track changes, etc.) are sent to the Jive application without any polling.

Currently the Jive application uses the 'artist', 'albums', etc. cli commands, but Fred is planning on implementing a more generic 'browse' command. This will allow the content displayed on Jive to be controlled by slimserver and slimserver plugins.

It possible that the JSON/HTTP interface could also be used with AJAX to improve the slimserver web interface. Michael is looking if this is possible.

erland
2007-05-03, 12:14
Currently the Jive application uses the 'artist', 'albums', etc. cli commands, but Fred is planning on implementing a more generic 'browse' command. This will allow the content displayed on Jive to be controlled by slimserver and slimserver plugins.
I'm guessing that all the details isn't sorted out yet, but I presume that I will be able to hook in plugin stuff in similar way as I do with the player and web interface today ?
Most of my plugins has a CLI interface if that matters.

When you talk about generic browse command, I would also love to be able to hook in my Custom Browse plugin in some way into the Jive interface into the standard browse menus. Custom Browse basically provides new very flexible and configurable browse menus compared to standard SlimServer, it currently doesn't have any CLI interface but I have that on my plan.

I guess I'll have to download the Jive stuff and try it out to get a better feeling how it works.

mherger
2007-05-03, 15:18
> It possible that the JSON/HTTP interface could also be used with AJAX
> to improve the slimserver web interface.

I could give you impressive screenshots, but don't have code to share, yet
:-).

--

Michael

-----------------------------------------------------------------
http://www.herger.net/SlimCD - your SlimServer on a CD
http://www.herger.net/slim - AlbumReview, Biography, MusicInfoSCR

peterw
2007-05-03, 20:01
I can't immediately speak to all of your points, but with respect to the intent of the license there are some issues that should be clarified. I expect that we will modify it in the near term as we gain a better understanding of how third parties will want to use Jive, so your feedback is very important at this stage.

Our goal is that the LPSL would apply only to the code which is written largely _by Logitech_, i.e. the core runtime engine, plus the bulk of the lua code which makes up the main application. Separable applets not derived from LPSL code could be released under whatever license the developer chooses, in the same way that a Linux application need not be under the same license as the kernel. In fact, we plan to release several applets ourselves which will be under true open source licenses, so that developers can readily use them as starting points to create their own.

Thanks, Sean. This is very reassuring. In that case, the trade secret & NDA language in sections 3 & 9 are the most troublesome parts (I have no problem with the idea of trade secrets & NDAs for real secrets, but it seems a bit much to make such claims on source code that's on a public subversion server), and I look forward to seeing a Jive download with a more liberal EULA -- maybe compiled Jive binaries along with those sample applets?

Thanks!

tommypeters
2007-05-03, 23:42
There's a difference between the content/intent of a license and how that license is enforced.
There shouldn't be.

just
2007-05-04, 05:08
Compile and run without any problem on my OpenSUSE 10.2, however I have not yet test SlimServer connection.
I was working on a SDL/CLI browsing/remote application for my Sony PSP, now, it seems that I should try to port the Jive platform on the PSP ;-)

Fred
2007-05-04, 11:46
When you talk about generic browse command, I would also love to be able to hook in my Custom Browse plugin in some way into the Jive interface into the standard browse menus.

Would you mind joining me on the main Dev forum to discuss how this could be best achieved from your perspective?

I checked Custom Browse, impressive!

Fred

erland
2007-05-04, 12:52
Would you mind joining me on the main Dev forum to discuss how this could be best achieved from your perspective?

I checked Custom Browse, impressive!

Fred
Sure, if you already have some ideas you want comments on, start a thread in the Dev forum regarding this and I'll give you my opinions.
If not, I can try to think this through a bit and post my thoughts in the Dev forum sometime during the next days.

Smiley Dan
2007-05-15, 06:17
So... can you actually play music through this or is it just a remote control?

dean
2007-05-15, 08:02
On May 15, 2007, at 6:17 AM, Smiley Dan wrote:
> So... can you actually play music through this or is it just a remote
> control?

At this point, it's only for control, but if playback were added in
the future, it would be a great replacement for SoftSqueeze on the
desktop.

Smiley Dan
2007-05-15, 08:53
Hi Dean.

In my unqualified opinion I think this is a big area the SlimDevices products can improve upon.

People have talked elsewhere about some TV/audio out function. I think the motivation of displaying a UI on a big screen is sound (ultimately such an interface will always best a small screen a few inches wide) and I think linking that into some high end audio/cinema is where we want to be (read: where I'd like you to be ;) ).

However, I don't think this is best done by having a TV out option and yet another AVx channel you have to cycle through. All this stuff is solved/being solved by MythTV, Linux MCE, Windows MCE, iTV etc etc already in the sense of the platform they offer for living room accessibility. All the above are best at offering a platform, they cannot compete with the SlimServer in terms of features, knowledge about the domain and customisations already written (as an extreme example: MythMusic v SlimServer... no contest really).

That's why I think you'd be best off targeting such platforms with plugins which then integrate into the SlimServer backend/SqueezeNetwork and so on. I've always dreamt of a proper MythTV plugin for SlimServer but no one else has written one and I don't have the time to learn QT and write it.

That said, I guess you kinda like the revenues from Squeezeboxes and you may not wish to jeopardise those.

dean
2007-05-15, 09:00
Hi Dan,

I couldn't agree more. One goal for the Jive UI is to scale to a
variety of screen sizes and run on a bunch of platforms.

We're just getting started now. Richard's working on some changes
now that will make the Jive application window dynamically resizable
and local audio playback is on the roadmap.

Stay tuned and if you can, feel free to pitch in!

-dean

erland
2007-05-15, 10:03
I've always dreamt of a proper MythTV plugin for SlimServerMe too, I have even thought about writing something myself but haven't got the time and inspiration yet.

Smiley Dan
2007-05-15, 10:20
Someone was posting about it on the MythTV lists a few weeks ago although only as a remote control. I emailed him asking to go the whole hog but he didn't reply. Maybe I scared him off.

Thinking about it, I think it was you Erland :D

erland
2007-05-15, 11:01
Thinking about it, I think it was you Erland :DYes it was, I'm still thinking about it. Sorry I didn't give you an answer.
I have been busy refactoring the code in some of my plugins the last months, making the code easier to maintain. Unless someone else does it before me I think I will give it a try sometime. It was about ten years since I wrote C code, so I'll just have to gather some inspiration and finish of some SlimServer plugin stuff first.

I'll start a new thread for this discussion in the 3rd party plugins section.

thomaskr
2007-10-16, 11:38
On May 15, 2007, at 6:17 AM, Smiley Dan wrote:
> So... can you actually play music through this or is it just a remote
> control?

At this point, it's only for control, but if playback were added in
the future, it would be a great replacement for SoftSqueeze on the
desktop.

Yes, it seems like rather an underutilisation of a powerful bit of hardware to merely use it as a remote control. The additional function of a personal house-bound (or, rather Wifi-bound) MP3/JPEG/video player would help justify consumer purchase decisions, as I assume this would not be an inexpensive product at retail.

smc2911
2008-01-31, 02:17
We're just getting started now. Richard's working on some changes
now that will make the Jive application window dynamically resizable
and local audio playback is on the roadmap.

Stay tuned and if you can, feel free to pitch in!

-dean
Maybe I'm getting a bit carried away here with future-gazing, but given that the Jive hardware takes an SD card, once audio playback comes along it would be nice to be able to download tracks (say a playlist) onto the SD card so that playback can continue to function away from the Wireless network.

funkstar
2008-01-31, 03:16
Maybe I'm getting a bit carried away here with future-gazing, but given that the Jive hardware takes an SD card, once audio playback comes along it would be nice to be able to download tracks (say a playlist) onto the SD card so that playback can continue to function away from the Wireless network.
Yeah i think that is entirely possible. It's just a question of software and development time.

patrija
2008-01-31, 16:58
I have a Crestron system and honestly don't know the HW/SW well enough ... that's what my programmer is for. Might it be possible to run Jive on a Crestron TouchPanel, perhaps a TPS-4L?

Speed
2008-02-02, 12:00
That would be nice, but Crestron's firmware does not allow any 3rd party applications to be installed on their products.