Announce: CQC 1.3 Release Imminent

Dean Roddey

Senior Member
Charmed Quark Software is proud to announce the 1.3.4 release of CQC (the Charmed Quark Controller), its software based control and automation system. CQC is the brains that supplement the brawn of your PC network, to create a powerful, secure, network distributed, highly visual, and highly robust system for management of hardware devices and software applications. With the addition of the need ports (IR, serial, contact, etc...) to a general purpose PC, CQC can provide you with control and automation services on par with far more expensive traditional automation systems. It also has strong home theater front end services, providing a powerful mixture of front and back end services, all in one package. CQC supports the Windows XP, 2000 Server, and 3000 Server family of operating systems, with others coming.

Version 1.3 is a quite extensive step forward from the previous (1.2) version, particularly in the area of graphical capabilities, user interface features, new features of particular interest to the HTPC owner, as well as major new features in the traditional automation category.

In the remainder of this document some screen shots will be provided. These are of the current CQC demo system. Please note that there is nothing about these images that is intrinsic to CQC. They were created using the CQC interface designer, using arbitrary images gathered up by me because I thought they provided an attractive interface. You may create interfaces with any look and feel you want, so just be aware that these interfaces are purely examples. Note that they are also pretty significantly reduced in quality in order to avoid download overhead

What's New Overview

This section will briefly introduce the major new features in this version, some of which will be discussed in more detail later in this document.
  • Scheduled Events. In the area of traditional automation features, a new optional component provides support for scheduled events. You can schedule one shots, every X minutes or hours or days, or on particular days of the week, month, or year.
  • Text to Speech. There is now support for Window's text to speech services, so you can make the computer talk to you, to make announcements or whatever other use you might have.
  • User Drawn Interface Improvements. There have been extensive improvements to the user drawn interface system, which will be discussed in much more detail below.
  • New/Improved Drivers. There are new drivers for the Lumagen Pro/HDP video scalers, the Lutron Radio RA lighting system, The Weather Channel's XML data feed, and significant improvements in the Lexicon MC-12 and X-10 drivers. The application control system also has some significant improvements.
  • New Image Sets. The first two sets of pre-fab images for the user drawn interface system are provided in this release, for DirecTV channel logos and Weather Channel 'condition' icons, and there are new user interface widgets specialized to deal with them.

Click here for a full sized version

Text to Speech

The new text to speech support is provided in two different ways. The CML (macro language) runtime has a new class to support this feature. This class allows you to invoke speech, and control voices used, from your own control macros. This mechanism will invoke speech on the machine where the macro is actully executed.

There is also a text to speech driver which allows you to invoke speech on other machines. CQC is a fully network distributed system and you can have drivers (both to control devices and to provide services such as text to speech) installed on any machine in the network. By providing a text to speech driver, CQC allows you to make any machine in the network speak. This can be very useful in many cases.

In addition to just providing support for the speaking of lines of text, the driver provides some interesting additional features. You can have it repeat a phrase periodically, a reminder for instance, every X seconds.

Also, you can have it do a 'countdown'. In other words, you can have it repeat a phrase every X seconds, in which there is a replacement parameter that is replaced by a current count. You can set that count (in seconds) and the driver will start counting down the seconds to zero, repeating the phrase and placing the current countdown value into the text.

Though I like to use it to do "This apartment will self destruct in 30 seconds", "This apartment will self destruct in 20 seconds", type countdowns, to scare my neighbors, you can use it for things such as a countdown for disarming a security system, or other situations of that type.

User Interface Improvements

Significant work was done on the user interface system in this release. Many of the improvements are useful for the adminstrator of the system, by making it easier to create user interfaces, but the sexy ones of course are all the visual goodies. This section will discuss some of these changes, and provide some example demo interfaces, to help graphically demonstrate the new features.

Note that the example interfaces displayed here use a scheme commonly employed in CQC, which is to have a single main interface, and to have a set of buttons that load up various smaller interfaces into a central area. All the buttons in the Options section to the right load up 'overlays', which are just smaller interfaces, into the central area of the main image. This both saves time by allowing you to provide common functionality once, and allows for more flexibility in reuse of sets of overlays that provide access to common types of functionality


Click here for a full sized version

Alpha Transparency
You can now use both constant alpha and source alpha transparency. This allows you to blend images into the background in interesting ways. It's a key means of creating very sexy looking displays. In the above example, you can see the volume knob is blended into the background, so tha tthe texture shows through. Also, though it's really only apparent in the full size image, the current button is using alpha to become brighter and more transparent.

