21st Century Smalltalk

June 19, 2007

Microsoft’s “Surface” in Silverlight

Filed under: Silverlight — pfisk @ 2:59 pm

smalltalk23

Above is a video presentation of Microsoft’s “Surface” presented in Silverlight Flash.

When several recent Microsoft products were announced, many commentators highlighted the fact that the presentations were done in Flash.

The newest product launches, however, have demos done in Silverlight – such as the example at the top of this post.

Microsoft spends billions of dollars each year on research. Looking at this video, you can begin to see some of the results.

Operating Systems and the Internet

Filed under: Silverlight — pfisk @ 2:39 pm

David Berlind’s recent post encapsulates many of my thoughts on the relationship between operating systems and the Internet:

More than anything else, operating systems are collections of APIs that make it so developers can do what once required thousands of lines of code with one line. Things like accessing the network or putting a window on screen (at a certain location with certain color scroll bars and a certain title). But to install an API into the general distribution of traditional operating system like Windows, the Mac, or even Linux requires the say-so of a handful of people. Not so with the Internet which, like operating systems, is also quickly turning into a collection of APIs (a good hunk of which are for Google’s applications). In fact, barely a day goes by where another API doesn’t show up on the Net — one that’s available to all developers. This is drawing developers in droves to the mashup ecosystem of software where they can draw upon multiple APIs from multiple sources to produce unique and innovative applications.

Toss in the cross-platform nature of those apps, since they run in a browser (which in turn means they run on any OS without modification) and, as McCracken points out, all the inequities between something like the Windows and Mac versions of Office go away. The traditional computer as we know it is simply becoming a point of access to our data and information. The naysayers who once hung their hat on the offline problem (as though it were insurmountable) now talk about how no one will store their data with a service because it’s too risky. Hackers could get at it or worse, some privacy invading court or Congress could require the service to turn over the data. (Who do you want defending your data — your lawyers or theirs?) Meanwhile, companies are flocking to services like Salesforce.com with the one dataset that’s their lifeblood: their customer data.

Sun was right (although it may not have been Sun that brought the vision across the finish line). The network is the computer. The uncomputer.

There is a lot of media attention paid to the relative market share of Windows, Macintosh and Linux. In my opinion, this is yesteday’s story.

The coming contest is amongst Internet-capable application platforms:

  • .Net/CLR
  • Flash
  • JavaFX

Although the runtimes are free, most of the associated tools and applications are not. We only have to remember how Microsoft, with its detailed knowledge of Window’s internals, was able to displace the establish leaders in office applications. This could be repeated in the Internet application space as well.

And the worldwide market is going to be enormous. According to Forrester, there will be one billion personal computers by the end of 2008 and more than two billion by 2015. These numbers, of course, do not include the much larger “non-PC” market for cellphones and other devices.

The people leading Microsoft, Apple and Sun understand the stakes involved very well. I expect the battle for the next platform standard to be extremely intense.

June 18, 2007

Designer Grouping and Ungrouping

Filed under: Silverlight — pfisk @ 10:15 pm

smalltalk23

Above is Smalltalk/DLR running in a browser with Silverlight 1.1.

The Designer is now capable of grouping and ungrouping components – grouping may be repeated to any level. To group elements, press the Ctrl-key when selecting elements with the mouse, and then click the “Group” button.

Tomorrow, I will start work on adding simple animations to the Designer.

June 17, 2007

Menus and Background Image

Filed under: Vista Smalltalk — pfisk @ 9:15 pm

smalltalk22

Above is Smalltalk/DLR running in a browser with Silverlight 1.1.

Menus have been changed to be clearer and there is a new selection on the desktop menu for loading a background image (as shown above).

This is part of a continuing effort to improve the general aesthetics of the software.

Mini Designer Test

Filed under: Silverlight — pfisk @ 2:39 pm

smalltalk20

Above is Smalltalk/DLR running in a browser with Silverlight 1.1.

The Designer is now capable enough to create some very simple drawings.

Functionality to be added over the next couple of days will include sizing, grouping, rotation and animation.

Graphics will, of course, be scriptable from Smalltalk.

June 15, 2007

Silverlight Buttons and Layout Panels

Filed under: Silverlight — pfisk @ 7:41 pm

