Every time I take a quick look at James Robertson's Smalltalk Dailies I can't help but wonder why VW and the apps built with it have a UI that sucks so much. Smalltalk is pretty obviously a great language, the development environment is great – why is there no support for native UIs? Don't point me at Ambrai, because a screenshot like this makes my eyes bleed.
(Let me be clear: I'm not criticizing functionality, just appearance. This stuff matters, you know.)
I think you’re very right here. In particular the free Squeak SmallTalk implementation is a really good example of a really bad UI. It’s not only non-native, it’s just plain ugly. And they don’t support anti-aliased fonts (everything is bitmap even, I think) in 2008, at least not out of the box, and not on most platforms.
I once heard a talk from Gilad Bracha about his Newspeak environment. He simply said that a native GUI is a prerequisite to being a viable, commercial option for UIs, and I think he’s very right on that. He also mentioned the importance of a proper foreign function interface on the same level.
If I understood him right, he thinks that - at least some - Smalltalkers have or used to have this attitude that it’s either clean and proper Smalltalk, or it’s not worth doing. The whole image concept & co. is very powerful, but it does create a concluded world, a walled garden. Smalltalk is it’s own operating system at that point. This might be one of the reasons why it didn’t work out that great in the long term - the language is very nice, and it has great features, but the platform is weird (at least to non-Smalltalkers), and very secluded.
I think this is one of the major things Ruby/Rails gets right. They simply play by the rules of the platforms, they embrace command lines, UNIX tools, operating system concepts like processes etc.