I've been meaning to attend gotoAndSki for several years now, but it never seemed to work out - until now. If you don't know about this unique event you should definitely check it out! In summer it takes place in Norway, in winter in Switzerland.

This coming January 2012 I'll join a fantastic lineup of speakers (Mario Klingemann, Mihai Corlan, Bhakti Pingale, Michael Plank, Steven Peeters, Dominic Graefen, Hugo Fernandes, Eugene Zatepyakin) in the beautiful town of Stechelberg. Its a relatively small scale conference, giving you excellent opportunity for networking and general "geeking out".

During the day you can get out and see the Swiss Alps, ski or do other fun activities. The evening is conference time with several sessions over a period of three days.
 
My session is called "Simple P2P with Flash & Flex for the common mortal" and I'll be showing the latest developments of the CocoonP2P framework. I'll show how to set up device discovery, messaging, file sharing, video streaming (and hopefully some other cool surprises) between various devices *all without a server*.

The goal is to make it so easy your grandmother could do it - and I think we've pretty much accomplished that.
 
I hope to see you there, if you want to make it out - be sure to grab your ticket now - its without a doubt the best conference deal around (not to mention it includes accommodation and all your meals).
 

Posted
AuthorPeter

[update] There is now some more solid information on the future direction of Flex available here.
 
We're a week after Adobe's shocking announcements around its future vision of the Flash Platform - time to get some perspective and see what exactly has happened.

Unfortunately on a number of topics we're no closer to having real answers but this is my personal take and summary of what is publicly announced:
 
Flash Player for mobile (e.g. on Android) will not be further developed nor receive any further updates after version 11.1 (which was made available earlier this week) apart from critical bug fixes and security updates.

The Flash Player is still available for download and existing SWF content is supported, at some point in the future SWF content targeting new features will likely no longer work on mobile browsers. There has been talk about Adobe allowing OEMs to license Flash Player and do their own implementation, something which RIM reportedly wants to do for their PlayBook and upcoming QNX based devices (lets hope for more willing OEM partners to do their own Flash Player porting).

Adobe will invest further in AIR to package applications to mobile across devices, the recent acquisition of Nitobi and the involvement in the PhoneGap project also fits into this picture.

Unclear to me is if Flash Player 11.1+ content will be supported in AIR for Android and other devices. I don't see how that would work if they don't want to continue to port newer versions of the Flash Player - unless they take a strategy like on iOS where the runtime gets cross compiled to native binaries for each platform.
 
The Flash Professional engineering team has had a number of layoffs, though the product is still under development.

Product management is located in the US but the development is being outsourced to India. The next release of Flash Professional will have a feature to export to HTML5. If its anything like Wallaby or Google's Swiffy project, ActionScript support - if any at all - will be very limited.

My own personal take on this is that its only a feasible proposition if Javascript support is introduced as a scripting "dialect".

http://www.mikechambers.com/blog/2011/11/10/flash-professional-and-the-future/

 
The Flex SDK is going to get donated to an open source foundation and the Spoon project and Adobe (unclear how active and to what extent) will be involved in shaping its future.

The blog post announcing this however goes on to mention that HTML5 and web standards will be the best long term strategy - which undermines their case for continued support of the framework.
 
Flash Builder will still be developed and reportedly some Flash Catalyst features will merge into that product. The Falcon compiler project is still being worked on.

That seems like a pretty sensible move to me, imagine that at some point soon HTML5 will also become an export format here too.
 
LiveCycle and Acrobat Connect are being "wound down" - best guidance I've found on it is that they're cutting investment on it, though continue to support it for existing clients in the government and the enterprise financial services market.

http://www.underprise.com/2011/11/11/the-future-of-adobe-livecycle/

 
I am still baffled at what Adobe was thinking in the way they communicated these changes. Clearly serious mistakes were made and I'm already seeing consequences everywhere.

Flash Player on desktop technically has a bright future ahead for gaming in particular, the issue here is if the actions of last week have not undermined Adobe's credibility to such a point that nobody is willing to invest. After all, they've now proven that the very thing you've been working on for months or years can be pulled out from under you at any point in time.

