The final talk of Smalltalk Solutions 2006 - I'm sitting on on Michael's WithStyle talk. This year, Michael's talking about Version 4, which is Pollock based. SwS consider themselves user interface enablers. They started looking at doing Gecko style stuff in Smalltalk, and looked at Twoflower (limited, no CSS, and at end of life). So they started creating the WithStyle platform. Their idea was to use the technology to create products, but have been open to the idea of letting others use the base platform - as BottomFeeder does.
WithStyle version 3 uses the current UI in VW (Wrapper). WithStyle 4 uses Pollock + XML & CSS. Pollock gives them capabilities that they simply didn't have in Wrapper.
So there's a basic divide: Web GUIs and Desk GUIs. Client interfaces are richer and more configurable, but harder to get deployed. Web GUIs give you CSS styling, cross platform capability, and ease of deployment. Simple example of both on screen, complete with a runtime exception: the demon of demos is present :)
What SwS is doing is combining the two into a view - Pollock widgets and CSS styled text/graphics flowing together. What their platform gives you is the style changing capabilities of CSS in a client UI with all the typical client widgets being available. He's busily eating his own dogfood - the presentation is using WithStyle 4 and a presentation framework that is part of it.
Now a brief demo of XML WithStyle, their XML editing product. It's what we use in the BottomLine blog poster that's part of BottomFeeder.
What standards do they comply with? XHTML, CSS 2.1, the XML for Pollock (they call this Smalltalk UI XML), XIncludes, XML-Events, XML-Schema, XSLT, Docbook, CSS3 (ongoing as events warrant), and any other arbitrary XML. What's being detailed?
- Smalltalk UI XML (detailed on their website)
- DOM2 Events
- CSS 2.1
For XML Events, they are using the new Announcements framework in VW. It gives them the ability to send much more information along with each event. They've defined a set of standard announcements that developers can use to customize applications that use WS.
One thing they pride themselves on is trying to get CSS 2.1 right. They are not fully compliant at this point, but then again - no one is :) At this point, what you're missing by not being here is a demo of a complex bit of CSS and XML-Events, complete with Smalltalk scripting - including a bit of reflection that gets snagged by the sandbox.
- XHTML Editing
- XHTML Forms
- More and better CSS 2.1 support
And we'll see how it goes over the next year - I'll be right on top of it, since BottomFeeder is going to move to Pollock, and uses WS already.