adobe has abandoned authorware users

There, I’ve said it.

IE7 shipped yesterday and among the many changes is one that has caused Authoware Web Player calls to JavaScript in the embedding HTML to fail. (The bug ticket in Microsoft Connect was here). This is a significant issue as e-learning content delivered in the Authorware Web Player is commonly accessed through SCORM Learning Management Systems (LMS), and SCORM requires that content communicate across a JavaScript API.

There does seem to be a workaround which involves loading the page that embeds the Authorware content as either a frame or iframe element. While tests indicate this is a successful workaround, it is a disconcerting one as I haven’t been able to track down why it works. Depending upon various LMS environments it can also be a difficult, or at the very least, time consuming workaround to implement.

This has been a known issue since the early IE7 beta releases and was reported to both Microsoft and Adobe. After a last ditch campaign by members of the AWARE list and some persistent questioning during the October IE7 Expert’s Chat the significance of the problem was brought to the IE7 team’s attention. As I both suspected and feared, Microsoft seemed to indicate that this was a problem that would need to be resolved by the Authorware Web Player.

Where was Adobe through all of this? Good question. As I mentioned, the bug was communicated through official channels sometime ago (May 2006 to be exact) and was also discussed on mailing lists and in forums (on at least one of those lists members have an expectation of monitoring and participation from Adobe representatives). All has resulted in deafening silence.

As things currently stand I have lost confidence in Adobe’s commitment to the Authorware community. Authorware developers, like developers everywhere, are a resourceful and independent lot and have grown used to “fending for themselves” (perhaps more so that other developers) but now Adobe needs to stand up and support them.

Comments (7)

authorware magnifier command

I was updating an Authorware project recently and became frustrated by the inability to zoom in on areas of the presentation window. After struggling to find a comfortable work flow with a couple of the various magnifier applications for windows I remembered an experimental Authorware command that I’d built some time ago. Upon digging it out and making a small update to make it a bit more useable I can report that it seems to meet the need adequately.

authorware magnifier command

I’ve posted the magnifier command for Authorware here for download. It supports Authorware 7.01+ , integrates into the IDE somewhat like a palette and has a couple of handy features:
- Double click the palette’s titlebar area to toggle magnification on/off.
-When the ‘Tools’ palette is available double click the ‘Magnify’ palette’s display region to dock next to the ‘Tools’ palette.

To install extract the zip to the Authorware Commands directory. Launch the command from the Authorware Commands menu.

Comments (1)

past glories

Among the numerous Flash anniversary posts of the past few days I especially enjoyed reading John Dowdell’s reminiscence on the first 10 years of Flash.

One of the anecdotes he shares described Flex as the fulfillment of a quest for an authoring environment that uses XML to natively describe multimedia “experiences” and once again reminded me of what I’m starting to think of as “Authorware’s past glories”. When Authorware 7 was released in 2003 it included functionality that allows one to export (and import) an XML description of Authorware files. (Sadly, it remains just too incomplete to fulfill it’s true potential). Nevertheless, while JD does a good job of connecting the XML dots to Flex it bears noting that Authorware was also a dot on that path.

Authorware, a dot in so many ways.

Comments (1)

adobe elearning products get an faq too

Looks like Captivate and Authorware have joined Director in getting a ‘commitment FAQ” from Adobe:
http://www.adobe.com/resources/elearning/products/special/crossproduct/faq.html

According to the FAQ, Captivate 2.0 is currently undergoing beta testing (again?) and an Authorware update (presumably the long awaited Authorware 8) is slated for an expected release sometime during the second half of 2007.

As someone with an appreciation for irony, I choose this item as my favourite from the document:

Can I participate in the Authorware prerelease program?
Adobe will actively engage the Authorware user community as we continue development.

Comments (1)

free director update will include flash 8 xtra

I can hear the Director users squealing with delight.

Adobe’s Tom Higgins has announced an update to the Shockwave Player and Director IDE that will include a Flash 8 Asset Xtra as well as fix some bugs related to QuickTime7 in the QuickTime Asset Xtra. I was fortunate enough to get a couple of sneak peeks at the Flash Xtra at Max last fall and have to admit that the “convert” functionality looked very cool.