Most shockingly is still how MAX attendees were misled - thousands of people paying thousands of dollars to make it out to an event that claims to give them insight into the roadmap at Adobe. It is now also clear that Adobe employees did not know about these upcoming changes until the day itself, so this is no criticism on their part.

 
I still strongly stand behind my call for a leadership change at Adobe. Spending billions of dollars over the years on developing a mobile platform to then abandon it without any advance guidance or clear transition path to your user base is inexcusable. The enterprise Flex market is one few that actually prefers proprietary solutions, they want a strong company backing the technology they use and a roadmap they can trust on.

We'll see how these decisions play out, the move towards web standards can proof to be a good one in the long run but the more critical problem is restoring confidence in Adobe.
 

Posted
AuthorPeter

I realize I haven't been blogging a lot about what I've been up to in the last few months so thought I'd better get a post out and share some of those things with you.

Cocoon P2P

The open source Cocoon P2P library has been released and got Dirk Eismann on board as a contributor after speaking at FFK11 in April. With his help we were able to take it from more of a proof of concept to a solid solution for doing local IP multicast with the Flash Player (no server required).

We have great support for device discovery, messaging and object-replication. Reworking the video streaming and fixing some bugs on the accelerometer support is still on my todo list for the very near future.

HTML5 Solutions

I've had the pleasure to work on a book called "HTML5 Solutions: Essential Techniques for HTML5 Developers" with fellow authors Marco Casario, Charles Brown, Nathalie Wormser and Cyril Hanquez.

My contribution to the book is on using the Geolocation API - which, if you haven't already tried it - is one of the most exciting features that is starting to become widely available with HTML5.

It turned out - in my humble opinion - to be a very good publication and should be shipping soon. I can't wait to get hold of my author copies and hear reader feedback when it hits the stores.

Mobile Development with Flash video training

Together with Joseph Labrecque I've recorded a video training title for Peachpit called "Mobile Development with Adobe Flash Professional CS5.5 and Flash Builder 4.5: Learn by Video" that is now available for pre-order.

We cover developing for Google Android and Apple iOS with Adobe AIR, ActionScript and the Flex framework from the very start of setting up your application, to using various APIs, debugging and finally submitting it to the marketplace and app store.

I had a great time recording this title in Graz, Austria with the nice folks at video2brain.

Mobile application development

I've been playing around with different mobile platforms - releasing a couple of applications for Window Phone 7, Google Android and Apple iOS as well as the BlackBerry PlayBook.

VAT validator on WP7 and Android

A while back I was giving the opportunity to do some development on Windows Phone 7 and have to admit it was a very nice experience and a solid development platform. Most of all the app submission and approval process was incredible, consistently taking only 2 days and getting detailed feedback on any problems they find - the best I've seen on any curated marketplace so far.

I decided to port the VAT validator app I had built some years back for iPhone in Objective-C in C#/Silverlight and did the same on Android through the Adobe AIR runtime. Also took the opportunity to test ad integration on mobile and made paid and free ad-supported versions to compare how well they do. I hope to share some statistics soon on how that goes and what model is most suitable for developers that do utility apps.

Sanskrit Clock iPad app

I thought it was high time to explore native development on Apple iOS again and see what the app store experience is like since I last tried it in 2008. Approval time has certainly improved and in less than a week after submitted, my Sanskrit Clock iPad app made it on the store.

Not sure how many people are interested in an app like this (aside from the handful of geeky Sanskrit enthusiasts like myself) but it includes optional romanized transliteration of the numerals, a couple of different color themes and a setting to disable the screen lock so you can use it as a clock on your desk or nightstand.

TWiT Live for PlayBook

TWiT Live is my second PlayBook app that lets you watch the live stream of Leo Laporte's TWiT network shows. I plan to add support for play/pause, volume control and switching between high and low quality streams some time soon.

