Is Web Development about to change?
March 13, 2008 10:13 AM   Subscribe

Question for web developers: Is Web Development about to change? Is the web browser still the best solution for rich Internet applications?

I write this question as someone who is truly looking to get some input and feedback from fellow web/software developers. I have my opinion but I would like to shape that opinion based upon the experience of others facing the same challenges.

I am, by profession a web developer. Most of my work involves the Microsoft .NET framework, ASP.NET, and C#. I am not a Microsoft "fanboy", in fact I rather enjoy working with other development technologies such as MySQL, PHP, Java, and others. Microsoft development just happens to be where I got started and where I have found the most opportunities to pay the bills.

For the last two years I have been working more and more on the client and GUI side of things. Currently I write a lot of ASP.NET server controls that make use of extensive Javascript function along with AJAX to give a "desktop-application" look and feel to a number of web applications. I find myself becoming more and more frustrated with the number of hoops that are required to obtain the "Web 2.0" look and feel within web applications. Often times I find myself trying to figure out the best way to get "server side" information over to the "client side" while working within the confines of a load balanced server farm. It seems to me that so much emphasis (at least im my organization) is being placed on achieving a look and feel so similar to a desktop application that the web browser is showing it's limitations more and more. It was good for what it was designed to do, but not for what it is being asked to do currently.

With so much of a demand for rich "GUI" applications within the web browser I can't help but wonder if current browser based applications will be replaced by other frameworks such as Adobe/Macromedia "Flash" and Microsoft "Silverlight". In my experience it is so much easier and faster to develop for Flash and Silverlight. Granted the user must use a plug-in for both these environments, but I don't see this as much of an obstacle as it was in prior years. In my workplace we require that clients who subscribe to our product use Internet Explorer. This allows us to sidestep many cross browser Javascript and DOM compatibility issues. However, we still have to deal with the difference between IE v6 and IE v7. We still have to deal with the issue of application/session state. It seems to me that we could be developing better applications that are more consistent and easier to develop if we moved towards technologies such as Flash and/or Silverlight.

I have seen some pretty great applications written in Flash, from GUIs for MySql database management to genomic sequence viewers that make use of web services to obtain, update, and visualize data. The same can be said for Silverlight. With version 2 of the DotNet framework embedded in the Silverlight plug-in the possibility to port, relatively easily, many windows application over to the Silverlight environment becomes viable.

My intention is not to start a flame war on which web development technology is best or more viable for the future, but rather to get insight from other web developers on where they think the future of distributed development is headed. Is server-side code with Javascript handling the client side going to continue as a dominant force or do you see other "plug-in" technologies such as Flash and Silverlight edging out a lead in the future? Thanks for your consideration.
posted by mountainfrog to Computers & Internet (24 answers total) 22 users marked this as a favorite
 
My current gig is building a media-rich web site using Silverlight. What we're doing would likely be possible with just CSS + JScript, but a good portion of the functionality (especially the really complicated graphical elements and animations) would be a lot more challenging. In general, I've found working with Silverlight to be pretty pleasant.

However, I'd be a little careful of false dichotomies here. The rise of rich browser plug-ins like Flash/Silverlight doesn't mean they're good for everything. They're an option for RIA (and arguably an enabler), but do have their issues. One shortcoming of Flash/Silverlight is that you only have what Adobe/MS gives you. Trying to accomplish something that isn't well supported by the plug-in can be quite unpleasant. And frequently, you only discover quite late and often painfully that something quite easy in HTML + Javascript isn't available in the plugin, leaving you to create a rickety "baling twine + duct tape" solution.

At least in the near future, Javascript + CSS isn't going to go away. Flash, and Silverlight if it catches on, provide an alternative, not a replacement. They each have their own strengths and weaknesses. Determining which better suits one's needs depends quite heavily on the intended functionality and use of the web site/application.
posted by Nelsormensch at 10:45 AM on March 13, 2008 [2 favorites]


::holds envelope to forehead::

I predict clientside scripting will continue to increase in importance and complexity, and proprietary tools like Flash will steadily lose ground as it becomes possible to do more and more of what they do right in the browser.

(Tools like Flash exist to work around limitations in the browser, so as those limitations go away there's going to be less and less reason to use them. Silverlight, I've never seen the point of, though I've never looked at it; it seems to be a proprietary tool to do the same things you can do without it for free. Flash took root because it filled an obvious need; I haven't seen any indication that Silverlight does the same.)


