Adobe Flash and HTML5 – are we happy?

Days have passed, and I have deliberately not commented that much on the debate that has raged the net since Adobe Systems announced, that they wouldn’t continue the mobile Flash Player. What I have done, was observing the different phases of emotion that users where sharing with the rest of us. I saw mainly 3 categories: 1. Those who wan’t Flash dead yesterday, and didn’t think that this was one day too early. 2. Those who thought that this was the end of the World as we know it, and everything now turns to darker times (scenes with polluted cities and numb faceless people dragging them self around next to grey walls pops into my mind). 3. People with everything has it’s time – let’s see if it isn’t best for both part – sort of people. Let me first comment a bit on all three:

1. The “HA-HA. Dead by HTML5″-people

A lot of these people do not like Flash – no matter what it does … it is just pure evil. Some may have the program to crash their machine – other may just have heard of people who has a crash on their machine while Flash was installed. This group have made a choice not to support the platform on their device – or at all. If they have an iOS system, the choice is taken for them – they cannot decide for themselves. They see blank spots on websites, and think that the Internet should adapt to their needs and limitations (like iOS ever would the other way around) :-) The other part of the group are praising the open standards, and think that proprietary plug-ins are a bad thing – the Internet should be free, and no one should take ownership of any part of the experiences presented.

2. The “End of the world”-people

Well, Adobe did an awful job, communicating this announcement, and people just shimmed and was something like “OK, let’s see: Adobe announces … etc. etc. … Flash Pl… … Mobile … Discontinue … etc. etc. … Open  Web … Webkit … HTML5 ”

… AARRRRGH. Flash is dead. HTML5 killed it. Uuuh, Steve Jobs, you son of a #¤%#%& – are you happy now!! The next Apple fanboy that comes around, better be sorry or I’ll …

Well, maybe not that crazy, but a few words, where enough to make them go crazy, instead of rational thought of what their own mobile habits where. When we read what is gone, we also need to sum up, what is left. This has to be taken to a higher point of view, to understand the purposes (as I see them)

When Flash isn’t on mobile browsers, then whats next – desktop? … Linux? (oh, already) … AIR? … Illustrator and Photoshop?! Fact was, that the most recent Flash player on mobile browsers actually performed quite well on newer smartphones, so why? We wan’t the whole web. Everybody want the whole web – or do we?

3. The “Let’s see if it’s not for the best”-people

This group, have a habit of taking announcements up for consideration, and think of consequences and reasons for a given action. They may have various reasons for being in this group, but it could be something like: “I am not browsing that much on my phone – mostly searching information”, “I’m more into Apps”, “Drop all the fancy stuff, and give me some battery time back” or “HTML5 can do a lot of Flashy looking stuff – why not use that instead”.

A change in plans

When the iPhone came around, there was no Flash Player, that could stand up for The Jobs … so he turned it down. Having great interest in the Canvas-tag (read, previously patent, AFAIK), he thought that this was a better solution. Flash would lead to a poorer experience – how true that was. What he forgot to tell was, that it probably wasn’t solely a problem for the plug-in, but more a problem of bringing all the advanced stuff into a tiny phone with a tiny battery. You didn’t hear him say: “But that tends to be a general problem. We cannot do that with HTML5, either!” The fact was, that the advanced features of the Flash Player just didn’t fit well in these first generations of devices (both Android and iOS). Adobe thought that the “code once and deliver everywhere” should be adhered. They ported it to Android, that is more open than iOS and allows people to develop to the browser.

iOS on the other hand, had great success with the walled garden, and the term I call “iWay, or the highway”. In this closed ecosystem, things are taken care of for you, and you should have trouble doing all the things a computer should do … just what people wanted. Installation and removing Apps is easy … we actually think, that it cleans up, after itself, when we delete the App :-) Icons and folders for tools and games. Why go to the web to search for a recipe or play a game, when you can install and access it right on the phone – why use a browser for that, and remember URL’s etc.

Adobe was wrong, and realized it

Adobe kept trying to fulfill the promise of the full web, and code once and deliver everywhere. Apple said, they had the full web experience on iOS, ignoring the fact that it wasn’t true. And while the battle raged, and the fanboys where mooning each other, the normal users started to adapt and use the technology on it’s own premises.

Even though the possibility was there, no one created mobile specific solutions in Flash. You just couldn’t scale a website down to a little screen and bring the same experience from desktop to phone – Flash Player is a media container like video and images. It has a hard time, reflowing text or layout, when the browser size changes. When a demanding webpage finally came around, it was so FWA-like that it would pop out the battery from the back-cover on my device.

On the other hand, the user was downloading and shopping Apps in an extends hard to imagine. It was so easy to link to AppStore or Android Market from a website, and install directly on the phone. I have the feeling that a lot of users found it as an improvement to download an App from the site, to get some dedicated time with the content even after they have left the webpage.

The device isn’t ready

Flash has always been a plug-in for HTML and browsers. Images and video are easy to relate to HTML, but Flash is a bit harder. The main purpose of Flash is to take the user to experiences, the HTML can’t go. When HTML stops, Flash player is supposed to take over and deliver a media container, showing what’s really possible … but it is just a square on a web page. The demand for more and more sophisticated pages has previously driven HTML into the shadow, and made complete Flash-driven pages a viable solution, when trying to impress clients and end users.