It doesn't look like things are slowing down for me any time soon, end of next week I'm moving to London to start my new job at Google as a Rich Media Flash Developer. If I manage to find the time I'll be delving deeper into native Android development to do some experiments with widget development and other fun stuff.

Onwards and upwards!

 

This years Adobe MAX conference is fast approaching, end of next week myself and Nathalie Wormser of the Project Cocoon team will be traveling to Los Angeles. Its been a long time since I've been this excited about the topic I'll be talking about. If you haven't tried P2P with Flash Player 10.1 yet, this is your chance to learn how to use it. In our session we'll talk about how to do device discovery on the local network, send data between mobile to desktop applications, use mobile specific APIs like the accelerometer etc. to have those control desktop applications, games -- all this without requiring a connection to a server.

After the conference I'll be blogging about this a lot more, but if you're there feel free to register for our session.

Looking at the MAX session schedule there are some themes that jump out: Flash Player and AIR for mobile and television, new 3D features for Flash Player and HTML5 with Dreamweaver. Of those things the one I didn't expect to break through was Flash Player for television (presumably we're talking Google TV to start with). I'm sure Adobe has a couple of other surprises up their sleeves as they usually do.

Here is a look at the sessions I registered for:

Monday, October 25, 2010

9:30 am - 11:30 am General Session: Welcome to the Revolution Nokia Theatre, L.A. Live 2:00 pm - 3:00 pm Deep Dive into Flash Player Rendering 512 3:30 pm - 4:30 pm Flash Platform for TV: A New Ecosystem 513 5:00 pm - 6:00 pm How to Build Adobe AIR Apps for the iPhone and Android 514 8:00 pm - 10:00 pm Meet the Teams Los Angeles Convention Center

Tuesday, October 26, 2010

8:30 am - 9:30 am Developer Tips for Building Great Games using AIR for Android 515B 10:00 am - 12:00 pm General Session: User Experience: The Next Generation Nokia Theatre, L.A. Live 1:30 pm - 2:30 pm jQuery: A Web Designer's Secret Sauce 515B 3:00 pm - 4:00 pm Building P2P Multiplayer Games 515B 4:30 pm - 5:30 pm Flash Player 3D Future 511A 6:00 pm - 8:00 pm Sneak Peeks Nokia Theatre, L.A. Live

Wednesday, October 27, 2010

9:30 am - 10:30 am Mobile Devices as Application Controllers 504 11:00 am - 12:00 pm Programming HTML5 Canvas 510 1:30 pm - 3:00 pm Developing Your First AIR for TV Application 409B

 
On the 24th we'll also have our Community Summit event with all the Adobe User Group Managers and Adobe Community Professionals. Thats always a great day and nice to meet up with everyone again.

Hope to see you in LA!

Posted
AuthorPeter

There is a bit of a change of plan - rather than give an overview talk on open source projects in the community - I'll be doing my session at Flash on the Beach on Flash Player 10.1 development and the litl webbook. Ever since Flash and the City earlier this year I've been playing around with this somewhat unusual device and am sold on its potential. It is quite unlike the typical hackable geeky gadget I'm usually interested in but opens up opportunities for web enabled content feeds around the house and of course uses my favorite development platform.

I'll be talking about how you can get started developing channels for this device using the developer SDK and test your work in the simulator or on the device itself. We'll walk through various examples of channels and look at some creative use cases. I'll also be covering best practices for Flash Player 10.1 on devices in general.

It's going to be a fun session and will hopefully inspire you to start experimenting with Flash Player 10.1 content on the litl or a variety of other devices and form factors that are hitting the market.

Hope to see you there!

Posted
AuthorPeter

It took me a long time to finally get round to it, but have updated the TWiT Live Desktop AIR application and released it as version 2.2. I've also gone ahead and made it open source under an MIT license, so feel free to check out the code and I'm open to having contributors to the project. For those that haven't tried it yet, TWiT Live Desktop lets you watch a live video stream of Leo Laporte's TWiT network shows as well as interact in the IRC chatroom and check out the twitter and other feeds.

