knowledge.lapasa.net

Greater Toronto Area Flash Platform Developer Blog

Quick and Dirty 3-D On The Web

TAGS: None

The following is just a quick summary of approaches I know to do 3-d on the web. If you know of any others, please feel free to leave a reference. Thanks!

Processing


Java Required to view this applet (Credit: Processing.org)

Product Home
http://processing.org/

What’s Been Done With It
On http://processing.org/ main page, look on the left side for the “Examples” area.

Description
“Processing is an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain.”

How To Learn
http://processing.org/learning/
Note: There is no conventional linear documentation HOWTO. You just look at the categorized prototype code, cut & paste, and understand how it works. The nice thing about the code is for the most part, it is very short.

Web Deployment of 3d
The Java run time environement is required to view Processing applets

Comments
- Fast learning curve to get some good results
- Growing technology gaining fast adoption because of high cohesion of doing visualization quickly
- Aimed towards dynamic interactive 3d experience
- FREE!

Macromedia Director MX 2004


Screen shot of Quake 3 Forever done in Director

Product Home
http://www.adobe.com/products/director/

What’s Been Done With It
http://digg.com/playable_web_games/Play_Quake_3_Directly_in_your_Browser!
http://necromanthus.com/Games/ShockWave/quake3.html

Description
“Macromedia Director is the proven multimedia authoring tool for professionals. Director combines broad media support for media types, ease of use, high-performance, and an infinitely extendible development environment to deliver rich content and applications for CDs, DVDs, kiosks, and the Internet. Director MX 2004 offers powerful new features, including two scripting languages, DVD-Video support, cross-platform publishing, and Flash MX 2004 integration”

How To Learn
- http://www.adobe.com/support/director/3d_index.html

Web Deployment Of 3D
- Users must have Adobe Shockwave Player Plug-in to view Director-generated content

Comments
- Lingo (the scripting language for Director) is better suited for doing large scale real-time 3d projects on the web
- Not free

Adobe Flash + Swift 3d


Click lower section to load movies (Credit: erain.com)

Product Home
http://www.erain.com/products/swift3d/

What’s Been Done With It
http://www.erain.com/products/swift3d/examples/

Description
“Swift 3D is the only 3D application to directly integrate with Macromedia Flash and provides unrivaled vector rendering quality and output style options. Swift 3D’s toolset and interface allow anyone to quickly create 3D content while providing a full set of advanced tools to grow into. With both vector and video export capabilities, Swift 3D provides the entire motion graphics design industry with a powerful, easy to use 3D solution that delivers high quality results for an affordable price”

How To Learn
- In-program tutorials

Web Deployment Of 3D
- Users need to have the Flash player installed
- Out of the 3 approaches to 3d I have mentioned, this one has the largest reach.

Comments
- Aimed towards graphic designers; Claims you can learn in under 1 hour
- The combination of these tools will allow you to do non-dynamic 3d whereas the other two mentioned are more code based
- Not for creating dynamic interactive 3d
- Least amount of programming involved

Google’s SketchUp


Rollover to animate (Credit: Sketchup.com)

Product Home
http://www.sketchup.com/
http://sketchup.google.com/

What’s Been Done With It
Google Earth

Description
Google SketchUp (free) is an easy-to-learn 3D modeling program that enables you to explore the world in 3D. With just a few simple tools, you can create 3D models of houses, sheds, decks, home additions, woodworking projects - even space ships. And once you’ve built your models, you can place them in Google Earth, post them to the 3D Warehouse, or print hard copies.

How To Learn
- Video Tutorials
http://sketchup.google.com/tutorials.html
- In-program tutorials (very easy!)

Web Deployment Of 3D
- Google Earth: http://earth.google.com
- 3D Warehouse: http://sketchup.google.com/3dwarehouse/

Comments
- Very pleasureable and powerful experience when developing 3d
- Not for creating dynamic interactive 3d
- Still growing, not taking over the 3d world at any rate
- To my knowledge, absolutely no programming

Adobe Flash using ActionScript only


Click so that SWF has focus and then use Arrow Keys to navigate (Credit: Kirupa.com)

Product Home
http://www.adobe.com/products/flash

What’s Been Done With It
http://digg.com/gaming_news/_Wolfenstein_3D_created_with_Flash_8

Description
“Flash® Professional 8 is the industry’s most advanced authoring environment for creating interactive websites, digital experiences and mobile content.

With Flash Professional 8, creative professionals design and author interactive content rich with video, graphics, and animation for truly unique, engaging websites, presentations or mobile content.”

How To Learn
http://www.kirupa.com/developer/actionscript/3dindex.htm (3d essentials in Flash)