Fact is: Devices sucks at that. Most devices can’t even handle HTML5 and canvas that well, and if we have a technology, that have more than enough to do with HTML in its newest revision, then there is no need for a “I’ll take over from here”-plugin like Flash.

Realizing that users didn’t used the browser on their mobile device for advanced content, but rather downloaded Apps, is for me a breaking point. Some tend to say that it was Steve Jobs, and his famous letter on Flash and his thoughts about it, that did the job. To some extend that may be right – not because he said it, but because his disciples kept preaching it as a gospel every time e person pushed the button. I think the main reason is that Apps came on strong, and users didn’t wan’t these complex operations in a floating window … not when it was performing like it did. Everything with App was fast and smooth, but the same experience on the net was not. I am convinced that we will not see any complex HTML5 solutions in browsers, before we have a completely new generation of devices in our hand.

fAIR solution

That leaves the net to HTML, and with HTML5 it has just brought more possibilities to the developers. Flash player is out of the browser (for some time at least) because it has nothing to do there. Flash Player 11.x is still there, so there will be plenty of possibilities for targeting mobile users in the future – don’t worry. But Adobe is taking Flash to places, where HTML5 cant go (at least not easily). The only place that can be done is on computers, that has more processing power, and a power cord, and to mobiles native applications. Only there, can Flash tap into the hardware that is needed to deliver great performance.

AIR is what’s taking care of that, and I think that it has a few advantages. If you target iOS native you are using Objective-C. If you are targeting Android, you are using Java. No developer on any of these platforms are able to deliver to the other side. AIR comes with the APPS-neutral AS3 language, that can be compiled to native Apps for both Android and iOS, and it is more and more important to support a wide range of platforms as the market shares levels out. Performance are better in native code, but I am pretty sure, that is a main focus for Adobe in the future.

Are we gonna play, or what?

games are another main aspect, that I see Adobe pays attention to. With the new 3D-capabilities and export functionality from Unity and other, I see browser based games on desktops as an interesting way to go. The way we play on a computer, is far from the way we entertain our self on a device – they cannot be matched. It is therefore Adobe is trying to make a plugin, that make games, independent on machine or browser, so you can develop a game, and make sure that all desktops can play it. How many games in HTML5 aren’t available, that only plays in Chrome or Safari etc. … I don’t think the browser war is ever gonna stop on that platform. When the player can utilize gamepads and joysticks, I think that we are going to see interesting games … and event sites, and company pages, that takes it to the max, and wouldn’t play on a desktop anyway.

Conclusion

I think that Adobes step is probably a way to “code once and deliver everywhere”. When Creative Suite next revision arrives (the six-pack) I think we will see Flash Professional, that takes the timeline and possibilities around that, and enables it to be converted to HTML5 – if that succeed, then what’s the harm. I mean, is it the player or the possibilities, that are most important. Then we will go way high on 3D and native App performance, and Flash as a platform is able to live on. Using HTML5 for mobile may be the only solution to “publish everywhere” in a non-plugin-browser-world.

I think that Adobe made a wise choice in taking the Flash Player out of market for a while. That can take all the browser Ads to HTML and get the devices to mature to a point, where there is more in the devices, that HTML5 can deliver. In the meantime Adobe can try to incorporate elements to HTML, that makes it easier to publish from Flash to HTML – CSS Shaders is a sign in that direction.

It all comes down to looking at behaviors, and identify objective, non-favored points of direction in them. I think that Adobe shifting focus here, is not a sign of weakness, but actually a sign of adapting to the users need – some companies could probably learn from that. Their skills in communicating, what I just tried here, is a completely different story. I am not saying, I do a great job here, but I know that Adobe didn’t.

HTML5 canvas with JavaScript and Flash Player performance

This post is an examination of the performance provided by JavaScript and the canvas HTML element, and its role on mobile platforms in the future. The inspiration for this post came when I stumpled on Water Ripple Canvas by Almer Thies. It was running without problems (with Canvas: 20fps and Water: 30 fps) on my computer but was frighteningly slow with a max of 0.5 fps on my iPhone 4 (yep. A half frame per second!). I therefore found it relevant to produce a comparable piece of code that could run on the canvas element and easily port to Flash, so I could get an idea of how well each technology performed.
It is not a secret that I’m fond of the Adobe Flash Player, and have always believed that Apples excommunication of the player due performance issues had no standing ground, in light of the present alternatives. But HTML5 is a promising technology, that takes the job as website maker seriously again, and that may result in Flash being able to focus on it plug-in nature again, and help lift sites up above the tomorrows standard sites. The most important topic to discuss is: what should happen when our mobile visits a website in the month/years to come. Not distinguishing  between mobile and desktop would lead to sluggish performance on mobiles when canvas gets integrated in eager designers creative solutions – a future that I predict as the “big dip”, in the worst cases.

Study 1