A lot of people were having problems with the "black screen of death" in the previous version. Those issues luckily seem to be resolved and you now have the option of switching between the various video streams or even go for an audio-only version (just right-click for those options). You also have a feature to take image captures of the video stream.

Some minor improvements include saving your last video feed, window size and position when you relaunch the application. You can also double click the video to toggle between full screen and normal mode.

Since its an AIR application this runs on Windows, Mac and Linux -- if there is enough interest we can port it to support Android devices as well.

The old uservoice page will be faded out and I recommend people to use the issues page on the Google Code project to file any bugs or feature requests.

Note: the application loads in the default video players from the various streaming services and renders them in the background. This means the controls are not accessible to you. I'm working on having custom controls for the application that work across the different video streams.

I have plans for a 2.5 update in the next month and a 3.0 later on that will include the following features:

  • Controls for changing video feed, image capture etc.
  • Twitter stream widget
  • Volume control and mute button support
  • Production schedule interface (with timezone support)

There is built-in support to "check for updates" so when you have the application installed new version will get pushed to you as they become available.

[airbadge]TWiT Live Desktop,http://twitlivedesktop.googlecode.com/svn/trunk/releases/TWiTLiveDesktop_2_2.air, 2.2,http://www.peterelst.com/blog/wp-content/uploads/2010/09/twit-badge.jpg[/airbadge]

Thanks for everyone's patience waiting for this update, and Leo and the TWiT team for their support. Enjoy the application and look forward to hearing from users on how to improve it further!
 
http://twitlivedesktop.googlecode.com
 

Posted
AuthorPeter

Earlier this week I got inspired seeing this presentation on HTML5. I'm a strong advocate of moving towards this standard and with browsers increasingly supporting it, makes it very attractive to start to learn and implement where possible. Contrary to what I'm seeing various tech blogs claim, HTML5 is in my opinion not a replacement to Flash. It will no doubt take over some features for which we used to have to rely on the Flash Player to implement -- and that is a good thing -- but there are still a lot of uses cases where it makes sense to use Flash. Not just that, we can leverage both technologies for what they do best (just as we do now).

After Serge Jespers' blog post this morning and a brief discussion on Twitter I thought I'd blog what I think would be a good move for the Flash Player, adding HTML5 support through an embedded webkit engine.

Adobe AIR has this feature and allows rendered HTML to be integrated completely in the DisplayList and treated as any other visual element including filters, transformations etc. Script bridging allows Javascript to call ActionScript and vice versa.

 
Why would you do this?

  • Flash Player has limited HTML support
  • Certain popular and legacy browsers do not support HTML5
  • It would give a consistent set of HTML5 supported features across browsers
  • Deep integration of HTML5 content within the Flash DisplayList
  • Flash Player would become a catalyst for HTML5

 
What are the difficulties?

  • Flash Player filesize
     
    The Flash Player team is always very concious about download size of the player -- an embedded HTML engine would obviously add significant file size. To address this I'd propose an approach similar to the cross-domain Flex framework caching, where they would only download and cache when first needed.
  • Plugins shouldn't render HTML
     
    I certainly agree with that in principle and that would also be what you would typically do. In certain situations though it is a pragmatic solution and no different to what Google does with Google Chrome Frame. If you have an HTML5 capable browser and do not need to deep integration with Flash features this wouldn't be used.

 
Just to be clear, I'm not suggesting the Flash Player to become the standard delivery mechanism for HTML5 content. I see it used in one two situations:

  1. As a reliable fallback mechanism for browsers that don't support HTML5
  2. In situations where you want to integrate HTML5 content in the Flash DisplayList (visual effects etc.)

Taking this even further you could potentially even see Alchemy C/C++ code cross-compiled and applied to HTML5 content hosted through the Flash Player.
 
Whether or not this is technically feasible or likely to happen, I think it is something worth looking at.
 

Posted
AuthorPeter
20 CommentsPost a comment

If you haven't heard about Robert Penner's AS3 Signals yet, you're missing out. Until yesterday I had only briefly looked at the project but after John Lindquist's video tutorial I'm completely sold on the idea and look forward to using it in my projects. So what is AS3 Signals suppose to do for you?