smalltalk19

Above is Smalltalk/DLR running in a Firefox browser with Silverlight 1.1.

The Alpha release of Silverlight 1.1 comes with only the most basic graphic controls and so, in order to build a proper development environment, I have been building my own library.

So far, the library includes:

  • DesktopSurface
  • DesktopWindow
  • PopupMenu
  • TextBox
  • ListBox
  • TreeView
  • SplitPanel
  • ScrollPanel

And in the past two days, I have added:

  • Button
  • LayoutPanel
  • DockPanel

There is an image of my new “Designer” window at the top of this post which was built using these controls.

Next to come are two specialized panels that will be used within the Designer window:

  • DesignSurface will be used for creating, arranging and grouping graphic elements
  • AnimationSurface will be used for applying “StoryBoard” animation parameters to graphic elements

A simple version of the DesignSurface will be ready in a couple of days.

June 13, 2007

Rebooting the Web

Filed under: General — pfisk @ 10:02 pm

Microsoft “rebooted the Web” yesterday…

Robert Scoble’s simple remark is the best summary that I have seen of the potential impact of Silverlight – we may be at the beginning of a major technology shift.

Most network applications have traditionally been asymmetric, with programs and data residing on the server and the client side relegated to data presentation and input.

Now Silverlight’s new support for powerful “server-side” languages in the client changes that balance and opens the possibility of radically different architectures. And this, in turn, will enable a range of exciting new applications.

Personal computers existed before IBM introduced the PC in 1981. What IBM did was to set a standard of quality and technology for the PC industry and to “legitimize” the use of desktop computers. IBM’s 1981 PC announcement was the “tipping point” leading to massive changes in the IT industry.

I think that Microsoft’s 2007 Silverlight announcement will have equally profound effects.

Smalltalk/DLR – Class Browser Menus

Filed under: DLR, Silverlight, Vista Smalltalk — pfisk @ 8:00 pm

smalltalk18

Above is Smalltalk/DLR running in a Firefox browser with Silverlight 1.1.

There are two new popup menus added to the ClassBrowser. The method text panel now has a “Save” selection which compiles the method source code. Also, there is a popup menu in the method list panel with a single “Remove” choice to allow removing methods from a class.

Slowly, some basic Smalltalk tools  are becoming functional in the Silverlight environment. Most of my recent effort has been on numerous minor improvements in the “look-and-feel” of the various controls.

The next major tool in development is a DesignSurface for graphics and animations. I hope to post a prototype within the next few days.

June 11, 2007

Smalltalk/DLR – Class Browser Improvements

Filed under: DLR, Silverlight, Vista Smalltalk — pfisk @ 4:43 pm

smalltalk17

Above is Smalltalk based on Silverlight/DLR running in a Firefox browser. The tests in this example are validating parameter passing to instance methods.

The Smalltalk class browser now displays method source in the text panel. In the next release, I will add the necessary context menus to create, delete and rename classes and methods, thereby enabling the ClassBrowser to be used for program development.

Over the next couple of weeks, I will be adding additional tools such as inspectors and a simple graphical design tool – a debugging tool will have to wait until I understand the inner workings of the DLR in much greater detail.

Developing in a browser raises the question of where to store the source code when offline. There are several possible answers:

  • use the “local storage” features of Silverlight
  • store the code on a server
  • release a desktop version of Smalltalk/DLR (Vista and XP only)

The most practical solutions will only evolve through experience.

June 5, 2007

Smalltalk in Firefox

Filed under: DLR, Silverlight, Vista Smalltalk — pfisk @ 10:05 pm

smalltalk16

Above is Smalltalk based on Silverlight/DLR running in a browser.

Keystroke diagnostics that I recently added to the desktop menu have been very useful in correcting some problems in Firefox - above is a Smalltalk session working in a Firefox browser.

The startup file is now building the Smalltalk class hierarchy that can be seen in the ClassBrowser window.  It will be a couple more days until Smalltalk methods are working.

In the example above, I am testing some simple graphics in a “CanvasWindow”. This should become much more interesting when I add animation and a “physics engine” for effects such as gravity and collisions.

Sure beats HTML and Ajax.

« Newer PostsOlder Posts »

Blog at WordPress.com.