If Adobe changed this, everyone would love them more

I like Adobe, I dont love them like I did Macromedia, but I like the company and think it produces some fine software. But then Im a developer not a normal user. Normal users dont have as positive a view of Adobe.

Why? – we’ll there is an email with a bunch of graphs doing the rounds at the moment with comical graphs and pie charts from graphjam.com

One of them is this one:
song chart memes

To us developers this may look a little odd. But what the lay user means by Adobe is the Acrobat reader. The average users doesnt know what Acrobat is, it’s just a big Adobe logo that takes ages to start up when you want to view a simple pdf and is constantly asking to update.

Personally I dont like Acrobat(adobe reader). Not because it doesnt do a good job of what it is supposed to do  – it does a perfectly fine job of rendering pdf’s. But I hate how often it nags me about updates and how big the downloads are for the updates. And most importantly because I cant tell it to bugger off. There is no way to tell it not to update or nag me. I dont like being nagged for something I only occasionally use. I’m guessing a lot of other people feel this way and it is doing the Adobe brand some significant damage.

Dont think its an issue – take a look at dearadobe.com – this is the number 1 gripe people have against the company! It is also the number 2, and number 3 gripes. It bothers people more than the very high prices for photoshop etc.

I really want Adobe to remain successful; but if you manage to annoy everybody with a piece of free software, then you clearly need to have a close look at your business.

Why Flash matters more to the web than Apple

Ok, for the past day or so  everyone has been talking about the iPad and the Flash blogs are full of despair and discussion about the fact that it doesnt support Flash. There are all the usual posts and comments about the death of flash, open standards and all sorts of conspiracy theories. As always there is a fair bit of ignorance and opinion floating around and so I thought I’d add in my own ignorant opinion.

For a moment imagine what the web would be like if Apple disappeared tomorrow. No iTunes, no iApps, no more i-anything. OK, so what happens to all the content on the web. Not much really. People would no longer have an easy way to buy music and so we would all go back to what we were doing before i-Tunes, we’d download music for free (all be it in violation of copyright). And without the iPhone apps people would have to look elsewhere for small novelty games to buy, maybe they wouldn’t bother buying then and just play free flash equivalents. And honestly would many people be affected if Safari and QuickTime vanished. Ok all the lovely Apple OS and hardware would be gone but that doesnt really affect the web now does it.

Now imagine what the web would be like if Flash disappeared…. think about it…ok,the open standards zealot at the back has his hand up, “it would mean an end to all those annoying flash video adverts that appear over the content Im reading”. It’s a valid point in as much as there are certainly annoying adverts on the web that use flash. But advertising requires money to survive, so within a day of Flash going away all the advertisers would find a new way to deliver the exact same annoying adverts using HTML5 or Quicktime or some other equivalent technology. But then what happens to all the other Flash content on the web, the content that people actually like. The content with big money behind it would slowly be re-coded into the new equivalent technology (AJAX etc). Most of the fancy flash sites for jeans and soft drinks would probably be re-built and the new javascript version would be just as big and pointless as the previous flash version. Just about every site built for children would be gone (and unless it has Disney style money behind it no-one would bother to re-create it a new technology). And the rest of the Flash content of the web, things people created for free or little money  such as games, art, experiments, cartoons, applications – they would all be gone. A huge part of the history of the web would be lost.

The point I’m making is that with it’s iPad Apple is happy to throw away (or stop access to) a significant part of the web. They are not blocking access to annoying adverts and advertising sites because if the iPad is successful then advertisers will very quickly make sure their ads are viewable and just as annoying on the iPad. What they are blocking access to is all the creative flash content created one or two people over the past ten years, some of it is terrible, some of it is wonderful and all of it is inaccessible on an iPad.

Finally I just need to say that I’m not anti-apple, they make some wonderful things and the IT world is a better place for having Apple in it. But they are also very good at making money, specifically at getting people to pay for things they were previously getting for free (ie: music, small games and apps and now possibly news and magazine content). And they are also very keen to keep control over their world, which may be good in the short term but it reminds me of the mid 90′s when companies were trying to create their own private versions of the internet that they could control, things like AOL, MSN and Apples eWorld. Even though these ‘online services’ offered quality exclusive content they didnt last because people wanted the whole of the internet not just a sub set.

Why I’m excitied about flash for the first time in ages

Happy New Year. I think 2010 will be a hugely significant year for flash and flash developers and I am excited about Flash in a way I haven’t been since Flash 5 came out.