Well for one it uses composition rather than inheritance so you don't need to have your class extend flash.events.EventDispatcher. You can dispatch a "signal" and pass any number of arguments with it, no more endless subclassing of flash.events.Event for creating your custom events.

There's also some nice features that you don't get with the traditional event handling in ActionScript 3.0, things like addOnce which makes sure a listener only gets triggered the first time, removeAll which removes all listeners on a Signal and numListeners that returns the number of listeners on a Signal instance.

Apart from the generic Signal class, you also have DeluxeSignal which allows you to define the target (it also has some experimental bubbling support using .parent) and the NativeSignal which lets you map native events like MouseEvent.CLICK to a Signal.

This AS3 Signals project makes for an incredibly easy way of working with events inside of ActionScript. Give it a try and let me know what you think!
 
Watch the video tutorial
 

Posted
AuthorPeter
CategoriesActionScript
8 CommentsPost a comment

I was very happy to be invited to speak again at this second edition of The ActionScript Conference in Singapore. This year they even made it a two day event at an amazing venue overlooking Marina Bay. I have some video recorded that I'll upload soon. Shunjie and the rest of the team do an amazing job getting this all set up and they're a great bunch to hang out with.

Some personal highlights of the conference were the talks by Alvin Zhang and Lionel Low. Alvin showed some great multi-touch demo's on a touch table he built himself using the Diffused Surface Illumination technique (involves among other things a projector, PlayStation 3 camera and a diffusor). Lionel talked about "Warpspeed Flash" and highlighted various ideas to work smarter rather than harder. Its really great to hear from these local guys and topics that you don't typically see at other conferences.

Was also particularly pleased to finally meet Himanshu Mody of Tekno Point and see my former colleague Arvind Singh again.

My session was called "Getting Creative with Adobe AIR", it was originally a little more targeted at designers but decided to go with some more interesting API examples since the audience this year seemed to be more of a developer crowd.

I was pleasantly surprised about the questions I got and people coming up to talk to me about their projects. I've uploaded my slides and example code for those interested.

I have a few more days in Singapore before flying back to London for Flash on the Beach, going to make the most of it. Thanks again for all the guys working so hard to make this conference happen, hope to be back for the next few editions!

Posted
AuthorPeter

We're about a month away from the next edition of "The ActionScript Conference" and I can't wait! This conference has fast become one of my all time favorites and this year will no doubt be even better with two days of sessions scheduled in. The speaker lineup looks excellent and includes people like: Ryan Stewart, Leif Wells, Andre Michelle, Marco Casario, Mohammed Khan and lots more local and international talent.

If you didn't make it last year, its worth checking out Lee Brimelow's video.

 
I'll be doing a session called "Getting Creative with AIR" and showing how you can take advantage of the various APIs and get creative with them building some unexpected applications.

Hope to see you there! I'll be in Singapore from September 12th until the 19th.

 
Get your ticket now: www.theactionscriptconference.com
 

Posted
AuthorPeter

This last week or two we've seen a lot of heated debate around the future of ActionScript and the Flash Player. Its nice to see this kind of excitement and passion for the technology -- yet I can't help but feel we're experiencing a form of 'continental drift' here. I've seen ActionScript grow up from its humble beginnings with just a handful of frame actions to supporting prototypes, object-oriented syntactical sugar to where we now have a full fledged object-oriented programming model.

 
That is a good thing, right?

Yes and no. While I wouldn't have dreamed it some time back when I was advocating object-oriented code as the one-stop solution to all your problems, I'm starting to feel we're losing out on a lot that made ActionScript so appealing.

This is something Aral Balkan has been saying for the last year or two and I initially considered blasphemous. Is a focus on how to do things 'properly' holding us back getting things done? I believe so.

Is there anything now - excluding improvements to Flash Player performance - that could not have been done with ActionScript 1.0? Very little, though admittedly it now takes a lot less effort.
 
Experience matters

