There really isn't any programming necessary, unless you just want to. I.e., if you have those skills, you can use them to good effect, but it's not necessary. And you can completely configure the product without writing any macros. So it's not as geeky as it might seem. The biggest place where you'll have to put in some effort if you really want some slick results is in creating the user interfaces, but that's all WYSIWYG in nature and doesn't require any programming or anything like that.
The new version that is coming out here soon (first beta release went out yesterday), supports import/export of user interfaces, so that folks can exchange them and can create user interfaces for specific devices and/or sets of devices and share them (and we can create pre-fab ones for folks to download and import as well.) So we'll be taking advantage of this capability to do just that here soon.
As we move forward, we'll continue to do what we can to provide more pre-fab functionality. The more pre-fab it is, the less integrated it'll be, but it will help folks get started and then they can take their time with the creation of interfaces that really integrate all of their devices into common activities. And that's really thing. Our customers are probably mostly interested in activity based interfaces, which requires the integration of whatever devices they might have such that we can put the whole system into particular states, but that is something that would be pretty profoundly difficult to pre-fab. So we'll easily be able to provide an interface you can download and control particular device A, but it'll be extremely hard to provide a pre-fab configuration that can run your home theater out of the box.
BTW, we do offer configuration services for folks who just don't have the time. We'll be happy to set up a machine and preconfigure it for particular devices. And the next step up from that, we'll be happy to write macros and create user interfaces as well.