FightSkillz.com - Life, Code, & Idiocy
It's really irritating when you're searching for OGG Vorbis support in the iOS 4 version of WebKit and a tech reporter's last name is Ogg. 2 days ago

Posts Tagged ‘Adobe’

Flex Skins, Registration Points, and Illustrator CS5

Friday, May 14th, 2010

In Illustrator CS4 it was really easy to make Flex Skins. You just go to File -> Scripts -> Flex Skins -> Create Flex 3 Skin, choose the components you want to skin - optionally give it a style class name, style it, use the same menu to export for Flex, use the Flex Builder skin import feature which creates or adds to your CSS file and blah blah blah. If you want me to do a tutorial on that just comment and ask.


In Illustrator CS5 they've updated the way registration points work. Flex 3(halo) skins require that the registration points be in the top left of the symbol. Illustrator CS5 defaults to a center registration point, so when you open your CS4 Illustrator skin file in CS5, it updates the registration point mechanism and defaults all your registration points to the center. Don't hulk-smash your computer just yet.

Another key difference with CS5 is while you get finer registration point control, it takes more work to move the registration point after the symbol is created. Say you've opened your CS4 created Flex 3 skin in CS5 and your registration points have been centered. There are a bunch of ways to edit the symbol. You could double click on the the symbol instance, or the symbol in the symbol pane, or click Edit Symbol at the top. Once editing the symbol, you'd need to drag your symbol around - make sure you get all the layers - positioning it rather than the registration point and don't forget to move the 9-slice guides. This process get's messy fast, it's time consuming, and it'll be hard to get the registration point and guides exactly where you want/need them. It's aggravating that there isn't a faster way to do it, and that in converting the file to work with CS5 it doesn't keep the registration point locations. So if you know a better faster way let me know. Until then here's the fastest way I've found to move all your registration points back to the top left.

  1. First Save as your skin file, you can use the same filename but will get a dialog to save it as a CS5 compatible file
  2. Click on the symbol instance, ie: the Up skin for a button, make sure you've got it selected on the artboard
  3. Click on the Symbol Options button in the Symbol pane
  4. Copy the name to the clipboard (ctrl/option + c)
  5. Click Cancel
  6. Click the Break Link button in the Symbol pane
  7. Make sure the correct symbol is still selected in the Symbol pane, the selection may have jumped to the top left symbol in the list
  8. Click on the Delete Symbol button in the Symbol pane
  9. Delete the symbol, if it tells you there are other instances then take special care and double check that the correct symbol is selected; due to the nature of a flex 3 skin there should only be one instance of each symbol. It's not impossible to have multiple instances, but you would know if you created them.
  10. Click on the New Symbol button in the Symbol pane
  11. Paste the name you have in the clipboard (ctrl/option + v)
  12. Select the top left corner for the registration point
  13. Tick the box for Enable Guides for 9-Slice Scaling
  14. Click Ok, and repeat for every other symbol
  15. Now you can save, backup with DropBox, export as a Flex 3 skin, and finally it's time...
  16. Hulk-SMASH!!! SMASH! this really should have been automated in the import mechanism.. right?

 

click image to zoom

News For Idiots May 7th

Friday, May 7th, 2010
I wanted to try a series that simplifies the news - cuts through big articles with boring facts and interviews and shit and just tells you what the story is about. Simple.

Supreme court of Canada says journalists shouldn't be able to fully protect anonymous sources. Saying it's not in the constitution.

The United Kingdom (ie: England, Scotland, Wales, and Northern ireland) had a general election. It resulted in a minority government. Now they're fiff-faffing.

iPad available in Canada starting May 28. During Google's IO event May 19-20 Adobe will demonstrate a Google phone running Flash 10.1 and Adobe AIR. This will spur the completion of the bevy of competing tablets and mobile devices. Notion Ink's Adam tablet, and Hp's speculated WebOS tablet will be fierce competitors. Notion Ink plans to start shipping by the end of July.

They dug up some neanderthal bones from 30,000 - 40,000 years ago, and sequenced their DNA. It was difficult. They're saying based on similarities between their DNA and ours'(humans) there was a lot of interspecies fucking going on. Which technically means neanderthals and humans were not separate species - if they were able to produce offspring together.

Beyond Petroleum(BP) - the petroleum company - lowered a heavy metal box over their pressurized leaking oil hole in the Gulf of Mexico today. They hope it will work to stop the torrential leakage and not destroy the entire eastern coastline of North America. They're saying that if they knew oil - the thing gasoline and propane comes from - could catch on fire, they would have had a backup plan to prevent such a catastrophic disaster.