Thinking back to the old Macromedia slogan "Experience matters" -- who's experience are we talking about here? Is the visitor to your site, the person using your application going to be in awe for how well you structured your code or what design patterns are implemented? Hell no.

I see a lot of people talking about features like generics, method overloading, private constructors etc. All great features that I would love to see included some time. Improving the language is one thing but it shouldn't impede on what actually matters, the user.

Innovation in the Flash Platform is primarily driven by creativity rather than the feature set of the tools you are given.

I was reminded of this thinking back to some old workarounds in the Flash 4/5 days. More recently, people could have simply said Flash Player can't do 3D, you can't dynamically generate sound -- guess what, Papervision3D and Hobnox Audiotool happened and pushed the envelope.

 
Rethinking the model

Is chasing after features in other object-oriented languages a sustainable solution or should we look at a different approach?

In my opinion rethinking the Flash Player to be more decoupled from ActionScript and enable anything to run on top would be the way to go. There is no such thing as a one-size-fits-all solution especially if you consider going beyond just web and desktop to mobile and devices. This would make perfect sense in the context of the Open Screen Project and a unified platform.

Going language agnostic is obviously no small feat but with Alchemy and LLVM the idea of a dynamic language runtime is certainly not unfeasible. This also opens up opportunities for a formal plugin architecture allowing you to 'decorate' the Flash Player with additional functionality.

Thinking further outside of the box having the ability to run code in interpreted mode rather than necessarily having to compile SWF binaries would significantly open up the developer landscape and capitalize on Adobe's investment in ECMAScript 4.

With that scenario in mind I would like to see Adobe focus primarily on the following core areas for the Flash Player: performance, multi-threading, hardware acceleration, compiler optimization.

 
Conclusion

I think the current focus on object-oriented orthodoxy in the community and evolving the language is not necessarily the right approach.

Moving further away from at least the option of dynamically typed languages and simple constructs, we now celebrate having something like navigateToURL(new URLRequest("http://www.peterelst.com")); over getURL("http://www.peterelst.com");.

The Flex framework was an interesting move in this respect, but what do you see -- people starting to feel the need to use additional frameworks on top of that. Adding abstraction layer on top of abstraction layer. It is as if we strive for complexity to validate our work as developers.

I'm definitely not one to promote doing away with object-oriented code but I question the motives for evolving it to imitate other languages, what it would fundamentally solve and what role it would play in evolving the Flash Platform. Maybe its worth a rethink.

"Make everything as simple as possible, but not simpler" - Albert Einstein

 

Posted
AuthorPeter
50 CommentsPost a comment

I was very impressed to see Mobile Vikings (see earlier post) released an API that allows us to get hold of our account data. I've spent an hour or two working on an ActionScript 3.0 implementation that you can use in your AIR applications. Right now they've provided three API calls: retrieve your SIM balance, see your call history and see your topup history.

Here's how you set it up:

var api:MobileVikings = new MobileVikings("username","password");

 
Get your SIM balance

public function init():void
{
  var api:MobileVikings = new MobileVikings("username","password");
  api.getSimBalance();
  api.addEventListener(MobileVikings.SIM_BALANCE_LOADED, balanceLoaded);
  api.addEventListener(MobileVikings.SIM_BALANCE_FAILED, balanceFailed);
}
private function balanceLoaded(evt:SimBalanceEvent):void
{
  trace(evt.credits);
}

private function balanceFailed(evt:Event):void
{
  trace("fail");
}

When the SIM balance is loaded successfully you get access to credits, validity, SMS and data remaining etc.

 
Get your call history

public function init():void
{
  var api:MobileVikings = new MobileVikings("username","password");
  api.getCallHistory();
  api.addEventListener(MobileVikings.CALL_HISTORY_LOADED, callHistoryLoaded);
  api.addEventListener(MobileVikings.CALL_HISTORY_FAILED, callHistoryFailed);
}
private function callHistoryLoaded(evt:CallHistoryEvent):void
{
  trace(evt.callHistory);
}

private function callHistoryFailed(evt:Event):void
{
  trace("fail");
}