The test case is the famous snowflake that are loved or hated by everyone. The effect is exclusively produced by code and can be scaled easily to increase the load on the processor. I found an example at http://blog.webreakstuff.com/2010/11/building-a-canvas-snowglobe/ by Pedro Freitas. The code can be found on GitHub via https://gist.github.com/716215. I would also use an FPS counter, which could easily be ported to ActionScript and chose snippet from http://stackoverflow.com/questions/4787431/check-fps-in-js
I need it to produce a working example of the FPS counter that can be found at http://eksempler.hjaelpmignu.dk/flash/actionscript/snowflake/snowcanvas.html. I have come to the following data (max is set to 100 FPS):
  • Desktop PC: 99.9 FPS (Firefox)
  • MacBook Pro: 97 - 98 FPS (Safari)
  • iPad (iOS 4.3): 19 - 20 FPS (updated 17/3 – 2011)
  • HTC Desire HD (2.2): 15.5 - 16.5 FPS
  • Inspire 4G (2.3): ~ 14 FPS (updated 17/3 – 2011)
  • HTC Desire (2.2): 14.4 - 14.7 FPS
  • iPad 1 (iOS 4.3): 13 – 13.5 FPS (updated 17/3 – 2011)
  • iPad 1 (iOS 4.2): 12.4 - 13.3 FPS
  • iPhone 4 (iOS 4.3): 9.9 - 10.5 FPS (updated 17/3 – 2011)
  • iPhone 4 (iOS 4.2): 9.9 - 10.3 FPS
  • iPhone 3GS (iOS 4.2): 9.9 - 10.3 FPS
  • HTC Legend: 7.5 - 8.9 FPS
Thanks to @seb_ly and @leebrimelow for additional test results
When I dropped the restriction the PC actually easily spun on over 200 FPS, but the intention here is not to benchmark in the high end, but find a relationship in the “low end” and a relative measurement to a standard machine. PC as well as Mac differ so much on hardware as well as range of browsers, it will not contribute anything positive to uncover all facets.

Conclusion 1

It is evident that both computers frame rates hits the ceiling. The portable Mac has thrown a frame or two in the test, but will probably do 100 FPS in a another run, or with another browser. Of course it cannot run from a Quadro graphics card, but it’s clearly capable of running the test. iOS machines (iPad 1, iPhone 3GS and iPhone 4) has a hard time, to produce frames for the canvas element. On average, they just over 10 FPS.
Desire HD is a bit higher. Not much, but still enough that it should be designated as a better settlement. Lowest is the HTC Legend, with around 8 fps.

Study 2

The second test was made to compare performance between javascripts work on the canvas, and Flash Player’s work with the BitmapData class. The technique used for both are very similar and it will give the best basis for comparison, and minimal editing of the code. You can see an example at http://eksempler.hjaelpmignu.dk/flash/actionscript/snowflake/snowFLA.html
The following changes have been made from the original code:
  • Snow flakes was made as a separate class (Flake.as)
  • Updated variables, etc so they are strictly typed
  • Minor changes in variable names
  • Used Flash Player’s flash.sensors.Accelerometer to handle motion

Flake.as

 

package 
{ 
import flash.display.Sprite; 
import flash.display.BitmapData; 

public class Flake extends Sprite 
{ 
private var canvasWidth; 
private var canvasHeight; 
private var speed: Number; 
private var alpha: Number; 
private var size: Number; 
private var amp: Number; 
private var shift: Number; 
private var range: Number; 

public function Flake (w, h, a, s) 
{ 
this.canvasWidth = w; 
this.canvasHeight = h; 
this.x = 200; 
this.y = Math.random () * -1 * h; 
this.alfa = Math.random () * 0.5 + a; 
this.speed = Math.random (); 
this.size = s - this.speed - this.alfa; 
this.amp = Math.random () * 2; 
this.shift = Math.random () * 25 + 25; 
if (Math.random ()> 0.5) 
{ 
this.shift *= -1; 
} 
this.drift = Math.random () - 0.5; 
draw (); 
} 
public function draw (canvas: BitmapData = null): void 
{ 
this.graphics.beginFill (0xFFFFFF, this.alfa); 
this.graphics.drawCircle (0.0, this.size); 
this.graphics.endFill (); 
} 
public function move (f, wind): void 
{ 
this.y + = this.speed; 
this.x + = Math.cos (f / this.shift) * this.amp + + this.drift wind; 
if (this.y> this.canvasHeight) 
{ 
this.restart (); 
} 
} 
public function restart (): void 
{ 
this.y = -20; 
this.shift = Math.random () * 25 + 25; 
this.x = 200; 
} 
} 
}

 

 

MainApp.as

