The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely. versus Flash

My company is about to develop a new web application. The boss has decided that we should either use Microsoft stuff (i.e., probably with a bit of Ajax) or Flash & Flex2. He wants something which is easy to learn and use and can handle partial page updates. I don't (yet) know the full details of what the app will do, but I don't think it's very complex - just something for use in-house by one of our clients.

Any comments from users of these technologies? What factors swayed your decision one way or the other? What are the bugbears and gotchas with each?

Thanks all.
Mike Pentney Send private email
Wednesday, September 06, 2006
I should add that our current web stuff is done in PHP. We don't have any experience as yet of either ASP or Flash...
Mike Pentney Send private email
Wednesday, September 06, 2006
OK, if you don't know either, do it in ASP.NET. It's not neccesarily better, but it can work, and I guarantee there's much more resources out there to help you all learn. However, if you've got no-one that knows either platform, I don't reckon it's going to work first time no matter what you choose...
Andrew Cherry
Wednesday, September 06, 2006
I also recommend ASP.Net.

There are plenty of free samples, and books, tutorials, and discussion forums to help you learn.

What you already know about HTML and CSS will still be useful in the ASP.Net world.

ASP.Net also gives room to expand.  If you need additional features, or a desktop version of the app, etc. the dotNet world is big enough that there's guaranteed to be a way to do it.

Microsoft offers a PHP to ASP.Net migration guide:
Wednesday, September 06, 2006
I don't like flash sites.I am maybe old fashioned, but it is that way. I would like that all sites open first in plain HTML, and if there is also flash version, to have an option to switch to that one. But, I would never recommend only the flash. I think even some well known MM sites first open in HTML with an option to switch to flash. And if you don't know how to program flash, it is better not to learn it :-)

My cent.5
g Send private email
Wednesday, September 06, 2006
Cross browser support with dotnet leaves much to be desired. Especially with dotnet2 and firefox (sample gotcha: you have a datagrid, one column is a bunch of checkboxes, you want another control to select/deselect them).

Flash is far better at cross browser support, but is more difficult to program.
Wednesday, September 06, 2006
Is there a particular reason you're not even considering using PHP?
G Jones
Wednesday, September 06, 2006
G Jones: maybe not a good one. I don't know enough about the app yet, but I think the reason is that PHP is not deemed capable of providing the required user-interface. But I'm not sure exactly what features are needed which may not be doable in PHP...
Mike Pentney Send private email
Wednesday, September 06, 2006
PHP really has nothing to do with the quality of the interface.  You can basically create the same interface in ASP.NET as PHP.  ASP.NET might make that easier (or more difficult) depending on your needs.  You can get, for example, the PRADO library for PHP which is an AJAX-enabled clone of the ASP.NET library for PHP.

You'll find more resources available for either PHP or ASP.NET then anything entirely flash based.  That would be a major consideration for me.
Almost H. Anonymous Send private email
Wednesday, September 06, 2006
If the flash solution requires a flash player to be installed on the client then that is a MAJOR drawback to that option. Having to install the player on end user's machines is a major pain for the enterprise. Your users should be running as Limited Users so they won't be able to just click on a link and install it. If they aren't running as Limited Users then you have bigger problems anyway.  ;)

I'm not familiar with all that Flash has to offer. If they offer a pure server side development model that spits out pure html and javascript then it would probably be ok. I'm an ASP.NET and JSP/Java guy myself so I would obviously vote that way.
dood mcdoogle
Wednesday, September 06, 2006
"but I think the reason is that PHP is not deemed capable of providing the required user-interface."

I'm a UI designer, and I've heard that kind of thing at times. It's funny, because it's often either a total red herring meant to cover up someone's personal preference to use or not use a specific technology, or it's dead-on right.

If you want a bunch of embedded streaming video, or sophisticated interactive charts, or a really sexy vector-graphics UI with lots of morphing and scaling of elements, Flash is a good option.

If you absolutely need really complex datagrids with sorting and collapsing heirarchical rows and so on, AND you need to build it in a couple of weeks, AND you don't care about Firefox or Mac users, then use ASP.NET. (And buy a third-party component to do it. ComponentArts' are great.) (Actually Flash has some nice data components too, but the learning curve is steep.)

Speaking as a UI designer, I've found ASP.NET to be unreasonably limiting, and that some of its assumptions don't play well at all with contemporary professional web design practice (specifically around XHTML validation and a stupid bias toward WYSIWYG IDEs), but if you accept its limitations, it's good for many things. Developers seem to really enjoy working with it, which is important.

In my experience, there's nothing intrinsic to PHP that would prevent it from handling any typical web UI. I'm not familiar with the third-party PHP components market.
Wednesday, September 06, 2006
Many thanks to everyone who has taken the time to reply to my original post. A colleague has now created a Flash prototype of the app - it is at:

(It requires Flash 9 unfortunately...)

This prototype took about a week to create, starting with no knowledge of Flash programming.

If you play around with the controls on the "Elevator Data" tab, you'll see that certain controls are enabled/disabled depending on what options you choose, without having to reload the entire page from the server. The web app is intended to mimic an existing Windows desktop applicaton, and partial page updates are vital for this.

So now the question becomes: what other web technologies could do this, and are they easier to learn and use than Flash? (We'll  happily use any technology which will create the right look and feel...we just want to try to pick the one which is likely to be most productive and most flexible.)

Thanks again.
Mike Pentney Send private email
Thursday, September 07, 2006
Now.. here's a rather silly question:  I love ASP.NET for web development, but I hate the "hackjob" site designs that you need to do to get desktop-like functionality.  I'm not that up to speed on Flash or this Flex thing, but I love the way it lets you present the UI.  Is it possible to use Flex for the UI but ASP.NET for the data processing and programming logic?  If I recall, it works with Java/J2EE, but I haven't seen anything on ASP.NET.

Maybe I'm wrong, but to me that would be the perfect marriage for web development:  The ability to present a desktop-like UI over the web without resorting to hacks and parlour tricks like Javascript and AJAX, along with a powerful programming language on the back-end to process the data like a desktop program.

So, is it possible at all, or is this just wishful thinking?
Wayne M.
Thursday, September 07, 2006
I say go with flash/flex solution. It's different from what you already know and this may be a good opportunity to stretch and learn something new you can build on in the future. It might be a nice step before XAML.

Sorry to say Wayne, I think that's wishful thinking. I'm sure you can find proponents eager to vouch the virtues of thier favorite technology and language though I find they all come up short and require ridiculous didling around to meet expectations at one point or another.
Thursday, September 07, 2006
That's the point, Flex is only about the client-side, while .NET can take care of the server-side. Both technologies are complementary, not alternative.

You can use Flex on the client with Java, ColdFusion, .NET or PHP in the back-end (in that order of preference)

What Flex gives you over other new RIA technologies is:
- A statefull client.
- Bidirectional comunication with the server-side: you can be notified by a server-side event (you can program an instant messenger, a multiuser app, a remote realtime status panel, etc.)
- An unique runtime enviroment on every platform
- Beside standard controls, like datagrids, trees, etc, more resources to play with: audio, video (both output and input, there is an object model to use your webcam or your microphone).
- A component-open architecture. There are a lot third party components to play with.

Form a microsoft point of view you can say that it's an online Visual Basic.

Now is free, but in the down side, it's propietary, it's slower to initialize than Ajax/JS, it's not easily searchable by engines and the developer community is obviously smaller right now.
Arturo Batanero Send private email
Thursday, September 07, 2006
We are in the process of making a similar decision for an Intranet application.

Presently our top three candidates, and the currently identifed issues with each are (briefly):

MS .NET 2.0 / "Atlas":
 + : Visual Studio 2005 nice for coding, lots of docs, we are doing some c# work anyway, now works with IronPython
 - : Not client-platform neutral, VS 2005 not so good for UI building, have to upgrade to .Net 2.0, vendor lock-in, Atlas not yet released.

Adobe Flex / Flash
 + :Nice UI development tools, client-platform neutral
 - :Requires Flash 9 (an upgrade for almost all internal workstations), requires installing, supporting learning new Flex system, Seems to work best with Cold-Fusion.

 + :Browser/client neutral (generates DHTML OR Flash (player 6+)), nice UI development tools, open source, commercial support avail, runs on existing Java App Server
 - :Need to learn/support new Laszlo server, less documentation avail. 

Right now I am leaning towards Laszlo, but the review is not yet complete.
Robert Merrill Send private email
Friday, September 08, 2006
I like to use both.  Use .net on the backend of the flash UI.  YOu get the best of both worlds and it runs on everything, if the flash player is installed.
G Murnock Send private email
Friday, September 08, 2006
"The ability to present a desktop-like UI over the web"

Does anyone not think the reason the web is so popular is because it's *not* a desktop-like UI?
Almost H. Anonymous Send private email
Saturday, September 09, 2006
"Does anyone not think the reason the web is so popular is because it's *not* a desktop-like UI?"

If that was the case, then why are the new "generation" of web applications attempting to emulate a desktop feel via things like AJAX?  Surely if it was popular because it wasn't like the desktop, then this would not matter...
Wayne M.
Monday, September 11, 2006
Funny... Microsoft is wanting desktop apps to mimic the web more and more. Look at the new page navigation and XAML markup capabilities of WPF for example.
Johnny Bravado
Tuesday, September 12, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz