Review of SmartUI, Page 2
A sharp, rather long-standing buzz from the electronic gates leading to our offices gave me a start. It was our local UPS bloke—a gruff fiend with an annoying fetish for damaging anything he delivers. And needless to say, this latest shipment hadn't betrayed his well-deserved reputation.
After a little cleaning, I somehow managed to get the well-scratched CD working—and the #185 / $239 SmartUI product onto my machine. The installation was easy, with the component eating a mere 2.5MB of hard disk space.
But what exactly does this SmartUI beast do? It's billed as a "new way of developing user interfaces", using a "Universal Component Object Model". And after a brief look through the package, I realised that actually wasn't far from the truth.
As ever, I headed straight for the samples to check out some bodacious code—and I was impressed.
SmartUI ships with twenty-one ready-to-run Visual Basic samples, demonstrating everything from knocking up a simple toolbar, right through to creating a Windows 2000-like Summary screen.
And they're all rather cool. One of the samples proved a little buggy—consistently crashing as I stepped through the code—but for most, the time and effort put into the demos was obvious.
To test it's supposed ease-of-use, I decided to create something myself. Firing up Visual Basic, I added the SmartUI component to my project, no problemo. Then I opened the Properties window and a few clicks later, had created a graphical options list. Two minutes after that and I'd created a toolbar. A further three minutes and out popped a groovy tree view.
So what user interface whatnots can you actually create with SmartUI? Well, pretty much anything.
You can imagine the SmartUI component as just a container, a holder. You can then add 'SmartItems' to this holder either in code or by using the visual Property pages.
Those SmartItems include list boxes, option lists, property lists and property toolboxes. You can also add neat status bars, 3D toolbars and exceptionally easy-to-setup tree views.
Outlook- and Frontpage-style view bars can also be added with ease (though function in a slightly different way to the originals), plus the package supports tab strips, akin to the Windows-setup-like 'side bars' that seem common place in upper end applications these days.
Menus are also possible—though slightly trickier—and sport every feature imaginable, including the new 'extensibility' option you'll find in the likes of Word 2000, where only the most frequently used items initially appear on the menu.
But the magical word here really is "Universal Component Object Model". Everything is standard. For instance, adding a picture to a menu is done in exactly the same way as adding a picture to a tree view item.
And no matter what you're throwing at SmartUI—whether you're placing a hot-linked Web address onto the status bar, slapping a combo box into a tree view or even going completely against the grain and creating some weird mutant application that dramatically cries "Vot haff I created!?" at periodic intervals—it seems that SmartUI just handles it.
Damn, this beast is cool.
So far I'd only built an interface using Property pages—so I decided to give the code window a quick blast.
Once again, I was disappointed. Not because it was awfully difficult, but rather I couldn't find anything to fault. The object model was solid and it took just one line of code to add most SmartItems. If I needed to get all advanced, perhaps three or four.
SmartUI also provides a host of events to react to—and I found it easy to cycle through all the items in a list, grab values, bold certain objects, read data—everything you'd want to do in a regular application.
And for the not-so-regular applications—well, SmartUI seems to provide a bunch of features for those to. As an example, one SmartItem allows you to display a 'colour box', rather than a text or check box. It'll probably never get used—but it's there just in case.