package
{ 
import flash.display.Sprite; 
import flash.display.Bitmap; 
import flash.display.BitmapData; 
import flash.utils.Timer; 
import flash.events.TimerEvent; 
import flash.geom.Rectangle; 
import flash.geom.Matrix; 
import flashx.textLayout.elements.InlineGraphicElement; 
import flash.sensors.Accelerometer; 
import flash.events.AccelerometerEvent; 
import flash.text.TextField; 

public class MainApp extends Sprite 
{ 
private var bgflakes: Array = new Array (); 
private var fgflakes: Array = new Array (); 
private var bgFlakeCount: int = 200; 
private var fgFlakeCount: int = 50; 
private var frame count: int = 0; 
private var wind: int = 0; 
private var dWidth: int; 
private var dHeight: int; 
private var orientX: int = 1; 

private var bgBitmapData: BitmapData; 
private var bgCanvas: Bitmap; 
private var fgBitmapData: BitmapData; 
private var fgCanvas: Bitmap; 
private var timer: Timer; 
private var orientation: Boolean = false; 
private var myAcc: Accelerometer; 

private var filter Strength: int = 20; 
private var frame hours: int = 0; 
private var loading loop: Date = new Date (); 
private var this loop: Date = new Date (); 

private var fps: TextField; 

public function MainApp () 
{ 
init (); 
} 

private function init () 
{ 
dWidth = this.stage.stageWidth; 
dHeight = this.stage.stageHeight; 
bgBitmapData = new BitmapData (dWidth, dHeight, false, 0x000000); 
bgCanvas = new Bitmap (bgBitmapData); 
fgBitmapData = new BitmapData (dWidth, dHeight, true, 0xFF0000); 
fgCanvas = new Bitmap (fgBitmapData); 
addChild (bgCanvas); 
addChild (fgCanvas); 

fps = new TextField (); 
addChild (fps); 
fps.textColor = 0xFFFFFF; 

was i = 0; 
for (i = 0; i { 
bgflakes.push (New Flake (bgCanvas.width, bgCanvas.height, 0,3)); 
} 
for (i = 0; i { 
fgflakes.push (New Flake (fgCanvas.width, fgCanvas.height, 0.2,4)); 
} 
hours = new Timer (10); 
timer.addEventListener (TimerEvent.TIMER, draw); 
timer.start (); 

if (Accelerometer.isSupported) 
{ 
orientation = true; 
myAcc = new Accelerometer (); 
myAcc.addEventListener (AccelerometerEvent.UPDATE, onAccUpdate); 
} 
} 

private function onAccUpdate (e: AccelerometerEvent): void 
{ 
orientX = e.accelerationX; 
} 

private function setWind () 
{ 
if (! orientation) 
{ 
was mx: Number = mouseX - dWidth / 2; 
wind = (mx / dWidth) * 3; 
} 
lodging 
{ 
Wind = Number (orientX) * 3; 
} 
if (! wind) 
{ 
wind = 0; 
} 
} 

private function draw (e: Event hours) 
{ 
frame count + = 1; 

bgBitmapData.fillRect (new Rectangle (0.0, dWidth, dHeight), 0x000000); 
fgBitmapData = new BitmapData (dWidth, dHeight, true, 0xFF0000); 
setWind (); 
was: int = 0; 
for (i = 0; i { 
bgflakes [i]. move (frame count, wind); 

bgBitmapData.draw (bgflakes [i], new Matrix (1,0,0,1, bgflakes [i]. x, bgflakes [i]. y)); 
} 
for (i = 0; i { 
fgflakes [i]. move (frame count, wind); 

fgBitmapData.draw (bgflakes [i]); 
} 

was this frame hours: int = (Number (this loop = new Date ())) - Number (last loop); 
Frame hour + = (this frame - time frame hours) / filter strength; 
load loop = this loop; 
fps.text = (1000/frameTime). toFixed (1) + "fps"; 
} 
} 
}

 

Comments on Code
I have kept the draw () inside the Flake class and draw the flakes with graphics.drawCircle () to keep the code across the examples as similar as possible. The transfer of values on canvas size, etc. are also retained in the Flash version is also preserved. Finally, I used Bitmap () and BitmapData () to simulate the properties used on the canvas element.

Results 2

With mobile units, that is capable of running Flash Player 10.1 and canvas, I try to measure them against each other. Not as a battle, favoring one technology, for the future (I think) belongs to them both. It’s more an attempt to find out how bad Flash performs and supporters of the canvas as a “Flash Killer” has some back support. I’ll update as I stumple on different phones/tablets on my way:
  • Dersire HD (2.2): Canvas ~ 16.5 FPS and Flash 10.1 ~ 24.2 FPS
  • Inspire 4G (2.3): Canvas ~ 14 FPS and Flash 10.1 ~ 22 FPS (updated 17/3 – 2011)
  • HTC Desire (2.2): Canvas ~ 14.5 FPS and Flash 10.1 21.7 to 23.5 FPS
You are welcome to submit own measurements

Conclusion

I get a relatively higher frame rate when running the test in Flash Player on Android than if I the canvas version. I wasn’t able to turn the relationship between the numbers on my phone, not even leveling the difference in frame rate. I therefore think that the user will have a better experience of this experiment in a flash player, than with a canvas version. It is important to remember that the canvas element’s ability to deliver, do not need to inflict on the general view on HTML5 and CSS3. My feeling is that CSS3 has a fairly good performance on the mobile devices, perhaps because of their predictable nature, but I haven’t investigated that topic yet.
Finally, I have not taken installed software on the devices into account. It may be relevant in a recount to look at parameters such as:
  • How long the phone has been switched on.
  • Is it connected to the charger.
  • Programs running in the background.
  • Video documentation of test
My point here is to get some numbers up in the air, and a comparison of material playd on mobile devices. Please reply with the results of your own measurements for computer, tablet and mobile.
Links to tests:
Links to documents

Apple bøjer sig for presset … måske.

En “hvad sagde jeg oplevelse” kom til mig her til formiddag efter at have læst Apples statement fra igår. De meget omtalte section 3.3.1 og 3.3.2 fra deres “Review Guidelines” bliver lempet igen, så du nu kan bruge 3de parts programmer til at udvikle til iPhone og iPad. Hvem husker ikke den dag i starten af april, hvor Apple bekendtgjorde følgende:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Dette fjernede effektivt muligheden for at andre værktøjer end C-familiens udviklingsværktøjer, med direkte tilgang til en provisioning profile, at kunne indsende applikationer til godkendelse. Det er nu ændret tilbage til den “gode gamle”:

3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and
must not use or call any private APIs.

Rygter og udmeldinger om dispensation fra enkelte udbydere og problemer med større spilfirmaer, der ikke kunne leve op til aftalen, fik beslutningen til at ryste lidt fra starten af. Større udviklere valgte også at forlade platformen, hvilket ikke bidrog til fornuften i ændringen. I den nylige, men hurtigt udbredte Android-platform var den forrige stramning et lock-in forsøg på udviklere for at “tvinge” dem til at bruge x-code til at udvikle på. Var det lykkedes havde det også været en god strategi. IPhone var blevet den altdominerende platform og alle udviklere sad på en Mac og skrev Objective-C. Verden udviklede sig dog lidt anderledes, og Android har sendt iPhones markedsandel ned på en fjerde plads i 2Q 2010. Set i lyset af and Symbian og RIM er et lidt andet segment, og Android og iPhone er de eneste (eller vigtigste) kombetanter, er det selvfølgelig en interessant drejning.

En yderligere problematisering er, at der er mange producenter af Android telefoner og tablets, og nogle overgår iPhone/iPad i specs. Dette gør valget af telefon mere bred og andre parametre end “iPhone vs. skodPhone” kommer i spil. Udviklere vil helst være på den platform som der er flest brugere til, og så brede sig ud og supportere andre platforme, efterhånden som der er økonomi.

Som tingene har været ind til nu, har man haft et relativt isoleret udviklingsmiljø til iPhone/iPad og et andet til Android-platformen. Nu hvor restriktionerne forsvinder er der mulighed for at der kan laves en fælles platform, der virker hen over platformene. I en lykkelig verden kan man udvikle til mobile enheder og håndtere, hvilken enhed der er tale om i distributionen … der er lang vej endnu, men vi er på vej :-)

Adobe, der med Flash CS5 leverede et værktøj til at kompilere Flash-dokumenter til iPhone er selvfølgelig mere end normalt begejstret for denne nyhed. Som det står i deres blog har de allerede hørt om udviklere, der har fået applikationer godkendt.

Det er dog vigtigt at pointere at det stadig ikke er muligt at se swf-filer i Safari-browseren på iPhone. Skyfire, prøver at få en browser igennem, der kan vise flash-video, men ingen reelle forsøg på at få Flash Player 10.1 til iPhone endnu. Sålænge Apple ikke står på denne liste, eller i hvertfald forholder sig til den, kommer det nok heller ikke til at ske. Et andet alternativ er at iPhone for en markant mindre markedsandel, hvilket vil gøre at de må trække yderligere i land – det kan kun fremtiden vise.

Indtil da må vi glæde os over at knappen i Flash CS5 der opretter et iPhone projekt, nu rent faktisk vil kunne få pustet liv i sig, når den bliver sendt til App Store. Det bliver en spændende tid, nu hvor Adobe aktivt vil udvikle mod iPhone-platformen igen.

Så er Adobe Creative Suite 5 blevet præsenteret

Ventetiden er ovre. 18 måneder er gået, og det er en fornøjelse at kunne løfte vingerne op og vise det man har ligget og ruget på de sidste mange måneder. Adobe Creative Suite 5, der bliver præsenteret i eftermiddag, er en fantastisk opgradering til pakken. Siger du ikke altid det? tanæner du – jo, men jeg tror at det er en selvopfyldende profeti, at der først kommer noget på gaden, når det når dette fantastiske stadie :-)

Websitet

Hvis du klikker ind på Adobe side under http://www.adobe.com/products/creativesuite/ vil du se at alle produkterne er opgraderet til version CS5. Min første ros, skal gå til den nye designlinje, som vi blev introduceret for forholdsvis sent i beta-forløbet. Jeg elsker den måde at de foskellige søjler, må den ene måde, spejler sig i hinanden, men samtidig er med til at danne forkortelsen, for programmet eller suiten. Endelig er der Adobe Creative Suite 5 Master Collection, med de lækre duser-opbyggede kæmpe-femtal. Stor ros for det nye design.

Hvad er der i pakkerne?

Nu er det nok de færreste der vil opgradere ene og alene på grund af designet, så der bør nok fokuseret på pakkerne. Overordnet set er der stadig tale om den samme opbygning, nemlig Design Premium, Web Premium og Production Premium (Video) . Endelig er der Master Collection, der indeholder alle produkterne, til den designer, der arbejder på tværs af platformene. I suiterne er alle de usual suspects, men der er også kommet et par nye, yderst interessante tiltag, nemlig Adobe Flash Catalyst CS5, og Adobe Flash Builder 4 - du kan se en oversigt på adressen http://www.adobe.com/products/creativesuite/compare/

Adobe Flash Catalyst CS5

er mit hjertebarn. Jeg er så begejstret for dette program af flere årsager. Den vigtigste er dog at den gør et reelt forsøg på at lukke det hul, der skiller udviklere og designere. Den gør det muligt at tage et design og definere det som et kodet projekt, uden at røre en linje med kode. Det er et utroligt værktøj i RIA design, som jeg spår bliver standard. Adobe har her lavet et produkt, der løser et problem, der ikke har kunne løses med andre værktøjer før. Lidt populært (mindre efter Section 3.3.1 ændringen) siger jeg at “Adobe har lavet en iPhone!”.  Hermed er ment at programmet opfylder et behov, som alle vidste der var, men ingen havde muligheden for at løse. Dette program gør det muligt at komme tørskoet over i udviklingsverdenen, som designer. Derudover giver det faktisk (udokumenteret, tror jeg) muligheder for at lave interaktive præsentationer og mindre websites, uden at røre koden – men mere om det senere :-) Flash Catalyst CS5 er faktisk så brugervenligt at det er en del af alle Premium-pakkerne. Jeps du har fået et nyt stykke software at lege med :-)