Germany decided to help the Greeks with their economy melt down with 110 billion euros. Other larger members of the European Union(EU) have helped, and other Countries are thinking about it too.

The United States and United Nations trying to coax peace in the Middle East asked Israel - the only known country there to have them - to disarm and disable some of their nuclear weapons. Israel doesn't want to do that until there's peace in the area.

One of the volcanoes in Iceland responsible for the huge ash cloud over Europe emitted more ash yesterday.

6 days ago Maoists in Nepal went on strike because they're unhappy with the government, this made everyone else angry so thousands of protesters gathered to demand an end to the strike and compromise between the Maoists and the government. After the protesters became violent, the government injured some people firing bullets in the air and tear gas at the crowd.

Political parties in Burma are having differences and splitting up. This is all much more difficult under their strict election laws. Some say participating in the election at all is undemocratic in the military run country.

Turkey may revise their constitution from being secular to Islamic based. The bill to do so has been approved but may still be blocked before coming into affect.

Microsoft's security patches secretly attempt to fix more than they tell people, which can cause problems and complete system failures.

Google Goggles - an app that let's you photograph something with your phone and find out more about that thing - has added translation. So aside from taking a picture of the Eiffel Tower and getting Wikipedia or whatever, you can photograph a chalk menu outside a bistro in Milan and have it translated into the language of your choice.

There's a new update for Google's web browser Chrome which makes it the fastest browser for looking at web sites. It's half a second faster than the latest Firefox, four hundreds of a second faster than the latest Opera and Safari. Internet Explorer is still painfully slow, so much that it's not even benchmarked anymore.

The first non-latin domain names are live now. You can now register website names using Arabic, Japanese, and other non-latin characters.

Yahoo tries ad campaign to compete with Google as a search/home page, speculatively wastes $85 million proving how incompetent they are.

 

Adobe AIR Installer Not Default For Opening .AIR FIles

Thursday, April 29th, 2010

For some unknown reason - which could likely be attributed to my own stupidity if one were to look into it, .AIR files were associated with the Windows version of Firefox inside a Parallels VM I have set up on my Mac. So trying to install an AIR application, or letting an AIR application auto update itself resulted in launching Parallels.

I figured I'd post this cause the location of the AIR Application Installer that you would want to be associated with .AIR files eluded me.

So to fix it just right click on the .AIR file. Choose "Get Info". In the Info window expand the "Open with:" arrow, and make sure "Adobe AIR Application Installer" is selected. If it isn't choose "Other..." in the dropdown list and navigate to Applications->Utilities->Adobe AIR Application Installer, select it and tick the box that says "Always Open With" before clicking "Add". Then back in the Info window click the "Change All..." button to apply it to all .AIR files.

iPhone OS 4

Thursday, April 8th, 2010

The fourth iPhone OS is going to be announced tomorrow at 1pm(EST). The updates should propagate to iTouches and iPads as well. Things expected and hoped for include multitasking for 3rd party apps, wireless syncing, unified inbox, better maps, and some other shit.

The question is why Apple is making so many announcements, when they usually have very few meticulously planned expansive ones.

Adobe CS5 is launching in 4 days, watch the countdown here [http://cs5launch.adobe.com/]. During Adobe's announcement they will let us know not only about a huge leap in performance and features of the tools everyone uses (ie: Photoshop, Illustrator, etc.) but also tools to export apps built with Flash(formerly Flex) Builder to the Apple app store. Currently you can build an app in Flash Builder and deploy the same code on the web, and on the desktop with AIR. Very soon, hopefully in 4 days Flash Player 10.1 and Adobe AIR 2.0 will be released allowing the additional output of your same code to most smart phones and portable devices as well, and very low level socket support and advanced text support, among many other features and less resource consumption making it a truly compelling option for serious apps deployed across all screens.

Once Adobe announces this everyone is going to be making iPhone, iTouch, and iPad apps in Flash Builder so they can develop once deploy everywhere. Apple deliberately blocks Flash on iDevices because they want people to learn Objective-C (the language for making iPhone apps). If you spend money learning Objective-C and clients want to jump on the iPad and spend money hiring developers who already know the language then you're only able to target iDevices, and now with the screen size and performance of the iPad you then have to rewrite and rerelease a version of your app specifically targeting the iPad. Objective-C is a really shit language, and solely dependent on Apple products[apparently not according to Nick's comment - better take his word for it].

