On Wed, Jan 29, 2014 at 3:36 PM, Pavel Krivanek <[email protected]>wrote:
> I would like to continue in the direction started with the Morphic-Core. > It's a subset of Morphic that is able to be loaded into a headless image, > initialize itself and show world with one basic responsive morph. > There's a question of what is necessary for a modern GUI core. To me, we need to get out of BitBlt rendering completely and towards vectors. Reliance on BitBlt makes Pharo seem slow and outdated. Pixelation is so early 1990s. Novices also don't understand that a slow GUI isn't indicative of everything being slow. There's no reason Pharo's UI can't be fast enough that you can't tell the difference between it and a native app. That would do a lot to make Pharo more palatable to newcomers. First impressions are critical. We should also make it easy for people to build animations and build them into the core tools (when it makes sense). Most modern OSs feature great support for animation. Even if these things are largely eye candy, they do change people's perceptions. I'd love to be able to do something like this: aMorph resizeToBounds: (100 @ 100 extent: 200 @ 200) inSeconds: 2. Speaking of which, it would be nice if orientation could be included into the equation. Perhaps support for affine transforms would be standard. There also should be substantial support for vector graphics. The Athens SVG input is a good step forward, but I'd like to see something that seems very Pharo-native and that can be exported to SVG, rather than something that seems very close to SVG XML (as is now the case). Ideally, I'd like to do the old demo of rotating a browser and still using it but have it still look smooth (i.e., no pixelation). Another thing to perhaps address is how morphs are controlled and resized. Currently, when we change the extent, then the top left corner remains the same. For most cases, keeping the center the same would be more intuitive; vvvv does that and is fairly easy for programming novices to use. It would also allow us to combine rotation and scaling in some ways: aMorph rotateAndScaleBottomLeftTo: 300 @ 20. "keep the center stationary" Cheers, Jeff -- Jochen "Jeff" Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
