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.