So Apple is racing to get each thing out as soon as they're ready to beat the launch of Adobe CS5 so as many clients and developers lock into Objective-C as possible. Apple lost millions of users because they refuse to support Flash which even though the web is now slowly moving to support the limited and unofficial HTML5 video spec along with IE and other niche technologies for compatibility's sake, Apple purposefully restricted their mobile devices from 70+% of the video on the web and the vast majority of interactive content to the end of being anti-competitive. They upset clients, lost more, and tarnished their company image for years. Now CS5 is coming out and it'll make their anti-competitiveness irrelevant and pointless. So Apple needs to squeeze out products and features and create lots of buzz and chatter to try lock in as many people as possible and I guess attempt to overshadow the CS5 announcement so nobody notices.

The Ipad

Friday, April 2nd, 2010

With it's release less than 24 hours away and projected sales in the millions it's impossible not to reflect on what it all means. You can say a lot about the Ipad; it has no Flash, no camera, bare device support and an awful name, but one thing you can't talk shit about is the depth of its potential and very likely impact. Here's a more reasonable take on some of the hype and myth surrounding the device.

No Flash - Why and What does it mean?

There is only one reason why Flash is not allowed on apple mobile devices. Market share. The iPhone and the soon to materialize iPad are "extra" devices. That is, they're not meant to be purchased by people who don't already have a computer. You need a computer to update their software, sync them, etc.. On the internet there are a lot of problems with browsers being incompatible with each other. You probably know about rendering issues and speed problems. Flash is the only ubiquitous web platform. It's cross platform and runs the same code identically across all kinds of devices and operating systems from smart phones to desktops to navigation and embedded systems, running every flavour of linux, windows, mac, etc.. The also soon to be released update Flash 10.1 will increase performance, both speed, cpu usage, memory, and more across all these devices; specifically taking in mind mobile. Flash powers more than 75% of the video on the web, 70% of the games, most of the portfolios, and most of the cool graphs, apps, and more, and is installed on more than 99.99% of all devices on the internet.

Apple wants a piece of that. They want their video codecs and their technologies to prosper. Flash is lightyears ahead of html and the only real way to build robust advanced web applications. HTML 5 adds some cool features but the spec is still incomplete and stuck in a deadlock. Building an HTML 5 application is very expensive and time consuming as every browser that supports HTML5 implements it very differently, and most browsers - or rather most internet users, do not, and will not have even a smidgen of HTML5 support for at least 2 years(read: Internet Explorer).

Aside from video codecs, Apple also knows that allowing Flash to exist on the iPhone/iPad would mean people could easily create web apps that work everywhere without paying Apple or filling up their app store. If Flash was allowed on the iDevices no one would pay hundreds of dollars to get into the app store, no one would pay thousands of dollars to train their developers to learn how to program in Objective-C simply to target a single device from a single company. And absolutely no one would put all that effort and money into building that app, knowing that there will be inevitable unpredictable delays, rejections, and removals from said app store for often no reason at all.

There are a ton of idiots proclaiming Apple doesn't allow Flash on their mobile devices because "Apple supports and open web". This quite simply isn't true. If HTML ever got advanced enough they would disallow HTML based web apps on their devices as well, in fact Apple is a major player in the HTML5 codec debate preventing the HTML5 spec from being finalized, so they've already started applying the brakes to HTML and openness. Adobe on the other hand keeps opening up their technologies and leading the open screen project, while open sourcing Flex, and releasing their formerly proprietary SWF format and AMF protocol. Apple has - and is notorious for creating, one of the most closed environments known to man. If they were a government the UN would have to intervene and if they had a monopoly they'd be in deep shit with the FTC for their anti-competitiveness. Does this mean the end of Flash? Absolutely not. In fact Adobe is about to announce that using the same tools and the same code you can easily convert Flash content and applications to iPhone/iPad applications with the click of a button, and if it's not too complex to Canvas based HTML5 code as well. Flash will remain the ubiquitous "code once run everywhere" platform. And quite frankly even in some parallel dimension where that wasn't true, ECMAScript is ECMAScript and Flash developers feel just as at home(although grossly underpowered) with Javascript as they do Actionscript.