When this update drops next month it will come nearly 6 months after the Flash Player 8 was released. (And Authorware developers will still be waiting). Such a delay really is unfortunate and I think needs to be addressed. I’m not so naive as to think that putting the Asset Xtras together is anywhere near a simple task, however I do feel that too often the various applications are on their seperate development cycles and the Xtra only gets updated based on them. When developing Authorware or Director applications we have the luxury of not having to be concerned with uptake of new Flash Players so why not take advantage of it?

Anyhow, to make that pill alot less bitter for my Director friends Tom mentions that this will be a free update. Hmm, a free Flash Xtra update for Authorware sure would make the wait for the long rumoured Authorware 8 a little less anxious…

Comments (0)

step one: set swf publish settings

Adobe’s Scott Fegette has a good tip for Flash 8 developers who publish swfs targeting earlier versions of the Flash Player (ie, <8).

Bottom line, the first thing you should do to a new fla is set the player version. Do that, and features of the IDE that aren’t supported in your target player will be disabled.

Seeing as how the Flash Asset Xtra that ships with Authorware 7 embeds the Flash Player 6 this is a ‘damned good to know’.

OT, posting this from Chicago’s O’Hare (wireless isn’t free but it’s fast).

Comments (0)

a glimpse of authorware 8?

Folks who attended last week’s TAAC have been reporting news of some features Macromedia are apparently working on for a future version of Authorware (presumably version 8). Everyone is quick to point out that there is no official word on any update to Authorware and that the features demonstrated may or may not be included in any future releases.

Flash component (swc) support for Authorware was the feature that struck me as the most exciting. Anyone who’s struggled with implementing swfs more complex than simple animations will know how needed this feature is. Presumably this feature would provide all the functionality of Flash Player 8 (including the On2 video codec).

The demoed feature that seems to be getting the most attention (and generating the majority of discussion) was an export to Flash option. I would guess that the rationale for this move would be to allow Authorware developers to target the more ubiquitous Flash Player. In my mind the success of such a feature would be dependent upon the comprehensivness and fidelity of the export.

According to reports the demo also included an overhauled One Button Publishing (OBP) system. From the descriptions I’m guessing it contains an implementation of the AICC Package Exchange Notification Services (PENS). (I’ve heard it argued that PENS is one of those standards that tries to solve a problem few (if any) people have).

Comments (2)

learning @ apurvalawale.com

Folks in the Authorware community will surely be familiar with Apurva Lawale and the excellent collection of Authorware resources he has compiled over the years.

It seems that Apurva recently launched Learning @ apurvalawale.com where subscribers can access his library of resources …which contains code examples, articles and plugins (activex, u32, xtra) to help you do the various tasks that you might need to do in your eLearning project. As part of the launch he is offering alPicView and alTooltips for free to those who purchase subscriptions ($88) prior to the end of August.

Sure it’s a little sad when an excellent resource for newcomers to Authorware becomes less accessible. Overall though, I feel that if this provides an extensive collection of quality articles and samples then it is most welcome. Authorware suffers from a severe shortage of quality documentation and manuals.

(I’ve often wondered if a CommunityMX style knowledge library could be viable in the Authorware community).

Comments (0)

authorware to swf experiment - files

I’ve put together a package containing the files used in the authorware to swf experiment mentioned last week:
awxml2swf.zip (79KB)
Of course, you’ll also need swfmill and MTASC.

The zip contains 3 directories:
as contains the ActionScript class files
aw_sample contains the Authorware sample.a7p, sample.xml (awxml), and media exported from sample.a7p
xslt contains the XSL Transform files
I’ve also included aw2swf.bat which combines the process of calling the compilers (swfmill and mtasc).

A note of warning - this is all quite primitive.