Adobe Flash Builder 4

Er tidligere kendt som Flex Builder. Det underliggende SDK hedder stadig Flex 4, men navneændringen synliggør at du bygger applikationer til Flash platformen. Programmet spiller tæt sammen med Flash Catalyst, og det er bygget op omkring dataintegration, hvilket gør det nemt for udviklere der ikke er bekendt med serverside sprog, som PHP, ColdFusion, JAVA osv., at koble applikationen op mod data. Derudover er der nye værktøjer til datavisualisering og et nyt sæt komponenter (Spark), der effektivt adskiller indhold fra layout. Flash Builder Standard (uden ColdFusion delen) kommer i pakken Web Premium og viser Adobes forståelse for at applikationer er (eller bliver) en del af mindre udviklerorienterede designers hverdag. Med de tutorials, der findes er Flash Builder faktisk ikke en større mundfuld en Flash Professional … den er faktisk lidt mindre, på nogle områder :-)

Adobe CS Live

Er intregretet i alle suiterne og gør det muligt at løfte arbejdet med programmerne væk fra desktoppen og ud på nettet. Du kan sende dit Illustratir-dokument direkte til review, inde fra programmet. Du kan se kommentarer, som andre har lavet på dit dokument i real-time og påføre dem dokuementet, mens du taler med kunden over telefonen. Den forbinder til din konto på www.acrobat.com (du har en, har du ikke?) :-) og placerer sammenflettede udgaver af dine dokumenter der, så de kan ses af kunder der ikke har CS-programmerne til rådighed … det virker super-godt. Der er også Browser lab og SiteCatalyst NetAverages, som giver dig et overblik over, hvordan en webside ser ud i forskellige browser og hvordan trends inden for browser og styresystem udvikler sig. Der er andre tiltag, og det er muligt at kunne købe flere online ydelser, efterhånden som tredjeparts udviklere får fingrene i systemet.

