Nome: Colin Moock
Sito web: http://www.moock.org
In breve: I didn't ever intend to use computers for a living -- just for games.
[Intervista]
1) Describe yourself in 200 words or less
Pass. I don't like looking in the mirror.
2) When and why did you become a software developer?
I
didn't choose a career in programming. I just happened on its own.
Originally, I learned about computers in order to play video games,
when I was about nine. I came up the Atari line (2600, 130XE, 1040ST),
but also played on my friends' Apple ][, IBM and Commodore systems. I
didn't ever intend to use computers for a living--just for games. So I
went to university for English Literature and Fine Art. While working
on my master's degree, one of my professors noticed that I was into
computers. He hooked me up with a job at SoftQuad, the makers of an
HTML editor called HoTMetaL. HoTMetaL was one of the tools available
before Dreamweaver, and was largely phased out by Dreamweaver's
success. I was on the web team at SoftQuad for two years, and learned a
lot about HTML and JavaScript. When Dreamweaver and other heavy
competition came along, SoftQuad drastically downsized and I moved to
an interactive agency named ICE in Toronto. I did design and
programming work there (self-taught in both), and ended up specializing
in Flash because it merged those two worlds. I had faced enough
irritating cross-browser issues JavaScript, and took happy refuge in
ActionScript.
3) Which programming models do you prefer?
Object-oriented programming.
4) Describe the project in which you have used the most advanced technology.
My
multiuser development framework, Unity (www.moock.org/unity), which I
co-develop with Derek Clayton. It's challenging because multiuser
applications are distributed across potentially hundreds or thousands
of computers, so the logic has to span arbitrary amounts of time and
account for remote state changes.
5) If you where a software application you would be...
Who says I'm not a software application?
6) What are 10 good reasons to use ActionScript 3.0?
Just 10?
-Much faster than ActionScript 2.0
-Completely overhauled Flash Player API; infinitely more clean and logical than its predecessor
-Great display API for working with display assets
-Display assets can be re-parented
-"new"-based display-asset instantiation (e.g., new TextField())
-Sophisticated, standards-based event model
-Professional tool suite (Flex Builder, command line compiler, debugger)
-Runtime datatypes and errors
-Great XML handling (E4X)
-Binary sockets and binary data access
-Improved text metrics
-Programmatic access to sound spectrums
-Good integration with assets authored in Flash CS3 (see http://moock.org/lectures/ActionScriptAndFlashCS3/)
-Free compiler and development framework
7) What benefits have you had using ActionScript 3.0?
Once
I embark on Unity 3, I'm looking forward to lower lag times and
transferring images and sounds over binary sockets in multiuser
applications.
8) What do you see as the future of Web 2.0?
I
don't believe in Web 2.0. Or AJAX. When I was a kid we just called that
stuff "the web" and "DHTML". But it's nice to see that JavaScript
finally supports XML loading.
More generally, I think things like email and web clients are ridiculous. In any application, you have data, functionality, and context. The future of computing will (or at least should) merge those things fluidly, across much more creative and convenient media than we use today. In a generation or two, people will laugh at how rudimentary web browsers and email clients were. They might even laugh at the very concept of separate "applications". Instead, people will just dynamically apply functionality to content that follows them around from context to context. An example: here's what many people do today to share photos with friends after a party:
-walk into their home
-turn on their computer
-connect their camera to their computer via a cable
-transfer the photographs to the computer's hard disk
-open an e-mail application
-create a new e-mail message
-supply the names of the desired photo recipients (maybe they have a "convenient" address book to help them here)
-attach the photographs
-send the email
Here's what your grandkids will likely do:
-at the end of the party, say "Cam9000, share photos with friends and family"
In response, the camera will wirelessly transfer the necessary files to anyone in the photos and to the photographer's predetermined "family". The update to the recipients' media archive will trigger an opt-in alert sent via physical devices or embedded heads-up displays.
Voice recognition will handle the "share photos" command; a pervasive data network will handle the data transfer and backups; and face recognition will determine which friends should receive the photos. Of course, the camera won't be a separate device, and there are lots of little details to iron out, but you get the idea.
We've come a long way in a short time, but computers have only been commonplace in personal spaces for about 20 years. The internet has only been popular for about 12 years. We're still very much in the infancy of computer history.
So
"the future of Web 2.0" is: the term "Web 2.0" will disappear. So will
the web itself, as we know it anyway. Computers and networks will
become so deeply embedded into our bodies and lifestyles that today's
technology will no longer be recognizable.
