Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming Technology IT

People Don't Hate to Make Desktop Apps, Do They? 233

Annie Peterson writes "Paul Graham has been making the argument that desktop development is dead — That's his premise for declaring Microsoft dead as well, and he claims that no one out there likes to develop for the desktop anymore. But that's not true, or is it? Desktop development is easier, faster, more productive, and infinitely more enjoyable — right? The question is, since web apps were originally built on desktop applications themselves, have the tables flipped? Or is it just wishful thinking?"
This discussion has been archived. No new comments can be posted.

People Don't Hate to Make Desktop Apps, Do They?

Comments Filter:
  • by TinBromide ( 921574 ) on Monday April 09, 2007 @10:43PM (#18670497)
    Web apps are fun and all... Until my comcast tech decides to flip my interweb switch to OFF for 5 hours.

    Then i'm glad i don't rely on ajax apps or anything to get work done. While corporate customers enjoy a level of reliability that the average home user doesn't even dream of, being chained to the internet, yes, being chained to hotspots or cell towers for mobile internet is a drawback that the average user can't consider.

    While php and perl are great, people like to think they're somewhat self reliant, and relying on outside sources is good every so often, you don't hire consultants to do payroll for you.

    The web apps are like consultants, you bring them in for activities that is too expensive to implement and are only needed for on demand, but you don't have them do mundane activities that you could hire someone full time and not lose money on.
  • by 280Z28 ( 896335 ) on Monday April 09, 2007 @10:47PM (#18670531) Homepage
    I prefer desktop development. Web development gets frustrating with its nooks and crannies of brokenness. If standardized Javascript and CSS were as ubiquitous as C/C++/[anything else desktop], that might someday change... but probably not.
  • Re:Passe... (Score:4, Insightful)

    by sH4RD ( 749216 ) on Monday April 09, 2007 @10:48PM (#18670537) Homepage
    Haven't upgraded to notebooks yet? Laptop programming is so 2001.
  • by Anonymous Coward on Monday April 09, 2007 @10:49PM (#18670545)
    I am a numerical analyst. I hate making anything that the user needs to interact with. This being said, I hate writing desktop apps. Furthermore, I hate writing web apps too. I only care about algorithms and automation.
  • by ironwill96 ( 736883 ) on Monday April 09, 2007 @10:52PM (#18670581) Homepage Journal
    But for some reason I can't stand Web Development at all but *love* desktop applications. My coding of choice is C#.Net or Java and i've written numerous small but useful applications that are in use at my place of employment and a few former jobs. Most of these apps are networked and use client-server interactions, but only on the intranet, not out on the internet.

    I am asked quite often though, "Well why don't we just stick this on a web page and then we can get it from everywhere!" and I usually demur some and note that we dont need it to when anyone on the intranet can get to it anyway and there is no reason for some of these apps (or data) to be accessible outside of the corporate intranet.

    For some reason, I just don't like ASP.Net or PHP or JavaScript, i've written small interactive web things in them, but it takes me way longer to accomplish something useful on a website than it does doing a desktop application. I suppose this probably has to do entirely with familiarity, but I also hate how slow websites typically are when you do something overly graphical or complex, whereas it runs great on the desktop application locally.
  • by Creepy Crawler ( 680178 ) on Monday April 09, 2007 @11:02PM (#18670661)
    Well, who really cares who a person is?

    If the person says something that can be backed up by evidence, then does the source really matter? If Mussolini said to "Love one another", does his actions reduce what is said? (Be aware that Mussolini was much worse than Hitler, his group killed 20 million 'indigents' vs 10 million for Hitler)

    Base ones word upon their worthiness of said word, not among their prior words, nor among their actions.
  • by TodMinuit ( 1026042 ) <todminuit@@@gmail...com> on Monday April 09, 2007 @11:02PM (#18670665)
    No, really, they do. They like solving problems. Having to implement the solution is the boring part, no matter how it's going to be done.
  • by Mongoose Disciple ( 722373 ) on Monday April 09, 2007 @11:03PM (#18670681)
    You're never going to get the performance on the web (for most things) that you can running locally. Equally, while tools and frameworks for faking it have gotten a lot better, maintaining state is a pain in the ass on the web and generally is not on the desktop.

    It's like when Java came out and some people said we'd never write C again. There are things Java is good for and has taken over, just as there are things web apps are good for and has taken over, but there is still a place for desktop apps just as there is still a place for C.

    The kind of bold, sweeping statements made by this article aren't much more than flamebait in a pretty dress.
  • by kherr ( 602366 ) <kevin.puppethead@com> on Monday April 09, 2007 @11:03PM (#18670693) Homepage
    This web app stuff is a fad (I hope). It was really popular in the late 1990s as well. Eventually the weight of developing in the unreliable and limiting multi-purpose browser gets to be too much, and desktop apps come back into vogue. Ajax makes things a lot nicer than ten years ago, but people expect more as well. Some things can be done really well using Ajax but it's not the solution for everything.

    iTunes is a dedicated desktop app that uses internet data intelligently, but Apple made a good choice not depending on a browser. Compare Google Maps to Google Earth, which is more responsive and flexible? And then there's the comparison of something like QuickTime or Windows Media players and the pseudo video players written in Flash with bad control responsiveness and limited functionality.
  • by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Monday April 09, 2007 @11:08PM (#18670723) Homepage

    I develop two things for a living. I work on a server back-end, and on the web front-end. The back end is easy. It's all Java, it's fun to develop for (there is challenge in some things, for example).

    Then there are tons of front-end things I do. I hate them. It's developing the same code OVER and OVER (since we basically make copies of some parts to be used numerous times) and the glue code always has to go in there and is a pain. Then there is the scripting. Besides making things display right (which is a pain across numerous browsers), there is the functionality. "We want a select all checkbox." "When you update this date, it should update that date, unless this date is before than date except when...". Javascript is HIDEOUS. Can we just replace it with Python or Java even PHP?

    Our problems are all user based. The users want it to work like a desktop application, but want it to be web based. It should respond fast and do all this checking and such, but it can't be a real application. You should be able to move forward and backwards without things going weird (can be tough to do in the stateless-ness of the web) but it can't be a real application.

    We want an application, but we want it to be web based. We want it fast, but it must be made in HTML and Javascript. Blah blah blah.

    I would LOVE to do more desktop applications. I wish I could.

    I wish users would get over this stupid "lets put everything on the web" stuff. There is a fair amount of what we do that I can see being web based (like most of the reporting type stuff external users use). But all the management stuff we use in house would be a much better fit to a real application than the web applications we are using now.

    Please, PLEASE.... bring desktop applications into vogue. Java allows right-once-run-anywhere to just as high a degree as HTML/JavaScrpit, if not more. Takes less bandwidth. Can run much faster. Can do client side stuff easier.

  • by VGPowerlord ( 621254 ) on Monday April 09, 2007 @11:10PM (#18670733)

    Web apps are great, except...:

    1. When the connection goes down, or even lags, it can have an impact on the speed you're working on.
    2. Implementations for CSS vary wildly.
    3. We aren't using dumb terminals. Web Apps, almost by definition, use an interpreted language embedded into the web browser. Compiled applications (or even ones that use bytecode) will perform faster than this and without the latency that the web introduces when you change pages.

    Why not just leave the web to things that require the Internet and keep applications on the PC?

  • by TodMinuit ( 1026042 ) <todminuit@@@gmail...com> on Monday April 09, 2007 @11:41PM (#18671021)
    (since we basically make copies of some parts to be used numerous times)

    You don't copy code: You generalize it into a function.
  • by Baby Duck ( 176251 ) on Monday April 09, 2007 @11:54PM (#18671149) Homepage
    Why not just leave the web to things that require the Internet and keep applications on the PC?

    Because DOWNLOAD and INSTALL are two words that make too many users pass out upon hearing them uttered. If an IT Department is doing both of these tasks on their behalf, they too faint when they have 1,000+ users.

    Do you have the right OS? Right version? The right drivers? Is your antivirus interfering? Is your Registry befuddled?

    It's much easier to answer these questions once -- for the browser software -- and be done. Need to upgrade? NO PROBLEM! Upgrade on the servers only and we're off.

    Now I'm sure EVERY ONE of my above arguments can be refuted, drowned with "gotchyas", banged with exceptions, and slammed with a "not exactly" or two. But I'm not the one that needs convincing. Convince management, cuz they are brainwashed that all my above points are Irrefutable Law of Common Wisdom. It's an uphill battle to show them otherwise. They are completely sold on the Browser as Platform concept. And that's where their pocketbooks go. So that's where commercial dev shops go.

    I'm not saying webapps are without any merit, but, yes, people tend to go overboard and shove a square peg in a round hole.

  • by bzipitidoo ( 647217 ) <bzipitidoo@yahoo.com> on Tuesday April 10, 2007 @12:17AM (#18671357) Journal

    It's not even developing apps anymore. It's assembling apps from bits of prefab code. The kicker is that only some of it is good quality and can be picked up and mastered quickly.

    These days, coding is grabbing some barely begun project that does just enough that you feel it's better to add to it than start fresh, using code generators (SWIG, yacc/lexx or Antlr, and doesn't VB have some wretched auto generated window manipulation stuff? etc.) then spending time ferreting out and fixing subtly broken bits or wondering if you missed some little detail about how to properly use the tools. Then maybe get another piece or two by running some Fortran source code thru f2c, call functions from lots of different libraries, grab some modules off cpan, try to realize the advanatages of OOP by reusing other people's classes, search Sourceforge again for yet more pieces, glue the crap together with shell scripts, and try to avoid dallying in makefile hell by dallying instead in automatic makefile generation hell. Constantly search the Internet for this and that error message.

    And that's just "development". Then there's all kinds of support stuff to figure out. Wrestle with your choice of source repository be that cvs, subversion, rcs, or whatever, figure out what to set to what in the environment on stuff like Java's CLASSPATH, muck about with this and that IDE and try to get the compiler and debugger to talk nicely to it or live with vi when you get tired of trying to figure out why you're not having any luck getting X to tunnel through ssh. Either way figure out how to twiddle the colors for the syntax highlighting or squint to make out those letters that were displayed in dark blue on a black background. Bone up on emacs to figure out how to get it to stop replacing backspace with ctrl-h, and binding ctrl-h to the help when being used remotely. Repeat "./configure;make;make install a library or 2, discover they depend on yet other libraries" until "all dependencies satisfied or you run up against some missing or broken piece and will have to search for alternatives." And still you're not done. How about Valgrind? Profiling? Maybe some kind of package to automate testing? Automated backups of the work? And you're never really done-- there are always upgrades, and there's always deciding when the tradeoff of having to redo your environment is worth the bug fixes, new features, and so on.

    Life was so much simpler when they were teaching that bubble sort in the beginning C class, wasn't it?

  • by xero314 ( 722674 ) on Tuesday April 10, 2007 @12:24AM (#18671401)

    1) Installers. Writing installers sucks.
    What is this installer thing you are talking about? You mean on some OSes you can't just copy the package containing the executable into the location you want and execute it from there?

    and patching/updating is a whole different nightmare.
    Again, don't you just copy the new version over the old version and execute? Sure you could write an updater, but once that is done what is the big nightmare.

    2) COM Interop.
    Huh?

    crappy desktop Windows programming
    Oh I get it, you hate Windows Programing. You do realize you can write windows applications without the need for COM or an Installer right? Or at least you could prior to Vista and I can't really comment on that.
  • by tambo ( 310170 ) on Tuesday April 10, 2007 @01:34AM (#18671879)
    Then i'm glad i don't rely on ajax apps or anything to get work done. While corporate customers enjoy a level of reliability that the average home user doesn't even dream of...

    True, having your apps - and data - locally stored is very helpful. I'm sensitive to that - every time MS Office insists on using "Office Online" for my help queries, I silently curse up a storm. It's a perfect example; this is a simple function that used to execute immediately.

    But that's only one of a few really key advantages of desktop apps over web apps. I've spent a lot of time [djstein.com] designing a lot of apps (as a pro/am enthusiast), and here are just a few of the very many other reasons for preferring the desktop environment to the web environment:

    • A robust, designer-friendly GUI control set, tightly coupled to a solid visual designer. For me as a developer, this is THE reason why desktop apps kick the digital asses of web apps. Panels, splitters, checkbox lists, picture boxes, tabbed page collections, menu bars, complex ListViews, editable grids, date selections, numeric up/downs, tree view controls, progress bars - all can be installed in a desktop-based form with a single visual-designer mouse click, while AJAX programmers are still struggling to get buttons working. Plus, the desktop versions are much more consistent - there are fewer visual-style-based visibility differences with desktop apps than browser-rendering issues with web apps. Plus they're higher-performing, and much more easily customized. The ease-of-design gap here is astounding.
    • Comparatively few security issues. I am not claiming that desktop apps are more secure than web apps - not in the slightest. Rather, I mean that as a legitimate programmer, I encounter a whole lot more security obstacles in web programming than in desktop programming. I've spent a ridiculous amount of time debugging web-based security issues: code access security; application pools; file and folder permissions; authentication; impersonation; web-interface/database interface problems; web browser security settings; server- and client-based caching foibles; statefulness issues; cookie policies; code signing and security certification; firewalls; badly configured internet security apps like ZoneAlarm... I've tripped over all of 'em in web programming. It can drive you batshit crazy. Desktop programming has orders of magnitude fewer issues.
    • A much wider array of readily accessible APIs and tools. In desktop programming, if I want a hashtable, or a font dialog, or a color picker, or a high-performance timer, or a Rijndael encryption algorithm, or an MD5 has, or a bitmap converter - they're all immediately available and easy to program. Web programming... good luck.
    • Flow layout is stupid. No, seriously. What I mean is: flow layout is fine for reading - desktop publishing, embedded images, all that junk. But it's stupid for a window-based GUI. As a UI designer, I'll take the absolute positioning and "anchoring" models over browser-based flow layouts any day.
    • Easy-as-pie installers. I can add a desktop installer package to a desktop app project with, like, six mouse clicks. The resulting package is fairly small, quite robust, and has few compatibility issues.
    • Easy multithreading. Self-explanatory.
    • Performance. I've coded in DirectX, and I've coded in Java. I'll take DirectX any day.

    Again, those are just a few issues. I can come up with a whole lot more.

    Face it, people. Web programming is absolutely the future... but at present, it's still a toddler. Web 2.0 is the equivalent of a two-year-old: fussy, colicky, prone to outbursts and temper tantrums. And it's still teething, so when it misbehaves, you end up with bite marks.

    I think it'll take a solid six years or so before web programming is as easy as desktop programming. Until then, I'll keep banging out apps for my "antiquated" desktop environment... with ease and a grin.

    - David Stein

  • by tambo ( 310170 ) on Tuesday April 10, 2007 @01:46AM (#18671941)
    I just don't like ASP.Net or PHP or JavaScript, i've written small interactive web things in them, but it takes me way longer to accomplish something useful on a website than it does doing a desktop application.

    Bingo. It's not just you, and it's not just your imagination. Programming basic web functionality is ten times harder, more time-consuming, more error-prone, and less rewarding than desktop programming. There's no comparison. I posted a few of the many reasons above.

    - David Stein

  • Re:Firefox 3.0 (Score:5, Insightful)

    by tambo ( 310170 ) on Tuesday April 10, 2007 @02:12AM (#18672063)
    Wait for Firefox 3.0 [readwriteweb.com]. Soon you'll be able to use your web apps, even if you're connected at 0 Mbps.

    I'll believe it when I see it.

    Sorry, I just can't be optimistic about this. You shouldn't be, either.

    Look - today's web browsers can't even really get offline web page caching right. We're about a decade into the WWW revolution, yet browsers still can't passively save all of our web accesses and show 'em to us again when we're offline. I'd love to have my browser cache all of Slashdot's articles, and BoingBoing's, and Fark's links, for later offline browsing... yet it can't do that. The best we can get is RSS, which, frankly, is crap... it's like Gopher in HTML.

    If browsers can't tackle the very simple task of caching routine HTML for offline access... what gives you confidence that it will cache complex AJAX applets with even minimal usability?

    - David Stein

  • by ddent ( 166525 ) on Tuesday April 10, 2007 @02:54AM (#18672207) Homepage
    I _greatly_ prefer doing web apps. Great things about web apps:
    • No mucking around with ugly GUI code
    • Easy to use: the interface limitations can be a good thing sometimes
    • Easy to deploy
    • Cross platform support, if you are careful, comes for free
    • Security: less data stored on often compromised desktop systems


    Perhaps it has to do with familiarity, but from my perspective, doing desktop applications (especially by the time you deal with all the extra support & deployment issues) is a real pain.

    However, I will say that many people I work with do not share my enthusiasm for web apps. There is a huge technology stack to learn when you need to deal with the chain of technologies involved from the server to the desktop. All the quirks of different browsers take some getting used to, and it requires a different mindset. It also requires you hold the belief that a website can be an application, which, amazingly, many still do not have.

    With all that said, there are still some things which are more suitably done as desktop applications. I think as things advance that list gets shorter and shorter.
  • by VGPowerlord ( 621254 ) on Tuesday April 10, 2007 @03:12AM (#18672269)
    Before I start nitpicking, I'm going to point out that I said "Why not just leave the web to things that require the Internet and keep applications on the PC?" in a previous comment [slashdot.org].

    while AJAX programmers are still struggling to get buttons working

    I sincerely hope you mean they're having trouble getting the code behind the button to work, because I'd be extremely worried about the state of web developers today if they can't write <input type="button" value="Text on the button face" onclick="functionCallHere()">
    or a form consisting of only a submit button (if you're making it compatible with browsers that have no scripting or have scripting disabled).

    Performance. I've coded in DirectX, and I've coded in Java. I'll take DirectX any day.

    The term web application is not often applied to Java any more. The term "web app" these days often refers to AJAX (formerly known as DHTML) apps and, less often, Flash apps.

    However, you're right, on the whole desktop apps have better performance than web apps.

    Flow layout is stupid. No, seriously. What I mean is: flow layout is fine for reading - desktop publishing, embedded images, all that junk. But it's stupid for a window-based GUI. As a UI designer, I'll take the absolute positioning and "anchoring" models over browser-based flow layouts any day.
    ...so use absolute positioning [w3.org] instead. You act like it doesn't exist, which, given that you've been using the ASP.NET web designer, doesn't surprise me. While fixed position in CSS is known to not be supported by Internet Explorer 6 and older, absolute position is.

    Which brings up another point not yet mentioned: The sad state of affairs with web application GUIs is almost entirely Microsoft's fault. IE6 and its rather poor support for CSS2 and DOM, which weren't addressed for 6 years, let alone fixed, coupled with its widespread use has made it the lowest common denominator.
  • by BiggerIsBetter ( 682164 ) on Tuesday April 10, 2007 @03:46AM (#18672403)
    So why not build the apps as client-server? You avoid the headaches of browser implementations, and you retain the maintainability of centralised apps. It's faster/more-responsive than browser-based web systems, and easier on the clients than a full desktop app. I think internet connected or distributed apps are great, but I also think "web" based desktop apps are layer upon layer of kludge to make a display medium behave like an application.

  • by Mike1024 ( 184871 ) on Tuesday April 10, 2007 @06:56AM (#18673121)
    Compare Google Maps to Google Earth, which is more responsive and flexible?

    I prefer online maps; they work better for me.

    For example, did you know windows live maps includes a bird's eye view [live.com] feature?

    In the world of desktop software, here's how that would have worked: I'd have turned my map view into some sort of file, found web space, uploaded it, and posted a link to it. You would have downloaded the file and been told 'unknown file type', you'd have to go to Microsoft's web page and download 'Microsoft 3D Earth' or whatever their client software is called. You'd need administrator privileges to install it, and it would probably conflict with Google Earth for the 'map view' file type (or perhaps the map view would have opened in google earth and shown you the wrong thing). If you already had the software installed but you got it before the 'bird's eye view' feature came out you'd have to upgrade - probably by manually downloading a multi-megabyte new installer and running it. If you ran Linux or a Mac you might not be able to access the software at all.

    On the other hand, with a web interface, you could see the thing I was trying to show you just by clicking a link I copy-and-pasted.

    Anyway, I guess my point is: though web-based apps have disadvantages, they also have advantages, and for some applications these advantages can be pretty compelling. I hope web apps are not a fad.
  • by Anonymous Coward on Tuesday April 10, 2007 @09:39AM (#18674439)

    Because DOWNLOAD and INSTALL are two words that make too many users pass out upon hearing them uttered. If an IT Department is doing both of these tasks on their behalf, they too faint when they have 1,000+ users.

    And they don't faint when they get 1000+ calls asking if the network is down, and why can't they open their Power Points, and howcome they can't access their files at home even though they have installed the Internet on their hard drives...

    Do you have the right OS? Right version? The right drivers? Is your antivirus interfering? Is your Registry befuddled?

    Do you have the right browser? Right version? The right plugins? Is your firewall interfering? Are your browser/Java/ActiveX settings befuddled?

    It's much easier to answer these questions once -- for the browser software -- and be done. Need to upgrade? NO PROBLEM! Upgrade on the servers only and we're off.

    It's not so much easier, it just shifts the focus from "did we install the desktop software correctly?" to "did we set up the client's browser correctly?"

  • by wonkavader ( 605434 ) on Tuesday April 10, 2007 @09:51AM (#18674631)
    I'm seeing a lot of text being written here about how desktop apps are wonderful and webapps are crap, or a fad, or difficult, or slow.

    Web apps are not desktop apps. They are different. You have different reasons for writing a desktop app than you do for a web app. Web 2.0 interfaces may be a fad, may be painful to write, etc., but webapps as an entire class just don't fit that bill.

    Write once, deploy instantly over an entire organization. Write in the environment you like, and yet the whole org doesn't know you wrote it as a wrapper over a bunch of perl scripts you use as command-line apps. Write something using one database connection (where that's a legal option), and thus, write cheaply. Write using a simple interface with fairly low expectations, so that anyone can use it without training (unless you do a VERY BAD JOB INDEED), it takes minutes instead of hours to write, and can work on every single machine of any sort in the org.

    Folks, web apps are the best thing since sliced bread.

    Desktop apps are a BITCH. As a linux guy, they mean I have to work under windows. That's a showstopper, right there. As a desktop support nightmare, they're immense. They mean you have to standardize on a version of windows in the org, have to have minimum requirements, have to compete with viruses, self-destructing OS installs, etc. Meanwhile your design phase gets much longer, because expectations are higher.

    Yes, complex apps often work much better as standalone. Yes, interface design for them is much more complicated, and thus can be more rewarding. But most companies need VERY FEW of these. Web apps are a much better choice for a huge amount of what most companies do. And as programmers, they allow us to maximize our impact on the productivity of the org. Where you can use web apps, you should. For programmer productivity, LAN supportability, and speed of delivery, it's like night and day.
  • by Jim Hall ( 2985 ) on Tuesday April 10, 2007 @11:24AM (#18676163) Homepage

    I wish users would get over this stupid "lets put everything on the web" stuff. There is a fair amount of what we do that I can see being web based (like most of the reporting type stuff external users use). But all the management stuff we use in house would be a much better fit to a real application than the web applications we are using now.

    Please, PLEASE.... bring desktop applications into vogue. Java allows right-once-run-anywhere to just as high a degree as HTML/JavaScrpit, if not more. Takes less bandwidth. Can run much faster. Can do client side stuff easier.

    Trust me, just wait a little while, and desktop applications will be all the rage again. If you've been in the computer business long enough, you've seen the shift from "timeshare" server, to the desktop, back to server (thin client), back to desktop, back to server (Java), back to desktop, back to server (web applications / ajax, web 2.0). It's only a matter of time until the pendulum swings back to desktop.

  • False Choice (Score:2, Insightful)

    by kazad ( 619012 ) on Tuesday April 10, 2007 @02:08PM (#18679105) Homepage

    People often get stuck in a false dichotomy when choosing between a web and desktop app.

    The simple answer is to use the web version for what it's good for (centralized updates, rapid development) and the desktop version for what it's good for (performance, offline access).

    Some apps run a local webserver on a non-standard port (Yahoo Music Engine) to create a hybrid model. Javascript/HTML can be a very effective rapid prototyping tool.

    For instacalc [instacalc.com], I have an online version and downloadable gadgets to fill this need. I use both thunderbird (fast access to mail, offline access) and gmail (access from any computer) to read my email. The "secret" is letting a web app be a web app, and a desktop app be a desktop app. Use the right tool for the job.

  • by tambo ( 310170 ) on Tuesday April 10, 2007 @04:33PM (#18681411)
    I'm going to point out that I said "Why not just leave the web to things that require the Internet and keep applications on the PC?" in a previous comment.

    And in response, I'll assert that there are many contexts in which internet apps are better designed as locally installed, robust, high-performance desktop apps than as remotely deployed, hinky, inefficient browser-caged apps.

    The term web application is not often applied to Java any more. The term "web app" these days often refers to AJAX (formerly known as DHTML) apps and, less often, Flash apps.

    Google Maps Goes Java For Mobile Phones [mobilemag.com]...

    The "web programming" that we're discussing is a mishmash of all of the disparate technologies that, together, might get the job done. AJAX itself is an amalgam of Javascript, XML, and some server-side language like Java/Python/Python, all running against MySql and in an Apache environment... that's pretty messy. And, yes, if you want something more active than simple forms and Javascript graphics, then you're probably using either Java (terrible) or Flash (also terrible.)

    ...so use absolute positioning instead. You act like it doesn't exist...

    Sure, it exists, but it's nowhere near as streamlined as positioning and sizing in modern desktop programming. If it weren't, web devs wouldn't still be struggling with DIVs and tables and invisible spacer graphics. But they are - they have to jam a half-dozen hacks into the page in order to get control placement to behave normally and uniformly on all browsers.

    The sad state of affairs with web application GUIs is almost entirely Microsoft's fault. IE6 and its rather poor support for CSS2 and DOM, which weren't addressed for 6 years...

    Do you really believe that?

    Imagine what would happen if Mozilla came up with a truly easy-to-use, robust, predictable, high-performance, stable web programming language. Don't you think devs would flock to it? I would in a heartbeat! And what do you think would happen to IE's market share if Google Maps and a horder of other interesting web apps ran beautifully on everything except IE?

    - David Stein

There are two ways to write error-free programs; only the third one works.

Working...