Another nice use of transparency is to do a set of buttons (such as numeric) that have no color of their own, i.e. they are just gray scale, and which therefore can be used on pretty much any background and displayed slightly transparently. This makes them pick up a little of the underyling background's color, so that they look like they are designed for that background, but are really just generic.

Input Focus
The interface viewer now has the concept of input focus, which it did not previously. This allows you to navigate around with the arrow keys and invoke buttons with the enter key. To support this, buttons now allow you to indicate focus in a few different ways.

If you are using images for your buttons, then there is a new 'focus' image option, in addition to the 'unpressed' and 'pressed' images. In the examples here, this is the scheme used. Actually the same image is being used, but its transparency options are different. So as you arrow around, the active button lights up nicely and becomes more transparent.

If the button doesn't use images, but it uses flyover emphasis, that will be used. Flyover allows you to have some visual attribute change when the mouse is over the widget. So far the only attribute supported is the text color. If you notice in these examples, the active button also has brighter text because the mouse was over them when the image was snapped. But if the button doesn't use images, the focus mechanism will use this flyover color change to indicate emphasis as well.

If you have neither of those, then a default red 'emphasis cursor' is displayed, which is just a rounded box around the button.

Interface Driver
There is also now a CQC device driver for the user interface viewer. This means that you can, among other things, drive the user interface focus movement and button invocation via an IR remote. The driver allows you to do arrow up, down, left, and right, enter, and to invoke the blanker.

For those folks who are displaying the control interface on their projector, this is obviously of great utility if they don't want to use a mouse to navigate the control interface. Of course for general IR control you can just train CQC to invoke macros upon receipt of an IR signal. Since you are talking to an IR reciever driver running under the CQC service, you don't have to be logged on to invoke these types of IR driven events.

DirecTV Logo Widget
There is now a specialized image display widget for DirecTV logos. You can see it in the above example. You just associate it with the 'Channel' field of a DirecTV set top box, and it will automatically display the logo for that channel (if it is available.) This is a very helpful 'power assist' type tool. You could do the same thing using the existing capabilities, i.e. the 'mapped image' widget, which allows you to set up the mappings from a field value to the image displayed, but it would be tedious for such a large number of images. With this new widget, you just pop one into the interface and all of that is handled for you.

Nested Overlays
Though these examples don't demonstrate it, overlays can contain other overlays now. This is very convenient when you want to create, as discussed above, overlays that provide common chunks of functionality. Previously, if that functionality required the ability to load up overlays, you couldn't do it in a template that would be loaded as an overlay.

The interface system will insure that you create no recursive links, and the viewer will automatically remove any offending overlays if that would happen. They only work 'downward', so a link button in an overlay can only target a child overlay, not one above it. This also promotes the building of 'standalone' overlays that can be reused and insures you don't do anything wierd.

Hierarchical Image Repository
All the images used in user interfaces are uploaed to CQC's image repostory (on the master server) where they are available to any other machine on the network running (or desinging) interfaces. This repository used to be a flat list, but it is now hierarchical, so you can much better arrange and categorize your images. It also allows Charmed Quark to deliver pre-fab image sets without possible name clashes. All CQC images are in the /System scope, and all user images are now in the /User scope.

The standard file browsing dialog has been extended to support image preview, so it can be used to browse the image repository just like it is a local disk, and you can see thumbnails of the images as you browse.

Weather Data

There is a new Weather Channel driver, which allows you to pull in data from the Weather Channel's XML data feed. This is something that has been on the list for some time, and it is nice to finally get it into place.


Click here for a full sized version

In this example, you can see the display of current conditions, plus 3 days of future condition forecasts. You can also see the use of another new specialized image widget, which understands the Weather Channel 'condition codes' and displays the correct icon for the reported conditions.

What the Future Holds

As you can see, CQC has made some major steps forward with this new release. It has always arguably had the most extensive back end tool set of the major software based control system, and now the front end is moving forward to the same level of power, and more of course is to come. The next major steps will be happening in two areas, 'power assist' tools and pre-packaged hardware based systems.

There will be a fairly quick followup release, probably a month from now, which will not introduce any major new features, but will concentrate almost completely on tools which assist you in the installation and configuration of the system. This is a major undertaking and the first cut of these tools won't be the ultimate versions, but it will be a major start, and will be improved significantly in subsequent releases. These tools will walk you through the steps of installing the system, choosing installation options, getting devices under control, setting up IR control, and generating some standard user interfaces so that you can get going quickly with a quite nice system, and then take your time to learn and tweak the system to be exactly want you want.

