Ivan,
I originally envisioned Visi as a HyperCard/Excel style application for the iPad. I envisioned Visi as a way for people who don't self-identify as programmers to build apps for the iPad. These apps would be like the apps that people used Delphi and PowerBuilder and HyperCard and Access to build on other systems. I still think a system like this would be good, but unfortunately, there are a lot of technical and legal hurdles to get such a system built (Apple restricts programming environments on the iPad.)
After talking to a lot of folks, I realized that Visi code had to run anywhere. The original Visi implementation was in Haskell which runs a lot of places... but I realized that if Visi code got compiled to JavaScript, then it could run anywhere (iOS, Android, browser, Java servers, Node servers, inside of CouchBase... anywhere.)
So, I moved Visi over to Scala (I may re-do it in Clojure because I think Clojure has much more of the vibe I want in Visi and I find the compiler bugs in Scala a real downer... but it would mean learning a lot of Clojure idioms which will take time.) Visi is now a compiler that compiles the Visi models into JavaScript.
The screencast takes the emitted JavaScript and the type information (which I will surface as JSON data) and emits Objective-C.
This changes the focus a little an app-builder on the iPad to a part of the Xcode workflow. But nothing in Visi assumes the iPad platform (well... other than the Objective-C output... but that is just a layer on top of the rest of the type inferencer and compiler).
If you're interested, you could take the emitted JavaScript and associated type information and spit out other code. I'm actually thinking of integrating Visi with Lift so that people can express logic in Visi and it will run identically on the client and the server.
Hope this answers your question.
Thanks,