The call history API call allows you to optionally set a start and end date, page number and number of items on the page.

 
Get your topup history

public function init():void
{
  var api:MobileVikings = new MobileVikings("username","password");
  api.getTopupHistory();
  api.addEventListener(MobileVikings.TOPUP_HISTORY_LOADED, topupLoaded);
  api.addEventListener(MobileVikings.TOPUP_HISTORY_FAILED, topupFailed);
}
private function topupLoaded(evt:TopupHistoryEvent):void
{
  trace(evt.topupHistory);
}

private function topupFailed(evt:Event):void
{
  trace("fail");
}

The topup history API call allows you to optionally set a start and end date, page number and number of items on the page.

 
This is still an early version and not extensively tested yet but from what I can see it behaves quite well. For some reason specifying the from date for the history API calls takes a really long time to get results back, which I believe is a problem at their end.

Download the source files or the SWC here.

 
Hope you enjoy, let me know if you run into any issues!
 

Posted
AuthorPeter
CategoriesActionScript

Despite the excellent ASDoc integration added in Flash Builder 4 beta, it seems its still not easy to export to HTML and you need to set it up yourself using an external tool configuration. I spent some time trying to figure it out and stumbled across a post by Seb Lee-Delisle that gives a good runthrough of how to set it up. Thought it would be useful to show how to set it up in Flash Builder 4 beta.

  • Go to Run > External Tools > External Tools Configurations
  • Select Program (left sidebar) and click the New button to create a new configuration
  • Give your configuration the name "ASDoc"
  • Set the location to "/Applications/Adobe Flash Builder Beta/sdks/4.0.0/bin/asdoc" (the default on Mac) on Windows the default is "C:\Program Files\Adobe Flash Builder Beta\sdks\4.0.0\bin\asdoc.exe"
     
  • For Working Directory you can set it to ${project_loc}, this is a variable that always point to the location of your current project
  • Finally you set up some arguments, assuming you put your code in the default "src" folder:
    -source-path src
    -doc-sources src
     
    Those arguments set your source directory and tell the ASDoc tool to recursively go through all classes in that folder and its subfolders and generate the documentation.

 

ASDoc setup
 

To run the ASDoc tool and export your documentation to HTML, select your project and click Run > External Tools > ASDoc. When its finished scanning your code and generating the documentation you'll find it in a folder in your project called "asdoc-output". Enjoy!
 

Posted
AuthorPeter
6 CommentsPost a comment

In case you didn't know yet, Flash Builder 4 beta (the product previously known as Flex Builder) is now available for download on labs.adobe.com, as is the beta for Flash Catalyst. I've been playing around with the public beta for a little bit and thought it was worth blogging some of my favorite features in this release when it comes to features in the IDE. Up until now I've only tested it with pure ActionScript projects, so might discover some more gems later on.

Generating getter/setter methods

This is a huge time saver, you can now just define your class properties, right-click and select Source > Generate Getter/Setter and you get a useful dialog allowing you to specify how you want that getter and setter method set up. You can make your class property private, rename it, specify if you want the getter and/or setter, set up its access modifier and even define where you want those generated methods to get added in your code.

Generate Getter/Setter

SWC introspection

If you work with library projects or third party SWC files you can now introspect those and figure out its packages, classes and methods. SWC files generated with Flash Builder 4 can also have their ASDoc comments embedded.

SWC introspection

ASDoc integration

ASDoc is a tool that comes with Flash Builder for generating documentation from Javadoc style comments in your Flash Builder projects. There's now a panel that shows the documentation for a selected property or instance, you also get a tooltip showing the documentation when you hover over them.

As mentioned earlier this also works with SWC files generated from Flash Builder 4, since those can now contain the ASDoc information (increases SWC filesize, but not filesize when exporting a release build).

ASDoc integration
 

Be sure to give Flash Builder beta a try yourself, I'm very pleased with what I've seen so far and am sure it will improve productivity significantly.
 

Posted
AuthorPeter
12 CommentsPost a comment