so much emphasis (at least in my organization) is being placed on achieving a look and feel so similar to a desktop application that the web browser is showing it's limitations more and more

That's nothing new; some companies have always tried to duplicate the feel of a desktop application in a browser. Used to mean instant fail, but these days the line's starting to blur.
posted by ook at 11:04 AM on March 13, 2008 [3 favorites]


Unfortunately, I just don't see a practical upgrade path for the web as a platform other than browser plugins. According to sites that track browser market share like these, IE6 is still the most common browser, with around 40% market share. Numbers like that make me expect that the big sites like Google, Yahoo, Amazon.com, etc. are going to have to provide top tier support for IE6 for at least the next three years, and top tier support IE7 for at least 6. And because market forces push users and developers to standardize on one platform (i.e. Windows, J2EE, CDs, Blu-ray), I think that means that ongoing demands for more and more advanced web applications are going to cause a surge of interest in the most practical platform immediately available (read: not Ecmascript 4, CSS3, Web forms 2.0 or anything else that won't run on IE6), which is probably Flash. Adobe's recent open-sourcing of the Flex SDK will help a lot in allowing people that haven't been willing to shell out for Adobe's professional tools, like students, to experiment with it, as well. Microsoft is making a big push for Silverlight, but they make big pushes for lots of stuff, and 90% fail.
posted by gsteff at 11:13 AM on March 13, 2008


GWT, anyone?
posted by toastchee at 11:16 AM on March 13, 2008


Silverlight, I've never seen the point of, though I've never looked at it; it seems to be a proprietary tool to do the same things you can do without it for free.

The selling point is that you code in a .Net language and there is/will be lots of integration with other things that MS supplies.
posted by mmascolino at 11:19 AM on March 13, 2008


The thing is that for what many web applications need to do to be extremely useful the "Web 2.0" look just isn't necessary. For those who want it Flash and Silverlight are there and have been there (and Java applets and ActiveX controls before them). But they just aren't "killer app" enough (to use a demodeé Web 1.0 term!) to cause some sort of revolution. I know a fair number of people - not all of them jaded techies - who look at the Google apps and say "meh."

Also, often these technologies make a bad name for themselves because they end up being an alternative to working smarter. I frequently see some bulky monstrosity that someone dragged-and-dropped together in an IDE and I'm like, "Dude - you could have gotten the same mileage out of three lines of javascript." Have you ever run into a late-nineties relic of a web site that has five or six Java applets doing completely innocuous things - like navigation links - in every single page? That's a parallel situation.

And I don't think either of them have an especial advantage either; the existing internet standards that implement functionality similar to what you can get out of Flash or Silverlight - XForms and SVG are a couple of examples - make a slow going of it but they just keep chuggin' along year after year. Microsoft being forced to kneel on IE8 default compatibility bodes well for continuing standards progress.
posted by XMLicious at 11:25 AM on March 13, 2008 [1 favorite]


I've never really figured out why ClickOnce never took off, or even Java, or perhaps Windows GUI apps with Web Services on the backend. Web Browsers are great for browsing, but not so much for richly interactive apps. But as others have mentioned, they've been around for a while and will continue to be.
posted by blue_beetle at 11:36 AM on March 13, 2008


Look back to when Flash first started to gain attention. Lots of people (particularly designers coming from offline media) hailed it as the end of HTML and a way to escape browser incompatibilities, and some tried to use it for everything, but common sense (largely) prevailed in the end. It's pretty clear that HTML/CSS is the best foundation for a typical web site, and Flash is great for multimedia, but for web applications there's an ongoing tussle between JavaScript, Flash and now Silverlight.

Silverlight will do OK within corporate IT and be pushed by Microsoft-only development firms, but I think it'll struggle on the wider web. Flash will continue to dominate multimedia content and annoying design portfolios. HTML/CSS/JavaScript will still be the core of the web, and will probably be used for most good web apps with bits of Flash/Silverlight supplying missing features, but sites/apps vary so much that we'll continue to see new and diverse approaches.

As you're already within the Microsoft 'ecosystem', it's well worth looking into Silverlight, but personally I think it only has value for those already tied closely to Microsoft tools and so I'm not bothering with it for the foreseeable future.
posted by malevolent at 11:44 AM on March 13, 2008