What you will see change, although more so due to Adobe's Creative Suite 5 launch--which makes the process easier, than the iPad launch which will only slightly increases demand for it, is video services like YouTube, Daily Motion, and others who can afford to convert and maintain several formats of every video uploaded will begin creating several HTML5 versions of their players. So if you browse on most computers you'll see the Flash version, rich with Flash 10.1's many new features, but if you browse on an intentionally crippled device like the iPad it'll automatically be switched out for the compatible and feature stripped HTML5 version that works with your browser. Some huge sites that use Flash will also create alternative sites that are Flash-less, but at the same time those sites will have custom Adobe AIR apps built with Flex, and custom iPhone and Android apps built natively for those devices as well. Essentially more versions of the same product, just like how today there needs to be a separate stripped down version of websites for each version of Internet Explorer, which is also intentionally anti-competitive and incompatible with other browsers or web standards.

Adoption and Impact

The reason Apple can be so bold with Flash is because the iPad is an incredible revolutionary device. Most people struggle with computers to do anything. The desktop, laptop, and netbook paradigms are confusing and actually dealing with anything is an impossible feat to ask for the majority of users. There are a lot of people who should wait a few months for the bevy of tablets about to storm the market who have Flash, grant access to the full web and a full interface, set or ports, webcam, etc. But even I wish my grandparents would get one, because it's simple to use and understand. If someone can teach you to use a microwave, someone can teach you to use an iPad. This just isn't true for more traditional keyboard and mouse based devices - despite my sincerest efforts, most people just don't get it. It's too complex and too unnatural. If you don't have to get an iPad right now but you want one eventually, you might be wise to wait for the 2nd or 3rd version, which will no doubt have a forward facing webcam, be faster, and cooler as Apple tries to stay competitive with what is sure to be a lot of competition.

The point is that while it's not going to pull away a huge amount of market share in your website analytics, it will be a significant amount, and it will create a lot of change. Not just the iPad, but the wide array of tablets about to hit the market. The form factor will be significant, and all the big names will have alternative sites and apps to cater to not just touch screens, but no-flash environments, and small screens.

The Future of Flash – Apple’s iPad

Wednesday, February 3rd, 2010

The internet is a buzz with talk of the downfall of Flash. Flash, the only web platform with 99%+ penetration rate cross platform, and 90%+ penetration rate for their latest version only 3 months after release. The platform that powers the web's content, games, and more than 75% of all interactive online media. That's now able to power desktop and mobile applications, and with the imminent release of Flash 10.1 will bring far more efficient and lower memory/ram usage. So much lighter on cpu in fact that it's able to play HD Youtube videos on mobile phones and netbooks without a problem. Yes, Flash, the downfall of Flash.

There are two main arguments to this. The first is the emergence of HTML 5. HTML 5 finally allows video and audio playback without any plugins, and canvas - a tag which allows for complex drawing, embedding fonts, etc. etc. Things Flash has been able to do for years, has a huge head start on, and does really well. Flash has supplied us with everything from video streaming to blackjack, and even website design as a whole, and yet HTML 5 is supposed to just oust the holder of the crown and sceptre when it's finalized? I don't think so. The problem nobody seems to get is that Internet Explorer still has a majority market share, by a lot depending on who you ask - and Microsoft will likely NEVER support standards because it directly counters their business model. Aside from that, and the fact that every browser that will support HTML 5(ie: everyone else), will implement it differently from each other, with different aesthetics, features, code, BUGS, etc. But even more crucial the HTML 5 spec itself is not even complete yet. It's not even finished, and it's unfinished in a deadlock between the web giants who not only can't decide or agree on which video and audio formats are the best performance wise, but also who owns the rights to implement those formats in their browser and who'll have to pay massive royalties should the true patent holders (still somewhat unknown for sure) decide to cash in. No one wants to properly look this up for a variety of reasons and so HTML 5 - supposed to bring the web together and herald a new dawn of the internet can only work if EVERYONE does in fact come together and implement it in exactly the same way; disregarding that ubiquitous HTML 5 means EVERYONE loses something, some everything.

The other main argument is the Apple iPad - just announced. Which like the iPhone doesn't support Flash. Apple uses the old "Flash is too resource intensive" argument to convince you that limiting you from the full web is a good thing. This simply isn't true. It's false. Both iPhone 3Gs and iPad could happily run the current version of Flash or Adobe AIR just like your laptop/desktop. And it's also entirely up to the developer and how they program and how resource intensive they make their flash app/widget/game/etc. The only reason, listen up, the ONLY reason Apple does not support Flash, is because the Flash platform already powers so many games and useful tools and full blown applications on the internet it threatens Apple's very business model of the Itunes/App Store. Apple wants companies to develop all their apps again specifically for the iPlatform and invest in it. If you could make a Flash app that ran on the iPhone it would also run on Android and every other smart phone. But if you invest in the iPlatform your app will only run on the iPlatform. If Apple was a monopoly the FTC would be pushing them down for their anti-competitive vindictive behaviour.

