April 30, 2003

Managing Whitespace

A useful tip from Christian Cantrell about leveraging CFMX's Java integration to remove unwanted output when generating XML output.
Posted by seancorfield at 01:30 PM | Comments (1) | TrackBack | cf | j2ee

Who am I?

I get a lot of email and IM messages from folks around the world because of this blog and I try to answer it all fairly quickly but it occurred to me that the vast majority of folks I talk to really don't know much about me so I feel a little anonymous at times. Yes, folks can always go dig around on corfield.org but I thought I'd post a mini bio just for the record...
I've been into programming since I was a kid and I've been programming commercially for about twenty years now. I started out doing computer language design and working in compilers, then I worked in QA and telecoms before moving into the Internet industry back in '97. I'm a Brit who moved to California in '99 - I was born to be a Californian, particularly a Bay Area Californian. I'm married (to an incredible woman) and we've gotten married four times so far. We breed and show Bengal cats and our club is organizing a cat show in San Jose in June. Computers, weddings, cats. That's me!
Posted by seancorfield at 01:01 PM | Comments (1) | TrackBack | personal

Hal Helms on XP

I was just browsing around Hal's site and going over old newsletters I'd missed (I only recently signed up for his occasional series). Another Look: Extreme Programming caught my eye and I was very relieved to see that Hal shares some of my concerns about the claims (and goals) of the XP community. Like him, I worry that XP is so focused on agile development that it has forgotten about "process" - unless you have enough documented process that you can repeat your successes, you're doomed to repeat your failures.
Posted by seancorfield at 12:22 AM | Comments (3) | TrackBack | programming

April 29, 2003

CFUN-03

CFUN-03 is happening in June in Maryland. If you're quick, you can still get the early bird registration ($199 thru 4/30, $249 after that). There's some great speakers, including our very own Christian Cantrell, and Hal Helms and John QT will be talking about Fusebox 4 and sharing code!
Posted by seancorfield at 07:02 PM | Comments (0) | TrackBack | cf

Boxing the Fuse

Big Damn Heroes (Tech) comments on my Fusebox for PHP write-up and thinks I'm missing the point. He agrees that Fusebox provides a lot of machinery and that small sites like mine probably don't get enough benefit from it to warrant the extra complication. He thinks you needs to use Fusebox on a large project to really understand it and notes that the big issue is how to persuade folks to risk a new methodology / framework on a large project.
I've just completed a very large project (that didn't use Fusebox) and we tried some new approaches in the early days to see what worked for us. We tried the methodology that our product development teams use. Some aspects worked well, some did not. We tried variations of XP. Again, some aspects worked well, some did not. We actually used Fusebox on a couple of early prototypes and decided not to use it extensively (for many of the reasons that I've mentioned). In the end, we used a synthesis of various approaches for the overall management of the project and a broad MVC architecture for the software, some of which we've documented in outline on macromedia.com. The development team were mostly seasoned software engineers with a background in OOA/D and OOP.
So, I'll stand by my earlier comments on Fusebox and FLiP (see my review of Jeff and Nat's book) that I don't think they don't scale to really large projects - FLiP is simply too linear and too focused on how a very small team operates and Fusebox as a whole does not really provide the necessary framework to deal with very complex business models. Is my site 'too small' to gain the benefits of Fusebox? Perhaps, but I don't believe it is so small that it can't provide a reasonable evaluation of Fusebox. The pros and cons I see in Fusebox would hold true for small to medium projects but there is a ceiling of complexity beyond which Fusebox does not provide enough assistance - and even some leading lights in the Fusebox community admit this. For those very complex projects, you need software engineering and Fusebox is no substitute for that. For smaller projects, you can get by with framework instead and Fusebox is clearly very good for that.
Posted by seancorfield at 07:30 AM | Comments (3) | TrackBack | architecture | programming

April 28, 2003

Dream On... Apple & Macromedia Studio MX

For a limited time, you can get Macromedia Studio MX for only $399 with the purchase of a new Macintosh computer! JD's blog had the link to the promo on Macromedia's site so here's the link to the same promo on Apple's site. Save $500! Buy that new Mac you've been promising yourself and get a great deal on Macromedia Studio MX!
Posted by seancorfield at 09:06 PM | Comments (0) | TrackBack | macromedia | osx

ColdFusion Floats