Se lanceringen

Lige i de nærmeste dage, vil jeg nyde lanceringen og skrive løst og fast, her eller på twitter så der kan du følge med. Jeg vil også skrive lidt mere dybdegående om nogle dage omkring mulighederne og vise lidt demoer af, hvad der kan lade sig gøre i programmerne, men først skal du lige klikke ind på http://cs5launch.adobe.com/ og se præsentationen, i dag (12. april) klokken 17:00

Brugergruppen

Der er jo møde på Mediehøjskolen, i København den 20.a pril. Her vil vi vise Flash Builder, Catalyst og Air 2.0. Efter CS5 er blevet offentliggjort, vil jeg også gøre alt for at få lov til at vise dig de andre programmer. Så meld jer ind i AUGOD, og skriv dig på (RSVP) om du kommer eller ej. Du kan læse mere om, hvordan du gør på adressen http://blog.hjaelpmignu.dk/2010/03/møde-i-brugergruppen-adobe-user-group-of-denmark-augod/

God fornøjelse til jer alle sammen. Det bliver en varm og god sommer :-)

Adobe Creative Suite 5 (CS5) launch er officiel

Det er denne ulidelige ventetid der er hver gang ind til man må offentliggøre at en ny beby er på vej. Mange beta-testere har siddet på deres hænder for ikke at skrive om nye features, muligheder og forbedringer som denne version giver designere og udviklere.

Nu er fortæppet røget og du kan på adressen http://cs5launch.adobe.com/ registrere dig til at overvære lanceringen, den 12. april 2010 – klokken 17:00. Du skal bruge dit Adobe ID til at registrere dig. Hvis du ikke har et kan du oprette dig gratis på siden.

Når du nu alligevel er ude og lufte dit Adobe ID fordi du vil overvære præsentationen af CS5 kan du lige så godt melde dig ind i Adobe User Group Of Denmark på http://www.hjaelpmignu.dk/go/augod/ og tilmelde dig det arrangement, der er den 20. april – påfaldende tæt på lanceringen. Her kan du se Flash Builder 4, Flash Catalyst og mon ikke vi må vise lidt af programmerne i Adobe Creative Suite 5.

