- To provide a simple and consistent way for users to extend the content and functionality of their Squeezebox products & software using a community-developed Wiki framework.
Dean renamed this to SqueezeWiki, but the name Sqwiki (pronounced "squeaky") has been suggested.
Ben: My issue with calling it "SqueezeWiki" is that it sounds like that's the whole wiki, when in fact we are building a wiki-powered addOn engine that comprises only a small subset of our wiki.
Dean replies: Maybe it won't be a small subset. That depends on how clever our OPML exporter is. :)
There are many types of content that will be managed by this framework:
- Web Skins
- Sound sets
- Radio stations
- RSS feeds
- Image feeds
A common publication site for the addOn library will be necessary, and MediaWiki should be able to be groomed to fit this purpose with a modicum of effort.
Security and Integration
- We need to find tools for MediaWiki to support managing permissions to edit pages.
- How do we handle checking security/stability of these items?
- Is there a user-rating system that we can add to rate pages?
- do we need to police copyrighted material?
With structured content in place on the wiki, the next step is to develop a means for SqueezeCenter, and by extension SqueezeNetwork, to access these items and present them to the user.
The proposal is to have an OPML view of the Wiki content that can be browsed by SqueezeCenter/SqueezeNetwork.
That OPML can include references to content (RSS, Podcasts, etc) as well as plugins/applets for SqueezeCenter, SqueezePlay and the Controller.
Needed: A plugin/exporter to OPML from the wiki.
An extension to OPML is needed to refer to installable resources/packages. The metadata would express what platform the package is targetted to.
When the user selected a package to install, the server would offer to push it to the user/device.
Once browsed via infobrowser/xmlbrowser, the user will choose an add-on to install.
I propose that all skins/wallpaper/sounds/programs are all packaged using an extended applet framework.
An interface will be needed on SqueezePlay/Controller to confirm the installation, show progress for download and install.
- Should "sounds" only be packaged as full sets, or will the user be able to download individual sounds for a given effect?
- Some applets will be controller-specific, some will be (perhaps) desktop-specific, and some will be both. What will be required to differentiate them?
Using the XML/OPML browser web UI, the user can browse the SqueezeCenter Add-On hierarchy and choose a package to install. This would trigger a download confirmation screen that the user would confirm before the plugin package was installed.
Proposal: Skins would be packaged as Plugins.