I am glad to hear this.
It appears to be an issue only in the AppBuilder simulator as on devices (iOS and Android) the application works as expected and the alert "hi" massage appears. However, note that sometimes, due to the fact your call to the run function is being made before the device is ready, this does not work. To fix this, I moved the execution of the following line after the deviceReady event:
However, the issue in the simulator appears to be a security issue inside the Chrome browser. We will further investigate it on our side and will try to provide a fix for it for future AppBuilder releases.