Shion 2.1 Updates

XEP-0050 Support

Shion work is continuing and I’m getting close to releasing a 2.1 beta (probably sometime this weekend). Below the fold, updates on the following topics:

1. Shion XMPP support.

2. Shion online service.

3. Electric Meter.

Please keep reading.

As mentioned above, work on Shion 2.1 has been proceeding at a furious pace. This week’s major project has been adding and testing XMPP support in the application. I’ve tried to make Shion a good XMPP citizen and as such it implements the following extensions:

XEP-0030: Service Discovery

XEP-0050: Ad-Hoc Commands

XEP-0054: vcard-temp

XEP-0092: Software Version

XEP-0108: User Activity

XEP-0153: vCard-Based Avatars

XEP-0202: Entity Time

As the product develops and it makes sense, Shion will continue to adopt more extensions (such as XEP-0255: Location Query). I’ve tested the software with a variety of clients and it interoperates with most of them quite well.

My current effort is being spent on defining and implementing the device’s ad-hoc command vocabulary. As the screenshot above shows, it already knows quite a few commands. My task over the next week or so will be to wrap that work up in addition to adding any missing commands to the dialog interface. Since the learning and infrastructure is all in place, this is mainly a matter of connecting the dots.

Once the XMPP interface is complete and running, Shion will encounter an important decision point. The original (and still current) plan to continue to fund Shion development was to set up an online service and use subscription revenues to fund the product’s evolution. As I fully expected, merely selling the application to end users for $35 is not a sufficiently predictable revenue stream that will sustain the application’s development in the years ahead. By building a complementary online service and using that as source of income, I figure that I would be in much better shape financially than relying upon software license sales alone.

Since the XMPP cat is out of the bag, my vision for online service consists of a central XMPP server that manages connections between Shion (the application) and web-based and native clients. The public facing part of that service would be a custom web client that speaks XMPP to provide control through desktop and mobile browsers. As long as a Shion user subscribes to the service, they would have control over their environment wherever they had an IP address. That’s the basic idea.

However, since XMPP has proven to be such a capable protocol, there is far less custom server work than I expected, and consequently Shion is perfectly capable of using vanilla XMPP servers for operation. The central question that I face is whether to allow this functionality or limit Shion to communicating with servers that Audacious Software owns and operates. Currently I am contemplating two options:

1. Only allow Shion to talk to Audacious Software XMPP servers and bill users for the ability to control their environment in this manner using a subscription model. (The original plan.)

2. Introduce a “Pro” version that can talk to any XMPP server and is priced somewhat higher than the current version.

These are not mutually exclusive, and I may end up pursuing a combination of the two. What I am not currently considering is providing the XMPP functionality as a free part of the current $35 package.

For the sake of discussion (this is all hypothetical), let’s assume that the Shion online service is priced using the following formula: $1 for each device controlled using the online service monthly. Controlling 12 devices? Pay $12 per month for the privilege. In terms of Shion “Pro”, assume that it is priced somewhere around $150 (this is competitive with Indigo Pro).

The pro version frees you from paying a subscription fee, while imposing a larger up-front cost for the software and also requiring you to run your own XMPP server. The online service route gives you remote control of your environment without the hassle of setting up servers, keeping them up to date, building web interfaces, and so on.

Given this information, what is your reaction as a (current or potential) Shion user? I’m interested in your reactions.

While I continue to debate the question above, I am still proceeding with plans to build an online interface for controlling Shion over the web. As part of this effort, I am planning to implement the Electric Meter application as a component or widget in the Shion online service. I figure that there is quite a bit to be gained by doing it this way, as opposed to implementing a dedicated desktop application. Three advantages: share & compare your usage with others (e.g. Microsoft Hohm and My Carbon Footprint), take advantage of an online database of devices and their electrical footprints, no need to port to new platforms (Windows).

Because of this shift in development plans, Electric Meter will not be coming out this summer, but will instead be launched some time after the Shion online service is available and stable. I don’t know if anyone really cared about this particular product at this point in time, but if you did, you have my apologies for the delay.

Since this post is getting quite long, I want to wrap it up by offering anyone who read to this distant point to set up with a free XMPP beta account if you are interested experimenting with any of the remote control features I discussed above and in previous posts. When I release a beta of Shion 2.1 within the next week, you can use this account to connect Shion to a variety of XMPP clients for true remote control. These accounts will also allow you to get a sneak peak at the Shion online service when a beta version becomes available. I’m only offering a limited number of these accounts at the moment, so if you’re interested, don’t delay and mail shion@audacious-software.com with the following information:

1. A preferred username and (temporary) password for the account.

2. Where you are planning to use the XMPP features, what software you are using (until a native Shion XMPP client becomes available).

3. A description of your current setup: how many devices, what types, your controller model, etc.

4. A description of the computer you are using with Shion: OS version, PPC or Intel, etc.

After I receive this information, I will send you the account details and instructions to get set up. This is a win-win for both of us: I get information about how this service is used “in the wild”, and you get an original piece of technology that allows you to do something pretty cool and novel.

-Chris, Shion Code Monkey