New Technology: Things I've Been Up To

Hi everybody! This is my first post to the blog, so in correlation this might be kind of long. Hopefully, I can make this short by just giving you brief descriptions and if you want more info, you can go hunting for it all on your own.

As all of you probably don't know, I spend quite of bit of time exploring the newest technologies on the internet, whether they are directly correlated to Flash or not. A lot of what I'm stumbling across lately are what are known as API's (Application Programming Interface), which is just a fancy acronym for sites that have public access to their internal functions. Examples of these include:

  1. Google(http://code.google.com/) which has access to everything from GMail, to Google Maps, to stuff you probably don't even know Google offers.
  2. FlickR API (http://www.flickr.com/services/api/)
  3. Facebook API (http://developers.facebook.com/)
  4. Twitter API (http://apiwiki.twitter.com/)
  5. Yahoo Pipes (http://pipes.yahoo.com/pipes/).

Now this is a truncated list, but by leveraging these open API's we can build highly complex applications that can take advantage of many of the built in features all of these services have to offer... Of course once you start talking commercial they start charging for liscencing fees, but regularly it can be a minimal cost, in comparison to the amount of resources it would take to actually create comparable services. But all of them let you start interacting, and creating without having to pay them a dime.

All of these tools make for great possibilities, and most of these are now easily integrated into either Flash/Flex applications, or AJAX(C#/PHP/JSP) based applications, and alot of the code can be interchangeable. Don't get me wrong this doesn't mean we can make the next Google-FlickrBook in 10 minutes, there's still alot of time that must be put into properly developing these solutions, but its alot more plausible, without having to re-invent the wheel.

But there are also really cool things I'm finding that are happening in the Flash/Flex community. First: Flash Player 10, has alot of really cool new features, most of which most Flash designers may never use, but offer up some really juicy coding possibilities. Pixel Bender is one of them (http://labs.adobe.com/technologies/flashplayer10/ ), the technology has been around for a while since its pretty much the engine that runs After Effects, but now as a Flash Developer I have access to some of the same capabilities as After Effects except in real time.

And that's really only the changes that Adobe is making to Flash, the Flash community itself is generating an immense amount of tools, that are making the world of Actionscript 3 one of the most exciting programming languages to date (especially since you are guaranteed permeability through all Desktop computers, and you don't have to worry whether you're running Internet Explorer, Firefox or Safari... it's Flash, so it works). Here's a list of some of the newest libraries that are making an appearance into my toolbox:

  1. Papervision3D - 3D engine for creating real-time 3D graphics with Flash. Although the ideas behind it are amazing the framework is kind of complicated to use, the results are fantastic once you get past the initial learning curve, you can start doing some pretty cool stuff. (blog.papervision3d.org)
  2. Flint Particles - Probably the nicest particle engine for Actionscript 3; it has resources for both 3D and 2D particle generation, and gives me the ability of making things like fire, smoke, or snow, extremely fast, and I can even implement fairly intense physics.(flintparticles.org)
  3. PureMVC - This is one of the more abstract examples, it is a framework for building applications, so in terms of "visual" representation, there's not much to say. So if you're a visual thinker turn away now! This creates a stable platform for an application to interact with itself, hence creating a concise methodology of an applications inner-workings. In Lamen's terms, you always know where your ins and outs are, and you can focus on other parts of the application logic, rather than making sure that individual components are correctly communicating with each other. (puremvc.org)

Outside of these, there a lot of other libraries worth mentioning, but I feel this is getting a bit long. So I will list them with no explanantion since they are in alot of ways similar to the three above, or are subcomponents of the ones above. Away3D (PV3D brother project), GOASAP (animation framework), Tweener(Animation Framework), and Cairngorm(another MVC by ADOBE).

Now backtracking even more theres some new server technologies on the forefront, that are gaining alot of buzz, mainly due to the fact that they make extremely complex procedures alot simpler. They are also more on the Java side of this whole equation:

  1. Apache Struts - struts.apache.org | Server side technology for generating heavily infused data applications.
  2. BlazeDS - http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/ | This is an adobe technology that allows communication with data sources and flash alot more efficient.
  3. Adobe LiveCycle - http://www.adobe.com/products/livecycle/ | This is a REALLY cool one, since it gives a flash/flex developer the ability to integrate just about anything you see in Flash into a PDF, and vice versa. Of course it's not cheap, its extremely difficult to learn, but the end results are astonishing.

Hopefully this gives you a better sense of what goes on in my world. It's not just Flash, its about making the world revolve around it.