You are on page 1of 12

Of fic ia l Entry

— Po werP oin t Temp late —

Vista Small talk

Pete r F is k
Prof il e Inf or mat ion
• Your Name: Peter Fisk
• Company Name: RoboWiz Corporation
• Application Title: Vista Smalltalk
• Brief Summary:

• Vista Smalltalk is an interactive Smalltalk-80

interpreter which runs as an XBAP program in IE7, or as an
EXE program in Vista. Designed for next generation Web
applications, it can generate WPF interfaces dynamically
and can run multiple concurrent foreground and
background processes.
About My App
1. The application provides an interactive Smalltalk
environment for development and runtime interpreter
support for application deployment. The Vista Smalltalk
runtime can incorporate .Net classes and methods as “built-
in” Smalltalk objects. A “Virtual Desktop” capability allows
multi-window desktop applications to be run unchanged
within a single IE7 window. The Smalltalk development
environment can also be run within IE7 to assist in
application debugging.

2. What type of application is it?

(ex: sidebar tool, RSS alert, etc.)
d) Developer IDE for IE7 “rich client” applications.
e) Smalltalk interpreter deployable as XBAP.
f) Interactive “workspace” for exploring and learning WPF.

3. Who is the target audience?

i) Developers of rich client applications for IE7.
j) Developers requiring a memory stable interpreter for high-
volume, long duration applications.
k) End users requiring an interactive desktop scripting solution.
About My App
4. What is the target industry?
b) Developers of IE7 based Web services.
c) Service providers requiring high volume .Net scripting.
d) Schools and educators.

5. What problem(s) does your App solve for its users?

g) Developers of rich client applications must choose
between the power of compiled XBAP or the flexibility
of Javascript/AJAX. Vista Smalltalk can provide all the
power of WPF together with the dynamic scripting
flexibility of Javascript.
h) Compiled WPF applications can load “loose XAML” but
cannot add event handlers at runtime. Vista Smalltalk
can add event handlers dynamically at runtime to
loaded “loose XAML” or procedurally created WPF
i) VSA scripting has problems with memory use when
About My App
6. Describe a situation in which your App would be useful.
A large organization desires to deploy an IE7 “rich client”
application to a world-wide user base. The basic
functionality of the application is to be universal, but
they wish to include a high degree of customization for
regional, national, cultural and personal tastes. They
wish to build the core functionality in C# and XAML.
How Vista Smalltalk would be useful:
The team incorporates the Vista Smalltalk runtime into
the deployed XBAP solution. This gives them the ability
to dynamically execute scripts read from a database.
The scripts are customized to the needs of their users
and can be changed without redeploying the
Some possible uses of these scripts are:
2) Dynamically add unanticipated user interface
elements (eg. changes in legislation).
3) Add scripting capability for changeable
4) Add temporary user elements for special events
(birthday, marriage, national sports team won
championship, etc).
5) Use scripting to adjust interface layout to
accomodate differences in text length and
preferential orientation.
About My App
7. What system requirements are necessary to run your
(Ex: Windows XP, SQL Server, etc.)
a) Windows XP with WinFx
b) Internet Explorer 7 on any platform
c) Windows Vista

8. Which Windows Vista functions does your app use?

We’re not judging based on this—just curious.
The interface is built using the WPF libraries.
The WPF Dispatcher is used to schedule all internal
foreground processes.
WinFx threading is used for background processes.
HttpRequest and other internet classes.
About My App
XML classes for parsing RSS etc.
Use of XamlReader and other Xaml related classes.
Use of WebBrowser control for HTML/Javascript support.

9. What additional technology, if any, does your app use?

(Ex: web services, 3rd party software, etc.) Again, this
isn’t part of the judging criteria—just wondering.
g) ANTLR parser generator for generating Smalltalk
h) PHP serialization libraries
i) JSON serialization libraries
j) WSDL/SOAP support generated in Visual Studio
About My App
10. Does your app have an installation routine?
b) Deployable as XBAP application for IE7
c) Deployable as “Click Once” application for desktop

11. Did you document your coding process?

Minimal documentation as part of C# code.

12. Is your app web-enabled?


13. If you make to to the final round, may we feature screen

shots of your app in an online Code Master Showcase?
Screen Shots
These are Smalltalk Development
From the bottom left:

4. A ClassBrowser showing code

from the “Puzzle” game

6. The Smalltalk Transcript


8. A workspace window with the

interactive code to connect to
a Web Service and inspect the
results. The service to be
connected to is the database
for the “VideoStore”

10. An inspector window showing

the results of executing the
code in the previous
“workspace” window.

12. A “ClassBrowser” showing

some of the “mapped”
primitive classes for
These are Vista Smalltalk applications on
From the bottom left:

4. "Yahoo Local Search" uses Yahoo's

Local Search API with JSON

6. "Rotation Test" is an animation


8. "Yahoo News Search" uses Yahoo's

News Search API with PHP

10. "" is an RSS reader (shown

reading a CNN RSS feed).

12. "15 Puzzle" is a game implemented

in 62 lines of Smalltalk

14. "Quick Map" uses the WebBrowser

control to show a MapQuest result

16. "Xaml Demo" loads a XAML file built

in Expression Designer

18. "Video Store Demo" is an "Ajax"

style application connected to a PHP

20. "Wheel Demo" dynamically builds a

wheel and rolls it across the screen
This is the Vista Smalltalk in IE7.

The “Virtual Desktop” capability

was developed so that I
could run the Smalltalk
environment within IE7.

It is part of the Vista Smalltalk

package and could be
used to run multi-window
desktop applications
unchanged with a single
IE7 window.

From the bottom left:

9. A workspace for testing

some graphics code.

11. The Smalltalk Transcript


13. A ClassBrowser showing

some of the “Virtual
Desktop” functions.

15. The graphics generated

by executing the code in
the workspace window.