What a brilliant idea! A ColdFusion-at-sea conference! Speakers / trainers include Ben Forta, David Vaccaro and Pete Freitag. Avast ye land lubbers!
Posted by seancorfield at 02:54 PM | Comments (1) | TrackBack | cf

April 27, 2003

Software Reliability Questioned (Again!)

CNN is currently running a story about how software reliability is causing us all problems. It's nothing new. Oakwood Computing has been preaching that gospel for a decade. Dr Les Hatton, founder of Oakwood Computing, used to work with me at Programming Research back in the early 90's where we analyzed software error rates around the world and tried - mostly in vain - to persuade software companies to take quality seriously. I don't know whether legislated liability is the right way to go but it does seem that we need to do something as software finds its way into pretty much every single electrical device in our lives. People joke about having to 'reboot' a car every fifty miles if Ford / GM / whoever built cars the way Microsoft builds software but that might become reality all too soon if we don't start taking quality seriously...
Posted by seancorfield at 05:29 PM | Comments (0) | TrackBack | programming

corfield.org & Fusebox

Back in November, I rewrote corfield.org using Fusebox for PHP and I promised I would write up the experience. I've finally found the time this weekend so now you can read what I did and what I thought of it.
Posted by seancorfield at 12:17 PM | Comments (2) | TrackBack | architecture | php

April 26, 2003

Elastic Satellite, Meet The Makers

About a month ago I mentioned a Meet The Makers interview with John Lenker and commended his website as an engaging, if somewhat complex, interactive use of Flash. Invioni puts out a period newsletter called "Elastic Satellite" and in the latest issue John writes favorably about the approach Macromedia is taking with Rich Internet Applications. The newsletter also contains a Flash tutorial about animation using ActionScript and a thought-provoking article on the pros and cons of outsourcing offshore.
Meanwhile, Brian Alvey's excellent Meet The Makers website continues it's tradition of thought-provoking articles with it's latest "conversation with..." series, this time examining the "brand gap" between actual market value and brand value.
Posted by seancorfield at 01:59 PM | Comments (0) | TrackBack | mx | personal

April 25, 2003

More on Microsoft & XML

I've already commented on Microsoft edging away from supporting XML in an open manner in Office 2003. I just happened across this article on The Register which not only comments on this but provides links to some interesting and provocative pieces by various folks.
Posted by seancorfield at 07:42 PM | Comments (0) | TrackBack | oss

Soho Wi-Fi

No, not Small-Office, Home-Office... Soho in London, England. The local council has decided to implement blanket Wi-Fi coverage throughout the Soho area, to provide its employees with fast and convenient access to the council computer systems while they are working in the area (e.g., noise inspectors patrolling the streets). The really interesting part is that they are planning to open the network up to the public later on!
April 27, 2003: The Register has posted a follow-up article.
Posted by seancorfield at 07:26 PM | Comments (0) | TrackBack | wifi

Ted Codd

I was saddened to learn of the recent death of Ted Codd, the visionary behind relational database theory who joined IBM back in 1949. His pioneering work laid the foundation for the SQL and QBE technologies that we take for granted today.
Posted by seancorfield at 10:20 AM | Comments (0) | TrackBack | personal

April 24, 2003

DRK - Impressive!

I was just looking at Mike Chambers' DRK blog category where he shows examples of the various components from the new DRK... sweet! The validating text field and the accordian panel are awesome productivity tools and I'll be using these in a project I'm just starting (to rewrite an internal tool we use for managing URL redirects). I'll post more about my experiences as I build the tool...
Posted by seancorfield at 03:08 PM | Comments (1) | TrackBack | mx

BACFUG: Web Services

I'm presenting at tonight's BACFUG meeting. I'll be going over my Under the Hood report to look at the architecture behind macromedia.com then I'll be showing a little of what would be possible if the website had a public Web Services API.
Why don't you comment on this entry, telling me what you would like to see made available as a Web Service on macromedia.com? The most popular suggestion I've received so far has been to provide Web Service access to the search function.
Posted by seancorfield at 09:58 AM | Comments (2) | TrackBack | cf | macromedia

April 23, 2003

Restyled

In light of some comments that the grey-on-grey blog was hard to read, I decided to change it to dark-grey-on-white for the most part with some color highlights from the ColdFusion MX palette. Hope you like the new look?
Posted by seancorfield at 07:45 PM | Comments (2) | TrackBack | blogging

