You can have two separate windows in which two separate kivy applications are running that control / share with each other using osc / twisted / ... However, one instance of the "App" is limited to only one application window for this process. It can start another process (subprocess.popen), which has a new window.