Teaching Mobile App Design with Flash

Parsons design school incorporates the Adobe's Flash platform with Processing, Python, and other tools in its mobile application design curriculum


November 16, 2007
URL:http://www.drdobbs.com/mobile/teaching-mobile-app-design-with-flash/203101780

We recently spoke to David Carroll, assistant professor of media design at Parsons the New School for Design in New York. David is using Adobe's Flash development platform, Device Central CS3, and the Flash Lite runtime engine, integrated with other tools, to teach interface design for mobile media.

DDJ:Can you describe approach to teaching technology and interface design and how Flash fits into this?

David Carroll:Our department is a merger of a very traditional Communication Design department, which is over 100 years old and the Design and Technology program, which was started in 1996, to move away from teaching software at the service of traditional media to recognizing it as a medium itself. Our emphasis is on the intersection of design, technology, and society. We teach technology and design in a nontraditional way, extremely interdisciplinary. We see it as an essential form. In some ways, our patron saints could be Vannevar Bush and his invention of the memex, through all the great scientists of Xerox PARC, as well as folks coming out of the MIT Media Labs... John Maeda, Casey Reas and Ben Fry, creators of Processing... We call up Dr. Ivan Sutherland's first graphical software ever, Sketchpad and we watch Dr. Alan Kay's lecture where he demonstrates that software, and we look at it as the first instance of Flash. Of course it evolved to become Computer Assisted Design and Illustrator and other influential software.

DDJ:What aspects of the latest iteration of Flash make designing mobile apps easier?

DC: In Flash Professional 8, the emulator was a mere approximation. In Device Central 3 it was a giant leap in the kinds of conditions you can simulate and the accuracy of the emulation. In Device Central 3, you can calibrate the device to a device profile, and the desktop computer tries to simulate the performance of the device based on RAM, processor considerations. But it's still not enough to really know the quality of the user experience. Not just from a technical perspective, but from a design perspective and a social perspective. You still need to take it out of the lab and go use it in the real place it's going to be used.

There are some services that have emerged where you can subscribe and submit your application, and they test your mobile product on a variety of devices for benchmarking and quality assurance testing [DeviceAnywhere and Keynote]. That is an interesting resource for mobile designers and developers when trying to bring something to market. The difference between Firefox, Safari and Internet Explorer pales in comparison to the divergence on mobile devices. Taking something to market on mobile devices is a much bigger deal than publishing a cross-browser web site.

So the Device Central emulation tools are a big step in the right direction, especially as it relates to the identifying the device on a very detailed basis. When it comes to Flash Lite, the different versions have minute but critical differences on how you're going to design and code, how the Flash timeline and symbols are conceived. They are even variations in the specific mobile-only capabilities that Flash Lite offers through its FScommand TOs. Things like: can you trigger the vibrate, can you extend the backlight duration, figure out the battery status or network signal status, what kind of network you're on, how much data can you store locally... The tools are getting better at managing the divergence that's just astounding.

DDJ: Is it a challenge for students to see beyond Flash's timeline-based animation metaphor and view it as a tool for developing software?

DC: Flash has always been object oriented. Even when you're just dealing with symbols and the way the symbols are nested, that they have instance names, and the relationship of the master to the instance. I don't think the timeline is what trips people up and much as understanding object-oriented concepts. When they understand that symbols are object oriented even before you do a line of code, then it really translates well to object-oriented programming, because the concept has been visually expressed in the interface from the beginning. As soon as I made this historical connection between symbols and instances and classes and instances when it comes down to writing ActionScript 2 and 3 it makes a huge difference in the intellectual leap required to go there.

We get a more hybrid understanding. There are times with the timeline is still really handy to have, even when you're dealing with object-oriented stuff. You don't let go of it altogether. It's especially required for the kind of work students want to do here with data visualizations, really complicated information design projects, network-based visualizations.

DDJ: Do you emphasize other development tools in addition to Flash?

DC: Another tool is [Java-based] Processing. It was created at MIT Media labs and an open-source learning tool to teach programming for visual designers and artists. Processing is, in some ways, the most compelling alternative to Flash, especially as it relates to learning. That is where it's so simple and elegant. We can really focus on the concepts of algorithmic animation, motion through code, responding to mouse and keyboard input with constraints; the basic principles that are required in sophisticated work. We're moving towards teaching it in Processing and then combine into ActionScript after you understand the concepts.... It is a distilled essential environment to learn the concept, and when you understand it, then you can say "This is what the same thing would look like in ActionScript, and this is how it integrates with MovieClip library symbols and how you might exploit the timeline."

Another important alternative to Flash in the mobile space are some tools that Nokia is working, especially as it relates to multi-user applications. Python -- the graduate students all learn Python as a teaching tool and a way to build experimental applications. The iPhone which does not have Flash yet, and Apple is emphasizing its flavor of AJAX in WebKit and how that WebKit is also shared in the browser on Series 60 on Nokia and Symbian devices.

It's posing an interesting question in the market, how the Touch interface relates to Ajax-enabled mobile devices. It's going to be very interesting to see when the iPhone SDK is released in February if that coincides with Adobe's release of Flash on the iPhone and how ActionScript and Flash Lite deal with the Touch user interface conventions, like Flick and Pinch and Zoom that have no equivalent yet on other platforms. What happens in the mobile space is increasingly important.

Interestingly Processing, the IDE, even has a mobile component that exports as a Java app that can go a huge variety of devices that have the Java VM. We have an open-source Python SMS library tool, "Sydewynder," that's been created by students here. We've done a lot of interesting things with text that break out of the box, but we're anxious to make contributions in graphic immersive data driven mobile apps that go beyond just text. Hopefully we'll give the carriers a reason to get more devices with Flash Lite out there. I think whether Apple and Adobe can agree on how Flash goes on the iPhone and then how other companies have to get on board, I think it's going to have a major long-term impact on the relevance of Flash.

DDJ: Can you tell us more about the Sydewynder Python library?

DC: It's an open-source Python SMS library tool. The point of it was really for activism and to get around the restrictions of the cell phone utilities. The concept of it is, you get a Series 60 phone, you put Python on it, you run this script on a prepaid card, and it then can then create SMS-based subscription services, interactive games, and other activist, flash-mob style stuff. So you can go into Africa or China or just set it up here in the US, and you can run full-fledged SMS application in a rogue fashion. Then you just throw out the prepaid sim card, and there is no trace of it. It's a way to open up the ability for ordinary people to do SMS based applications, thanks to Python and Nokia being an open platform.

Other than that, we have classes in PHP, ColdFusion, C++, and Max/MSP. In the beginning of the program we used to teach Java but it really fell out of favor. Now C++ is the low-level language of choice. We don't have everything, but then it's not a computer science program. The classes are really in the service of the arts.

Resources

  • Parsons the New School for Design
  • Adobe Device Central CS3
  • Max/MSP graphical multimedia tool
  • DeviceAnywhere Mobile Complete
  • Keynote mobile testing and measurement
  • Sydewynder Python SMS app for S60 phones

    Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.