As mentioned previously the .a7p being “converted” in this process must be of a fairly specific structure. A single framework icon, an entry pane containing an interaction with next & previous navigate icons and individual display icons as children of the framework. Displays can contain pngs, jpegs or Authorware drawn shapes. (Curves in circles and roundrects are still pretty rudimentary so they may not be accurately reproduced in the swf). After running the “export as XML…” command from Authorware here’s the steps I’ve been following to make the “conversion”:
- to “prepare” the awxml and media for swfmill wrap any exported text objects in HTML within the CDATA[] of an xml file (see the Aperture.rtf and Aperture.xml file in the awsample directory for reference). Any HTML tags supported by a Flash dynamic textfield should work. Also edit the Authorware XML file to reference the .xml files as opposed to the .rtf.
- update the xslt/config.xml to point to the location for swfmill to locate the media files referenced by the awxml.
- using the swfmill xslt argument apply the awxml2swf.xsl to the awxml file specifying a swf for the “<out>” parameter. This will also generate a swfml xml file for each display icon in the output directory. e.g.:
swfmill xslt xslt\awxml2swf.xsl aw_sample\sample.xml aw_sample\sample.swf
- use swfmill to generate a swf for each of the xml files in the output directory (use a batch file to make this easier). e.g. :
swfmill xml2swf aw_sample\output\65545.xml aw_sample\output\65545.swf
- compile the ActionScript classes using MTASC with the -swf flag. e.g. :
mtasc -swf aw_sample\sample.swf -cp as\ -main Authorware.as

Comments (0)

authorware to swf experiment

Lately I’ve been experimenting with generating swf files from Authorware XML in order to display Authorware content in the Flash Player. Using a couple of the recently released open source Flash tools I’ve managed to cobble together a basic implementation.

The first step in this process was to create a set of XSL files to transform the input xml to swfml, the XML dialect used by swfmill. Employing the XSL processor that Daniel Fischer has included in swfmill I’ve been able to convert display icons described in Authorware XML (awxml) to swfml which is in turn used to generate a corresponding swf. Currently all the native Authorware drawing tool shapes are being generated as well as png and jpeg images. Text requires a bit of a hack as the text objects are exported by Authorware as rtf which needs to be converted to html before the awxml to swfml transformation. That is done manually - atleast for now.

As well I’ve assembled a set of ActionScript classes to parse the awxml and simulate the logic of the Authorware icons and flowline. As it stands I have the basics of a framework icon, simple navigate icons (next & previous), interactions with hot object responses and display icons. These classes are then compiled into the swf using the Motion-Twin ActionScript 2 Compiler (MTASC).

To demonstrate I’ve assembled a page that embeds a sample Authorware piece that comforms to the icon structure this awxml2swf process currently requires (essentially display icons hanging from a framework) as well as embedding the resulting swf (you may recognize the media from the learning Authorware tutorial). You’ll need the Authorware Web Player 2004 (link) to view the Authorware content. I’ll let you use your detective skills to determine which is Authorware and which is Flash ;-) That sample is here.

When I get a bit more free time I’ll try to get the various pieces together in a package and maybe describe the steps involved in some more detail. As I mentioned, I consider all of this experimental - I was curious to investigate the possibilities.

update: the files and some notes on the steps to the use them are here.

Comments (6)

xmlparser xtra wrapper class

I recently wrote a JavaScript class to wrap the XmlParser Xtra for Authorware. Turns out I won’t be requiring it (atleast for now) and thought rather than abandon it I’d share it here. It’s pretty basic but I find it makes using the XmlParse.x32 in JavaScript a little more straightforward - allowing you to simply create an instance of the XmlParser. All the methods of the Xtra are then available as members of the instance. There is also one added method named destroy() which should be called before deleting an instance - it deletes the scripting Xtra object.

Here’s an example of creating a new instance:
var xml_file = "http://www.andrewlucking.com/feed/";
// create instance of XmlParser object
var my_xml = new XmlParser();
my_xml.ignoreWhitespace(true);
my_xml.parseFile(xml_file); // call parseFile method

I don’t consider it fully tested but am fairly confident it is solid so if you find any problems let me know. I find that the unique way the Xtra references the XML nodes takes a little while to get used to. Also I’ve noticed that calling parseMore() on a file that doesn’t exist (or that isn’t specified) will cause a fatal exception error. There’s a pretty foolproof parseMore() loop in the sample usage section of the class file. I think that’s about all.

Download link for the XmlParser.js.

Comments (0)

adobe to acquire macromedia

Like most, I was quite surprised to read the announcement this morning of Adobe’s planned acquisition of Macromedia.

