You are on page 1of 12

Of fic ia l Entry

— Po werP oin t Temp late —

Vista Small talk


by
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
components.
i) VSA scripting has problems with memory use when
About My App
6. Describe a situation in which your App would be useful.
Requirement:
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
application.
Some possible uses of these scripts are:
2) Dynamically add unanticipated user interface
elements (eg. changes in legislation).
3) Add scripting capability for changeable
calculations.
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
app?
(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
parser
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?


Yes.

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


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

4. A ClassBrowser showing code


from the “Puzzle” game

6. The Smalltalk Transcript


window.

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”
application.

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
animations.
These are Vista Smalltalk applications on
Vista.
From the bottom left:

4. "Yahoo Local Search" uses Yahoo's


Local Search API with JSON
serialization

6. "Rotation Test" is an animation


demo.

8. "Yahoo News Search" uses Yahoo's


News Search API with PHP
serialization.

10. "CNN.com" 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
database

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


window.

13. A ClassBrowser showing


some of the “Virtual
Desktop” functions.

15. The graphics generated


by executing the code in
the workspace window.