There is also a big movement here towards beginning to provide CQC pre-packaged in hardware. This will be accomplished in a few incremental steps. Firstly, we will start offering CQC in a very small form factor system with attached touch screen, pre-configured with the needed hardware, and if you are interested in such services, pre-configured with drivers for your devices. These initial systems will be general purpose PCs running XP, just slimmed down and dedicated to this task. This will be happening very soon.

Next we will be moving forward into more touch screen systems, based on Embedded XP, with a wireless touch screen running the interface viewer and a controller system in the closet/rack controlling the devices. This will be a higher end system of course, for those folks who don't want a directly attached touch screen.

And finally we will be moving into a fully custom designed enclosure for a wireless touch screen, and either a rack mount or custom cased PC in the closet or rack handling control, or a fully 'no moving parts' appliance type controller in the closet or rack, for those folks looking for fixed function but highly robust control systems.

We will also be moving into the WinCE world here soon, so the user interface client will be available on things like PocketPCs or other smaller touch screen devices for wall mounting. This will be an incremental move, with more and more of the user interface functionality being supported as we move forward. But a core set of features will be available initially. Because of the massive difference in screen real estate between a normal 12" or 14" or 17" touch screen and a PocketPC, and the differences in capabilities between a desktop/XP system and WinCE systems, you'd probably always being designing interfaces specifically for these small clients anyway.

All of these systems will be well under half the price of what you would pay for a Crestron system of similar utility, so they will provide very high bang for the buck for customers who want to move into the control world, but don't want to pay huge bucks just to get the hardware, or pay someone huge bucks to set up the hardware once obtained. The software only version will still be available as a separate product for those who want to roll their own, or who already have a robust network infrastructure in their home that they want to build on.

I will also let everyone know that CQS will soon no longer stand for Charmed Quark Software, but Charmed Quark Systems, Limited. We have now incorporated, and soon the web site will have a new look and feel and we'll have a spiffy new logo for the new company, and I'll be changing over to the new name in all my postings.


Click here for a full sized version

What's Available

CQC consists of a 'base package' and a number of optional packages. The base package provides all that most folks will need, though in some cases they might want to pick up one or two optional packages.

The base package provides the following features:
  • Network distributed front and back end architecture
  • User drawn interface development and deployment tools
  • IR control
  • X-10 control
  • Serial and socket device control
  • Macro development tools
  • Device driver development tools (what would be called 'plug ins' in some systems)
  • Security and user management
The optional packages available as of version 1.3.4 are:
  1. Scheduled Events Server. As discussed above allows you to schedule events to occur at regular interfaces.
  2. Application Control. If you want to control other applications as though they were devices, then you need to get the application control system. It allows applications to be managed via standard CQC device drivers, so that they integrate cleanly into the CQC system (within the natural limits imposed by the fact that applications are often not designed to be controlled.)
  3. XLM Gateway Server. Provides a simple XML over Sockets interface into the CQC system, to support third party clients.
Other optional packages will be made available over time. The purpose of structuring the system in this way is to allow the core functionality cost to be kept reasonable, and to only ask you to pay for those less common features that you really need, and to keep system requirements down where that is an issue.

Give it a Try

CQC is available for use in trial mode for 30 days, without any encumberances. So you can fully evaluate it for a month without commitment. If you decide to buy at any time within the trial period, you can convert your existing trial system into a fully licensed system without any interruptions.

CQC is also safe to try. It does not install any system files, or modify your configuration in any way except to create some start menu items and to create a small registry entry. It also creates a service, but all of the files it uses are within the CQC directory. So if you decide not to commit, just use the uninstaller and it can be completely removed without any danger of destabilization of your system.

So feel free to give it a try and see if suits your needs. CQC provides a lot of functionality, all under one roof, where it can be managed and configured as a whole, and where the pieces are designed from day one to work together seemlessly and will continue to do so into the future. You don't have to master multiple systems and tie them together yourself, and hope that they do not diverge at some point, leaving you in the lurch, nor do you have to worry about the security of multiple systems not designed to provide comprehensive built in, user based security.

CQC can adapt to scenarios from a locked down, kiosk mode system, up to a "PC based and not ashamed of it" full home network in which every machine is a CQC node, so it is applicable to many sorts of control system topology and usage patterns, and can change easily over time because of the flexible nature of software based systems.

CQC is licensed on a network basis. So the price is basically for a license to run the 'master server' on one machine. You can then run the other client and server components on other machines in your network as desired. So the price compared to some other options is more competative than it might seem once you move off a single machine configuration.

