Aprender Adobe Flash.
Cursos Tutoriales, Videos, Consejos y Tips de distancia de diseño Web y animaciones en Macromedia Adobe Flash
Curso de ActionScript. Flash CS4
Crear Reproductor Flash
Abrir Adobe Flash Professional CS3 y en la pantalla de bienvenida, seleccione Archivo Flash (ActionScript 2.0) (Fig. 01).

Abra el panel Componentes (Fig. 02). Si no encuentra el panel Componentes ir a la ventana y seleccionar componentes o simplemente pulse Ctrl + F7 en el teclado.

Desde el panel Componentes arrastrar y soltar el MediaController a subirse al escenario (Fig. 03).

Con el MediaController aún seleccionado, ir al panel de Propiedades y definir el nombre para él - me pidió el mío vcontr (Fig. 04).

También, asegúrese de que la anchura es la misma que la anchura del vídeo que más tarde se carga al jugador.
Ahora, desde el panel Componentes arrastrar y soltar el componente MediaDisplay a subirse al escenario (Fig. 05).

Con el componente MediaDisplay aún seleccionado, vaya al panel de Propiedades y darle un nombre - me pidió el mío vdisp (Fig. 06).
También, asegúrese de que las dimensiones de los componentes MediaDisplay coincidan con sus dimensiones de vídeo, que en mi caso son 300px y 240px.
Abra el panel Comportamientos - si no puedes verlo, vaya a la ventana y seleccionar Comportamientos o pulse Mayús + F4 de su teclado.
Con el componente MediaDisplay aún seleccionado, haga clic en el signo más en los comportamientos y elegir el panel Medios de comunicación> Contralor Asociado (Fig. 07).

En el Contralor Asociado ventana de diálogo seleccionar nuestro controlador (vcontr) y haga clic en el botón OK para asociarlo con nuestro componente MediaDisplay (Fig. 08).

Abra el panel Inspector de componentes - si usted no lo encuentra ir a la ventana y seleccione Componente Inspector o pulse Mayús + F7 en el teclado.
Con su componente MediaDisplay aún seleccionado, definir el camino a su archivo de vídeo (en formato. FLV) con el nombre del archivo (Fig. 09).

Si usted no desea que su vídeo para iniciar la reproducción automática, basta con desmarcar la casilla de verificación Play automáticamente. Además, si su señal de vídeo utiliza puntos se puede definir en la sección inferior del Inspector de componentes, proporcionando nombre y cargo de cada punto clave en el vídeo.
Si usted quiere que su MediaController que se mostrará permanentemente en lugar de ocultar y mostrar cuando se le señalan con el cursor del ratón, seleccione el MediaController y en el Inspector de componentes para elegir en la controllerPolicy .

