The key to a great user experience with automated curtains is in ensuring the basic manual functionality is still supported. People like to easily be able to open, partially open and close blinds, via a range of simple and intuitive user interfaces.
Whilst many love voice control, being able to partially open curtains and control exactly how far open they should be would be a challenge. For this reason we have ensured that we have a switch nearby, to enable this level of manual control and an intuitive user interface that works all the time, with very low latency. Wherever possible we aim for a zero-touch user experience though.
Where we have automated them, all of our curtains can be intelligently controlled by our contextual smart home.
As well as automated control of curtain, it is a good idea to think about the manual controls required, so that you can over-ride any automation if required. Typically, this would mean installing switches local to each curtain (or pair of curtains) and ensuring that the operation is both simple and intuitive.
Also think very carefully about how electric curtains are both powered and controlled. You don't want to find yourself unable to open the curtains during a power cut and stuck in a dark house.
If you are building a new home, it is recommended that you install switch/pattress boxes next to each curtain, so that you can have manual control when needed. Running low voltage (12 or 24V dc) in ducting/conduit to the switches and the location of the curtain rail and motors makes a lot of sense too. It also makes sense to run Ethernet cable to them, so you can have reliable and intelligent control.
The actual movement mechanism used to enable automation is less important than it's characteristics, so long as it supports the required control mechanism and user interfaces. Having said that, it must be aesthetically pleasing and quiet in operation.
Our experience of battery powered blinds leads us towards solutions with wired power (typically 12V or 24V dc). Battery packs are bulky and the large motors required to move heavy curtains result in poor battery life.
We have developed our own curtain controller which is based around an Arduino processor with an IP network interface. It also supports various manual switch interfaces and enables many other forms of control (including voice) by our contextual smart home.
SwitchBot Curtain is a quick an easy way to automate your curtains but it comes with a lot of limitations. Firstly, it's battery powered and the energy requirements for moving curtains are quite high. The batteries are not going to last very long, especially if you open and close them regularly. Secondly, the control is limited to cloud-based services (Amazon Echo, Google Home, IFTTT, etc.) and a Smartphone app. This makes it hard to integrate into a truly smart home.