Woot! Get it while it's hot. And yeah, Astro did seem to move a lot of compositioning to the GPU!
Yeah! We just received word that UPM Forest Life won the Corporate Communications category Webby Award. Webby - check. Now the only big one still missing is the CyberLion. Flash Media Server 3 includes functionality to verify that a connecting SWF has not been modified by a third party:
This feature works only in FP 9.0.115, so I guess the Player performs some kind of checksum on the running SWF when a certain AMF3 connection is opened (or the server requests for the checksum to be computed). The great thing about this is that this cannot be spoofed (if the user does not modify the Flash Player itself). This means that you can be absolutely sure that the SWF connecting to your server has not been modified in any way, making it very easy create a trusted relationship with the client. Now, how the hell do we implement this absolutely fantastic feature in non-media server projects? It has to be in the AMF3 protocol somewhere. Anyone? Adobe? The Adobe User Group Finland is hosting a special live event to share exciting new information on Adobe's platform tools and technologies for building RIAs. You'll see an exclusive user group video presentation by Adobe Chief Software Architect, Kevin Lynch, hear some important product news, plus get your hands on some exclusive schwag and other giveaways. Be part of the fun and excitement and join the rest of the Adobe developer community by participating in this very special event.
When: Wednesday, February 27 at 18pm
Meanwhile we're closing the year with many competition successes. Fressis, a campaign we did with Hasan&Partners (unfortunately they totally "forgot" to mention us) got bronze at Eurobest and silver at Epica. UPM Forest Life also got silver at Epica and won at the European Excellence Awards. Kännissä olet ääliö won the campaign-category at SIME a few months ago. Now bring on the new year! By now you've probably heard and seen the news from MAX. Custom filters, fills and blend modes using the Adobe Imaging Framework and coded with Hydra. Nice. But... Why not go further? AIF certainly makes use of the GPU to very quickly manipulate bitmap graphics by passing in one or two images to the graphics card and a compiled hydra-script which instructs the GPU to basically create a pixel shader and apply that to a textured rectangle. Now it seems that the good stuff ends there. While fast image manipulation (and we're talking realtime fullscreen image manipulation as opposed to Flash 8's slow software filters) certainly is cool, why not go all the way? I wold guess that only the image manipulation is done on the GPU and that the Flash Player then retrieves the rendered texture from the GPU to pass it back to the Flash Players software rendering pipeline. I would have really loved to see all (or most) rendering taking place on the GPU. Tinic, how about one of your great technical posts on this subject? Once again one of these posts... We're looking experienced Flash & Flex developers to join our team of brilliant people. I can without hesitation say that we've got the best Flash developers in Finland and we're looking for more! So if you're are, or are looking to become one of the leading Flash and/or Flex developers in We offer good compensation, great projects, even better colleagues and definitely great challenges and a fantastic learning experience. The next Adobe User Group Finland gathering will take place next Friday at our brand new office café. This time the subject is ColdFusion and presented by Tero Pikala, a CF guru and Flex developer. Tero will give us an overview of ColdFusion and tell us about the integration possibilities with Flash and Flex. Time: Friday 7th of September at 17.00 Join in on the fun! I'm done using Cairngorm. It's just too much boilerplate code to write. Today I started to create my own In Cairngorm when you want to create a new Command you have to do three things: Create the Command class, register it in the Controller and create a Event class which eventually fires the command. Now, what's the reason to separate the event from the command, since the event always fires the command to which it has been registered, i.e. the event transports data (attributes) into the execute-method of the command. After some thinking I came to the conclusion that it's easier to bend the spoon itself rather than to bend yourself around the spoon. GrainCorn gets rid of the Event, and actually the Controller as well. That leaves us with one Command-class to create for every feature we'd our application to have. You issue a command by simply instantiating a new instance of a command, passing any parameters in the constructor:
new LoginCommand(username, password);
It's not necessary to store the command in a variable, since registering itself with the framework is handled by the command itself (every command extends GrainCornCommand). Also no controller is needed to bind Events to Commands, since we've removed Events altogether. Any thoughts? Am I missing something? Huh, Ted revealed that Flex 3 will launch synchronously with a new minor release of the Flash Player. New features? Script caching! Visit a site that uses a specific Flex framework and the framework gets downloaded. Visit a second site that uses the same Flex framework and the framework will be loaded from cache, and only the application is downloaded. And if you're developing Flex (and Flash) projects for a number of domains under your control, you can use the script caching to deploy a single, only once downloaded runtime shared library for all your apps. Script caching is something we've been talking about with Lari over oh so many Gin & Tonics. Luckily in this case, the walls must have had ears. We are organising a meeting on Wednesday 30th of May at 18pm at Valve. We're excited to have Flex Evangelist Ben Forsaith speaking at the event. Ben will give a talk about Flex and Apollo. After his presentation we will continue with free discussion about the same subject (and a few beers maybe?). As seating is limited, please use the contact form on the AUG.fi-site to let us know if you are going to attend! You've heard the news (in case you didn't, it's all about Flex going Open Source). Very good move from Adobe, and not only for the community, but for Adobe itself. The Flex SDK and compiler have already been freely distributable, so Adobe's money is coming out of Flex Builder and server products. On the other side, money is spent on creating those freely distributable products. So why not kill two flies with one stroke. By open sourcing the SDK and compiler, the community gets a better product (more frequent updates, better performance, more features), which increases interest in Flex and drives sales and resources can be pulled (well, at some point) from the SDK and compiler teams because the community is doing all the heavy lifting. Now people of course start going "c'mon, the only thing you haven't open sources in the Flash Platform is the FlashPlayer (apart from the AS3 engine), how about opening it up?". Dare not wish things you really don't want to see, say I. It's ok to let everyone contribute to the Flex SDK, and have millions of builds flying in each direction, since in the end, a flaw build only crashes one single application. But imagine a community driven FlashPlayer out there. New releases and branches every week. Some group would add 3D Hardware acceleration immediately, others would work on MOD-player support, and both would be distributed and not compatible and we would loose the most important aspect of Flash - ubiquity. Ted has a great post on the shortcomings and mistakes of Silverlight. Some of the things he points out are obvious (Having 0% penetration is really problematic, although MS is of course going to bundle it with Windows/IE, but who uses them anyhow ;) ) , but there were a few big surprises (at least to me). For example, Silverlight does not stream. Ok, that makes sense, since it's not binary. But to me the killer was: Silverlight does not have a scripting language built in, but uses the browsers JavaScript capabilities. Yeah, WTF? Welcome to debugging hell! Of course, modern browsers are quite compatible, but to me it still means that I'll opt for my sanity and keep my hands of Silverlight (well, at least until it supports hardware-accelerated 3D on Mac)
I just put MillionClouds into production (it's only a soft launch, so pardon the dust, I know it's there...). It's my first public Flex application and I've enjoyed working on it every minute. MillionClouds is a joint venture between our company and Christian Yakowlef , a renowned finnish photographer. The idea behind it is that whenever you arrange a photo shoot the only thing that you cannot control is the sky, so advertising agencies very often require replacement skies. Now you could go out and wait for the perfect weather or try your luck with any of the major image banks, but searching for just the right sky is really a drag if you have to use keywords (blueish cumulus clouds with 20% overcast on a nice day won't get you any results ;) ). MillionClouds gives you a very nice and intuitive user interface to search for exactly the sky you need, and IMHO it's working beautifully. We've not yet tagged most of the images, but I just wanted to put this baby live. Oi, Christian, how about pulling yourself together and tagging the rest of the images, now that it's live? ;) Try out the color sort functionality, found under the Global Filters panel. It produces some great looking results.
Now that I've had a little time to play with Apollo (mostly lovin' it) I can't shake the idea of how great it would be to have proper (x)HTML support within the Flash Player. You know, Flash is really, really bad at laying things out (as in layout ;)). Basically you have to define and code a heck of a lot to create something really simple. Flex does this a lot better, of course, but having spend the last 2 months with it I must say that I really do miss the elegance and simplicity of xHTML & CSS. Flex does a good job at laying out and controlling UI controls, but a really lousy job at making it easy to display structural information. And that's the beauty of Apollo. It's inbuilt browser. Whenever you need to display a ton (or even less) of information, there's no better option than HTML. So in effect you get the best of both world, a very powerful application framework and a great way to display structured information. So I wonder, what would be the size of a stripped down version of the Web-Kit be? Small enough for FP10? Forget JavaScript, XML support, AJAX. Just implement a decent subset (or all of the specification) of XHTML and CSS2 (ahh, if not 3) into the Flash Player and I will be your friend for life. You've already done it for Apollo, all you now need to do is remove two thirds of the code you have in there ;) So it's out. I'm sure it will keep me really busy until CS3 is released. I earlier had the problem of slow responses to resizing the browser window and having the Flex Framework layout stuff with constraints. I revisited the problem, since our app is making it's way to beta and I wanted to fix this bummer. As it turns out, it was really easy (there's a lot of documentation in Flex, so it sometimes can take a while before you find what you're looking for). Anyhow, Flex2 does indeed throttle measure and layout passes (components get layout for every tenth or so resize event in my case), but using validateNow - method of the UIComponent class you can force measurement and layout of a component and all it's children. Placing this:
private function init():void {
stage.addEventListener(Event.RESIZE, resize); } private function resize(e:Event):void{ this.validateNow(); } into the application class wil make things resize aaahso smoothly. Ahh, March. The long and dark winter (you don't know how dark it really is untill you've visited Scandinavia) is about to give way to spring and we'll see the sun once more (for my fellow Scandinavians, it looks like a big fireball and is extremely bright). And March will hopefully see the unveiling of yet the biggest software release from Adobe. CS3 in all its glory is speculated to be released around March 27th. In related rumors Leopard will also most likely see a March release. Cant wait to spend 55.000€ upgrading our software ;)
There's been a lot of buzz around 3D in Flash since Carlos Ulloa decided to decided to go Open Source with Papervision 3D (as a side-note, if you plan on going Open Source, why wait to release the source code and enable anyone to contribute?). And as promising as it looks and as much as the guys earn respect for creating something as complex as PV3D I must say that everybody is a little too excited. I'm not saying that PV3D wouldn't find it's way into many projects down the line. It'll definitely find it's place in a number of cool (yet simple) UI's. Aral Balkan even went as far as to say that we finally have PlayStation quality 3D in Flash. Now quality in my mind means speed, when you talk about 3D. Although the original PlayStation was not equipped with a GPU for 3D drawing to what we're used today, it did have a Gemoetry Transformation Engine, which increased the speed of 3D calculations required to draw flat, shaded or textured polygons and was able to draw 180.000 texture-mapped and light-shaded polygons per second. Thats still 6000 polygons if you want everything to run 30fps. PV3D is not going to be able to come even close to that (with the average PC that's out there). Now jump back quite a few years to almost the beginning of the century and look at one of the most popular graphics cards: The GeForce 4 MX series. Even in its lowest configuration its able to paint 31 million triangles per second. And all with anisotropic filtering, pixel shading, multitexture rendering and lot of a heck more that wouldn't be possible (and is never going to be possible) to achieve with CPU rendering. What's my point? Well, my point is that we are Flash developers (at least the ones still reading...). We're amazed by what guys like Carlos are doing, since we know what we're up against. We know we don't have hardware acceleration. We know that AS3 is still a scripting language. That's why we tend to go whoaaa whenever a new 3D engine or C64 emulator sees the daylight. But our end-users, the ones that use the end-result of our projects and in the end truly matter, don't know what constraints we have. They use hardware accelerated 3D all the time. And they will pitifully laugh at any 3D game created in Flash we can throw at them. The engine that turns us on will look embarrassing in the eyes of someone who has played a few 3D games. What we need is a hardware accelerated Flash Palyer, because with the introduction of AS3 the bottleneck in the player is again graphics rendering. Not only will hw-acceleration give us awesome 3D, but accelerating vector & bitmap rendering should also give the Player a performance increase that'll blow your mind (You know, bitmap rendering with a decent gfx-card should increase performance some 10 000%). I'm sure the the Flash Player team is looking closely what Microsoft is doing on that front, and am quite certain that we'll see a fully accelerated Flash Player 10. Come on by if you're interested. We'll hold a AUG Finland meeting on Flex tomorrow at 18 pm at Valve. We will have a speaker from IT Moon, who'll show us some real world projects they've done with Flex 2. We will also raffle some Adobe stuff and start (hopefully) the first AUG Finland competition. I'm working on a fluid Flex application and ran into a small problem. Whenever the user resizes the browser window, Flex seems to wait for a small while to see if the window continues to resize and only renderes the view when resizing stops for about 50ms or so. If I hook up to the resize-event of the application instance, it gets fired almost every frame when I resize the browser window. I also tried to invalidateSize() on the resize-event, but that does not help. Any ideas? I just got back from the first european Flash conference in years, and must say it was a bit of a disappointment. There were a few excellent sessions from Aral Balkan and Craig Swan in particular, but I found the rest to be really too basic. I mean, most developers attending the conference probably are quite experienced. It's just frustrating to sit at a session where you're told that Flash now has filters and a drawing API. Seriously guys, either get better topics or tell how advanced each talk is going to be. And please, throw better parties the next time. They really sucked.
The idea of the council was for Adobe to share their vision for the enterprise market and get feedback from the council members. I felt a little out of place amongst the other attendees - executives from rather large corporations and governmental institution, but nonetheless it was interesting to have a chat (and a few drinks) with the attendees. While I can't talk about the roadmaps that were shown, I can say that Adobe has some very sweet things in development for the enterprise market. The next AUG meeting has been confirmed and is held on the 2nd of November, so be sure to mark it on your calendars. We don't yet know where it's going to be held, so please if you know any available venues with a video-projector, please be so kind to drop me a mail. In this meeting we'll not talk about a specific subject, but instead get to see what you guys have done. We'll have a number of demos of products, services and applications that have been put together using Adobe tools (well, it's propably going to be quite a lot of Flash stuff). We still don't have that many submissions, so do send me an email (tuomas.artman at valve.fi) if you have a project (does not matter how old or publicly available) which you would want to share with the rest of us. Be prepared to show it in less than 10 minutes and answer some tricky questions from the other AUG-members. The next AUGFI meeting will be held at the Scandic Hotel Marski tomorrow, on 5th of October at 6pm. The subject is Flash Lite and the speakers are Thomas Dahlblom from Adobe and Mikko Röntynen from Nokia. Thomas will give us an overview of Flash Lite and show us some demo solutions. Mikko represents the S60 platform and will give us some insights on the Flash Lite technology and platform. To find the meeting room (called Gustaf), please go to the reception and follow the sign Adobe User Group. Please let us know if you will attend. Welcome!
Last week however I started to take a look at Asterisk, a open source PBX since we're trying to figure out how we could leverage VoIP in one of our campaigns. And I got insterested - and a lot of it has to do with rumors that Adobe is thinking about adding VoIP support to the Flash Player. We quickly got Asterisk to work and were able to create a few cool VoIP-based applications - you know, call a certain number, then control the application with your VoIP client by pressing numbers (DTMF). Using Asterisk's inbuilt text-to-speech functionality you can build quite interesting stuff very quickly. A lot of tele-companies offer VoIP gateways, so we quickly were able to make calls to any mobile network from our Asterisk box (at 0,2 euros / minute to anywhere in the world). Now imagine what you could do with VoIP support built into Flash Player. Our customers could for example go to our website, click on any of our employees and call them on their mobile directly from the website, using their microphone and speakers. Asterisk would route the VoIP call from Flash to the mobile network and to the employee's mobile phone. Asterisk could record the whole session and store or send it via email to both parties. How cool would that be? And really, building the whole scenario would be just a few hours of work on the Asterisk side... Now, the only question is, can VoIP support be built using AS3 only, not changing the player at all? We have access to the microphone, it's audio input and binary streams, so I guess it should be doable (AS3 also should have enough processing power to compress and decompress audio streams). Does anyone know better? We're holding our first Adobe User Group meeting next week on the If you want to attend (everybody is welcome), please drop us a note using the feedback form so we know approx how many of you can make it to the meeting. Related, Mobile Monday Helsinki next monday focuses on Mobile 2.0 & Flash Lite. Thomas Dahlblom from Adobe will show off some Flash Lite content & tools and Kaj "Hege" Häggman from Nokia will give a demo of WidSets. Whoa, that was quick. The June Flash Player Penetration Statistics tell the good news: Eightball has in under a year reached 86% penetration. Adoption has been a lot faster than with FP 7, which I guess took almost one and a half years to reach the same penetration. As promised, here's the source for the Particle System. I didn't have time to enhance or document the app, but the source should be quite understandable and simple to implement. To get started create a new project in Flex 2 and add all the files from the zip file to that project. Designate Main.mxml as the default app. To create your own particles, subclass the Particle-class and override it's draw-method. Take a look at the RotatoryParticle-class which does just that. I just had a little free time and thought to give Flex 2 and AS3 a trial run. Just how fast is AS3? Bloody fast! I thought I'd write a small particle system engine to test AS3 execution and drawing speed using BitmapData. It turns out that the example runs very well with 10.000 particles updated each frame when simply drawing a pixel for each particle. But hey, that's 10.000 instances of a subclass, each interpolating colour changes, calculating velocities and positions each frame, 45 frames per second. Good old Flash 8 would have bogged down at 500 particles, so AS3 really is fantastic speed-wise. Give it a try below. And if you like it, drop me comment and I'll publish the source after cleaning up a bit. The Adobe User Group Finland's site has gone on-line (for historic reasons at www.mmug.fi). We're planning on holding our first meeting this month with speakers from at least Adobe and Nokia. If you live in Finland go ahead and join the group at the MMUG site. Just last week we put the finishing touches to a campaign-site for the larges Finnish newspaper. What's great about this campaign is that we finally got to do something involving maps and geolocation. Maps has been huge ever since Google released their service, but unfortunately they have not yet been able to deliver European (other than GB) map data. So we were given the challenge to build a map-application from scratch where people could place markers and leave notes in a wiki-fashion onto the map. We quickly decided we would go with Flash, since that would enable to better prefetch, fade and zoom map imaginery. Our benchmark was Flashearth, which does a beautiful job in swapping low-res images into hires ones when zooming in. While we came quite close we did not have enough time to make it perfect, but I still think we did a great job. Check it out at hs.fi/omakaupunki (Finnish only, but click the faces in the intro and you'll be able to get to the map). And oh, the most important thing we leaned: Map imagery is freaking expensive! OK, so I finally figured out why I was not able to load any network data into my N90 using FlashLite 2.0. It seems that there is a bug in the FlashLite 2.0 player. The first time that Flash tries to fetch something from the network it asks if I want to allow connections. After I press yes, I get a dialog to select my default access point. I have a access point for Internet traffic, MMS messages and WAP. Now I know that the "Internet"-option is the correct one, since this is what I use to read mail etc. But what I get is nothing. No data is loaded. Well, today I once more tried to get the damn thing working, so I went to by Log-application to see if any data is being transmitted. And I was astonished to find out that I had a lot of MMS-connections in my log. Huh, I don't MMS that frequently. As it turns out, Flash Lite for some reason always uses my MMS connection when trying to fetch network data, and that does of course not work, since the operators MMS access point has limited access to Internet resources. Well, next I go into my Flash app again and select MMS as my default access point. What I get is another dialog stating to "Select access point". The dialog looks different from the "Default access point"-dialog and after selecting the Internet access point I finally get some data flowing! Doh. Hehe, what can you fit into 4 kilobytes? If you've ever looked at PC 4KB intros you know you can do lots of stuff, but how about a 4KB Flash movie? Simo and Pekka here at Valve put this beauty together for the FlashScene.org 4KB intro competition. Go and vote for them, I think they've deserved to win! They even had a few bytes to spare on audio ;) It seems that there are some problems with network connections with the new Flash Lite 2.0 application. At least on my N90 and N70. LoadMovies, LoadVariables and XML loading just does not work. The GPRS-connection is opened, the phone connects, but that's it. Silence. The log shows that no data has been transferred to any direction. Other users have had this problem too, how about you? Funny how things (Flash) work. I was optimising an application when I stumbled upon this oddity: Take the following function: function test():Number{ Be stupid and call it in a for-loop 50.000 times and record the time it takes to execute: 230 ms. Now add some parameters to the function: function test(a,b,c,d,e,f,g,h,i,j,k):Number{ Running the same test (without actually passing in any parameters to the function) reveals that execution takes about 1100 ms. While this is odd (we don't actually pass in any parameters or use those parameters in any way), it's still explainable - maybe Flash reserves some memory for the params every time the function gets called. But try explaining this: If you "mention" all the parameters that get passed to the function... function test(a,b,c,d,e,f,g,h,i,j,k):Number{ execution time drops again to 230 ms ;) Err... I was trying to optimise my code and found it a little confusing that when I commented some code out of a function that was called very frequently everything actually got slower... So I finally got back from MAX. There have been a number of posts already on the subject, so I won't write a long post to repeat things already said. The big things at MAX were of course Flex 2, AS3 and the new VM, the announcement of Macromedia Labs, and Flash Lite 2.0 (to be available to developers in January). Some minor things were a sneak preview of After Effects 7.0 (I'll post a video of it later), cool new collaborative API's to Breeze, and the fact that Director is really going nowhere (they showed two new things for the next release of Director, one being UI improvements and the other support for Flash 8. Dejavu anyone?) One thing in particular got my attention: Stephen Elop used his keynote to throw mud at Microsoft by saying: "We've got two words for Microsoft: Try again". Now this of course made everyone laugh. But I had to ask myself later why Stephen tries to down-talk Microsoft's Expression product line. If it were that bad and would in no way be able to compete with Flash, why would he even bother to talk about it? And in a number of sessions I also saw how many Macromedia employees pledged support for the Mac and Linux platforms. In my mind, support for margin operating systems (sorry, but Linux and MacOS are margin OS's) is the most important aspect of the Flash Platform. From what I've seen, Expression is a direct competitor to Flex. And from what I've seen it does things amazingly well, much better than even the new revamped Flex 2 framework with AS3. And Microsoft's got muscle, that's for sure. It seems that Macromedia is a little intimidated by Expression, and I believe they should. Should Microsoft decide to support multiple platforms with XAML (which I doubt), Flex and Flash would quickly find themeselves in a very competitive market. I've always thought the flash penetration statistics over at Macromedia were a little too optimistic. Although we've created quite many campaigns targeted at young people - who probably upgrade their Flash Players quickly - we've never seen penetration reach the numbers mentioned on Macromedia's site. Up until recently, we've developed for Flash 6. Looking at some of our campaigns in March, our statistics tell us that only 88% were able to see Flash 6 content. Compared to the 97,7% mentioned on Macromedias site for the penetration in Europe, the difference is too big. And I would not blame Finland. Compared to, say, Germany or France, users here are technologically far ahead. We have faster computers, more Internet users (% population), faster connections, and we dominate in the adaption rate of Firefox. Maybe the MM statistics are just
No, I'm not going to argue whether Sparkle will kill Flash or not, I think everything that can be said has been said already. But I must say that I find it odd that so many are afraid of... err... progress. I mean, why are you guys afraid of something better than Flash to come out, instead of freakishly excited? I use the tools that make most sense, and if Sparkle (or whatever else...) works better than Flash to get a certain job done, I'm very happy to jump to that solution. Don't see it as a threat, but as a possibility. Big kudos to Developer Dispatch, they wrote of a rumour that DevNet subscribers could download Studio 8. And luckily I remembered that we received a DevNet subscription when we joined the Macromedia Alliance Partner program. Yep, there it was, and currently downloading. I still find it weird that a rumour made me check our DevNet subscription and not an email from Macromedia. Well, good news travels fast. mCOM aka GLIC components have finally been released. What's it been, a year since they were first announced? Anyhow they work beautifully - definetly the best set of basic components out there. Every time we create a campaign that contains some sort of game with a high score list we end up thinking about a perfect solution to keep cheaters out - especially if there are any good prizes to win. The problem is always the same: How can we make sure that a score submitted has really been achieved playing fair? The weakest link is usually the part where Flash tells our back-end the actual score. There are a few ways of posting scores that we've used:
Even a novice user would be able to hack both the GET and POST methods using a simple HTTP sniffer and issuing a spoof HTTP call to the back-end. The third one is far more complex. Sniffing at HTTP Traffic between client and server would not enable anyone to spoof the score, since the hash-code is used to authenticate the submission (make sure that the client has used the same algorithm as the server). But if the Prize is good enough, one could go through the trouble to decompile the Flash-movie and find out how it actually posts the score and create a new client that could be used to spoof scores. Obfuscation makes it hard and making the algorithm that creates the hash-code more complex - maybe even dividing it up into multiple Flash-movies - would make it yet harder to break, but it would still be breakable. What kind of measures do you undertake to ensure authenticity of hi-scores? Just installed FDT and must say it looks very promising. I've always felt drawn to eclipse, but have not had a chance to use it at work, since I don't do a lot of Java work, and thought ASDT (still en pre-alpha) was not mature enough. Be sure to check out FDT if you do any Flash programming. I just would have hoped for UML-roundtripping, but maybe they'll add that in the next version. Macromedia revealed Studio 8 today, but it's going to ship in mid-September. Rumors say that Flash 8 would be reveiled next monday, 8.8. Just yesterday I received an email through the partner program inviting me to an breeze-event regarding Studio 8. The event will be held tomorrow, so it certainly looks as if Macromedia is really close to launch Flash 8 and related software. Err - Hello Nokia! Just before the holidays Nokia put a Flash splash-screen onto their main site, Nokia.com. I figured they would have removed it in the next few months, since in my humble opinion it's just an obvious hindrance. One rollover and two clicks to get me to the real front-page is just too much. Anyhow, I bought a Motorola V3 from Bangkok. I always wanted to try something different since I've been using Nokia's mobiles my whole life and the design of the V3 was appealing. And I'm glad that I tried it out. Now I can go back to my S60-powered phone and am a lot happier with it (with all the little flaws it still has), since the interface of the V3 was just really sad. We made it to the Cannes Cyberlions shortlist this year! ONE - a campaign-site for N-Gage's upcoming title impressed the jury this year. I myself am quiet proud of the navigation which is completely dynamic and XML-driven. After a not so relaxing five weeks of summer vacation (visiting four countries and swashbuckling the finish archipelago for a week) I'm finally back at work just to find 300 unread emails, spam and nonsense excluded. Still I'm looking forward for a exciting fall with Flash 8 on it's way, probably only a few weeks away, since a beta of the player has already been released. Altivec-optimisations and OpenGL-based hardware-rendering for modern Macs as well as some very solid performance on the new filters and bitmap caching make be drool. On the developer front, I'm glad to see that Grant Skinner's interface components (formerly GLIC, now mCOM) are also finally being beta-tested and it should not take too long for them to hit the market. We've never really wanted to develop our own components since GLIC was on its way and looked very promising.
The Nokia 770 looks like a great device for internet-browsing. I'm a little confused that they decided inculde Flash Player 6 instead of 7 (FP7 does exists for Linux, doesn't it?), but I'll get me one if the price tag is somewhat acceptable. The only thing that's missing is 3G (or even GPRS), so you have to find a Wi-Fi hotspot whenever you want to browse the web. But that's where the Nokia 7710 comes in.
Just noticed today that a few banners we produced had not been tested sufficiently... The thing was this: We produced a banner with a video ad. Now in Finland, none of the mainstream sites accept that any video-banners be streamed from their servers (in fear of bandwidth congestion), so we had to create a banner that essentially says "Click me to play the video" and after user interaction would start streaming the flv from one of our servers. As it turned out, the banner had a *slight* flaw and would actually start downloading the video instantly (but not display it). Well, what happens when a banner on three major sites download a video from our servers the instant it appears? A whopping 178 Gigabytes of traffic over just two days! Luckily our server at Magenta Sites didn't even cough (thanks guys for the great service!). |

Whoa, what a busy years end. I've been working like crazy to get my projects finished before the end of the year... Still one more week to go.
Check out 
Just got back from the Adobe European Executive Council in Barcelona, to which I kindly was invited. It was fantastic to meet with all of the European Adobe executives as well as Bruce Chizen himself.
Until recently, I've not been radically interested in VoIP, mainly due to the fact that mobile calls in Finland have become insanely cheap - 0,06 euros / minute to any subscriber - by the stiff competition of virtual operators in recent years.
Just a quick note since I've not seen anyone blogging about this, but Flash 8 does miracles to pictures when scaling (well, compared to Flash 7 anyhow). Remember that "Allow smoothing"-check-box when opening the properties of a imported picture which really did not do much to increase quality? Well in Flash 8 it does. If you set _quality to "high" or "best", bitmaps with the "Allow smoothing"-property set are now really smooth when scaling and/or rotating. Bitmap edges are now even anti-aliased with the background.
Nokia announced yesterday their first non-mobile-phone-gadget since they focused on mobile communications (for those that unfamiliar with Nokia's history, they did all sorts of things from cables to wellingtons in the early days).