macromedia.com Beta 5

In this week's report, Al talks about the key drivers behind the ongoing improvements and introduces presentations by Matt Belkin about analyzing customer feedback and Tony Lopez about the new global navigation system as well as an "under the hood" report by Brandon Purcell on how we load tested macromedia.com.
Posted by seancorfield at 09:26 AM | Comments (4) | TrackBack | macromedia

April 22, 2003

DRK3 & Firefly

Some very exciting announcements on Macromedia DevNet today about the latest DevNet Resource Kit (Volume 3) and the Macromedia Firefly Components behind the forthcoming Flash MX Data Connection Kit.
DRK3 speaks for itself with a lot of ColdFusion content this time around as well as some great sample applications.
You can get a sense of just how exciting the Data Connection Kit will be by reading Aral Balkan's article Building an RSS Aggregator with Macromedia Firefly Components.
Posted by seancorfield at 09:55 AM | Comments (3) | TrackBack | cf | macromedia | mx

April 21, 2003

Jesse Fights Back?

I'll consider myself flattered that Jesse Ezell responded so quickly to my recent post about his criticism of Flash Remoting! He has posted a long, explanatory post on his blog which goes into much more detail about .NET vs Flash & Flash Remoting.
Of course, I'm still not entirely happy with his comments but, hey, how would we have a healthy discussion otherwise?
1. Jesse says "Flash Remoting isn't bad." - in response to my puzzlement as to why he raised network latency as an issue and seemed to lay the blame at Flash Remoting. I'm still puzzled by his comments about network latency but his follow-up doesn't clarify his comments so I'll let that go for now. He makes a perfectly reasonable observation that .NET doesn't require him to use remoting. Well, no, of course it doesn't. Nor are any web developers required to use Flash Remoting, not even Flash developers. It's a pretty convenient way of communicating between Flash and the server (be it ColdFusion, Java or even .NET). No one is forcing you to use Flash and, yes, HTML is a perfectly acceptable user interface for many web applications. So we probably aren't disagreeing about anything here (but I'd sure love to hear more about the network latency problems that Jesse is so concerned about).
2. I questioned Jesse's logic in building an application façade in ActionScript as opposed to using a server-side façade. He's responded to this at length but I'm even more puzzled by his response than I was by his initial suggestion. First off, he criticizes the CFC-based façade for requiring you to "pass around name value pairs throughout your UI layer"... since you can pass complex data objects back and forth between Flash and ColdFusion, I don't see where the "name value pairs" come from. One of the benefits of Flash Remoting is the automatic translation of complex Flash objects to complex ColdFusion objects and back again, for example passing a query object natively from ColdFusion to Flash. He talks about many things you might want to do in ActionScript (including caching, security, error handling etc), none of which are precluded by having an application façade on the server. In fact, if you look at MVP (Model-View-Presenter) you'll see how the responsibilities of the Controller can be expanded and split logically between client and server in a way that both client and server can benefit from the use of design patterns like Façade. Design patterns are intended to be used to help us produce better solutions, where 'better' can be measured in a number of ways. No one is saying you can only apply design patterns to part of your application.
3. Multiple languages - required or optional? I think both Jesse and I agree that .NET doesn't require you to use multiple languages even tho' in his original post he recommended mixing C# and ASP.NET - however, we're both advocating using the best language for the job. If you are in the pure .NET world, you'll use ASP.NET, C# and VB.NET as appropriate, quite possibly with JavaScript too. If you've already decided to build a Flash UI, you'll be using ActionScript for that, regardless of whether your back end is on .NET or on J2EE (either CFMX or Java). There's no arguing with the point that Flash does indeed require you to use a specific language. I'm already familiar with JavaScript so ActionScript isn't a huge stretch for me. If I had to develop for .NET, I'd have to learn one or more new languages since I don't know ASP.NET, C# or VB.NET. But this point originated from Jesse's comment that Flash & Flash Remoting inherently creates a maintenance nightmare because of multiple languages. He argues, rightly, that simple applications can be all one language (since we're already agreeing that simple applications don't have to use Flash - HTML is just fine - then we're clearly in agreement on this point too). He also indicates that more complex applications, even in .NET, are likely to be implemented in multiple languages (ASP.NET and C#, for example). So it appears we agree here that in larger applications, using multiple languages is the way to create the best result - does that mean complex .NET applications that use multiple languages are a maintenance nightmare? I hope not. I wouldn't expect that to be any more true of .NET than it is of Flash applications since it's nothing inherent to Flash & Flash Remoting.
4. Back to IDEs. Since I already conceded that building a dynamic Flash application requires you to use Flash MX as well as "something else" for the other application pieces, I won't beat this dead horse too much. Jesse makes an interesting point in his response tho': "[Studio MX] is a heck of a lot more like the integration in Visual Studio 6". Since Studio MX is only the first step toward a more integrated set of developer tools, perhaps we should be encouraged by that comparison? Microsoft quotes Visual Studio .NET as $1,079 against Studio MX's price tag of $899 - the latter includes Fireworks MX and Freehand MX for developing the graphical elements of your user interface, as well as Dreamweaver MX (your code / HTML IDE), Flash MX, Contribute and ColdFusion MX Developer Edition. Oh, and Jesse asks about extensibility in the MX suite - I'd just point him at the thousands of extensions developed by the community and available from the Macromedia Exchange.
5. Spaghetti? Jesse blames #include. That's it. Easy enough to keep that under control with a few simple coding guidelines. It doesn't sound as bad as the ASP and COM+ spaghetti he compared it to originally. Mind you, everyone knows that you can write bad code in any language (the Obfuscated C Competition even made a virtue of it!).
6. "code behind requires you to be multi-lingual" - I didn't say that. Jesse recommended using C# for parts of an application (that is written in ASP.NET as well). We're both agreeing that using the best language for the job at hand is reasonable practice - see point 3. above.
7. Limitations of Flash - thanx for the specific list! I'll leave it to others to argue the pros and cons of each point now that we have a list (others more qualified to talk about the specifics of Flash). No technology is perfect and I'd expect to see similar lists of criticisms for every language or tool we use today. Am I ignoring valid points? No, I think that's a somewhat unfair criticism, especially since the article that started this discussion tackles some of these sorts of points head-on and offers constructive solutions. That should be true of most articles on technology, working from the stance that nothing is perfect we should all be working to get the best from our tools and technology.
What I really want to know is: where's my copy of Visual Studio .NET for Mac OS X?
Posted by seancorfield at 04:57 PM | Comments (21) | TrackBack | mx