Note: This approach has probably the worst learning curve as familarity with ActionScript is mandatory.

Web Deployment Of 3D
- Users need to have the Flash player installed

Comments
- If your serious about doing 3d on the web, I’d go with lingo as it offers more for 3d as I have been told

Flex 2 Notes: World of Buttons

TAGS: None

Some notes I took going through the manual…

Old Fashion Button
Q: When to use a button control?
A: When you need to elicit user gesture to fire an event.

Quick Code:

xmlns="*"
creationComplete="null">

label="Hello World!"
width="150"
icon="@Embed(source='warning.gif')"
click="myTextArea.text = btn.label"
/>

width="150"
height="20"
/>


Pop-up Button Control
Q: When to use a pop-up button control?
A: When you want the button to take on different modes but you don’t want to instantiate a button for each mode.

Quick Code:

xmlns="*"
creationComplete="null">


import mx.controls.*;
import mx.events.*;

private var myMenu:Menu;

// Initialize the Menu control, and specify it as the pop up object
// of the PopUpButton control.
private function initMenu():void
{
myMenu = new Menu();
myMenu.dataProvider = [{label: "Offence"}, {label: "Defence"},
{label: "Retreat"}];
myMenu.addEventListener("itemClick", changeHandler);
popUpBtn.popUp = myMenu;
}

// Define the event listener for the Menu control's change event.
private function changeHandler(event:MenuEvent):void
{
var label:String = event.label;
status.text="Set mode to " + label;
popUpBtn.label = label;
}

public function displayMode():void
{
if (popUpBtn.label != "Select Mode")
{
status.text = "Launching " + popUpBtn.label + "!";
}
}

]]>

label="Select Mode"
width="135"
creationComplete="initMenu();"
click="displayMode();"
/>


Toggle Button Bar
Q: When to use a toggle button bar control?
A: When you want to have your user to be faced with multiple choices but only one can be selected. Think of it as one giant button with many options but only one handler called ‘itemClick’

Quick Code:

xmlns="*"
creationComplete="null">


import mx.events.ItemClickEvent;

private function clickHandler(e:ItemClickEvent):void
{
if (e.index == 2)
{
myTextArea.text = "You are a freggin genius!";
}
else
{
myTextArea.text = "You need to work on your math";
}
}
]]>

width="200"
height="20"
text="What is 1 + 1?"
/>

horizontalGap="5"
itemClick="clickHandler(event);"
>


1.3
3**9
2
All of the above



Video: Vader

TAGS: None

Was doing some research on Scaffolding plug-in for Confluence Wiki and I ended up stumbling on this clip:

From You tube via Random Bits

Use Cases 101

TAGS: None


No, it’s not used cases…I mean Use Case

What is a Use Case?

  • Text based description of how a system performs a behavior in response to an external actor’s request.
  • Use cases at first should always be simple enough that BOTH technical experts and business persons can understand it.
  • Use cases are robust enough to increase/decrease in complexity.

Who does Use Cases?

  • It’s formally the role of requirements analysts who collect information from the client and their end users.
  • Then they narrow the scope of each problem into a scenario. Each scenario logically has a use case that addresses a particular problem.

Where do Use Cases come from and where are they used?

  • They are used as a formal component of the software development methodology called Unified Process (UP).

When should a Use Case be done?

  • Under a UP methodology, they are done during the requirements collection phase or the Elaboration stage. Once a general high-level view of a system behavior (10%) is outlined in a use case, production ready coding may begin.
  • Similarly in website design, they can be used to document expectations between the client and the UI designer as to what is expected when a user visits the site and performs an action. Think text based storyboards.

Why… You should do a use case?

  • Provides an objective corner stone: It serves a common platform between developers, business persons, and the end-users.
  • Guideline For Implementation: Makes for a good checklist that the system is performing to specification.
  • Accountability: If the system performs to the official specification but it fails to do an unspecified task, then it is easier to figure out who is responsible.
  • Late entrants can catch up: By having use case documentation, people who join the project in the later stages can get up to speed.

Why you shouldn’t do a Use Case?

  • Use cases can be too narrow of a description that it ignores the formal definition of the problem domain.
  • Use cases are systems centric and do not revolve around the user experience. Therefore, use cases are not helpful in UI design.
  • Use cases can be abused in the amount of resources (time and money), which may undermine resource-limited goals like software delivery deadlines.
  • Process heavy projects tend to fail because they people get to wrapped up in the process.

More About Use Cases
http://alistair.cockburn.us/index.php/Use_case_fundamentals

© 2009 knowledge.lapasa.net. All Rights Reserved.

This blog is powered by Wordpress and Magatheme by Bryan Helmig.