Really I don’t yet see what this brings to Macromedia besides a whole whack of cash. Perhaps Mike Chambers will disagree with me on this but that’s how I distill his blog entry as well. Of course he has some good facts in there so go read it if you’re interested. He’s right - the combined resources will be pretty significant and will make driving Flash as an application platform that much more substantial. I see the marketing power this brings, especially in the enterprise marketplace that Macromedia has been chasing pretty hard recently. This is the clout that Macromedia needs to turn the Flash Player into the application engine they envision - something they need to establish before Microsoft and Avalon come along. What I fear is that the innovation and openeness (relatively speaking) I associate with Macromedia with suffer. So for now I see this as an alignment of forces in preparation for the battle of desktop application environments of ‘07.

As far as Authorware is concerned this cannot be seen as bad news. Yes, it means things are likely to change but if we really think about it that has to be a good thing. Authorware has been getting only the minimal of support from Macromedia for a long time now and suffering from it. I can see the Authorware team at Macromedia working hard on the product (and for the developer community) but I can also see them not getting the resources they require. For Authorware any change is good change.

I don’t know where all this will wind up but the ride just got a hell of a lot more exciting and I wish the best of luck to all our comrades at Macromedia during this transition.

Comments (1)

yet another macromedia conspiracy theory

Macromedia “conspiracy theories” seem to be all the rage these days so I thought I’d start one of my own.

A couple of weeks ago Macromedia updated their xml news aggregator to version 2.0 (mxna 2.0) and it is a very nice improvment over the original. Among other things the design has been improved, they’ve added multiple language support and included some handy sidebars. The search functionality has also been overhauled and they’ve provided an advanced search page.

One of the new sidebars is the Last 20 Searches which claims to be a list containing “the last 20 terms people have searched MXNA 2.0 for”. All part of the intitative to help readers spot trends and follow what other users are interested in. Others have mentioned the lighter side of the Last 20 Searches sidebar - how folks occasionally amuse themselves (and others) with the search list. But I’ve noticed something much more sinister at work here. It seems that the term Authorware isn’t deemed worthy to be included in that search list. Check it out:
http://weblogs.macromedia.com/mxna/index.cfm?searchterms=authorware&query=bySimpleSearch

In keeping with the “make dire allusions and refrain from conclusions” fad I’m going to let imagination connect the dots. (That’s not entirely true - I’ve just reported it as a bug but that was much too responsible of me).

About time someone broke out the Microsoft acquisition again ain’t it?

;-)

Comments (0)

what was this guy thinking?

I admit it. I was wrong.

Sometime ago I wrote about how I wasn’t enamoured with some of the Find in Calculation functionality within Authorware. To recap, I mentioned that I found the feature that prepopulated the find field with the current word to be a nuisance. Well, now that I’ve got it through my thick skull that it works in this way I actually find it a bit of a timesaver. First place the caret within the string to be replaced and then select Find. Jeesh. Why in the hell did I have such a hard time grasping that?

Now, I wonder what the process is for retracting a wishlist item…

Comments (0)

improving trace() in flash