Der er desværre stadig mundkurv på, ind til lanceringen, men tag et kig på http://cs5launch.adobe.com/ og se om nogle af deres videoer kan inspirere. Ellers er der selvfølgelig http://csbuzz.adobe.com/ med Greg og Levine

Det bliver en varm sommer :-)

Møde i brugergruppen Adobe User Group Of Denmark (AUGOD)

Det er blevet tid til et møde i brugergruppen. Det er ikke et hvilket som helst møde – det er det første. Jeg er meget spændt på hvordan det tages imod og glæder mig til en serie af aftener, hvor brugere af Adobes programmer kan vise og snakke om software og teknikker. Det er også en mulighed for at høre nyt om produkter, vinde software eller bøger og meget andet.

Hvad skal vi snakke om?

Det første møde er lidt præget af internettet og emner der omkranser Flash Platformen, men vi bestræber os på at dække en række programmer i løbet af aftenen. Temaet er også præget af at vi får besøg af en speciel gæst, Piotr, der vil give os lidt “særlig behandling” :-) Peter Andreas Mølgaard vil gennemgå nyhederne i AIR 2.0 og jeg (Karsten Vestergaard) vil vise Flash Catalyst. Derudover arbejder jeg på en showcase der viser Photoshop og Illustrator i aktion, men intet er sikkert på den front endnu. Har du nogle idéer, eller vil du vise noget, er du velkommen til at kontakte mig offline.

Hvordan kommer jeg med?

Det er ret nemt (og gratis) at være med i gruppen. Du starter med at besøge http://www.hjaelpmignu.dk/go/augod/ der vil linke til gruppen på Adobe Groups. Det første du bliver bedt om er dit Adobe ID. Hvis du ikke har et kan du oprette det ved at klikke på knappen til venstre “Create Adobe ID”

Oprettelse af et Adobe ID

Når det er oprettet vil du blive sendt til gruppens forside. Alle med et Adobe ID må besøge gruppens side, men for at deltage aktivt i den og blive informeret om møder, nyheder, konkurrencer osv. skal du tilmelde dig gruppen. Det gør du ved at klikke på knappen “Join this group” i højre side af skærmen.

Knap til at tilmelde sig AUGOD

Når det er sket er du medlem af Adobe User Group Of Denmark. Her vil du kunne læse og skrive om alt hvad der har med brugergruppen at gøre. Hvis du har spørgsmål til software, er det stadig forummet på http://www.hjaelpmignu.dk/ du skal besøge.

Endelig skal du fortælle om du kommer eller ej. Det gør du ved at klikke på Event-linket (http://groups.adobe.com/index.cfm?event=post.display&postid=17428) og vælge Yes, Maybe eller No i bunden af teksten.

Hvad er en brugergrupppe?

En brugergruppe er en organisering af personer med en fælles interesse. Brugergruppen gør det muligt at mødes på tværs af uddannelse, arbejdsplads osv. og diskutere aktuelle temaer og se nyt fra det fælles interesseområde. Mit mantra er. “Uden dig er gruppen ikke noget!” Den bliver drevet af det der interesserer dig og det du bidrager med. Vi er selvfølgelig en lille kreds af managers og co-managers der vil trække kraftigt, men du opfordres kraftigt til at komme ud af busken og vise, hvordan du bruger programmerne.

Det betyder altså, at der ikke er lagt op til den normale type events, hvor der “bare” showcases nye produkter, men i ligeså høj grad kaffe og kage, hvor vi snakker, networker og hygger med et fælles udgangspunkt.

Jeg glæder mig meget til at se så mange som muligt, den 20. april 2010 på Mediehøjskolen i København.

Vel mødt
Karsten “ockley” Vestergaard

Pixel Bender har fået sin egen plads

Pixel Bender har længe været en del af Creative Suite og er blevet installeret sammen med suiten som standard. Det har dog stået lidt småt til med at udvikle plug-ins i programmet. For det første skal der læres et nyt sprog, og for det andet skal man finde ud af, hvilken type plug-in man har tænkt sig at udvikle. Derfor har det kun været et værktøj for de eksperimenterende personer, men det vil Adobe lave om på.

Pixel Bender kan bruges til at få computerens hardware til at regne på pixelinformationer. Det kan resultere i regulære filtre til billeder og video, men kan reelt være alle typer af data. Pixel Bender kernels kan umiddelbart bruges i Photoshop, After Effects og Flash.

Indtil nu har Pixel Bender og al information om den været på labs.adobe.com, men nu har den fået et værelse på Adobes Developer Connection.

Kig ind på http://www.adobe.com/devnet/pixelbender/ hvor du kan se en masse tutorials og videoklip, der kan forklare om mulighederne i programmet.

God fornøjelse

Offentlig beta af Flash CS5 er desværre aflyst

Som jeg nævnte i et tidligere indlæg var det muligt at skrive sig op til at modtage en betaversion af Adobe Flash CS5. Det blev dog for nyligt aflyst igen af teamet bag Flash platformen. I et indlæg skriver de at alle ressourcer bliver omdirigeret til at få produktet færdigt. Grunden skyldes med deres egne ord “Strong positive feedback” og der er da også tale om en meget positiv oplevelse.

Hvor trist beslutningen end er for dem der har skrevet sig op, er jeg sikker på at Adobe kun har gjort dette af nødvendighed. Der var helt sikkert ikke noget de hellere ville, end at få 100.000-vis af feedback til fejlrettelser inden den endelige version, men de må føle sig så sikre i sadlen at de overfører de mange ressourcer en offentlig beta kræver over til færdiggørelsen af produktet.

Så snart der kan slippe noget ud, skal jeg nok lade høre fra mig :-)