Pink Panther

Mac OS X 10.3?. I'm easily amused.
Posted by seancorfield at 12:18 PM | Comments (0) | TrackBack | osx

Virtual Education with Flash Communication Server

Although SARS has closed down schools in Hong Kong, Macromedia's Flash Communication Server is being used to provide virtual classes over the Internet.
Posted by seancorfield at 10:48 AM | Comments (0) | TrackBack | macromedia | mx

April 19, 2003

.NET does it all?

It's always interesting to read an evangelist for one particularly technology talk about other technologies (and why theirs is better, of course). In this instance, Jesse Ezell talks about why he thinks pure .NET is better than a Flash / .NET hybrid.
Jesse makes several points, some of which I just don't get at all, and seems to totally miss some other points that I would've expected to see. He talks about "network latency" making it sound like a problem specific to Flash Remoting. I don't get it - any client / server model (and your web browser is the client, regardless of whether you're using Flash or not) is going to suffer from some network latency... that's kind of a given when using a network. He doesn't say how .NET avoids this. He does however give my facades article a plug and suggests writing the facade in the client in ActionScript which would negate any benefit that Value Objects might have as well as forcing you to completely expose the layer that the Façade is intended to hide. Strange.
Then he says you have a "matinence" (sic) headache because you need to learn another language (ActionScript). I don't get this point either. He says the number of developers who are fluent in both C# and VB.NET is very small (no comment!) and that they wouldn't recognize / understand a lot of what is going on in Flash (again, no comment!). But part of the whole point of .NET is that it is multi-lingual and recommends you use the best language for the job, be it C# or VB or ASP... And aren't most web developers going to have to know JavaScript anyway? ActionScript is pretty straightforward for anyone familiar with JavaScript so I don't quite follow his argument.
Next, he turns his attention to the IDE. VS.NET is a single IDE that lets you create everything whereas to use Flash (and anything else) you need two IDEs (Flash MX and something else). There's some validity in that point. I'd counter it by saying Studio MX is a well-integrated suite whose components just happen to be available separately. Even in VS.NET, you effectively have two IDEs - the visual UI creation piece and the code-centric piece. However, Jesse then undoes himself a little by criticizing Flash for simply not allowing folks to read the source code without Flash installed. Our developers use Dreamweaver MX for pretty much all our code - both client and server - using Flash MX as the visual UI creation IDE and compiler. To me, that doesn't seem like "two entirely different IDEs" (since they share a look and feel and are well-integrated). Our back end engineers can and do read the front end ActionScript .as files and our front end engineers can and do read the back end ColdFusion .cfm / .cfc files. All with a single IDE, Dreamweaver MX.
Then he apparently criticizes ActionScript by comparing it to ASP and COM+, saying that these all create "spagetti code all over the place". ActionScript allows you to create very well-structured, OO code. There's no need (nor excuse) for spaghetti code in ActionScript. Oh, and remember how he criticized the Flash + X model for requiring you to be multi-lingual? He recommends writing business logic in C# behind ASP.NET's front end. How or why is that better than writing business logic in ColdFusion behind Flash's ActionScript front end?
His closing comment is that there are "Limitations of Flash" (which he does not specify) and feels "No nead to go over these again" because he is "spoiled with all the power that the .NET framework gives [us]". I'm sorry but even as a 'single-technology evangelist' I would have expected a more coherent and reasonable argument than this... or is he just preaching to the choir?
Posted by seancorfield at 01:59 PM | Comments (2) | TrackBack | mx