Back in 2000 (god that sounds so long ago now) the Flash community was doing amazing things with the tiny coding window in Flash 4. People made lookup tables because we didnt have sin and cos, stretched lines ’cause we didnt have a drawing API and sequenced images to fake video. Praystation was inspiring everyone to post and share experiments and with his Psycho studio Brendan Dawes built one of the first flash apps. and certainly the first flash video editing app (without using video!). And then Flash 5 came out, with a real coding window and Actionscript and the possibilities suddenly seemed endless. Brendaw Dawes suggested we would see a whole new era of flash apps. (which he called flapplications – thankfully that didn’t catch on). I was so inspired that I built a simple 2d/3d floor planning tool called smallblueprinter (it’s still the original code – flash 5, pre-drawing api).

But in spite of all the excitement and discussion about flash apps (and subsequently RIA’s) only a small number of flash apps emerged. Mostly people kept making games and  glossy flash sites for movies and softdrinks…………….until recently.

Recent Pessimism: However before I go into a rant about how great things are now I should make a passing mention of the prevailing pessimism that has been present in the Flash community this year, and why I dont subscribe to it. There has been a fair bit of doom forecasting on blogs with chants that either HTML 5, AJAX or Silverlight were going to come along to kill flash. (ref: bit101- flash what is it good for) Im not worried, html 5/ajax is great for some things but it’s not the best solution for everything (just like Flash) and Im not convinced that Microsoft really cares about Silverlight beyond video. Of’course there has also been a fair bit of despair towards Adobe in recent times. To me CS4 felt like the end of a relationship. It said I know we’ve been together for a long time and you’ve been very loyal but I dont want you around any more and to prove it I’m going to make myself uglier, more cumbersome and full of bugs. Go hang out with Flex, the new hot chick, she’s got the things you always wanted me to have. Basically loyal flash developers have been rewarded with confusion and rejection.

And yet I’m really excited!

But I can ignore the pessimism and Adobe’s mistakes. Because now, at the start of a new decade, I think we are finally seeing the emergence of what some of us were imagining almost a decade ago. In recent times quality Flash apps have finally arrived. And there are heaps and they are mostly excellent.

There is a whole wave of flash based image editing apps. such as Fotoflexer and Picnik and Splash up and the whole aviary suite . For a while there it seemed like every new startup was building a flash based online image editor!

Power Point has always been horrible, but Microsoft’s dominance prevented anyone trying to make something better. But web apps make trying something new risk free – and finally we have some fine alternatives to Powerpoint – such as SlideRocket – which is a better power point – or Prezi which completely rethinks presentation software.

And of’course there are whole range of audio apps, and design apps and data viewing apps etc… see Inside RIA’s list of the top 50 most usable for a starting list

What this all amounts to is a fresh vibrant environment with people all over the world building real apps. with flash (not just widgets) and building real businesses around these apps. Add to that the fact that AIR is now mature enough that you can quickly turn your flash app into a old style download app (see the balsamiq mock ups blog for an AIR success story). And in 2010 we will see Flash CS5 which will properly integrate with flash builder and hopefully be better designed and bug free.

And finally most of these flash apps have been developed by a small team, in some case just one person (like each of the Aviary apps). So if you are a Flash developer in 2010 then there is an exciting world waiting for you. Sit down, have a think, come up with an idea for a cool application, build it, stick it online and get people using it, sell an AIR version and maybe even stick out an i-phone version. It’s to time to be excited again.

Why are Adobe bundling software with the flash player?

I recently updated my browsers flash player (because firefox told me to) and was shocked to see that Adobe are trying to bundle a virus scanner trial with the flash player download!

This really is terrible. It happens on Windows in Firfox and  Safari. On IE the extra download is the google toolbar (adding 1.8M to the download).

Why is Adobe doing this – it looks really bad!

adobe bundle bungle

Adobe bundle bungle

AS3 Quick Answers – How to get Printing to work as expected

AS3 made a lot of common tasks a lot easier. For example, processing XML is a joy in AS3. But alas Printing isn’t something that got easier, in fact it got a whole lot harder.

At first glance the PrintJob class looks easy to use. You just create a PrintJob object, add a page or two and send. Which is great until you try to use it in a real application. The first thing to know is that flash uses vector printing by default. As a result any graphics that you are trying to print that contain transparency, gradients, filters or bitmaps wont print. If the sprite you are printing contains a png you’ll get a black box where the png should be. The solution to this is to create a PrintJobOptions object and set it’s printAsBitmap property to true and pass this new object in with the addPage method.
Something like this

var options:PrintJobOptions = new PrintJobOptions();
options.printAsBitmap = true;
pj.addPage(myMC,null,options);

Now the bitmaps and gradients will print. A pretty simple solution that does get covered in the Flash help.

Here’s what isn’t mentioned in the help files.

Flash wont print filter effects. So if you have a nice glow or dropshadow on the graphics you are trying to print – it will dissapear in the print out.

The solution is that you have to create a BitmapData object, draw the MovieClip/Sprite that you want to print to the bitmapdata. Then pass the bitmap data to a bitmap object and then atach that bitmap to a MovieClip/sprite and print the movieclip/sprite.
Something like this:

var myImage:MovieClip  = new MovieClip(); //this is what I want to print
var imageData: BitmapData = new BitmapData(myImage.width,myImage.height,false,0xFFFFFF);
imageData.draw(myImage);
var imageBmp:Bitmap = new Bitmap(imageData);
var printMC:MovieClip = new MovieClip(); // this is the movie clip we will print
printMC.addChild(imageBmp);

then just pass in printMC to addPage in your printing code and it should print the bitmap and hence the filters.

ONLY IT DOESN’T WORK – we’ll not for everyone.

Why? because for some strange reason flash won’t print a display object unless it’s added to the stage (although it works in some situations it generally doesnt work on XP and older Mac’s). It will just print a blank page.
So  you need to do something like stage.addChild(printMC); then you can print it.

I didn’t discover this all by myself – a whole lot of credit goes to Andy Watt at wasted potential
His post also gives a nice example of how to scale your movieclip so it fills the page when printed.

BUT WAIT THERE’s MORE

It still wont print if your movieclip has visible set to false. Which really is a bit insane. The whole idea behind flash printing was that you could format your content in a different way for printing by doing that in a seperate movie clip that the user can’t see. But you can’t make it invisible – to hide it you have to give it some x value that puts it out of the visible area eg: printMC.x=1000;

So in summary – if you are getting blank pages – make sure that the display object you are printing is added to the stage and visible.

InsideRIA’s best apps of 2009 – max session video

InsideRIA.com has become a site I check pretty regularly lately. The quality of the posts/articles varies widely but there is always something new to read there. A few weeks ago they ran a little competition to get users to vote for the best RIA of the year so they could showcase it at MAX. It was a bit of a disaster – fake votes, automated voting, hanging chads…. you get the idea. They clearly didn’t realise how much emotional and financial investment goes into web apps and thus didnt anticipate any vote rigging. In the end they just picked the three apps they like the most Aviary, Balsamiq markups and digital tutors.

They then showcased these apps at Max and the video is now online here

If you are developing a flash based RIA then it is certainly worth watching with your morning coffee. However for reasons only understood by the crazed tribe of coders that run the Adobe web site you need to jump forward to 10 mins before it starts – unless you really need to hear 10 minutes of soft pre-session chatter. Also its shown using the worst video component on earth – why oh why does Adobe use such an inferior component to display their flash videos?!

A few things stood out to me about this video.

Aviary lets you edit images, audio and a do bunch of other media editing things that just a few years ago were unthinkable of in a web app. And no one in the audience was impressed, no gasps, hardly any applause.  I guess it’s a sign of how far things have come that creating pretty good replica of photoshop in flash isn’t all that impressive.
I did smile when someone asked how many lines of code were in the app. I had a professor at uni who spoke of ancient times when coders used cobalt and were paid based on how many lines of code they wrote, of’course now days lines of code doesn’t mean a lot.

Interestingly the Aviary developer did point out that the Aviary apps are all created by one person per app and most took about a year – which is pretty cool really if you think about it…. you could make your own commercial quality web app all by yourself in a year. Actually that’s kinda what Im doing.

AS3 Quick Answers – how do you make the scrollbar component wider

OK, this the first in what will be an occasional series called ‘AS3 Quick answers’.

I’m currently creating a new version of my Garden Planner tool, which involves re-writiing the whole app. in AS3. In doing this I’m coming across quite  few ‘how do I do that?’ moments, where things that really should be quite simple turn out to be a bit of puzzle. So when I actually work out something that intially stumped me I’ll post it here and hopefully it will help someone.

The first thing that stumped me was how to make the scrollbar wider in the default CS3/4 components. You would think this would be a simple setting, and it certainly is simple if you just want to make a vertical scrollbar taller or a horizontal one longer. But what if you want to make the vertical scrollbar a bit wider. There is no setting to do this and even customising the graphics wont work! This really is a bit of an ommision because the default scrollbars a bit thiner than a typical Windows scrollbar and so there are probably quite a few developers who would like alter its width.

So whats the answer?  Just go to the man who created the components in the first place, Grant Skinner. Hidden away in an old post on his blog Grant provides an updated set of components that solves this issue. I have no idea why Adobe havent officially supported this update – they really should.

Finally a blog

We’ll a long long time ago I has flash blog called ‘thinking in flash’ on a long extinct domain called urbanev. But back then blog posts were mostly people posting links to things – kind of how twitter is used now – and my posts were all huge essays that I’m not sure many people read. I guess I just didnt find myself to be a natural blogger.

But now I have a number of reasons why I want to try blogging again  – most significantly because I’m actualy excited about Flash again.



Follow

Get every new post delivered to your Inbox.