If you have any questions, don't hesitate to contact us at [email protected], or you can register on the CQC support forums and join the growing comemunity of CQC users, many of whom can provide you with help and practical experience.
For those of you who prefer a more minimalist look, you can easily create that as well. Some comments on the screen caps above (as usual) lead me to believe that folks think that that is the 'look' of CQC, but CQC has no 'look', you create a look that you want to have. These aren't 'skins' that are layed over a fixed set of functionality. They are completely created screens, created using built in designer tools, as would be the case in a high end automation system, where the customer wants a given set of interface features and the installer must be able to create them.

Just to give an example, here is an adaption of the weather channel overlay from above, which took me about 5 minutes to adapt to a completely different look and feel, which is of course similar to another product recently released. I'm not trying to step on their toes, just trying to make it clear that you almost always can create screens that fit your particular ideas of 'cool'.

Ok, version 1.3.4 is now posted and available for download. So give it a spin and let me know what you think. Comments and criticisms are always welcome.
Definately looks nice. It appears you can make your own interfaces which is nice. What resolution did you design your default interface(s) for? I'm lazy so default tends to work best for me! hehe
Those aren't really defaults, they are just demos. There aren't any default interfaces shipped at this time. CQC primarily targets the custom installer, who will create their own sets of common interfaces for use, so so far we've not attempted to provide any default ones (due to the completely open ended nature of CQC it would hard to do.)

But, as mentioned in the posting above, the next release will be almost completely related to providing a lot of tools to help you do the installation and then to ask you a lot of questions to find out what devices you have, and then to generate some default macros and interfaces for you. We are doing this so that we can better target the DIY market.

A couple of other things which got partially completed but not fully so they couldn't go into this release, is the ability to export and import interfaces, to allow users to exchange interfaces amongst themselves, and so we can hopefully build up a library of them that you can download and import.

And also a 'theme' system so that, if you do still want to build your own (and many people will because it lets you create exactly what you want), you'll get a default set of attributes for the widgets so that you end up with a particular look in all of them without having to do the work to apply those styles yourself.

So, what you want is coming, but as of now you'd have to create your own interfaces.
Thanks for the follow up. I definately looks like a very nice interface. I think you'll get a lot of milage out of the theme concept for the interface. How many nerds out there will push a star trek theme out to all their friends. I would be there might even be some decent coin in creating custom interfaces for clients.
I would be there might even be some decent coin in creating custom interfaces for clients.

Definitely so in the custom installation market, which is CQC's primary market. Probably less so when selling through to the end user, but possibly some amount there as well.
So what do you think of this? This is CQC running on a HushPC, with a Planar 15" touch screen LCD on it.


This is a hardware platform that we are thinking of delivering as our initial non-software-only type product. The first scenario will be pretty straightforward, just stripped down XP and with a hard drive. But we think we can deliver a diskless system in this same enclosure as well, for a 'no moving parts' type system.

The HushPC is fanless and as long as it's not hitting the hard drive, and it would hardly ever do so in most CQC operations, it makes no noise at all. You can see the elaborate heat sinks on the side, which actually look pretty cool as well. It's also available in a silver finish for those folks who want it to be a visual element in and of itself.

The planar is a 15" with USB based touch screen. It works just fine with the finger, and has a few mounting options. This one shows the standard desktop top mount. In my own use, I'll put the HushPC on the shelf under the table top but I wanted to put it on top for this picture so that you could see it, and just sit the planar on the table top.

But you can also wall mount it and run the cables to it through the wall. And it has a moveable arm type mount so that you can flip it out in front of you and then push it away when you are done with it.

It has 4 serial ports built in, and 4 USB ports, so many folks wouldn't need any outboard serial or USB ports. You can see a USB UIRT there just under the touch screen, which is being used for IR receiving in this case. The IR blasting is done via a GC-100 over ethernet, and there's a USB based multi-port serial box over in the rack. So in my case I didn't need the serial ports, though I might end up using them at some point.

But with the placement options available (with ethernet, USB based outboard ports, or long video/serial (touch screen) runs, you could go either way. I.e. you could do it like me, or put the HushPC in the rack and do a video/serial run over to the touch screen mounted near the couch, and use the onboard USB/serial ports of the HushPC for device control.

Anyway, comments are welcome.
We haven't fully worked that out yet, so I'll have to get back to you with a final answer. As you can imagine it's a tricky thing. Set it too low and you'll have no real revenues to get to the next step, and set it too high and it will impede purchase.

But, very roughly, and this is subject to change, it will probably end up somewhere in the $3250 to $3500 range, according to options. This of course covers the hardware as discussed above, CQC license (probably for all available options), and installation, configuration, and packaging labour, and will likely include some sort of support agreement (the support for the software-only version, because of its extremely low cost, is on a best effort basis), and one of the IR options (less for the USB-UIRT and a bit more for a GC-100 based scenario.)

Clearly some folks will prefer to just buy the parts and do their own, and that's certainly doable. It's a matter of what you feel your time is worth, and how technical you are. And there is the matter of warranty. Buying the pre-fab version gets you a warranty, while doing your own does not, other than that associated with the software itself.

It is very competitive with Crestron systems of similar functionality, and unlike them it can be expanded for minimal cost, whereas Crestron systems make you pay out the nose when you start adding card cages and new ports and such. This system can be expanded fairly straightforwardly via external ports. So the growth path is pretty low as you move into the future, and of course it's software based nature will mean easy growth in capabilities over time as well.

And this box will serve as the master server of the CQC network, so you'll be able to run client tools on other machines in the network, to create a fully networked system, or even run multiple of these types of boxes (though only one is the master) to provide localized control while still maintaining fully networked access to all devices under CQC control within the home.

But we'll be setting the price officially here soon as we work it out and get some real world use of the product in this form to see how it does, and what configurations work best and so forth.
BTW, I should add that this is a system in which the controller itself is an attractive piece of equipment, since many people will have it out front. A considerable amount of the cost of this one is in the HushPC enclosure, but we also have the option of a configuration with a very simple, very unattractive controller for going in the rack or closet, which will have a lower price. We are starting off with this one, since we think it will be a popular option. Lots of people want to have a sexy looking box out front for control purposes. But we'll be exploring the other options as well.
In response to requests to make it easier to draw interfaces, I've been adding a lot of new conveniences to the user interface designer for the next release, including multiple selection (so you can drag, move, size, copy, paste, etc... multiple widgets), and I'm just about done adding 'theme' support (which was discussed above.) This allows you to select from a set of pre-fab themes which will apply attributes to new interface widgets you create, in order to create a coherent look without your having to do anything in terms of visual attribute setting.

Here are the first two I've done. Now that the code for the theme system in place, I can whip out some others pretty quickly to provide a nice little starter kit for the next release. I hope to have may 8 or so of them for the next release, which should provide enough variety to cover a lot of people's tastes. And of course you can tweak the widgets after you create them, so the theme can just be a starting point. And you can apply a theme after the fact, not just when you create the interface, so you can experiment and see what you like the most.



Anyway, this will go a long way towards lowering the effort required for you to create your interfaces. It doesn't generate any interface widgets for you, you still have to create your interfaces by putting the widgets on them that you want, and setting them up to control/display device settings as desired. The next step will build on this theme support and will be part of the upcoming configuration wizard tool which will walk you through the setup of the system and generate default interfaces for you, based on a selected theme.
I just wanted to post some screen snaps of the new demo user interfaces I've been working on during the testing of 1.3.5. I'll probably get an early look drop of this out to my long timers this weekend for them to start beating on, and then I'll go on a documentation update binge while they try it out.

Since my previous demo was very dark and gothic, this time I went for a 'happy' look, very clean and white and light feeling, and using very colorful images. I could probably have done better in terms of color scheme consistency, but I think they look pretty nice nonetheless.

* As always, be aware that there is nothing about these images that are intrinsic to CQC, the interfaces were drawn with the user interface editor and are completely arbitrary. You can create totally different looks, such as those referenced earlier in this thread.

First is the intro screen which just comes up when you first load the interface.

Next is the security overlay which just places some status LEDs over a background floor plan image.

And next is the weather data feed overlay, which is the usual weather channel feed display similar to what I've used in previous demos.

And next is a DVD control overlay to control the DVD player. Note that this one uses some images I've borrowed from Colby, the transport buttons, and those images are not going to be shipped with the product, though the others you see in these samples will be. I think that Colby is going to be doing a set of images for us for this next release, so hopefully he won't mind me using these couple of images in this demo until then.

The user interface designer is so much more powerful now that I was able to do these interfaces quite quickly. It provides many more tools for getting the look you want and for manipulating images and whatnot. It would have taken me ten times longer before to create these interfaces probably, if you include all the 'hmmm, it would be nicer if...' type of fiddling about that involves moving them around and changing their appearance in various ways till I liked the way they look.

I could make these far slicker by using more images and a background image and so forth. But I was going for that particular clean and simple look, so I've not done that. And this interface will be very snappy and crisp, even on a pretty whimpy machine. I might add spiff them up more later as time permits.
Hey guys. Here is a preview of a 95% done version of the new web site that is going to roll out with the 1.3.5 release that's coming up. The Gallery link doesn't work yet and the technical docs, which are now offline, downloadable documents, aren't there so those links won't work, but the web content itself is basically there.

I'd love to hear any complaints or suggestions before it actually goes out. Or if you have problems with it in your particular browser.