April 18, 2003

CFMX & XML-RPC

Big Damn Heroes' blog has a post about XML-RPC that provides a CFC to convert between ColdFusion data structures and XML-RPC format. This allows you to easily create XML-RPC services in CFMX as well as consume them.
Posted by seancorfield at 12:31 PM | Comments (0) | TrackBack | cf

Fusebox 4

Hal Helms and John Quarto-vonTivadar will be unveiling Fusebox 4 at the Atlanta ColdFusion User Group meeting on May 7th. I believe it may be broadcast using Flash Communication Server but have no further details at present.
Posted by seancorfield at 09:58 AM | Comments (1) | TrackBack | architecture | cf

April 17, 2003

macromedia.com Updated!

Another update has been made to macromedia.com this evening which introduces a new, two-tier navigation system to allow faster access to many commonly used areas such as the Macromedia Exchange and, under the Downloads tab, a page containing links to all of the product updaters - a much requested addition!
In addition to the new navigation, the update contains a host of fixes and enhances as usual and a warm welcome on the homepage for Safari users, now that Apple have released Safarai Beta 2!
Posted by seancorfield at 09:06 PM | Comments (7) | TrackBack | macromedia

CFMX / IIS Startup Dependencies

An excellent post in Dan Switzer's blog explains the startup dependencies between IIS and ColdFusion MX, and how to update the registry to ensure those services startup in the correct order.
Posted by seancorfield at 08:37 PM | Comments (0) | TrackBack | cf

SourceForge.Net & RSS

I was pleased to see that SourceForge now provides a variety of RSS feeds for each project. This makes it much easier to keep track of your favorites!
You can now track Fire and Modus this way. But a black mark to iTerm for not having any news in their feed!
Posted by seancorfield at 11:09 AM | Comments (0) | TrackBack | blogging

April 16, 2003

DevNet: ColdFusion & Databases

Debbie Dickerson's Logged In column focuses on resources to get you up to speed with using databases in ColdFusion.
Debbie provides a lot of links including a new article by Sue Hove about Advanced Queries in ColdFusion that is worth reading.
Posted by seancorfield at 11:54 AM | Comments (0) | TrackBack | cf

Beyond Object-Oriented Programming?

There's an interesting article called The Post-OOP Paradigm by Brian Hayes in the current issue of American Scientist. It's a concise history of our drive to solve the software crisis but with a healthy dose of cynicism.
Posted by seancorfield at 11:35 AM | Comments (0) | TrackBack | programming

April 15, 2003

cfform & /CFIDE