As CSS support in browsers keeps getting better, browsers become more equivalent and a lot of the cross-platform wankery is going away. Air, Flash and Silverlight are all interesting options, but they're just another way to put a view on top of the logic that sits at URLs. I find it hard to imagine a front-end layer so easy and wonderful to work with and cross-platform that people abandon web browsers in droves. And I can't imagine (or perhaps simply refuse to believe) that the answer to front-ends on the Internet lays with a proprietary, single-owner technology. There's too much money involved to have a chokepoint like that.
posted by yerfatma at 11:52 AM on March 13, 2008


For truly rich applications, utilizing a lot of data, I do not see an end to desktop apps. I'd imagine the immediate winners for marketshare will end up being .Net (particularly C#) and Cocoa on Mac OS, especially once a number of developers pick up Cocoa post-iPhone development.

Silverlight and Flash are great and have their place, but I think that it's a limited niche. The cross-platform functionality available and visual widgets can be faked-out or partially recreated using widely-available web toolkits right now -- I just implemented a project using extjs that, while a lot heavier on javascript includes than I like, does a pretty good job of showing and manipulating data on the client side. The problem is in that download sizes for include files get large quickly, and if it's an application the user is only going to use once, you're going to have some nasty startup time and bandwidth costs as the app's pulled down.

I haven't seen any mid-level applications done in Adobe Apollo yet, although it does seem pretty cool as a platform, and accessible to Flash/JavaScript/HTML/CSS developers.

Is server-side code with Javascript handling the client side going to continue as a dominant force or do you see other "plug-in" technologies such as Flash and Silverlight edging out a lead in the future?

Two sides, same coin. Unless there's a lot of client-side logic, or you're spending a lot of time developing the GUI, all three of these approaches will likely do a lot of the business rules and data crunching on the web side while leaving the user interaction to the frontend. It depends on whether Flash can continue to hold on to its niche, and whether Silverlight is able to steal that niche or figure out how to broaden it to a new user base.
posted by mikeh at 12:01 PM on March 13, 2008


My background: I've been a web developer 1997, starting with just HTML, then CGI with Perl, then Javascript. A few years ago I started doing development with PHP/MySQL.

More recently I've started learning both AJAX and Flash/Actionscript to expand my skillset to cover both client and server-side technologies.

Last year I wrote a Facebook application (the Game Go) with AJAX. Right now I'm writing a game in Flash.

AJAX has the advantage that it's supported on almost all browsers without a plugin. It also was designed specifically to provide connectivity between the web page and a server, so it excels there.

Flash requires a plugin, but you don't have the headache that every little feature was implemented differently between the major browsers. This is a major pain with Javascript/AJAX and I hate it.

Flash (not surprisingly) also allows for a much richer graphical experience. There's tons of visual stuff you can easily do in Flash that isn't practically possible with Javascript.

As for Silverlight, I haven't looked at it. If Microsoft really stays with it, I'm sure it will get some traction, but it has to gain a lot of developer support if it wants to supplant AJAX or Flash.
posted by justkevin at 12:20 PM on March 13, 2008


I think Web development will remain browser-centric until other display technologies begin to surpass the computer monitor -- the roll-up electronic paper, the spy ring that projects onto the wall, etc. Right now the alternatives (phones, PDAs, tablets, Kindle, and so on) offer greater portability and bring web applications into additional, nonbrowser contexts, but these are more primitive visual contexts, not richer ones.

Nevertheless, they're very important, which is why I think development trends for the foreseeable future are going to reward approaches that scale across existing platforms. Applications that make what's presently available in a browser actually useful on an iPhone or the dashboard of your car are going to dominate design for awhile yet. And the desktop paradigm may feel as old-fashioned and limiting as the browser paradigm by the time that changes.

So what scales across existing applications? Well-formed XHTML and CSS. Flash and (first as tragedy, second as farce) Silverlight are obstacles to extensible design. They'll stick around for a time as conventional ways to embed animated graphic material in Web pages and (maybe) other applications, but apart from that I think they're about as promising as framesets were a dozen years ago -- initially exciting, very much a dead end.

I'm confident that knowledge and skills gained in XML will be much more durable than equivalent investments in Flash or Silverlight.
posted by gum at 12:32 PM on March 13, 2008


We're just in the process of deploying Windows Server 2008 RemoteApps.
It does all that rich UI stuff over the internet with zero client setup.

