Hi all!
<brainstorm>
I think we should think about what is happening out there with the new
explosion around two things:
- Mobile apps
- HTML5
IT is changing, people are using pads and phones more than computers in
the very near future (or already). And HTML5 gives advanced capabilities
to play on these devices without having to buy the whole technical eco
system of them (on Android it is Dalvik and on iOS it is Objective-C
more or less).
HTML5 is enabling stuff like ThinVNC for example (just google it). Or
endless mobile frameworks like Joapp.com etc.
And then to top it off we have Google and it Nacl project (Native
client) which is basically a "sandboxed x86 environment" if I grokked it
correctly.
I want to be able to develop systems in Pharo/Squeak that can reach
people on all these devices - of basically two flavors:
- Typical mobile apps using webtech. For many of us - for maximum reach
and minimum "tie up" with any of these platforms I think the new web
solutions are the way to go.
- Graphical apps that look exactly like I want (think games).
How do we enable this?
One way could be to create a fast "Morphic player" layer in js utilizing
HTML5 to talk back to a server side Squeak. Kinda like ThinVNC but
tailored for Morphic?
Or even more crazy, what if one could sit in the debugger in Pharo and
"step into" code actually running inside the js engine in a browser,
seamless debugging and somehow also seamless access to the objects on
the js side?
If someone here has seen how VW integrates with Gemstone (or perhaps
GLASS does the same now) - it is very seamless.
In that "crazy vision" one obviously starts thinking of two roads:
1. Create a "Smalltalk" on top of js that we can "tether with". JTalk
perhaps?
2. Or perhaps it is even better to let js be js and instead make
Muhammed (=Pharo) come to the mountain (=the huge js eco system). Thus
we could create a low level tethering with Javascript and then make
Pharo "Javascript aware" on many levels, like inspectors, debugger,
browsers etc.
...hmmm, wow. Now that I am typing this the above #2 would be awesomely
cool. ;)
Another more "conventional" way to capture #1 above is of course to
integrate Joapp or JQuery Mobile (Renggli already doing that I think)
with Seaside.
</brainstorm>
regards, Göran
PS. Yes, this post didn't start with "I want to do X" but on the other
hand I am just brainstorming here, I am not saying anyone should do
*anything*. :)