on the Flash team blog Mike Chambers is soliciting input on improving the trace() functionality in Flash. He seems to have gotten a few insightful comments in response. Personally, I’m on side with the keep it simple type feedback however Authorware has a couple of handy Trace() options that I tend to use a fair bit:
Trace(#off) causes any subsequent traces to be ignored until Trace(#on) is called.
Trace(#clear) clears the contents of the trace window.

Could it be that Flash has a few things left to learn from good old Authorware?

Comments (0)

authorware technotes added

Comments (0)

javascript in authorware and the future

Jamil Zainasheff weighs in on AWARE regarding how he sees JavaScript and Authoware Script as co-scripting languages within Authorware playing out down the road. Here’s a hint:

If you’re new to Authorware, you’re far better off learning JS.

I’m going to avoid the obvious and not explain (for the umpteenth time) why I agree with that statement. What I will do is let out an enormous sigh of content (with that little stress symbol “‘” on the second syllable). It seems so rare that I feel genuinely excited about the future of this tool:

The result will be a modern, powerful scripting language that opens up the possibilities for authors like never before.

Considering Macromedia’s commitment to the ECMAScript standard it’s hardly surprising. Also to put his comments in context, Jamil was participating in a thread discussing the imminent release of the JavaScript for Authorware 7.02 manual from Dazzletech written by Joe Ganci. Read about the book’s current pre-order status ( including a sweet price for advance purchases) in this comment. From there you can follow the “next in topic” link to get to JZ’s post.

Another little tidbit I gleaned from that thread… Apparently Brendan Eich, who is credited with creating JavaScript, lent a bit of a hand in sorting out the implemention of JavaScript support in Authorware. That’s kind of cool.

Comments (0)

amy’s icon challenge

Amy Blankenship posted a neat Authorware icon challenge in this aware list thread. It’s a great list of obscure icon-only features and techniques - useful for solving some commonly encountered requirements. A nice reality check for someone who is guilty of being a little too quick to turn to a script to solve things that can easily be done with an icon or two.

Just remember - simply because you use icons doesn’t mean you don’t need to document your work. Icons need comments too. So if you’re going to use Edit>Change Properties to set the judged status of a cursor in area hot spot drop a note in the icon’s description or leave a comment for those who follow you (and yourself for that matter).

Comments (0)

close framework, close child maps

I’m not a big fan of this behaviour in Authorware.

When you close a framework icon any maps or frameworks that are its’ children are also closed. I suspect it pre-dates the Close All Maps (Ctrl+Shift+W) menu option which would have made it useful as far as removing clutter goes. I think these days though clutter is less of an issue, what with the multiple monitors and enormous desktops.

As a compromising kinda guy, I propose a solution of holding down a key when closing the framework. Now as to whether that keypress overrides the current functionality or enables it…

Comments (0)

livedocs for camera support?

Last month I mentioned that I’d subscribed to the syndication feeds of a couple Macromedia Livedocs books. Since then I’ve been occasionally browsing through some of the comments / feedback left on the docs by users. I see it as just another way to keep up on some of the tools I use, much like reading the user forums or mailing lists I’m subscribed to. It’s also somewhat interesting to see how people are using the livedocs and I’ve noted a few trends.

Alot of folks seem to use Livedocs much like they do the support forums - to ask for help. Probably not terribly effective but not that surprising either. However, on a couple of occasions I also followed an issue on a mailing list as it developed and came to a resolution and then later noticed a comment describing that solution dropped on the LD. That seems more in keeping with the spirit of the tool - users providing genuine documentation input.

I don’t have any metrics to back this up but I would guess that skinning components in Flash generates the most traffic of the two feeds I’ve been following (Flash and Authorware). It’s also a topic that seems to make folks cranky. Which leads me to another trend - the ranting. It would seem that the occasional person sees LDs as a bit of an anonymous medium for communicating directly with Macromedia. In some small way I take pity on the poor misguided soul - he (or she) is obviously in the docs as a last resort and completely exasperated. That “add comment” button must just be too damned tempting. There are probably a couple of maintainers of the Livedocs who deserve to have a beer or two bought for them (like Francis Cheng for this effort - scroll to the Feb 10, 2005 comments).

Finally, there are the just plain bizarre entries like this comment in the Authorware book:

Is there a dedicated speed light for the new Nikon F6?

It was dropped on this page but has been edited out so won’t appear in the link. I think its the context that cracks me up so much.

Comments (0)

rewriting links in the web browser activex control

On the aware list someone was looking for a way to trap and react to links clicked in an html document that is embedded in Authorware using the web browser activex control. In this case editing the html was not a prefered route so it was suggested that he dynamically rewrite the links in the page. Using the #CallString method of the activex control it’s possible to access the DOM (Document Model Object) of an html document. This is actually quite a versatile technique, allowing us to read and manipulate the html. Rewriting the links was quite straighforward thanks to the links array of the DOM which holds all the html a objects that have a href property.

In order to demonstrate the approach I put together a quick example that amalgamates all the great aware member contributions. I tried it out with both IE6 and IE5 (rolled back). If you find any limitations do drop some details in the comments section. Also here are a couple of MSDN links that may be useful if you’re interested in using the browser activex control in Authorware:
WebBrowser Control Reference
DHTML Reference

Comments (0)

flash in authorware tip #17

One of the bigger issues with adding flash to your authorware piece (through the asset xtra) is the performance hit caused by anything more complex than the most basic of swfs. In most cases setting the #directToStage property of the flash icon is a necessity. Sometimes however, sections of the piece contain media that need to overlay the swf, for example, in the case of a glossary. Here’s a simple, flicker free way to toggle the property (picked up from some of the wise folks on the aware list):

my_swf.DirectToScreen = false;
my_swf.SetIconProperty("#directToStage", false);

And of course to toggle it back again (while working in the ide it’s wise to do so or the next time you test your piece the swf will no longer be directToStage):

my_swf.DirectToScreen = true;
my_swf.SetIconProperty("#directToStage", true);

Comments (0)

macromedia livedocs feeds

Macromedia recently added rss feeds and email notifications to livedocs. It seems that currently the rss links are only available on pages containing an existing comment. However, by taking a cue from Christian Cantrell’s suggestion (linked above) of fiddling with the feed urls it seems to be possible to subscribe to an entire “book” as well. So I’ve added the Authorware 7 and Flash MX 2004 feeds to my reader to try it out. I actually dropped a small (legit) comment on an Authorware page as a simple test and it came up in the rss reader. I’ll probably unsubscribe if information overload sets in (or worse, some cretin realizes they can feed spam us by dumping their garbage in the docs).

Christian and the rest of the IMD(?) team have been providing us with some nice alternative ways of getting up to date information off the Macromedia servers.

Comments (0)

macromedia text rendering woes

There are interesting parallel discussions happening on a couple of mailing lists I subscribe to. On both Aware and Flashcoders folks are pointing out the shortcomings of the text rendering engines in the respective products. There is no question that Flash is miles ahead of Authorware in this respect and the main complaint with Flash is the lack of right-to-left (RTL) support. While 8-ball (the version of flash currently in development) will include a new Saffron based text rendering engine (source: one, two, three, four, five, six) it would appear that RTL will still not be supported. David Mendels, who manages the Flash product groups, mentioned that the main obstacles are getting it right (apparently it’s a big challenge and therefore risky) as well as the filesize it would add to the player.

Authorware complaints are a bit less “focused” in that there isn’t one single feature everyone wants to see supported. Honestly speaking the text handling in Authorware is quite antiquated and probably in need of a complete overhaul. Even some of the (considered) basic stuff such as dynamic formatting isn’t possible. In the light of all this, the Authorware solution sounds simple - how’s about “dropping” Saffron into Authorware 8. Hell, I’d settle for the Flash MX’04 engine using the better the devil you know argument. I make it sound trivial which it most definitely is not, but if something’s going to be done then what I suggest may have advantages.

Anyhow, all this to make the suggestion that perhaps Macromedia has some cross product shortcomings?

Comments (0)

Find & Fix Command update

Ron Lubensky has released an update to the popular Find & Fix Command for Authorware. One of the things that caught my eye in this version (2.31) was the ability to batch process files. Sweet. I tend to build custom commands for dive type updates but the list of features in this tool has me wondering why.

You can find more info about this command for Authorware 6.5 or 7 (including a screengrab) on Ron’s website.

Comments (0)

undocumented icon properties

Over the last number of releases the Authorware engineers have exposed more and more icon properties to provide for them to be accessed through script. By Authorware 7 the majority of them have been made available, however a good many remain undocumented. To the rescue comes the export the flowline to xml option. Set up a simple file that contains an icon with the property you’re hunting and assign it a value through the UI property inspector, then export that file as xml. From there you need to do a little hunting in the xml file and chances are you’ll track down the property.

This came up on the aware list when someone was asking for a way to set the grid coordinates within which a direct to grid motion icon can move. A quick peek in the xml of an exported flowline turned up #AWPositionGridPoints which is a rect.

var grid_rect = new Rect(0, 0, 640, 480);
mymove_mot.SetIconProperty("#AWPositionGridPoints", grid_rect);

Comments (0)

FlashPaper 2 in Authorware

Some time ago I updated the using FlashPaper in Authorware sample that Chris Phillips I and had originally written for the Macromedia Exchange. I just noticed that while the description of the item on the Exchange describes v2, the file being downloaded is still the original version. So until the update is properly linked from the Exchange I’ll share a copy here. (Please note that I will edit this post to remove that non Exchange link once everything is back in sync).

The sample demonstrates one technique for enabling communication to and from a swf inserted in authorware. Basically allowing you to call all of the available flashpaper 2.0 api methods from within authorware as well as to trap flashpaper events.

FlashPaper can be a handy way to display and print static documents from within your Authorware pieces. If you’re not familiar with FlashPaper you can find out about it here.

Comments (0)

authorware web player 2004 detection script

Last week I needed a way to detect the presence of the Authorware Web Player version 2004 on user’s machines so I put together a javascript isAwWebPlayer2004() function to be inserted in a html page. You can download the AwWP-04_detector.js here. It contains the one function which returns ‘true’ if version 2004 of the web player is detected. I’ve tested it in Firefox 1.0 and IE 6 on a couple of windows machines. I did have offers from mac users via the aware list to give it a go but never heard back from them (hope it didn’t knock ‘em offline). So I’ve also put together a little debug page that provides a bit more detected player information rather than just true / false. That page is here if you want to try it out. If you find it’s mis-reporting please post in the comments with what it reports as well as your actual player / browser / os configuration.

Read the rest of this entry »

Comments (5)

WinCtrl class

A few months ago I wrote a WinCtrl constructor function for Authorware 7 that makes using the winctrls.u32 from javascript more straightforward and I thought I’d share it here. Basically you create a WinCtrl object and all the properties and methods of the windows control are accessible through that object. I set it up so that any properties you’d get (or set) via the wcGetPropertyValue() of a particular control are added as property members of the object which means you can reference them like so: combobox1_wc.Visible = false; I made an effort to support all the members (properties and functions) of the winctrls and to make using the WinCtrl objects intuitive to those already familiar with working with winctrls in authorware script (aws).

Here’s some example js of setting up a listbox control:
// listbox
myLB_wc = new WinCtrl();
myLB_wc.wcDisplayControl(100, 100, 250, 200, "ListBox", "");
myLB_wc.Items = "Item 001\rItem 002\rItem 003\rItem 004";
myLB_wc._3D = false;
myLB_wc.Border = 1;
myLB_wc.Color = "#CCCCCC";
myLB_wc.FontColor = "Navy Blue";
myLB_wc.FontName = "MS Sans Serif";
myLB_wc.FontSize = 9;
myLB_wc.FontStyle = "Regular";
myLB_wc.Focus = false;

You can grab the WinCtrl.js file here. If you have any questions or comments feel free to post them here.

One thing to note, I’ve found creating a whole bunch of controls using this method is a little bit slower than other approaches. This is due to the way the properties for each WinCtrl object are being attached - the extra call to wcGetPropertiesByControl() means another trip to the u32 which seems to be the bottleneck.

Comments (0)

odd or even

This post from Vinnie at the recently rolled blog FLAmous came through the MM aggregrator this morning. He provided an actionscript version of a function to determine if a number is odd or even and described the Modulo (%) operator. I’ve pulled out the AS2 data-typing so we can use it in authorware - a week old and I’m already pilfering the man’s code.

function evenNumber(number) {
    var isPositive = ( number>=0);
    var isInteger = (number%1 == 0);
    var even = (number%2 == 0);
    return isPositive && isInteger && even;
}
aw.Trace(evenNumber(9));

Comments (0)

javascript object watch command update (authorware)

The javascript object watch command now works on packaged pieces. You’ll need to package the piece with the KO that the command adds to the top of the flowline, then launch the command outside of Authorware and you’ll be able to view the js objects in your packaged piece.

Ron Lubensky has it for download over here:
http://www.clickcraft.com/aware

Here’s Ron’s earlier description of the command:

You launch the Command on your application, it pastes a KO icon into the top of it to do the work of watching your JavaScript objects. Then it resigns itself to be its non-modal interface window. So when you run your application, use the window to view the current values of your JavaScript objects, their properties and methods.

See the read-me calc as well as the help button on the command for more specific details.

peace.

Comments (0)

powerpoint converter

I love seeing Authorware content come up in the aggregator.

Joe Ganci has written a DevNet article on the PowerPoint converter in Authorware 7. He does a great job of covering why you’d want to use this tool. Its nice to see him addressing expectations as well:

PowerPoint and Authorware are two very different products with different aims. It should come as no surprise that PowerPoint files sometimes cannot convert completely without losing something in the conversion, much like translating Chinese to English will result in a loss of nuance and words that don’t quite match perfectly between the languages.

peace.

Comments (0)

aws variables from js issue

From this thread on the aware list.

There is a bug in Authorware 7 where accessing the values of aws user variables in javascript (through the aw object) can return incorrect values. This only occurs in the destination file of a JumpFile() or JumpFileReturn(). According to Jamil, this is due to the fact that internal to Authorware the lookups for custom variables are referenced by index. The work around is to use Eval().

JZ also mentioned that this will be fixed in the next release (7.03, 7.5, 8.0 ??)…

peace.

Comments (0)

tiny UI suggestion

Adding the scrollbars option to long flowlines was a nice addition back in Authorware 5.0(?). The next logical step would be to have them respond to a mouse scroll… Same goes for libraries.

peace.

Comments (0)

in the best interest of Authorware

There are occasions when I honestly believe Authorware could be better served by not being owned by Macromedia. Pretty bold statement, huh? After all Macromedia took a fledgling FutureSplash and turned it into the leading web application/animation platform going. By far. How could Authorware possibly be in better hands?

For any company to invest in a product it obviously has to offer them a return. The issue for Macromedia is to find a way to invest in Authorware so that it attracts new users (and their money) without simply competing with, and drawing developers away from, their other products. These decisions could be alot easier for an organization that was competing with packages like Flash and Director for marketshare.

That said, you’ll notice I wrote Authorware could be better served. Simply applying some of the things that make Macromedia such a success would serve Authorware the best. MM is such a dynamic company, attracting some brilliant developers and designers. They are so adept at “determining” the needs and requirements of their users and then fulfilling those needs. Perhaps that is why some aw developers get so passionate about what they see as “neglect”. They see the potential and it frustrates them that it doesn’t appear to be leveraged.

Comments (0)

another ece botheration

IMHO, Authorware’s “find in calc” dialogue tries to be a little too smart for its own good. When you select the find button in a calc the “Find” field is auto-populated with the ‘word’ nearest the caret. This may save you the step of c&p’ing a string into that field, however consider the following scenario that I constantly get caught by:
I’ve written a method in my calc and make a number of calls/references to it. Down the road I realize the method’s name is a little too arcane so I rename it. Now I’ll need to rename all the calls. So I select a reference to the old name, copy it to clipboard, open the find and go to paste it in the “Find” field. Hey, excellent it’s already there. Next step close the find window, select the new method name and ctrl+c that. Hit the find button and boom my “Find” field is pre-pop’d with the new method name. $#@*!

The find should also remember your settings within a session. For example, if I select the “Entire Text” scope option then each time I bring up the find that option should be selected, regardless of what I’ve highlighted in the ece.

(btw I always make the mistake of ctrl+f’ing first and get the ‘other’ find window. What do you think about passing the ctrl+f priority off the calc? If the ece has focus ctrl+f brings up the calc find, otherwise you get the aw find.)

OT: botheration? Yup it’s a word.

Comments (0)

ece annoyance

The feature in Authorware’s Enhanced Calculation Editor (ece) that automatically turns an address, (url or email), into a hyperlink has got to go. It is annoying me so much that I have resorted to trying to outsmart it, pulling stunts like this:

myurl = “h” + “ttp://www.macromedia.com/”;

At the very least this should be configurable in the ece prefs.
The ece rocks. This feature doesn’t.

Comments (1)

two approaches to syntax checking

Authorware’s authorware script (aws) syntax checker will always be more new-coder friendly than any javascript checker could be. The fact that syntax checking occurs everytime you close an authorware script calc icon makes it so - the code in the calc icon is essentially being compiled. What’s great about this is that things like function calls and their arguments as well as object (icon) references can be verified without the need to execute the script. Once you close a calc you can be pretty much certain that your aws is syntactically correct. Of course it may not do what is expected of it but you are now free to test the behaviour of your guaranteed-to-compile piece. Certainly more javascript checking is possible, however due to the very nature of the language the modularized verification done at the icon level would be very difficult, if not impossible, to achieve. With augmentations like strict data typing and other features of the ECMAScript 4 standard this is partially achievable but the entire piece - not just a particluar calc - will always need to be compiled to implement the aws level of checking at the calc level.

Don’t read anything into this observation. Both solutions have their advantages and disadvantages.

Comments (0)