21st Century Smalltalk

June 27, 2007

Creating Animation Objects

Filed under: Animation, Silverlight — pfisk @ 3:57 pm

designer4

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

The Designer is now able to create animation objects.

In the Designer “Animation” tab:

  • select the element to be animated
  • drag it to the start position and press “Begin”
  • drag it to the end position and press “End”
  • press “Run” to test
  • selected elements will jump to their start and end positions by pressing ctrl-Begin and ctrl-End

Animated objects can be stored on the server by selecting “Save” on the “Server” tab.

When I add the StoryBoard editor, these objects will be keyed to time frames to build a cohesive animation narrative.

June 25, 2007

Silverlight Scaling and Rotation

Filed under: Animation, Games, Silverlight — pfisk @ 9:04 pm

designer3

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

Here are some of the latest graphics tests. The Designer now supports scaling and rotation of elements and groups of elements.

These drawings were created in a Firefox browser and are stored in JSON format on a standard PHP/MySQL/Unix server.

Upcoming releases will include:

  • color selection
  • animation timelines
  • gravity and collisions
  • multi-user shared desktops

And, of course, some games very soon…

June 24, 2007

Designer Sizing Handles

Filed under: Animation, Games, Silverlight — pfisk @ 6:39 pm

designer2

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

The Designer now provides sizing handles for changing the width and height of drawings. It is possible to create some very basic game elements and store them on the server.

Tomorrow, I will start adding transforms to the drawings:

  • Translate tranforms for changing position
  • Rotate transforms for rotation
  • Scaling transforms for changing size

Transforms can be animated and, once transform support has been added to the Designer, I will be able to build basic “timelines” for animated games.

June 23, 2007

Storing Drawings on a Server

Filed under: Animation, Games, Silverlight — pfisk @ 4:04 pm

designer1

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

Server storage for Designer drawings is now functional:

  • Save – opens a prompt window for a name and then stores the contents of the Designer to the server
  • Load – queries the server and then opens a selection list of available drawings to be loaded

Over the next couple of days, my focus will be on improving the Designer.

June 21, 2007

JSON Serialization in Silverlight

Filed under: Games, Silverlight — pfisk @ 9:18 pm

smalltalk25

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

Two more buttons have been added to the Designer menu:

  • Save - serializes the designer contents to a JSON formatted string, stores the string internally, and writes it to the Transcript window.
  • Load – recreates the designer contents from an internally stored JSON string.

You can test this by using the Designer to create a drawing and then clicking the “Save” button. Delete the drawing (or open another Designer window) and click “Load” to restore the drawing.

For the moment, this is set up as an internal test. Tomorrow, I will add the server components as well and, by next week, there should be a test library of pre-built diagrams that can be loaded from the main site at http://vistascript.net.

Silverlight contains a XamlReader class but not XamlWriter; so, while you can read Xaml (produced by Expression or Visual Studio), you cannot create Xaml.

However, Silverlight does have a good JSON serializer (JavaScriptSerializer) which can both serialize and deserialize to JSON format. I have built JSON support into all Smalltalk/DLR graphical objects.

An advantage of using JSON format is that other data can easily be stored along with the graphical object. For example, a game avatar could store lists of powers, friends, or strategies.

Silverlight is going to be an excellent gaming platform.

Silverlight on Linux

Filed under: Mono, Silverlight — pfisk @ 2:18 pm

mono

A sample screenshot from the Mono project.

Miguel de Icaza and the Mono team are doing a fantastic job of implementing Silverlight on Linux and will be showing their latest work today at ReMix07 in Paris.

Here is how Miguel describes their “Moonlight” project:

The past 21 days have been some of the most intense hacking days that I have ever had and the same goes for my team that worked 12 to 16 hours per day every single day –including weekends– to implement Silverlight for Linux in record time. We call this effort Moonlight.

Needless to say, we believe that Silverlight is a fantastic development platform, and its .NET-based version is incredibly interesting and as Linux/Unix users we wanted to both get access to content produced with it and to use Linux as our developer platform for Silverlight-powered web sites.

It is less than eight weeks since Silverlight was released. The fact that it has already been (mostly) implemented on Linux is incredible.

June 20, 2007

Designer Animation Support

Filed under: Silverlight — pfisk @ 7:23 pm

smalltalk24

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

There is now simple animated rotation  support in the Designer.

Selecting the “Rotate” button will cause any selected elements to start rotating. They will continue to rotate until the “Stop” button is selected.

The Designer will soon have support for all of the following animation types.:

  • position
  • size
  • scale
  • opacity
  • color
  • rotation

Animations can also be nested – an animated object can contain other animated objects within it.

For the next couple of days, I will be concentrating on storing Designer structures on a website.

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.

Older Posts »

Blog at WordPress.com.