Archive for April, 2007

Wednesday, April 18th, 2007

Photo Sharing and Video Hosting at PhotobucketByteArray has been developing the Raster class which has an impressive demo of a raster engine to draw rather than the Adobe Graphics library included with Flash and it is much faster albeit pixelated (the nature of raster).

Here’s his latest listing of what it supports:

V1.3 API :
line()
triangle()
filledTri()
aaLine()
circle()
aaCircle()
quadBezier()
cubicBezier()

This class use
rastering : Bresenham algorithm
anti-alias rendering : Xiaolin Wu algorithm

Authors (contribution) :
Didier Brun (original class)
Drew Cummins (bezier curves)

Photo Sharing and Video Hosting at PhotobucketAlso check out a demo on the generalrelativity blog with some added beziers.

Wednesday, April 18th, 2007

Photo Sharing and Video Hosting at PhotobucketByteArray has been developing the Raster class which has an impressive demo of a raster engine to draw rather than the Adobe Graphics library included with Flash and it is much faster albeit pixelated (the nature of raster).

Here’s his latest listing of what it supports:

V1.3 API :
line()
triangle()
filledTri()
aaLine()
circle()
aaCircle()
quadBezier()
cubicBezier()

This class use
rastering : Bresenham algorithm
anti-alias rendering : Xiaolin Wu algorithm

Authors (contribution) :
Didier Brun (original class)
Drew Cummins (bezier curves)

Photo Sharing and Video Hosting at PhotobucketAlso check out a demo on the generalrelativity blog with some added beziers.

Tuesday, April 17th, 2007

Photo Sharing and Video Hosting at Photobucket

I was doing some SEO research into how well the Silverlight name is positioned. I was surprised that www.silverlight.org goes to a Microsoft placeholder site but http://www.silverlight.com/ goes to an Apple placeholder.

This is probably a MAC user that owned this domain its whois has a contact with an @mac.com address. I wonder if they just his it big in a domain sale.

UPDATE: Well someone worked quickly it now has some business information and products. 

Monday, April 16th, 2007

Photo Sharing and Video Hosting at Photobucket

Adobe vs. Microsoft Vector Wars/Development platform heats up

Silverlight, formerly WPF/E, is a cross platform competitor to flash that launched today.  The new name leaves something to be desired but this is a new technology battle over vector application for RIAs, interactives, 3d, games, etc. 

The great thing about Silverlight is the use ot .NET and C# to code the interaction rather than Actionscript 3 in Apollo/Flex/Flash9.  I like both languages but with a .NET language to code in flash this opens up the development of interactive to a whole batch of developers not into Flash.

Tools to Develop with Expression Studio and Silverlight here

One major glaring problem is that Flash won the internet video battle with FLV video but Silverlight only runs windows video.

All in all this is great news in that two of the biggest companies are going to be pushing Flash and Flash-like Silverlight, meaning mush more possible interactive work.  Some are buying into the Microsoft vs. Adobe game but it just means better tools for smart developers that know how to leverage multiple platforms for their solutions.  This usually leads to the best understanding of solution development when technology has your allegiance rather than a specific platform or company. 

Monday, April 16th, 2007

Photo Sharing and Video Hosting at PhotobucketMy friend Thomas Goddard over at Illuminated Pixel created the first Maya to XAML converter.  Its pretty robust and works great exporting from my favorite 3d program Maya to XAML and into WPF.

Thomas being the cool guy that he is was nice enough to OpenSource this badboy to share the love.

Check it out at HighEnd3d here

Monday, April 16th, 2007

Photo Sharing and Video Hosting at PhotobucketHere’s a nice XAML exporter for Illustrator that is pretty clean.  Exporting from Illustrator to Flash or WPF can be tricky with the extra garbage that can be left or thrown out on export.

 http://www.mikeswanson.com/xamlexport/

From the author Michael Swanson