Apple doesn't block Flash support in their mobile products because they want to push innovation in HTML 5. If HTML 5 was advanced enough, or popular enough to be worth creating the caliber of applications possible on Flash, Apple would immediately configure mobile Safari to block, impede, and hinder the advancement of standards just like Microsoft with IE. In a heart beat. Apple promotes HTML 5 because they know it'll be years before it's anywhere close to where Flash is today, if ever. In fact Apple is one of the "powers that be" preventing the HTML 5 spec from being finalized in the codec wars. Apple wants you locked into their platform. Apple doesn't care about advancing the web, or a better user experience, they care about the big media companies bringing their content online through Apple's platform. Apple wants the iPad to replace your tv, radio, and other media consumption devices. They do not care about the open web.

Adobe on the other hand continues to open up the Flash platform and benefits from creating a ubiquitous platform across desktop and mobile. There are fully open source versions of their Streaming and Application servers, and free and open source ways to develop for their platform. Anyone can build a Flash application, for the browser, desktop, Windows, Mac, Linux, Safari, Internet Explorer, Chrome, Firefox, Opera, etc. etc. Build one application and deploy everywhere using an incredibly powerful, scalable, and mature toolset. Apple on the other hand - should you decide to invest in it, puts you in a position where you may or may not after months of development time and costs even get your application onto a device, regardless you'll have payed Apple to be a developer and to submit it in the first place or even get access to their development tools, and should you get through the random and gauntlet of barriers they can still remove your software from their platform and devices at a moments whim. They can and do literally remove your application from people's phones after being downloaded and used without warning to backup the data put into or created by your app. Anytime for any reason. AND if you're lucky enough to get your application through all these extra months of hurdles and costs and lost revenue you're only gaining access to one small subset of mobile devices.

It is absolutely ridiculous to think the HTML 5 is going anywhere anytime soon, let alone even coming close to eclipsing Flash in any way. Not from Apple, they don't want anything to compete with their platform for getting applications on their devices - Flash or otherwise(HTML, Java, Silverlight), and not from anywhere else because it's just not mature, complete, or will over the next 12-24 months be implemented uniformly or consistently across browsers or operating systems. Even in the event that somehow all these competitors come together to reduce their own profit margins and upset shareholders in the name of benefiting the user and happy popcorn rainbows, it will still only have the capabilities of Flash 8-ish. By then Flash Player 11 will be out and all the best web apps will have an Adobe AIR application front end and you'll use an Adobe AIR application to browse through a market place of Adobe AIR apps. Yes we're moving towards the cloud, and yes the cloud and desktop are becoming indistinguishable, but moving into the browser is only a temporary measure for some companies before they build a desktop front end for their service.

The iPad, iPhone, and iPod are toasters. Every person with an iMobile device also has a desktop or laptop for work and actually managing their digital life. Every single person I've seen raving for HTML 5 and the downfall of Flash depends heavily on Flash and its phenomenal capabilities. They're all idiots.

Adobe Flex/Air Bug – Serving Content via PHP

Monday, February 1st, 2010

I've been using a php script as a gateway to fetching certain content from a server, mainly mp3 files. There are a bunch of reasons for doing this, the main ones would be to be able to easily log which files are being accessed, when, and by who - and if you plan on creating widgets for your users to stream the content they upload to your site and they happen to put it on a heavily visited part of the web you can temporarily disable or limit that user's widget's access to content giving your other user's priority and preventing your server from crashing or being overworked.

So in the Flex/AIR app I've got a URLRequest that's used to load a Sound object. Instead of specifying the index.php it had been accessing http://domain.com?var1=blah&var2=blah. Usually this will redirect to the index.php sending it the post variables and letting it do it's thing and fetch the mp3. It works on Adobe AIR for Mac, it works in a browser on Mac/Windows. But in a URLRequest from Windows it doesn't work, confirmed for XP and 7. It doesn't just redirect to the /index.php file and drop the POST/GET variables, it actually just doesn't redirect anywhere, and you get an IOError. You'd think the redirect would be handled entirely by the server and transparent to the client, but it appears that for whatever reason, Adobe AIR on Windows just returns an IO Error.