It's more expensive to deploy ($200 per user for licensing & only 100 users per server), but it does mean that 6 months from now companies will be able to offer any Windows application to windows machines as easily & as quickly to the end user as you can offer a website.

Here's a picture of a thin app running on my desktop.
A lot of people dismiss this technology, but if you need to provide a windows app to a disparate group of people, it's awesome.

I can imagine Microsoft providing Word & Excel using this technology.
If they do, and they can make it cheap enough I can see this being a real competitor to Google Apps.
posted by seanyboy at 12:51 PM on March 13, 2008


seanyboy - that kind of thing has its uses, and it's definitely a way to go (perhaps easier than developing a web application) for an internal app if you already have a deployed install base for the client.

But to go broad-based the way the web has the technology really needs to be standards-based and the client needs to be free.

Many people are going to remember Lotus Notes, which from my point of view as someone who built Lotus Notes apps (rather than someone who was simply forced to check email through the crappy email client) was an absolutely awesome technology. It had all the basic advantages that web apps did at the time, plus better security, robustness and scalability, a permissions infrastructure, automated replication and synchronization of databases locally to the client system, all in a totally cross-platform client that worked the same way on Windows, Mac, and Unix with all that "enterprise" functionality.

But you had to pay for that client, and consequently it never really went anywhere that gold-cufflinks Lotus sales guys pitching to IT executives couldn't take it. I'm convinced that if Lotus had made the client apps free we would be looking at a radically different internet today. I think that what the web browser will eventually evolve into will be something like a Lotus Notes client with more robust multimedia capabilities.
posted by XMLicious at 1:17 PM on March 13, 2008


Joel Spolsky has an interesting prediction about the future of web applications.
posted by AmbroseChapel at 3:09 PM on March 13, 2008



Look back to when Flash first started to gain attention. Lots of people (particularly designers coming from offline media) hailed it as the end of HTML and a way to escape browser incompatibilities, and some tried to use it for everything, but common sense (largely) prevailed in the end.

Well-formed XHTML and CSS. Flash and (first as tragedy, second as farce) Silverlight are obstacles to extensible design. They'll stick around for a time as conventional ways to embed animated graphic material in Web pages and (maybe) other applications, but apart from that I think they're about as promising as framesets were a dozen years ago -- initially exciting, very much a dead end.

Google "Flex 3" and or "Adobe AIR." You can make an app that runs in the browser, or as a piece of software on mac/Windows/Linux from the same exact codebase, using a language that will look very familiar to Java developers.

It's too early to say "this is the future," but it certainly looks that way.