For working with XAML files, Notepad is great; I use it almost every day. XAMLPad (from the Windows SDK) is even better. But neither of them are built for serious graphic design work. Most professional designers are very familiar with Adobe’s venerable suite of tools, and a large percentage of them use Illustrator. So, I decided to spend some time investigating what it would take to build a plug-in for Adobe Illustrator that exports to XAML. Well, like a lot of software prototypes, it just kept growing. And growing. And growing. Now, after spending more than a few evenings trying to re-learn the C++ I’d forgotten some five years ago (I love C# and managed code even more now!), I’ve ended up with a very useful tool.

The tool may be a little rough around the edges. This is my first attempt at an Adobe plug-in, and although I don’t expect it to crash Illustrator, who knows what can happen? :-)

For a quick walk-through of the plug-in, you may want to watch this 25-minute Channel 9 interview.

Monday, April 16th, 2007

This is a great site that developed a pretty simple animation in the top vector packages and tested it on all browsers.  Testing WPF/E, Flex/Flash9 and Javascript/DHTML

Photo Sharing and Video Hosting at Photobucket

Sunday, April 15th, 2007

Photo Sharing and Video Hosting at Photobucket

Widgets are here!

Widget libraries for the desktop are beginning to be more prevalent with OSX, Vista and many widget toolkits such as Yahoo Widgets (previously Konfabulator). 

Here’s a great blog post(on yahoo so its slightly biased) but its pretty even handed on comparing the widget libraries from Yahoo, Google, Microsoft and Apple.

Desktop Widgets, Cross Platform please… 

However, if you are trying to create a desktop widget (flash or AJAX based) that is for the desktop that is cross platform (in terms of Windows and MAC) the list quickly filters to the following types of tools:

  • Yahoo! Widget Library or other widget library
  • A Flash Desktop App Creator such as MDM ZINC (Embedded Flash in an application, ZINC is the best in my opinion)
  • Adobe Apollo (RC Alpha, this has been in development and usable for developers for a couple of years but should launch by Q3/4 2007)
  • Microsoft WPF/E(Not out for a while, now called “Silverlight”)

Widgets that are too platform specific 

Essentially the Vista and MAC OSX widgets are cool, but unusable if we are only developing one codebase for all platforms. 

Google Desktop Widgets (http://desktop.google.com/plugins/) don’t work on a MAC, Windows Gadgets (http://microsoftgadgets.com/) do not work on a MAC and MAC OSX Widgets to not work on Windows Vista.  If we are only considering cross platform widget libraries these are all nixed.

So that leaves us with essentially three choices from before.

Pros and Cons

1) Yahoo! Widget Library
PROS:

  • Good user base already (Konfabulator has been around since 2002-2003)
  • Familiar name (for download support)
  • Easy to use
  • Fairly easy to develop/design (have to learn the XML/DHTML lib of Yahoo Widgets which can be limiting)

CONS:

  • NO VIDEO SUPPORT (videos would have to be linked to)

2) A Flash Desktop App Creator such as MDM ZINC
PROS:

  • Allows Flash to be wrapped with a flexible skinnable application.
  • Develop in Flash Actionscript and minimal integration calls
  • Supports playing Flash Video FLV

CONS:

  • Each user would need to download the application.
  • Would only work when downloading from a trusted site.

3) Adobe Apollo
PROS:

  • Allows cross platform support for one file type .air.
  • Develop in Flash Actionscript and minimal integration calls.
  • Excellent toolkits and development power.
  • Supports playing Flash Video FLV.

CONS:

  • Each user would need to download the Apollo runtime.
  • Not out fully yet.

4) Microsoft WPF/E
PROS:

  • Develop in .NET C# or other .NET languages
  • Excellent toolkits and development power.

CONS:

  • Each user would need to download the WPF/E runtime.
  • Not out fully yet.
  • Lack of support for FLV video which has become the Internet standard essentially.

Photo Sharing and Video Hosting at Photobucket

Conclusion…

If you had to build an application that would run on the user’s desktop and this application woudl need to support FLV video and be cross platform in terms of Windows and MAC, the choice is down to Adobe Apollo and A Flash Desktop App Creator such as MDM ZINC simply because WPF/E is too large a download currently for the runtime.  

Apollo is more of a risk in the interim due to the lack of the Apollo runtime not being propogated but a very large technology company is behind Apollo (Adobe) and in a short time it will be prevalent.  Using MDM ZINC the user will still have to download the program to run and does not provide the tools for the desktop as good as Apollo. 

My opinion, Apollo might be better for cross platform simple apps that can be widget like or bigger.  A smart development might be developing the widget in Flash and then putting it into BOTH Apollo and MDM ZINC to offer users both ways to download only supporting one codebase in the main core application/widget.

Sunday, April 15th, 2007

We like to ride the racecars.

Here’s a quick test of a NASCAR in Papervision3D.  I am checking the limitations which seem to be around 20,000 polys without making the processor sound like its melting.

Papervision3D is the most fun I have had with Flash since my first Asteroids clone in Flash 4 in 2000.

NASCAR racecar papervision demo

Photo Sharing and Video Hosting at Photobucket

Things on the list are to:

  • Make a demo with the camera as a follow cam
  • Make a demo with the camera in many places (that change to the car as its close)
  • Other cars
  • Optimization

%&*^( 3d in Flash! Never thought I would see it this well implemented, thanks Papervision3D (Carlos Ulloa Matesanz, Ralph Hauwert, John Grden).

Sunday, April 15th, 2007

Photo Sharing and Video Hosting at PhotobucketHere’s how to do Fluid Flash layouts quickly without Flex.

Fluid layouts are not new but fhard to come by documentation.

To create a Flash fluid layout, essentially what you do is create a Flash movie that is set to 100% in HTML/SWFObject/XHTML but scaling set to noScale. Then in the flash script you position each element as needed on a resize handler.

This works great for applications built in Flash that will need to scale such as an IDE, a word processor, an image editing programs or programs that might have floating panels and tools.

1) Make your flash movie HTML scaled to the browser:

If you are using deconcept’s excellent SWFObject (be sure to download it) then see this sample for the HTML embedding with js swfobject.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>blipgames.com</title>

<script type="text/javascript" src="swfobject.js"></script>

<style type="text/css"> /* hide from ie on mac */

 html {

  height: 100%;

  overflow: hidden;

 }

#flashcontent {

  height: 100%;

 }

 /* end hide */

body {

  height: 100%;

  margin: 0;

  padding: 0;

}

</style>

</head>

<body>

 <div id="flashcontent">

  <strong>You need to upgrade your Flash Player</strong>

 </div>

<script type="text/javascript">

  // <![CDATA[

var so = new SWFObject("myMovie.swf", "myMovie", "100%", "100%", "8", "#efefef");

  so.addParam("scale", "noscale");

  so.write("flashcontent");

// ]]>

 </script>

</body>

</html>

2) Inside your flash code:

AS2

Stage.align = "TL"; // Top left align the stage

Stage.scaleMode = "noScale"; // Set noScale for containing stage.// CREATE A LISTENER OBJECTsizeListener = new Object();// ATTACH THE ON RESIZE EVENT TO THE LISTENERsizeListener.onResize = function()

{

// In the event call a method to move the items

// or, call each item here to be sized

movieToBeCentered._x = Stage.width/2;

movieToBeCentered._y = Stage.height/2;

movieToBeCentered._width = Stage.width * .5;

// add other movie clips to position...

};

// ADD THE LISTENER

Stage.addListener(sizeListener);

AS3

package

{

 import flash.display.*;

 import flash.events.*;

 import flash.utils.*;

public class AppMain extends MovieClip

 {

  public function AppMain()

  {

   stage.addEventListener(Event.RESIZE,onResize);

   stage.align = "TL"; // Top left align the stage

   stage.scaleMode = "noScale";  // items do not stretch to fit

  }
  public function onResize(event:Event)

  {

   // In the event call a method to move the items

   // or, call each item here to be sized

   movieToBeCentered.x = stage.width/2;

   movieToBeCentered.y = stage.height/2;

   movieToBeCentered.scaleX = stage.width * .5;

   // ... etc

  }

 }

}

This allows you to see easily how you can make a fluid layout in flash that scales with more of an alignment lock rather than the whole movie scaling.

A demo and toolkit will be available soon with an easy class library soon. For now you can go here to get a demo and source from the http://www.tutorio.com/tutorial/liquid-flash-layout site.