What is wrong with CQC?

To be fair, Steve also made some huge technical blunders because he looked at things purely from an end user or aesthetic perspective and didn't take into account fundamental technical issues or practicality. In some cases he was saved because his engineers ignored him and did what they knew was right.
 
Anyway, not trying to naysay the basic point, just saying that it can sometimes cut both ways.
 
Also, it makes a difference if you have hundreds of millions of dollars to throw at the problem, which unfortunately we don't.
 
Dean, your last sentence says it all.  There is a lot of difference when you have hundreds of techs available to implement the programming goals.
 
Dean Roddey said:
Also, it makes a difference if you have hundreds of millions of dollars to throw at the problem, which unfortunately we don't.
I used to be a software developer, so I know how brutal users can be, and its hard not to take things personally because you put so much sweat into it.  But if I may make one suggestion, it would be not to do it all yourself. And by that i don't mean you should hire a team, which I know there isn't money for. But rather make use of as much off-the-shelf technology and software that you can. Homeseer, for example, makes use of existing programing environments so they didn't have to design or document them. I believe CastleOS is similar.  I know you beleive that this doesn't offer you the reliability you desire, but these technologies have come a long way over the years. Today, for example, you can license code that will allow you to offer a graphical web page designer so you don't have to design one yourself. You can concentrate of the secret sauce of what sets your product apart, which is home automation. 
 
The programming rule should be that is someone else makes software to do a portion of what you need to do, DON'T create this software yourself, rather make use of it. In many cases, Microsoft or others offer this software or technology for free or low cost.  Hopefully its a misprint on the CQC web site where it says that you are working on a "HTML 5 client."  Don't reinvent what already exists. Take what already exists and build upon it.
 
Deane Johnson said:
I'm sure Dean feels a bit thrashed on the subject by now.  But, it has been one of the most worthwhile discussions on the subject I have ever seen on the internet.
 
Definitely not my intent. :)  I have the utmost respect for the machine that is Dean and the hard work and effort, not only to build a great product but also to support it so well.  Definitely lots of respect and admiration there.
 
And I'm starting my first business, I knew it would be hard but it is harder and takes more time and money than I would have ever guessed.  So even more kudos to Dean for establishing and running a successful company for these many years.  Wish Dean nothing but the best!
 
ano said:
The programming rule should be that is someone else makes software to do a portion of what you need to do, DON'T create this software yourself, rather make use of it. In many cases, Microsoft or others offer this software or technology for free or low cost.  Hopefully its a misprint on the CQC web site where it says that you are working on a "HTML 5 client."  Don't reinvent what already exists. Take what already exists and build upon it.
 
I just have no interest in going there. This product would be a mess if I went that way. I believe that it's a fallacy that this is an optimal way to build products. It's faster, but it's not optimal. My purpose really isn't to get to the finish line first with an unstable hack. I have to support it, and this is far and away the best way to provide a high quality, low support burden product. I think that the reason most people do it that way is that they have no choice, not because they believe it is superior.
 
And it's easy to say, but the practicalities are very different. For instance... use a third party screen designer? OK, now you no longer have an integrated designer. Everything you want to do to link your interfaces to CQC has to be done by typing in things and copying and pasting information over. So, yeh, you could create a designer faster, but it would be an inferior solution. And of course we already have a designer and we already have a language and so forth, so changing to use a third party solution in those cases would both take a lot of time AND end up with an inferior, less integrated solution.
 
The other reason is portability. This product is highly portable, the back end anyway, because it's all built in terms of our own object framework. The stuff we code ourselves comes over essentially for free on another platform if we need to go that way.
 
Unless you've worked in the context of a large, highly integrated object framework, it's difficult to appreciate the power it provides.
 
Dean Roddey said:
I just have no interest in going there.
I certainly respect that, especially if you had a team of 10 people working on this, but lacking that and only one Dean, then something has to give.  When I used Homeseer, if I didn't understand a programming concept, I just pulled out one of several books I had on Visual Basic or Microsoft .NET.  Homeseer just has to document their API, nothing more.
 
Your heading for an impossible task of creating great software that is so large and involved that its impossible for you to maintain it, support it, document it, sell it, and market it. The more parts that you create, the more parts you have to maintain, and document, and the more scary it gets for new users. 
 
There are really only two ways to go. Make CQC so simple and intuitive that you have a fighting chance of supporting it all, or use a large amount of third-party code so other people can help you support it.  It has to be manageable by you and those that use it.  A few years ago i think it went beyond that point, so you have to reel it back in.
 
IM(ns)HO, the biggest issue is a lack of marketing.  I agree with Ano, you can't do it all or at least not all perfectly, but too little time is spent on the business side of things.
 
I think product development is focused on the right stuff, features that will make the product appeal to a wider user base.  Ease of use/standardization, and the HTML5 client which will allow it to be accessed on more platforms, both do that.   The only other area that might help product development would be something gimmicky/flashy to base marketing on.  What OS it runs on or what language it uses for macros aren't the issue.  If people want the product they'll spend the same $100 I did for a Win7 license or invest the same time I did to learn CML.
 
More time needs to be put into marketing even at the sacrifice of product development or support.  Videos on Youtube showing off the product, not how-to but just functionality with some flash, advertising on websites and magazines, Google search placement, showing off the product at conferences, partnering with other products.  Even though CQC has drivers for just about everything, I don't see the CQC logo on those other websites, I don't see a presence in their forums, etc.  Where's the CQC Facebook,Google+,Twitter,etc pages?  I know it all sounds like fluff and maybe even a bit tedious or a waste of time, but it works.   Shoot just bust out your music setup and make a catchy theme song, there's something your competitors can't do.   :)
 
Think of all the crap people make money on, just from savvy marketing.  CQC is a good solid product, if it's not selling to your satisfaction it's because you and Mark aren't selling it...
 
I don't disagree on the marketing thing. I'm not a marketer. I'd like to hire a marketing person, but that would be tough right now, unless it was on an equity basis. I've argued with Mark that we should attempt that.
 
Sadly the music setup got sold to finance my move to SC.
 
I agree on the marketing feedback you have gotten. People out there sell crap products and make a killing; you have a great product!

A lot of successful business ventures I have been able to observe closely included one person with the know how and one with the salesmanship. A lot of the failed ones had partners with only one of those talents. The partners with only sales and marketing knowhow still make it sometimes because in the end, nothing else matters if you do not sell anything.

Get you a marketing/salesman. Give them equity or straight sales based commission. Or hire a marketing consultant with commission based payment. These are all choices. And if you start questioning if you should give away equity, remember any % of a successful business is worth a lot more than 100% of one that's not. Same person can provide feedback on what's preventing sales (if anything) from client perspective.

I cannot express to you how awesome I would find it to hear you pair CQC with someone who knows how to market a software venture. I love seeing solid business plans implemented and succeed and you have a product to do so. Web pages, social networks, partners are all part of that process.

I will bow out of this discussion now...I "talk" too much! I would buy you a bourbon and toast CQC if I could :)
 
Honestly, I'd have the sales guy out chasing pro sales more than anything else. Each pro installer brought on board makes a big difference.
 
I don't have an issue with giving away equity to bring someone on board, if they have the talent. I've been arguing for that for the last year or more. Of course that doesn't mean anyone would necessarily be interested even if the position was available. But I'd certainly be willing to go that route.
 
OK, well we knocked one off the list. We now have a self-extracting executable installer. That will show up in the next beta drop and for the upcoming 4.7 release.
 
I'd already been working an underlying piece of technology it needed, which is our version of a zip file. We have another good need for such a thing as well, so I needed to get that done. Once it was in place, then the rest of the installer changes, though tedious as all get out, was a was within reasonable distance so I went ahead and did it.
 
I already had that for many years, it's our own implementation of ZLib, which was required to do our own implementation of PNG since PNG uses ZLIb compression. The zip file-like thing I referred to above is a file format to contain arbitrary compressed files, so it's just a packaging thing, and the tool to compress and package up lists of files, and later to unpack and decompress them. ZLib is the compression used on the individual files.
 
The other use we have for such a thing is that we currently a packaging mechanism to package up drivers, interface templates, macros, etc... But it was never as nice as it could have been. It's on the list to replace, and this packing format will be the underlying packaging scheme that it uses when we do.
 
Back
Top