(I haven't seen any mid-level applications done in Adobe Apollo yet
it's now known as AIR.)
posted by drjimmy11 at 3:16 PM on March 13, 2008


XMLicious. the client app comes with windows and is avaiable for Linux and mac. Plus we already provide it succesfully as a hosted external app.
There is an issue of cost with licensing but for bespoke apps with less than 300 or so users, you make that cost back in speed of development.
posted by seanyboy at 3:43 PM on March 13, 2008


META
posted by localhuman at 4:30 PM on March 13, 2008


In my workplace we require that clients who subscribe to our product use Internet Explorer. This allows us to sidestep many cross browser Javascript and DOM compatibility issues. However, we still have to deal with the difference between IE v6 and IE v7. We still have to deal with the issue of application/session state. It seems to me that we could be developing better applications that are more consistent and easier to develop if we moved towards technologies such as Flash and/or Silverlight.

This reminds me of the IE8 developer blog where the guy was complaining about all the problems that would have been created if IE8 had just been more standards-compliant. The problems were caused by this approach in the first place. This is your first problem. You're looking at this from a completely misguided perspective, so your question is not really accurate. The reason you feel it's increasingly difficult to write your applications is because you insist on using and relying on proprietary technologies and extensions. This causes your applications to be reduced to the audience with this support.

The closest analogy in IT history would be when IBM opened their X86 system specifications to all vendors. "PC-compatible" caused the explosion in growth that has birthed the current industry and everything that runs inside it, whereas proprietary vendors are increasingly shut out. This is how it will happen in the web world. Your applications and the technologies you rely on will die, along with your user base and revenue stream. You will continue to hop to the "next technology" while the rest of us continue developing standards-compliant applications using the latest standards, all while our older applications continue running just fine.
posted by odinsdream at 4:44 PM on March 13, 2008 [3 favorites]


XMLicious. the client app comes with windows and is avaiable for Linux and mac. Plus we already provide it succesfully as a hosted external app.
There is an issue of cost with licensing but for bespoke apps with less than 300 or so users, you make that cost back in speed of development.


Yeah, like I said it's great if you already have the installed client base. But everything you've said here was said of Lotus Notes and it did not take over the world. (And frankly, “It's so awesome that you make the cost back in speed of development!” is said of every technology platform by its vendor. People have mentioned Adobe Air, which Adobe is saying the exact same things about.)

If this is MS finally doing cross-platform .NET apps, that's great - I'm surprised it took them so long. And I wouldn't be surprised if Microsoft has thrown enough money at it to make marginal improvements in the implementation over past attempts at this sort of thing. But client-server apps that will run on any platform isn't some earthshaking paradigm shift, see Java et cetera.
posted by XMLicious at 7:22 PM on March 13, 2008


This question could have been written in 1997, only substituting "java" for "Flash/Silverlight".
posted by mkultra at 7:57 PM on March 13, 2008 [2 favorites]


Corporations are really into RIAs, but how many applications does the average person run? Once you have your office suite and a couple of media players, you're pretty much set, no?

On the other hand, "boring" old information is always important. The sites I use the most are Amazon.com, Metafilter and the like.

It strikes me that the real future (much like the real present) will likely revolve around a few key sites: currently those are Facebook and MySpace. The most popular technologies and platforms will be the ones those sites allow. But the portals will continue (forever?) to be a moving target. Something else will come along and supplant Facebook, and we'll all have to develop for that site (and play by its rules).

The web seems to be turning into something TV-like. Very few players are developing new types of sets. Instead, people develop shows. But they have to sell those shows to NBC, CBS, ABC, FOX, etc. They have to play by those networks' rules. Until a new network comes along with different rules (HBO).
posted by grumblebee at 7:02 AM on March 14, 2008


I've been working on websites since the days of Mosaic, and it seems like every year there's some New Thing That Will Be The Game Changer/Big Disrupter and everyone talks like it's either the End Of HTML or the End Of The Web.

And it's huge, CIOs and CEOs banter about it, and a year later... it's there. It's being used. But it found its niche it could change and the web went on.

Flash. ASP. XML. Cold Fusion. PHP. Rails. The "wet floor" look on logos. Etc. etc. etc.

I see the same ramping up with Flex and Sliverlight. They make things easier. They will allow people to pull information without having to use a browser. They're RIAs, and that's the hip thing this year. But just like everything else, in 2009 it'll be something else that will be the Game Changer. It'll settle into its niche and that will be it.

I see all these as steps forward. Eight years ago, content management systems were the domain of corporations. Now, anyone can run Drupal or Joomla on their personal site, or just use Wordpress or Movable Type to blog. Eight years ago, video meant Real, QT, or WMV and it was streamed into external popups. Now you can embed Flash video in the page, or dump it to Silverlight or Flex. Eight years ago, web standards and accessibility were a pipe dream by pedantic web geeks. Now... they're not quite reality, but applications, designers, and programmers see them as a priority.

But along the way, so many things were supposed to save us from the EEVL of HTML and the browser. And it never did, because HTML still does its job quite well, and while browsers are flaky, they're also the tool everyone has learned to use.

There's never been a better time to be a web designer/developer/producer than a minute from now. For as complicated as things are, they've never been easier for those of us who build the web.
posted by dw at 2:01 PM on March 14, 2008 [3 favorites]


I think there will be a change, but all these changes will be gradual. I've been waiting for full SVG/CSS compliance from all browsers for years and years and we've got some progress, but it's still largely it works in Firefox, now fix it for IE and Safari (why did Apple have to introduce another browser that would be widely used?)

I think AJAX, Mootools, JQuery, etc. are the predominant cross platform means of creating these applications on the client side, combined with, of course, server side tech.

With the emergence of open source on the server end in particular, with applications like MODx, Wordpress, etc., the use of open source solutions, and hopefully, an effort to create open, standards based (or standards producing) content goes with it.
posted by juiceCake at 12:35 PM on March 15, 2008


« Older How do we get the dog off our bed at night?   |   How to grab a soon-to-expire domain name? Newer »
This thread is closed to new comments.