Una vez que hayas hecho todo esto puede guardar su archivo y publicar tu reproductor de vídeo presionando Ctrl + F12 en su teclado.
Actionscript: mejorando la presentacion del codigo: 2da parte
Convenciones en el uso de funciones
Las funciones perminten la reutilización de código,
- Si un segmento de código es usado en mas de un lugar debe ser codificado en una función.
- La proceso que lleva a cabo la función debe ser lo más específico posible.
- Se debe evitar la siguiente sintaxis:
myCircle = function(radius:Number):Number {
//...
} Detener repetición de código
Cuando usamos el evento “onEnterFrame” para repetir un segmento de código, debemos tener en cuenta el momento en que hay que detenerlo para evitar problemas de rendimiento. Para esto debemos borrar el evento usado “delete” por ejemplo:
circleClip.onEnterFrame = function() {
circleClip._alpha -= 5;
if (circleClip._alpha<=0) {
circleClip.unloadMovie();
delete this.onEnterFrame;
trace("onEnterFrame borrado");
}
}; Optimizando el código
- Evitemos llamar consecutivamente una funcion dentro de un “loop” es mejor introducir el código de la función dentro del loop.
- Use en lo posible funciones nativas.
- No abuse del tipo “Object” sea lo mas posible preciso en el uso de los tipos.
- Asigne la longitud de una arreglo “Array.length” antes de usarlo dentro de un loop
- Enfoque la optimización en los loop, este es la operación que Flash player necesita mayores recursos.
Formateo del código
- Añada un salto de línea luego de cada segmento (funciones, modulos, etc.) de codificación
- Agrupe los segmentos de código lógicamente.
- Use una identación consistente.
- Use espacios antes te un paréntecis, por ejemplo:
var i:Number;
for (i=0; i<10; i++) {
//codigo
}
- Exceptuando la guia anterior, no coloque espacio entre el nombre de la función y el paréntesis
function obtenerUsuario(){
//codigo;
}
getUrl("http://www.undermedia.com.ec"); - Coloque espacios despues de una serie de argumentos
funcion (nombre:String, apellido:String) {
//codigo
} - Coloque espacios el operador y los operandos. (Excepto en el operadores . ++ –)
var edad:Number = 20 + 1;
- Procure colocar cada elemento en líneas separadas.
- No codifique asignaciones múltiples. Separe cada asignación en diferentes líneas.
var undermedia:Number = (a = b + c) + d;
Guas para sentencias condicionles
- Separe la sentencias if, else..if, y if..else en diferentes líneas.
- Use siempre llaves {} para las sentencias if
//Incorrecto
if (numUsers == 0)
trace("no users found.");
- Si tiene operaciones complejas agrúpelas con parentesis
if (genero== 'masculino') && (edad >= 22)) {}
//codigoActionscript: mejorando la presentacion del codigo: 1ra parte
Una correcta legibilidad facilita las tareas de codificar y mantener nuestras aplicaciones.
Una manera de mejorar la legibilidad de nuestro código es al usar convenciones de nombres.
Variables:
- El nombre de la variable debe permitir identificar rápidamente su tipo (Entero, arreglo, etc) y su alcance (Local, global )
- No usar el mismo nombre de variable en diferentes casos, esto puede causar confusión.
- Usar abreviaciones claras y reconocidas, evitar por ejemplo usar la abreviatura sec, que puede significar sección o secundario.
- Si es necesario usar un nombre que contenga varias palabras, cada palabra se debe distinguir usando una letra mayúscula o un separador como “_”.
- Debe ser lo más descriptivo posible. Por ejemplo una variable que recoge datos de usuario sería mejor llamarla userData en lugar de únicamente data.
- Usar nombres lo mas cortos posibles, claro mientras sean descriptivos.
- Usar “Strict data typing” es decir definir el tipo de dato de la variable. Por ejemplo:
var datosUsuario:String = new LoadVars();
- En contadores usar variables de una sola letra (i,n,j).
- Iniciar las variables con una letra minúscula.
Constantes:
- La constante debe ser escrita usando solo letras mayúsculas.
- Separar las palabras con guión bajo “_”.
Variables booleanas:
- Le debe anteceder la palabra “es” o “is” en ingles. Ya que solo puede ser verdadero o falso.
var isMujer:Boolean;
Nombres de funciones y métodos
- Usar nombres descriptivos.
- Cada palabra que compone el nombre de la función debe ser distinguida usando una letra Mayúscula o un separador como “_”.
- Describe el valor que retorna y la operación que realiza. Por ejemplo obtenerNombre().
Clases y objetos
- El nombre de la clase debe empezar con una letra mayúscula.
- Cada palabra se debe distinguir usando una letra Mayúscula
- Usar sustantivos para nombrarlas instancias, por ejemplo NuevoUsuario.
- Usar nombres en singular, por ejemplo Usuario.
- No usar el nombre de la clase en los atributos, pues genera redundancia. Por ejemplo usuario.usuarioEdad seria mejor edad únicamente.
- Cuando incluyamos verbos debemos hacerlo en infinitivo. Por ejemplo Correr en lugar de corriendo.
Paquetes:
- Usar el dominio reverso para nombrar los paquetes. Por ejemplo com.undermedia.
- Agrupar las clases del paquete por funcionalidad.
- Cada palabra de se debe distinguir usando una letra Mayúscula
Interfaces
- El nombre de la clase debe empezar con una letra mayúscula.
- Usar adjetivos, por ejemplo Imprimible.
Convenciones para comentar nuestro código
Los comentarios en nuestro código deben ayudar a entender al como y porque de algún segmento complejo.
- No comentes lo obvio.
- Para comentar varias lineas usa /**/ y para una sola //
- Usa un comentario de cabecera para decribir aspectos como: Nombre, version, fecha, autor descripción.
Convenciones de la codificación
Uno de los aspectos más importantes de la codificación es la concistencia.
- Manten el código en un solo lugar. Generalmente el primer Frame de la línea del tiempo.
- Colóca el código en la primera capa y nombralo “ActionScript”.
- No incluyas código dentro de los objetos como botones, instancias de movieClips. Por ejemplo evita:
on (release) {
// Do something.
} En lugar usa:
myBtn.onRelease = function() {
// Do something.
}; - Evita el uso de rutas absolutas, es decir evita el uso de “_root”. Usa this, this._parent, o _parent en lugar de _root.
- Usa “_lockroot” para solucionar problemas asociados con un incorrecto uso de “_root”. Por ejemplo si cargas una movieClip y se para inesperadamente, usa:
this._lockroot = true;
- Usa la palabra “this” aunque tu código funcione sin este. Esto facilita que el código sea mas entendible y legible.
- Consideraciones de la palabra “this” en clases.
- Para referirte a la clase dentro de una función o método anidado, crea una referencia local a la clase. Por ejemplo.
class Undermedia{
var propiedad:String;
function Undermedia(){
//Refernecia a la clase
var thisObj:Undermedia = this;
function funcionAnidada(){
thisObj.propiedad
}
}
} Estructurando una clase
- Usa un comentario de cabecera para decribir aspectos como: Nombre de la clase, version, fecha, autor, descripción.
- Incluye archivos externos si son necesarios.
- Coloca todas tus variables estáticas.
- Coloca tus atributos, primero los públicos y luego los privados.
- Declara el contructor de la clase.
- Agrupa tus métodos por funcionalidad
- Coloca los métodos get/set.
Guias para crear una clase
- Colocaca cada declaracion en diferentes lineas, es decir evita:
var nombre:String, apellido:String;
playBtn.onRelease = playBtn.onRollOut = playsound;
- Inicializa las variables locales cuando son declaradas, mientras que los atributos de clase deben ser inicializados con valores por “default” o con null esto optimiza el rendimiento el evitar mantener variables no utilizadas en memoria.
- Declara las varibles antes de usarlas, esto incluye los “loops”.
- Evita nombrar variables locales con el mismo nombre que las de clase
- Define tus métodos o atributos públicos cuando lo requieran sino definelos como privados.
- No abuses de los getters / setters, si algo va a ser leido únicamente solo crea el getter mas no el setter.
- Usa un prefijo para el this aunque no sea necesario esto facilita identificar si el atributo a método pertenecen a la clase. Por ejemplo
class Undermedia{
var propiedad:String;
function Undermedia(){
//Refernecia a atributo de clase
Undermedia.propiedad;
}
} - Usa la palabra “Super” para referirse a un metodo o propiedad de una clase heredada, por ejemplo:
class Mamifero{
private var numPatas:Number;
function getNumPatas():Number{
return this.numPatas;
}
function setNumPatas(paramPatas):Void{
this.numPatas = paramPatas;
}
}
class Humano extends Clotes{
function getPatas(){
return super.getPatas();
}
} - No abuses con el uso de with, esto puede dificultar la legibilidad de tu código, al desconocer el alcance. Por ejemplo (Ejemplo extraido de la fuente).
this.attachMovie("circleClip", "circle1Clip", 1);
with (circle1Clip) {
_x = 20;
_y = Math.round(Math.random()*20);
_alpha = 15;
createTextField("labelTxt", 100, 0, 20, 100, 22);
labelTxt.text = "Circle 1";
someVariable = true;
} Se lee mejor:
this.attachMovie("circleClip", "circle1Clip", 1);
circle1Clip._x = 20;
circle1Clip._y = Math.round(Math.random()*20);
circle1Clip._alpha = 15;
circle1Clip.createTextField("labelTxt", 100, 0, 20, 100, 22);
circle1Clip.labelTxt.text = "Circle 1";
circle1Clip.someVariable = true; Una excepcion a la regla es cuando usas al API de dibujo pues se llama continuamente a los mismos métodos, por ejemplo:
this.createEmptyMovieClip("rectangleClip", 1);
with (rectangleClip) {
lineStyle(2, 0x000000, 100);
beginFill(0xFF0000, 100);
moveTo(0, 0);
lineTo(300, 0);
lineTo(300, 200);
lineTo(0, 200);
lineTo(0, 0);
endFill();
}
Detectar posición del Mouse en Flash con ActionScript
Muchos desarrolladores en Flash están cambiando el modo en que solían programar aplicaciones. Muchas de las nuevas tendencias tienen que ver con el concepto de las RIA (Rich Interface Application) y de la interacción del usuario con la aplicación. Sin duda, el puntero o mouse, a cambiado la forma en que el usuario utiliza su computador. En mi experiencia, cada día me topo con ejemplos cada vez más extraordinarios de las cosas que se pueden hacer con Flash y ActionScript. Aún debemos de recordar que las grandes cosas están hechas de pequeñas. Por ahí me tope con este ejemplo que sin duda es una de ellas. Este fantástico script muestra como detectar la posición del mouse en Flash con ActionScript. Se los explico a continuación:
Paso 1: Creemos dos cuadros de texto dinámico. En mi caso, crearé uno asociado a la variable mouseX y otro asociado a la variable mouseY.
Paso 2: Posteriormente, peguemos el siguiente código en la primera posición de nuestra línea de tiempo:
_root.onEnterFrame = function() {
mouseX = _root._xmouse;
mouseY = _root._ymouse;
}
Como, pueden darse cuenta, la simple referencia a la propiedad ._xmouse y ._ymouse nos devuleve el valor de la posición del mouse para ese objeto. Ahora bien, esto lo podemos utilizar para muchas animaciones, como por ejemplo un puntero personalizado para una página o para hacer objetos que cambien de tamaño dependiendo de la posición del puntero; como en el siguiente ejemplo:
Paso 1: Cree dos objetos movie clip. El segundo, debe ser una instancia del primero.
Paso 2: Pegue el siguiente código, en la instancia del primer objeto, dentro del segundo objeto movie clip.
onClipEvent (load) {
baseX = _parent._x;
baseY = _parent._y;
}
onClipEvent (enterFrame) {
distanceX = _root._xmouse - _parent._x;
distanceY = _root._ymouse - _parent._y;
if (distanceX
distanceX = -distanceX;
}
if (distanceY
distanceY = -distanceY;
}
distance = Math.sqrt((distanceX*distanceX)+(distanceY*distanceY));
if (distance -150) {
_parent._xscale = distance;
_parent._yscale = distance;
}
}
onClipEvent (mouseMove) {
updateAfterEvent();
}
En el anterior ejemplo, podemos observar que se utliza el valor de las propiedades _parent._x y _parent._y. Estos valores representan la posición del objeto padre, dentro del Stage. Además podemos ver la utilización de la función Math.sqrt que devuelve el valor de la raíz cuadrada y para cambiar el tamaño del objeto, las propiedades utlizadas son ._xscale y ._yscale.
Adobe ha abierto las especificaciones del formato SWF 9 y de FLV/F4V
Esto bajo el Open Screen Project, cuyo objetivo es poner el formato SWF en cualquier tipo de aparato. Lo más importante es que ya no hay restricciones sobre el formato SWF, por lo que es completamente posible usar las especificaciones reales de Adobe para crear un Flash Player libre, como Gnash. Junto a eso, Adobe liberó el motor de Actionscript 3 hace tiempo, el proyecto Tamarin que administra la Mozilla Fundation.»
(leido en Barrapunto)
Cual es el Flash mas reciente
Pregunta: Cual de las dos versiones es la mas reciente, la Flash MX 2004 o la Flash 5.0 ?
Respuesta: Flash mx 2004 es mas reciente, pero ya hay dos mejores versiones: el flash 8 y el flash cs3 (el mejor y mas nuevo y cuenta con una compatibilidad excelente junto con illustrator y photoshop)
Fuente: Flash MX 2004 o Flash MX?
Crear un banner de Publicidad
Bien, comencemos. Lo primero es ver cómo quedara cuando terminemos dicho banner, para eso pueden ver al final de este blog, y encontraran el banner que vamos a crear. Hay una diferencia entre el banner que haremos y el que yo tengo en este blog. La diferencia radica en que el banner que crearemos en el macromedia flash 8 se le podrá dar click sobre el mismo para así dirigirnos hacia la página principal del banner que estamos haciendo. En este caso al usted pulsar sobre el banner, el mismo lo dirigirá hacia la página principal de este blog, si eso no sucede, quiere decir que en algo se ha equivocado, pero no es de preocuparse ya que solamente requerirá revisar las instrucciones anteriores para corregir el error.
He omitido la introducción de un texto en el mismo archivo de flash, ya que es muy fácil hacerlo, incluso es similar al añadir texto en Paint, PowerPoint, etc. De todos modos se explicara cuales son los tipos de texto que admite o permite el macromedia flash 8.
El texto estático: resulta útil si necesita añadir texto decorativo en el escenario o cualquier otro texto que no necesite modificaciones y ni cargas desde una fuente externa.
El texto dinámico: si necesita cargar texto desde un archivo, una base de datos o si necesita modificar el texto cuando el archivo SWF se reproduzca en el Flash Player.
El texto de entrada: cuando quiera que el usuario escriba texto en un campo de texto. Puede utilizar este texto y enviarlo a una base de datos, hacer que manipule algún elemento del archivo SWF, etc.
Comencemos con abrir el macromedia flash 8, luego pulsar sobre File>New>Flash Document.
Pulse en el inspector de propiedades sobre size y ponga 700 en width, 160 en height, 6 en Frame rate y si desea le puede poner una descripción.
Autor: Miguel Díaz
Para mayor información macromedia flash 8
Articulo.org
Curso Leccion Animacion en Macromedia Flash 8
Primera animación en Macromedia Flash 8
En esta lección haremos nuestro primer archivo en flash. Así que, mucha atención.
Hacemos la suposición que el lector o la lectora ya tiene instalado en su ordenador el macromedia flash. La versión que utilizaremos a lo largo de todos estos tutoriales será la versión 8 de macromedia flash. Sin más demora, ¡empecemos!
Lo primero es abrir su programa flash.
Creación de un nuevo documento
1. Para eso de click sobre Archivo > Nuevo, en el cuadro de dialogo Nuevo Documento, seleccione Documento de Flash. Si es que no esta seleccionada ya porque viene de forma predeterminada y de Aceptar.
2. Luego el color de fondo esta de color blanco, si desea puede cambiarlo a su gusto pulsando sobre la opción Background, y seleccione el de su gusto. Esta opción esta en el inspector de propiedades. De forma predeterminada debe estar en 550*400.
Dibujo de un cuadrado.
1. Seleccione la herramienta Rectángulo en el panel de herramientas.
Luego seleccione el color de fondo de su preferencia.
Creación de un símbolo.
1. Haga click en la herramienta Selección en el panel de herramientas.
2. Haga click en el rectángulo del escenario para seleccionarlo.
3. Con el rectángulo aún seleccionado, elija Modificar>Convertir en símbolo.
4. En el cuadro de diálogo Convertir en símbolo, escriba mí _ rectángulo en el cuadro de texto Nombre.
5. El comportamiento predeterminado elija: Clip de película. Haga clic en Aceptar.
Aparece un recuadro de delimitación alrededor del rectángulo. Acaba de crear un activo reutilizable, denominado símbolo, en el documento.
6. El nuevo símbolo aparece en el panel Biblioteca. Si el panel Biblioteca no está abierto, seleccione Ventana > Biblioteca.
Animación del rectángulo.
Ahora que ha agregado una ilustración, es hora de hacerla que se mueva.
1. Arrastre el rectángulo a la izquierda del área del escenario.
Autor: Miguel Díaz
Puede ver este tutorial en su totalidad en mi blog personal. http://novatosflash.blogspot.com
Cursos Flash 8, Flash MX 2004, Flash Actionscript, Dreamweaver 8, Dreamweaver MX 2004, Fireworks 8
También cursos dreamweaver con y sin bases de datos e incluso cursos de actionscript en distintos niveles.
Con amplia experiencia en el campo del diseño y desarrollo web así como en la enseñanza, enseñan diseño web a partir de 3 las herramientas fundamentales de Adobe (ex Macromedia): Flash, Dreamweaver y Fireworks en versiones 8, CS3 y MX 2004. (Texto extraido de la presentacion de Killersites.com.ar)
Libro de Action Script
La sinopsis del Libro de Action Script
"Con este libro descubrirá los fundamentos de la programación y del lenguaje ActionScript, que le permitirán potenciar sus actuales desarrollos así como generar diseños propios desde cero.
En cada capítulo encontrará las claves y secretos esenciales para dominar esta herramienta y controlar al máximo sus aplicaciones, así como el desarrollo completo de una serie de ejemplos prácticos."
Flash CS3
El grupo de usuarios Riactive presento algunas de las novedades en un excelente video con todas las mejoras y novedades
Video de Presentacion
Videos Flash con Adobe
Con el se pueden reproducir vídeos en Flash sin la necesidad de un navegador. El programa, cuyo nombre clave era Philo, estará disponible para descarga como beta a partir de la primavera. Pero a no engañarse, aunque su nombre sea Adobe Media Player su enfoque es totalmente distinto al que puede tener el Windows Media Player o el iTunes.
Es que en lugar de enfocarse en contenido local (es decir, disponible en tu ordenador) esta aplicación se basa en feeds RSS para recibir vídeos. Desde luego, cuenta con un buscador para poder encontrar los contenidos de tu interés.
A pesar de esto, se podrá descargar contenido para poder visualizarlo offline, por ejemplo podcasts, programas de TV y hasta algunos episodios de series. Ofrecerá la posibilidad de reproducción a pantalla completa y descargas automáticas de contenido. Fue desarrollado haciendo uso intensivo de la nueva plataforma Apollo, presentada hace poco por Adobe, y será multiplataforma (para Mac OS X y Windows).
Concebido como un proyecto que pueda ser utilizado por los distribuidores de contenidos, Adobe Media Player incluirá el mecanismo de protección DRM.
Adobe Flex Builder 2 para principiantes
Este tutorial pretende ser una guía básica para novatos en Flex, en el que veremos paso a paso cómo publicar una película lo más sencilla posible en ambos formatos.
El primer paso será tener instalado el programa Flex Builder 2. Podemos descargarnos una versión de prueba desde la web de Adobe. Utilizaremos Flex Builder para publicar películas tanto de Flex como de Apollo.
Impedir la visualización de archivos SWF individualmente
El truco consiste en crear un MovieClip que ocupe toda la extensión de la pelicula (por ejemplo, un rectángulo de color negro) que esté situado en primer plano, y por lo tanto oculte el contenido real del SWF.
Leer Truco Completo
Convertir un video de FLV a AVI o MOV
"Todos sabemos que para pasar nuestros vídeos de un formato como AVI o MOV a FLV podemos realizarlo mediante una simple importación de vídeo en Flash 8, y es una manera muy fácil. Pero no existe una opción de revertir este mismo proceso.
Este problema ha sido resuelto gracias a una aplicación online (RIA) que se encarga de exportar todo tipo de formatos a otra gran cantidad de formatos disponibles. Es como la piedra filosofal de la exportación/importación de formatos de media."
NOTA COMPLETA
docentes.INFO Recursos, masters y postgrados
Page Rank 3 para Aprender Flash
Muchas gracias a Google y a todos los sitios que enlazan este sencillo Blog que intenta colaborar en el aprendiseja el Macromedia Flash
VIDEO Realizar animaciones en Macromedia Flash 8
| Shape tween animation allow you to create a morphing effect over time using and animating primitive shapes inside of Macromedia Flash 8. | |
Microsoft vs. Adobe
Con la adquisición de Macromedia, Adobe se convirtió en un auténtico "monstruo" (en el buen sentido de la palabra) de Internet, pues la compañía adquirida disponía de productos como Dreamweaver (editor profesional de sitios web), Authorware (herramienta para la creación de aplicaciones) y el popular formato de animaciones Flash, cuyo uso en Internet es muy amplio para la creación de presentaciones de páginas web y banners publicitarios entre otros usos. Esta serie de aplicaciones se unían en el momento de la fusión de Adobe y Macromedia con el software de la primera, como el Acrobat Reader o el Photoshop.
No podía pasar mucho tiempo antes de que Microsoft (que ha utilizado el formato Flash en su propia página web) decidiera "enfrentarse" a Adobe en su propio terreno, y para ello ha creado una familia de herramientas bajo la denominación Expression orientada a los profesionales que deben desarrollar un trabajo creativo. El primer representante de esta familia es Expression Web, como su nombre indica una herramienta para el diseño de sitios web, y del cual ya podemos descargar una demo o comprar el producto desde su página.
El resto de productos de la familia Expression previstos inicialmente y que verán la luz más adelante son Expression Blend (trabajo en grupo), Expression Design (dibujo y diseño gráfico) y Expression Media (organización y clasificación de medios digitales). El conjunto de todas estas herramientas se conoce como Expression Studio, e integrado será puesto a la venta a mediados de 2007.