A commonly asked question by folks trying to use cfform and its ilk in a hosted ColdFusion MX environment is "Why won't my CF5 code work on CFMX?"
First of all, why should it break? In CF5, cfform etc generated inline JavaScript code to perform validation. In CFMX, that JavaScript is kept in a file instead and included where needed. Unfortunately, that file is under /CFIDE/scripts/ and if you're in a hosted environment, you may well not have the administrator available to you so CFMX cannot find the JavaScript source file.
According to the documentation, cfform takes a scriptSrc attribute:
scriptSrc - optional, Default: /cfide/scripts/cfform.js - Lets the user control the URL of the script file; useful if you do not keep the file in the /cfide directory.
Useful if you don't have a /CFIDE directory too! Just push your local copy of cfform.js up onto your hosted server and use scriptSrc to point to it:
<cfform scriptSrc="/myscripts/cfform.js" ...>
Posted by seancorfield at 09:32 PM | Comments (0) | TrackBack | cf

ColdFusion is not Java, part 97: this scope

ColdFusion's "this" scope seems to cause endless confusion because people keep thinking it is something like "this" in Java. I posted the following to cf-talk today in yet another attempt to highlight that CF is scope-based whereas "this" in Java is an alias for the current object, i.e., it's more like a variable.
Here's some code to show just how radically unlike Java's "this" it is:
<cfcomponent>
	<cffunction name="hidden" access="private">
		<cfreturn "I'm a private method">
	</cffunction>
	<cffunction name="changeable" access="public">
		<cfset this.changeable = hidden>
		<cfreturn "I'm public - call me again!">
	</cffunction>
</cfcomponent>
Now, call "changeable()" twice on the same instance:
<cfset obj = createObject("component","sly")>
#obj.changeable()#
#obj.changeable()#
You'll get:
I'm public - call me again! I'm a private method

This is meant to show that ColdFusion's "this" is a scope in which you can manipulate variables with abandon, adding and changing anything you want.
Posted by seancorfield at 09:11 PM | Comments (1) | TrackBack | cf

April 14, 2003

Safari Beta 2

Well, it's finally here - Safari Beta 2 - which has "tabbed browsing, autofill forms & passwords, privacy 'reset', import of Netscape and Mozilla bookmarks, increased standards compatibility, improved AppleScript support" and Flash Remoting support so you can now use it to browse macromedia.com!
However, you'll see full page refreshes in some of the Flash applications on macromedia.com using Safari that you won't see with other browsers. That's a bug in Safari that forces a page refresh when you rewrite the location using JavaScript (we rewrite the location to create named anchors so that you can bookmark pages and so the back and forward buttons work - but it is browser-specific). Apple are already aware of this issue.
Hopefully, folks will consider that a minor nuisance in the context of the much improved user interface on Safari. Tabbed browsing is, of course, the big news for most folks but what I missed most when I switched to Safari originally was the autofill for forms & passwords so I'm very pleased to see that in the latest beta!
Posted by seancorfield at 10:18 AM | Comments (1) | TrackBack | osx

Hydra - Collaborative Text Editing

After seeing it mentioned in a few places, I've decided to download Hydra, the collaborative text editor that uses Apple's Rendezvous technology to allow more than one person to edit a document at the same time. More on that later.
Posted by seancorfield at 10:00 AM | Comments (1) | TrackBack | osx

Design Patterns

Check out the data & object factory's design patterns section for diagrams, descriptions and information about patterns. The code is C# but it should be easy enough to understand for anyone with a little Java knowledge. Now, who's going to rise to the challenge of creating an equivalent site for ColdFusion?
Posted by seancorfield at 09:57 AM | Comments (1) | TrackBack | architecture | programming

April 13, 2003

Microsoft & XML

I was disappointed but not entirely surprised to read that Microsoft's Office 2003 suite will not support XML in all versions. The earlier news that Office 2003 would support XML for data interchange seemed to me too good to be true and, of course it was.
The contrast with IBM is dramatic. IBM is enhancing its WebSphere Portal products to "deliver basic presentation, word processing, and spreadsheet capabilities". Although IBM is quick to point out that this is not intended to compete with Microsoft Office, the message is clear: Open Standards, like so many other commercial vendors - and like so much of the wonderful Open Source software that is now freely available.
I think it's interesting to see Microsoft remaining resolutely proprietary while pretty much all of the other vendors are lining up with the Open Source / Open Standards crowd.
Posted by seancorfield at 04:57 PM | Comments (0) | TrackBack | oss

April 10, 2003

Design Patterns & ColdFusion