Gratis Flex Builder 3 til brugere af CS4 (Master Collection og Web Premium)

Der er mange interessante tiltag på vej med Flash Builder 4 og Adobe Flash Catalyst. De mest interesserede er dog dem, der i forvejen er bekendt med Flex SDK.

En stor del af jer har måske lysten til at prøve det programmerne af, men gider ikke at betale for et fuldt program. Hvis du har købt CS4 Web Premium eller CS4 Master Collection, er der ikke nogen undskyldning mere – du kan nu få Adobe Flex Builder 3 Standard for ingen penge, gratis … uden beregning. Det er billigt :-)

For at få fingere i din kopi skal du gøre følgende:
1. Besøg sitet www.adobe.com/go/freeflexforcs.
2. Indtast relevante oplysninger (CS4 serial og scannet kopi af kvittering for købet).

3. Download Flex Builder 3.

Tilbuddet gælder til og med 30. april 2010.

Nu vil jeg gerne lære det

- tænker du nok. Der er rigtig mange muligheder for at kaste dig over Flex 3. Som udgangspunkt vil jeg anbefale http://developer.adobe.com/flex der giver dig et samlet overblik over tilgængelige ressourcer.
På siden http://www.adobe.com/devnet/flex/learn/ vises “Learning paths” hvor du kan udforske på baggrund af din eksisterende viden. Endelig er der videoserien “Adobe Flex In A Week” på http://www.adobe.com/devnet/flex/videotraining/, der viser uforskammet mange muligheder på video, sat op som et ugeforløb med undervisningmaterialer. Efter at have gennemgået dem sidder du rigtig godt i sadlen.
Er du til læsning er al dokumentation samlet på adressen http://www.adobe.com/support/documentation/en/flex/ Hvor alle aspekter af programmet kan hentes i PDF form eller browses online.

Hov, der er forresten også en gratis bog fra O’Reilly kaldet “Getting started with Flex 3,” som du kan hente på  http://www.adobe.com/devnet/flex/pdfs/getting_started_with_Flex3.pdf

Jeg kan blive ved, men du skal vist hellere bare gå i gang med det der er vist pt.

Spørgsmål til programmet kan skrives på www.hjaelpmignu.dk under Flashbuilder Pro på adressen http://www.hjaelpmignu.dk/forum/346. Flashbuilder er navnet på den næste version af Flex, der i øjeblikket er i beta – det kan godt forvirre lidt med navnene :-)

P.S: på sitet https://freeriatools.adobe.com/ har du mulighed for at få en studie-version. Hvis du kan dokumentere at du er studerende eller er arbejdsløs udvikler. Det giver duig mulighed for at tilegne dig færdigheder i prorgammet. Det er vigtigt at understrege at du ikke må bruge disse versioner til kommerciel brug. Det er ikke tilfældet med det andet tilbud, øverst.

Adobe Flash Professional CS5 beta (Signup)

Det rykker tættere og tættere på. Adobe Flash CS5 (Viper) blev præsenteret på MAX og det er nu kendt at den kommer i en offentlig beta senere i år. Tag et kig på http://labs.adobe.com/technologies/flashcs5/ og skriv dig op, så du får en mail når den er klar til at blive hentet.

De nye muligheder i programmet og den bedre integration med Flash Builder gør den til noget af det mest interessante i 2010.

Hvis du ikke har set programmet i aktion, så besøg http://max.adobe.com/online/ og se den “hemmelige session” på http://max.adobe.com/online/session/381

Iiiiiiiiih, altså!! :-)

Beta 2 af Flash Builder og Flash Catalyst

Så er der kommet nye versioner til offentligheden af to stykker software som jeg forventer mig rigtig meget af. Det ene er Flash Builder 4 (tidligere Flex Builder) som gør det nemt at udvikle online interaktive applikationer. Den måde denne nye version fokuserer på data og bygger design op omkring det gør at der vil ske et skub i den rigtige retning når det kommer til udvikling af applikationer i fremtiden.

Den der skal hjælpe til med at få det hele til at rende pænt af stablen er Adobe Flash Catalyst som også er kommet i en ny beta. Her vil det være muligt at tage eksisterende design fra Illustrator og Photoshop mv. og overføre dem direkte til Catalyst. Du vil herfra kunne markere og omdanne de enkelte elementer til interaktive komponenter og definere dummy-indhold samt overgange imellem en applikations tilstande. Dette vil resultere i en et færdigt projekt der kan overføres til Flash Builder hvor dine dummy-data vil blive erstattet med LIVE data.

Hent demoerne, prøv dem af. Læs nogle tutorials til Flash Builder og Flash Catalyst så du kommer hurtigere igang.

… det er en investering i fremtiden der er værd at gøre sig for alle der har med interaktivt design at gøre.