Either way it's easy to fix, you just have to specify the index file in your URLRequest like so: http://domain.com/index.php?var1=blah&var2=blah.

Adobe AIR, Flex, and Socket Policy Files

Monday, January 25th, 2010

You probably found this because you're trying to make a socket connection from Flex/Flash and getting the following error:

SecurityError: Error #2123: Security sandbox violation:

Adobe went through a number of phases making the rules for serving and checking Policy files stricter. There are different security sandboxes. If you publish your flex/flash application on domain.com, and the application attempts to load content from domain2.com, it will look for a Cross Domain Policy File at domain2.com/crossdomain.xml to get permission. It does this automatically, however you could specify the location of the Cross Domain Policy File in your flex application using the following method:

Security.loadPolicyFile("http://domain.com/remote_content/crossdomain.xml")

A Cross Domain Policy File only has authority to grant access to content below it in the folder hierarchy. So a policy file in /remote_content/ can't grant access to content in the root folder, and in addition a Policy File at the domain root can override any other policy file. It has maximal authority. Subdomains are considered separate domains - which as a side note most search engines see subdomains that way too.

Now that's Cross Domain Policy Files, In general Adobe Air applications operate in one of the local system sandboxes and has thus have access to content on any domain. This post is about Socket Policy Files. When you access regular web content you're generally connecting to your server on port 80 and being served content by Apache or whatever web server you happen to be running. When you do this you're using http protocols under the hood and never have to deal directly with that crazy stuff. If you want to make a raw socket connection to your server you will need to serve up a Socket Policy File on a specific port.

First I just want to stress the difference between a Cross Domain Policy File and a Socket Policy File. For some reason my dyslexia and the ton of misleading, vague, and now out of date and incorrect information I kept thinking they were the same thing. Second there is no way as far as I'm aware to serve a Socket Policy File with Apache.

The default port for flex/flash to search for a socket policy file on port 843. There are several places on the web that talk about being able to connect to higher port numbers without a Socket Policy File, well that doesn't seem to be the case anymore. Just assume that any raw socket connection from a flex/flash client requires a Socket Policy File.

You can serve the Socket Policy File from the port you're connecting to, but this is tricky considering the manner in which Flex/Flash goes about loading the Socket Policy File and rewriting the service to serve this up, especially if you're using server software built by someone else, means it's just better to keep the Socket Policy File Server as a separate always running entity on the system.

Now in the simplest implementations you need a process either written in python, perl, c++, php cli, or whatever. It needs to be listening on port 843. It has to wait for - very specifically - the following string<policy-file-request/> followed by a NULL byte. Upon receiving that it needs to serve up the policy file which needs to at least have allow-access-from domain set to *, and to-ports set to *. You should use the links at the end of this post to familiarize yourself with the differences between and all options you can specify in Policy Files. It's easiest to keep the Policy File as an actual file, instead of adding the text of the file to your custom server code. And that's it!, now you can go on with a better idea of what information out there is out of date or not.

Here are some important links to help you on your journey:

Adobe on setting up a Socket Policy File Server

Adobe on Policy File changes for flash 9 and 10

Adobe on the structure of Policy Files

An intro to Sockets

Working PHP Cli Socket Policy File Server

Adobe Flex Builder 3

Sunday, May 18th, 2008

flexbuilder3Pretty much everyone that uses the internet knows about it, and according to Adobe 99%+ of browsers have it installed. Flash is a browser plugin that lets you view flash content, everything from games, to animation, video and more.

Adobe Flex builder is an IDE(Integrated Development Environment) for flash. Where using Adobe Flash(software for making flash content) is foreign to most programmers because it's set up for animation and uses an approach based on frames, Flex Builder was designed for programmers. It lets you build RIAs(Rich Internet Applications) with the richness of flash, with the tools you need like code hinting/highlighting, debugging, and a set of usable, flexible controls.

Flex uses Actionscript--the Flash programming language, along with MXML a simple xml schemed language used for the layout of your apps. Flex builder also has a design view that lets you visually arrange and edit the properties of the controls in your application.

To use Flex 3 you can get Flex 3 Builder from Adobe or download the open source Flex 3 SDK(Software Development Kit) and use it with your IDE of choice. Flex Builder 3 and FlexBuilder 3 Pro have some extra features that the SDK doesn't, you can see the differences here.