As most folks know by now, I'm a big fan of design patterns and they feature heavily in the ColdFusion code that underpins macromedia.com.
Brendan O'Hara has started what promises to be an awesome series in the ColdFusion Developers' Journal which looks at classic design patterns implemented in ColdFusion MX. So far, he has covered the Template Method Pattern and the Iterator Pattern.
Posted by seancorfield at 06:04 PM | Comments (2) | TrackBack | architecture | cf

April 08, 2003

Safari, Opera & macromedia.com

If you are an Opera or Safari user and you're still frustrated that you have to use another browser to visit macromedia.com, rest assured that we are working on it! As Al says, we've made a few changes at our end and both Apple and Opera are making changes at their end. Keep watching this space.
Posted by seancorfield at 11:18 PM | Comments (2) | TrackBack | macromedia | osx

MAX 2003

Macromedia MAX 2003 - the event formerly known as DevCon 2003 - will take place in Salt Lake City, Utah in November (18-21). Last year's DevCon - my first Macromedia DevCon - was an extraordinary event so this year's should also be a "must-attend" conference. You can start contributing today by completing the survey - you could win some cool Bose headphones!
Posted by seancorfield at 09:09 PM | Comments (3) | TrackBack | macromedia

April 07, 2003

Under the Hood : Performance Tuning

Beta 4 of macromedia.com went live on Friday evening and the associated report went up this morning, along with an Under the Hood report from my colleague Jonathan Snyder who heads up our Flash development team in the Web Technology Group. There's some interesting hints and tips in there for creating higher performance Flash applications.
Posted by seancorfield at 02:45 PM | Comments (0) | TrackBack | architecture | macromedia | mx

April 05, 2003

macromedia.com online forums

In response to requests from forums users, the login process is now pure HTML. The previous user experience - hitting an HTML application, redirecting into a full Flash application to login and then redirecting back to the HTML application - was considered less than ideal. Because our membership machinery is implemented with CFCs, it was relatively straightforward to create a single CF page to allow users to login for the forums. Note that if you choose to create a new membership at that point, you will still be taken into the full Flash membership application as before where the single screen interactivity of Flash makes it much easier to work with the many 'views' that make up your Macromedia membership profile.
Posted by seancorfield at 07:01 PM | Comments (0) | TrackBack | macromedia

Vacation!

For the first time in what feels like ages, I'm taking a few days off. Now that the website has launched, work is calming down a little so I'm having three days off to relax and hang out with my wife and our cats. I might not be posting much for a few days (and I didn't post much last week because I was very busy working on another revision of the website).
Posted by seancorfield at 06:41 PM | Comments (3) | TrackBack | personal

Mac Mozilla 1.3 & Camino 0.7

Why has macromedia.com deemed Mozilla 1.3 an "unsupported browser" on the Mac? Mozilla 1.2.1 is supported - that's what I use - but a bug has been introduced in Mozilla 1.3 that breaks Flash Remoting. Go to DevMX.com to convince yourself it's not just the Macromedia website that is affected - we just do more browser detection and tell users that their browser won't work at the moment. Unfortunately, that same problem affects Camino too.
Macromedia continues to work with Apple and Opera to ensure that future versions of their browsers will work correctly with Flash Remoting. Then we'll be able to put them back on the "supported browser" list.
Posted by seancorfield at 01:37 PM | Comments (0) | TrackBack | macromedia

April 04, 2003

Mac OS X in Production?

If you - or anyone you know - is using OS X in production, or thinking about it, then Christian Cantrell wants to hear from you!
Posted by seancorfield at 04:41 PM | Comments (0) | TrackBack | osx

April 01, 2003

cfargument & arguments

A curiosity about the interaction between the cfargument and the actual arguments structure / array was posted to the CFCDev mailing list today. It seems that if you use cfargument with required="false" then such arguments appear in the arguments scope even if no value is passed... sort of...
<cfcomponent>
  <cffunction name="foo" returntype="numeric">
    <cfargument name="a" required="false">
    <cfreturn arrayLen(arguments)>
  </cffunction>
</cfcomponent>
If you call foo it will return 1 even if you don't pass an argument. If you pass an argument called b, it will return 2 - 1 for a declared and 1 for b passed in.
You need to use structKeyExists(arguments,"name") to detect whether an actual argument is passed - don't rely on the 'length' of the arguments scope.
Posted by seancorfield at 07:27 PM | Comments (2) | TrackBack | cf