Update: Here are Mike Chambers’ thoughts on the issue…
I thought it was a bad April fool’s joke at first, but it’s not April. It’s true, Adobe is laying off 8% of their global workforce, which is about 600 employees. More details will be available on Dec 16th during their regular earnings conference call. The full Adobe press release can be found here. Adobe’s president and CEO, Shantanu Narayen, said this is primarily because of not so good CS4 sales.Further, he states, “The global economic crisis significantly impacted our revenue during the fourth quarter, we have taken action to reduce our operating costs and fine-tune the focus of our resources on key strategic priorities.”
According to his twit, the layoffs include Mike Downey, Sr. Product Manager @ Adobe and a very influential evangelist for the platform. I am very sad to hear this news and will definitely miss his contributions. Their have been rumors that Mike Chambers and Ryan Stewart were both getting cut as well, but luckily, this is false and false.
I have heard multiple people make comments like, ‘for the first time, I am losing faith in Adobe and their stability.’ We have seen many industries take a hit during this recession, it should not be surprising that Adobe is one of them. However, the internet is not going to suddenly vanish due to our economy. Until Silverlight becomes a real competitor, Flash has no threat of dissappearing any time soon. Neither is the marketing industry going away. As long as their is marketing and 2d graphic design, there will be Photoshop and Illustrator. Adobe’s staff will shrink and it may yet shrink again after this round of layoffs is all said and done, but the company is not going away and their flagship products will not go away.
I am less concerned about the possibility that the next version of Flash or Photoshop may take extra long to be released, and I’m more concerned about the jobs and families of the 600 that got laid off. Say a prayer that they are able to find another job, soon…
It’s once again the time of year for the best Flash conference. Here’s my schedule:
Day 0: Sunday 28th Sep 2008
09:30am PV3D Workshop. Ralph Hauwert
Day 1: Monday 29th Sep 2008
09:00am Keynote: Flash Now and in the Future. Richard Galvan
10:15am The best way to predict the future is to invent it. Carlos Ulloa
11:30am Things to Make and Do. Mike Jones
01:30pm A Preview of Flex 4 and “Thermo”. Mark Anders
02:45pm Creating Particle Effects with Flint. Richard Lord
04:00pm Beyond the Knowledge: The Art of Play. Eric Natzke
08:00pm Modulating a Lot. James Paterson
Day 2: Tuesday 30th Sep 2008
09:00am Welcome to The Cloud. Aral Balkan
10:15am Town Hall Meeting. Adobe
11:30am Things Every ActionScript Developer Should Know. Grant Skinner
01:30pm AIR Beyond the Basics – Taming the Desktop. Peter Elst
02:45pm Platform Jiu-Jitsu. Lee Brimelow
04:00pm Motion Graphics, one frame at a time. Nanda Costa
08:00pm The Best 8 to 12 Hours of my Life. Robert Hodgin
Day 3: Wednesday 1st Oct 2008
09:00am Advanced ActionScript Animation. Keith Peters
10:15am Papervision3D Simplified. Seb Lee-Delisle
11:30am Decompiling Flex and Flash. Doug McCune
01:30pm Play with Pixels, Bitmap Manipulation with AS3. Koen de Wegggheleire
02:45pm The Ying and Yang of Flash. Paul Betlem
04:00pm The Art of Surveillance and Self-Exposure. Jonathan Harris
AppleInsider just released some details about CS4. They’re saying that insiders call it a “minor update.” Over on Keith Peter’s blog, he argues the point by praising these new features, “bones, 3D, PixelBender, sound synthesis, new text engine, new drawing API.” In response, Steven Sacks comments “Wait a sec, Keith. You’re talking about features of the player/actionscript. Let’s not confuse the language or the runtime with the IDE. You can access the features you listed without using Flash CS4.”
I agree that most of the features I’m really excited about are in FlashPlayer 10 and not necessarily in Flash CS4. But take my company for example. We create Flash games. We heavily rely on inheritance, code reuse, and modularization. We have a great system setup where you can open any smaller module that you want to reuse in a future Flash game, copy a single folder from the Flash Library to your new game, import and initialize the object in the new game, and you’re off and running. This makes creating the ground floor of a future flash game extremely quick and efficient. After 3 years of refining this process, we have arrived at what we believe to be a fantastic work flow from design to engineering.
I am extremely excited and intend on using immediately many of the new features of FP10. The only reason we haven’t already is because, currently, this requires Flex. It would take us countless hours and tons of money to get everything converted to Flex. This simply is not an option for us. So if a new Flash IDE called CS4 came out and was exactly the same as Flash CS3 except that I could leverage all of the new FP10 features *directly from the Flash IDE*, I would be sold without hesitation. As Keith claims, for many, FlashPlayer 10 = Flash CS4. If you use Flex instead of Flash CS3, then feel free to review the latest version of FlexBuilder. But as for a person who leads a team of people who use Flash CS3 40+ hours / week, we are all very excited about the new version.
I’m currently using the Flashplayer in more of an embedded system configuration. We’re evaluating multiple hardware configurations to decide what hardware to use and we’re also evaluating multiple version of the Flashplayer to decide which Flashplayer to use. So I made a quick open source test app to help with this evaluation. It allows you to compare animation performance between an EnterFrame animation vs a Tweener animation vs a Timeline animation. You can also apply various effects to see how they impact things. Since scaling can skew results, the app is designed to run at a specific resolution, but it is easily scalable to whatever resolution you wish to test (and steps are included in the source).
The results have been rather bewildering at times. Depending on the hardware (and I think the OS as well), I have seen filter effects drastically decrease the performance, drastically increase the performance, I have seen full screen mode have great impact or no impact, I have seen the AIR version help the performance and hurt the performance, and just about everything inbetween. Crazy! Anyway, tell me what your hardware/OS/Flashplayer version combination are, and what sort of results you get in the comments.
It should be fairly straight forward. Just drag the sliders to add a new ball that is animated in the specified method. You can click on the top half or bottom half of the DiagnosticStats window (thanks Mr. Doob!) to increase or decrease the max fps. Use the + or – keys to increase/decrease the maximum # of balls allowed. In the AIR version, press Q or X to quit and click and drag the background to move it around.
For background, read:
- Standards, ECMAScript and representing the past
- ActionScript 3 and ECMAScript 4
- Ru Roh! Adobe Screwed By EcmaScript Standards Agreement
- How will ECMAScript “Harmony” affect ActionScript 3?
Keith Peters just posed a good question, Why Standards?. On the one hand, standards are undeniably good, assuming that the point of a “standard” is that many adhere to it. It’s pointless to call something a standard if you are the only one following it. For example, take the metric system vs the english system of measurement. There are really only two standards and it still causes us problems. Remember the $125 million lost Mars Climate Orbiter in 1999 because someone didn’t convert from one standard to another? Or closer to home, remember the problems of figuring out why your page looked one way in IE, another in Netscape, and another in Safari? The same page could look drastically different. Or how about the standard of XML? What a fantastic concept! I love that I can import an Excel file directly into Flash if I want to thanks to XML, or that I can interface with an app written in an entirely different language over Ethernet because it talks XML. It’s undeniable that standards can be very powerful.
However, it’s also undeniable that not everything should follow a standard. How boring it would be if everyone’s web page had to use the exact same look and feel and no one was allowed to use anything but text. This is, of course, ridiculous. Standards can be very powerful, but they can also be very inhibiting.
So the real question is not, “why standards?”, but rather, “should Adobe follow the new ECMAScript 3.1 standard?”
The only time I ever wish that various rich oop languages were more “standardized” is when one language has a really nice feature/ability that I become dependent on, and then I switch to another rich oop language that doesn’t support it. For example, there are many times that I have griped that I wish AS supported all of the features that usually come “standard” in other rich oop languages, such as private constructors, function overloading, strongly typed arrays (vectors), etc. ActionScript 3 was a big step in the right direction and I thought ES4 would solve most of my remaining gripes.
My view, however, implies that a standard in the programming world is used to set the *minimum* feature set that a language has, NOT the maximum. I agree with Keith Peters, that my employer and my personal career as a developer are both completely unaffected whether AS follows a named standard or not. On the contrary, I feel like AS currently *is* the standard, and undeniably so in the current RIA world. I believe Adobe should consider the ES3.1 standard and follow it where it makes sense, but I strongly believe it should ignore it altogether when it’s not in the best interest of the language or the community. Again, if MS, Apple, and Mozilla all decided that their browsers would support text only to be more standard with each other, everyone would jump ship in a heart beat to a “less standard” web browser that pushed the technology limit and supported images, video, sound, etc.
I believe Adobe has been pushing this technology limit for the last decade, and that they should continue to do so without consideration of slowing down in order to be able to claim that they are “compliant”.
Oh, and since we’re no longer worried about being compliant, can we please have private constructors back and true support for function overloading?
Thanks for the post Ryan. I agree with much of what you are saying and as a non-Adobe employee, I definitely agree that Adobe does better-than-most commercial companies at contributing and fostering the open source community. In-fact, the Flash community, by and large, is a community that really believes in Open Source, whether it’s for silly experiments, or full blown engines like Tweener or pv3d.
However, I believe it would help the community if there was some sort of post explaining Adobe’s reasons for not open sourcing the Flash Player. I can speculate reasons, but it seems open sourcing it under the right licensing structure would be beneficial for everyone.
“The main licensing options available are:
* Commercial Licensing. This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application.
* Open Source Licensing. This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it.”
Trolltech gets free contributions from the community to their source, and they foster a community that does free advertisement for the company (by the sheer nature of Open Source). Their commercial licensing is not cheap, so the company still makes great money. It’s a win/win for everyone.
Flash has such an extremely creative community that is always pushing Flash to its limits. I believe the tools that would be created if the Flash Player were open source would be incredible. At the same time, I love Adobe’s products and do not want the company to decline financially. But I believe the opposite would happen: even more people would desire to use Flash as the tools for developing it get better and better.
Here’s the contents of the job posting:
ActionScript 3 Engineer
DigiDeal Corporation, Spokane Valley, WA
Deal yourself a winning hand! Join DigiDeal and develop digital games for the gaming industry! DigiDeal is the worldwide leader in electronic table game development. Our Digital Table System and game portfolio are recognized around the world for engineering excellence and innovation. We offer fully paid benefits, matching 401k plan, and competitive salary/incentives. DigiDeal is an EOE. If you’ve got what it takes, get in the game and work with the most creative and dynamic casino game developers.
-Develop multi-player Flash-based games
-Write Flash apps for touch screen technology
-Code exclusively with ActionScript3
-Join a team that is always trying to push Flash to its limits!
-3+ years software development
-BS/MS in CS or equivalent experience
-ActionScript 3 (preferred), AS2, Java, or C++
-Strong OOP skills is a must
-Game development is a plus
You can also apply be e-mailing me directly: natejc at this domain name dot com.
I was also having problems with the SOUND_COMPLETE event. I discovered Andre Michelle‘s
post petition about it and promptly added my name to the list. There have been multiple other people posting about the problem also. Unfortunately, the only response that I could find from Adobe was by Brent Baker on a bug report for the issue that states:
“FlashPlayer issues should be reported here. Also you will need to provide much more information on the issue: http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform”
It seems that the bug was closed without actually looking into it. Bummer.
At the company I work for we use Functional Specification documents for any new Flash game that we make. Before any of the developers start any coding, the design team puts together a simple frame by frame Flash file to make it easy to see what things will look like in the various states of the game. This will eventually become screen shots put into the spec. There will be an additional section put into the spec that includes all of the top-left and center x,y coordinates for each MovieClip on the stage during each frame. That was usually a tedious part of the job that none of the designers liked doing. When they brought this to my attention, I decided to make a quick script to do this for them. Here are the results:
- Copy and paste the code into frame 1 of any Flash file
- Make sure all objects that you want wireframes for are Symbols (for some reason, the x,y is off if they aren’t)
- Run the swf
- Use the arrows keys to change frames
- Use space bar to toggle wireframe view
- You may press the space bar multiple times to get new random colors
- You can click and drag on the x,y text to move it to a new location
I stumbled across a site today by Jamie Zawinski that randomly pulls various images from the web blindly (I do not know the workings of the algorithm) and throws them together every 60 seconds or so into a collage. If any of the images spark your interest, simply click on it to go to the website. Pretty fun idea and a nice thing to have running in the background while you’re doing something else. I know that people have done similar things with flickr before, but it’s nice that this is not limited and that it doesn’t require any browser plugins. Here are a couple of sample screenshots:
Warning: Unfortunately there seems to be occasional “rated R” pictures. It would be better w/out that, but still a nice idea.
I was reading a post from Keith Peters today and noticed a comment made by Ryan Taylor mentioning that mouseEnabled and mouseChildren affect the CPU load. I had to know if this was true or not so I promptly created an experiment app. The app randomly creates 700 parent sprites and 700 nested children sprites. You press the SPACE bar to toggle .mouseEnabled and .mouseChildren for all of the objects.
I couldn’t believe it. Although disabling these properties did not seem to affect the FPS, it definitely affected my CPU. When tested on my WinXP,SP2 machine with a P4 3.4 HT CPU, the swf was taking 13-16% of my CPU. When I set mouseEnabled and mouseChildren = false, the CPU load dropped to 4-6% total! It cut down the CPU usage by about 300%! Very good to know. Thanks for the tip Ryan!
Adobe accepted me into the AIR on Linux Alpha tester program! I just finished downloading everything and will let you know how it runs shortly. On a side note, I’m hoping it will fix the long-standing “while connected over an XML socket to a server, play a sound file and the network connection gets dropped” bug. More info as soon as I’m permitted to give some-stay tuned!
Update: My initial tests have shown many of the AIR-specific features running excellent! Way to go Adobe!
The first one was hilarious:
The new one is good too:
With the release of AIR 1.0 for Mac and Windows, Adobe is now focused on getting AIR 1.0 out for Linux. Currently, they are at the alpha stage and are taking applications for “Pre-Beta Testers”. Here’s a video of Kevin Lynch (Adobe’s Chief Technical Officer) demoing Parleys.com AIR app in Ubuntu (about 1:15 in) at Engage 2008:
Hopefully Adobe will consider me worthy of being a “pre-beta tester” and I can blog some more about the hard details in the near future.