Slashdot Mirror


The Case Against Web Apps

snydeq writes "Fatal Exception's Neil McAllister offers five reasons why companies should re-consider concentrating their development efforts on browser-based apps. As McAllister sees it, Web apps encourage a thin-client approach to development that concentrates far too much workload in the datacenter. And while UI and tool limitations are well known, the Web as 'hostile territory' for independent developers is a possibility not yet fully understood. Sure, Web development is fast, versatile, and relatively inexpensive, but long term, the browser's weaknesses might just outweigh its strengths as an app delivery platform."

431 comments

  1. No Shit. by Anonymous Coward · · Score: 2, Insightful

    The fact that the different browsers render basic sites differently should be warning enough. Add to that different versions etc; You will never have a standardised audience to utilise these. It will always be lowest common denominator.

    1. Re:No Shit. by Frosty+Piss · · Score: 2, Insightful

      The fact that the different browsers render basic sites differently should be warning enough.

      Nonsense. Unless you're using bleeding edge UI widgets, a browser UI is quite easy to replicate accross browsers with the use of targeted CSS or simply thoughtful design. Even with a JS framework for your UI elements, browser diferences are simply not a huge consideration. Unless you want that ActiveX goodness...

      --
      If you want news from today, you have to come back tomorrow.
    2. Re:No Shit. by MightyYar · · Score: 5, Insightful

      The fact that the different browsers render basic sites differently should be warning enough.

      Why would switching to a native app help you here? If the user can't be persuaded to install a compatible web browser, what makes you think that they will install a standalone application?

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    3. Re:No Shit. by msuarezalvarez · · Score: 2, Interesting

      The last time I logged into a "real user" Windows desktop, all the apps I saw looked different. Even applications from the *same* Microsoft Office suite use different widgets, and behave in wildly differing ways---and let us simply not go into the details of the horridness of all instant messaging apps, all manufacturer-provided apps that deal with hardware, anti-virus, media players, and what not. "Completely different" is the new "good", judging from the evidence.

      I would be very surprised if, under a serious evaluation, the way applications "render" on the Windows platform, with applications installed to match, say, a default ubuntu install in functionality, even came close the the more or less uniform way an ubuntu desktop "renders".

    4. Re:No Shit. by mabhatter654 · · Score: 2

      because they HAVE to install your Win95-era GUI app and it will always be an easy to support Win95-era GUI app. Somebody still on IE6 versus Firefox 3 + greasemonkey could be drastically different.. and that confuses the minimum wage help-desk drones.

    5. Re:No Shit. by CaptCovert · · Score: 1

      Because keeping track of what sites(and thus, their web apps) work with which browser is something the average user doesn't want to keep track of. Having a 'Native App UI' shortcut, however, is something your average user doesn't mind as much.

    6. Re:No Shit. by nyvalbanat · · Score: 5, Insightful

      You're not thinking multi-platform. There's more than one OS out there, each with a completely different set of UI api's. Browser discrepancies are a joke compared to that.

      --
      Ubuntu on primary work desktop since Dapper Drake (2006).
    7. Re:No Shit. by MightyYar · · Score: 1

      I guess I don't see why - if your app is so complicated that it will break on IE6 - you can't just do a browser detection and warn the user that they need to install such-and-such for the site to work. Provide a way for uber geeks to bypass the check so you don't get Opera/WebKit whiners, and then make the very first step on the helpdesk script "What browser are you running?"

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    8. Re:No Shit. by DreadfulGrape · · Score: 3, Insightful

      Please read the fine article, if you don't mind.

      Author is specifically referring to enterprise client/server apps. That some dweebs, a few years ago, decided that web front-ends for such apps would be a "good thing" is tragic. Stand-alone, platform-specific front-end applications are infinitely superior in such an environment.

      I've been waiting for someone to write this article for years. 5 Stars.

      --
      sig has been sent away for a few small repairs...
    9. Re:No Shit. by MightyYar · · Score: 1

      I think that's true only in certain cases. If a competitor to Facebook tried to make you install an app, that would fall pretty flat. If it can be done on the web and the performance is okay, you probably shouldn't make the user install something.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    10. Re:No Shit. by jbolden · · Score: 4, Insightful

      Not at all. There are are all sorts of very standard issues which render differently with AJAX based apps. Why do you think even the largest web app vendors like google and yahoo support certain features on say IE and firefox and not on Safari?

    11. Re:No Shit. by jbolden · · Score: 4, Insightful

      As one of those dweebs the reasons were simple. Cost of deployment. If you have a large potential user base with few actual repeat users (which is a very large group of apps) deployment costs per user can be intense.

      For example take 1m potential users and 200 daily (or weekly) users with 50 of them ever repeating within any given year. Do you deploy a million or do 150 deploys per day to essentially random desktops?

    12. Re:No Shit. by SatanicPuppy · · Score: 1

      THIS is EXACTLY the problem. It is NOT always easy to install a GUI app from some other version of Windows.

      I have seen so many goddamn OS specific applications in my time, that I have to restrain myself from reaching across the table and killing the guy whenever it's brought up as an idea.

      Even nice Java apps can be a PITA, because you end up with apps that depend on this or than specific JRE release, and while you can bundle your release with the code, that doesn't always ensure error free delivery across multiple OS versions.

      With a standards compliant web app, it works fine across all common browsers, and, in the worst case, it's much much easier to install an old browser on a modern system than it is to force a user to use an old operating system.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    13. Re:No Shit. by Lennie · · Score: 4, Funny

      Because IE is a mess

      --
      New things are always on the horizon
    14. Re:No Shit. by tholomyes · · Score: 3, Interesting

      Care to cite any specific examples? Are you sure that it's not just because it's easier to test on one or two standard browsers and have an official fallback of "oh, that's unsupported on $x"? A lot of time spent on quirksmode.org has taught me that things are pretty stable across the platforms, with the notable exceptions being older versions of IE and Opera.

      --
      When did the future switch from being a promise to a threat? -C. Palahniuk
    15. Re:No Shit. by MightyYar · · Score: 4, Insightful

      I don't see why my comment doesn't apply? I know I went off on a bit of a tangent, but...

      I think people are forgetting what a PITA it was with installed apps. Obscure bugs, difficulty in making sure everyone had the latest version, locked-down desktops that required IT to install the app, off-site users being SOL, platform dependency, etc. And, the BIG one, everyone in the company thought they were a VB wizard, so you had a bunch of crazy VB and VBA apps floating around without any real central control. At least with web apps you know everyone is running the same version and using the same settings, and there's some accountability for who's in charge of the thing because SOMEONE has to run the server :)

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    16. Re:No Shit. by Anonymous Coward · · Score: 0

      Where would eBay and Amazon be without their WEB Apps?

    17. Re:No Shit. by dingo8baby · · Score: 1

      You are overlooking a significant point.. Safari has a negligible market share. Why cater to niche browsers when only 1-3% of your traffic is coming from them?

    18. Re:No Shit. by Savage-Rabbit · · Score: 5, Informative

      Nonsense. Unless you're using bleeding edge UI widgets, a browser UI is quite easy to replicate accross browsers with the use of targeted CSS or simply thoughtful design. Even with a JS framework for your UI elements, browser diferences are simply not a huge consideration. Unless you want that ActiveX goodness...

      Web-apps have their place but so do stand-alone clients a good developer will know select what is right for a given project. The moment you start using that 'ActiveX goodness' you have essentially created a WebApp that only runs in IE on Windows. Which begs the question why not just write a stand alone GUI client in .NET? That would open up a whole world of UI features ad behaviour web-apps can only emulate either clumsily, with difficulty or not at all. Then there is the security issue ActiveX brings with it. The only thing an ActiveX enabled web-app has going for it is redeploy-once-update-everywhere. The whole point of a web-app is platform independence and that went out the window with the 'ActiveX goodnees'.

      --
      Only to idiots, are orders laws.
      -- Henning von Tresckow
    19. Re:No Shit. by drsmithy · · Score: 1

      Author is specifically referring to enterprise client/server apps. That some dweebs, a few years ago, decided that web front-ends for such apps would be a "good thing" is tragic. Stand-alone, platform-specific front-end applications are infinitely superior in such an environment.

      Right. Because if there's one thing telecommuters and remote workers love, it's a fat-client architecture.

    20. Re:No Shit. by AKAImBatman · · Score: 5, Funny

      The moment you start using that 'ActiveX goodness'...

      ...you should be shot.

    21. Re:No Shit. by RedK · · Score: 4, Funny

      That's why there's Java and swing! (let the moderation wars begin...)

      --
      "Not to mention all the idiots who use words like boxen."
      Anonymous Coward on Monday August 04, @06:49PM
    22. Re:No Shit. by Tarlus · · Score: 2, Insightful

      And my biggest PITA's of all: deployment of updated software, and multiple versions of the program floating around.

      Citing all those listed PITA's in the parent post, I much prefer using web applications in my line of work because they're the best tool for the specific job at hand.

      --
      /* No Comment */
    23. Re:No Shit. by Anonymous Coward · · Score: 0

      Like the parent said, some bleeding-edge things render different, but they are pretty consistent. Pick some standard libraries that already do the IF IE5: DO THIS and don't worry about the <1% of the goofy browser population.

      Gotta make choices somewhere. If the development time was short enough, I would support every browser/screen reader/mobile phone ever created. But generally I'd like to spend my time adding features and capabilities for the 99% of people who use my site.

      Sorry Amiga, I do not have the resources or talent of the endless supply of Google developers.

    24. Re:No Shit. by Tubal-Cain · · Score: 2

      The same could be said of Linux.

    25. Re:No Shit. by QRDeNameland · · Score: 4, Insightful

      While that may sound good in theory, I have yet to see in practice where any web-fronted application had shown any lower deployment/administration/maintenance costs than a comparable desktop app. What may be saved in deployment (and many good enterprise desktop apps manage deployment nearly as transparently as a web app) seems to get eaten up by slow response and flakiness for users, network issues, web server issues, browser issues, and security issues. Admittedly, in many cases this is a matter of badly designed web apps, but in the world of commercial enterprise software, the quality of browser-based apps seems to be worse than the already pretty dismal quality of enterprise desktop apps.

      Browser apps certainly have their place and can be the superior choice in the situations for which they are well-suited, but after the last decade of having way too many utterly painful browser apps forced upon me, I think the reasoning that led so many to the Kool-Aid tub needs to be reassessed.

      --
      Momentarily, the need for the construction of new light will no longer exist.
    26. Re:No Shit. by BBandCMKRNL · · Score: 1

      Please read the fine article, if you don't mind.

      I did.

      Author is specifically referring to enterprise client/server apps.

      Actually he is referring to enterprise apps. His only reference to "client/server apps" was where he said that web apps encourage a thin-client approach, which he likened to client/server apps.

      That some dweebs, a few years ago, decided that web front-ends for such apps would be a "good thing" is tragic. Stand-alone, platform-specific front-end applications are infinitely superior in such an environment.

      I used to work for a company with over 50K desktops. There were NO Stand-alone enterprise-wide applications in that environment. Why? How do you update 50K desktops in a reasonable amount of time? What happens if you have to rollback? With web apps, you update a few hundred servers. In our case, if we ever had to do a rollback, it was a simple directory rename operation.

      I've been waiting for someone to write this article for years. 5 Stars.

      0 Stars.

      --
      Without the 2nd Amendment, the others are just suggestions.
    27. Re:No Shit. by robot_love · · Score: 1

      I've never understood this argument.

      If you're going to force people to install a program, why not force them to upgrade their browser? It's the same thing.

      The 'program' you force them to install is 'Firefox'.

      --
      .there is enough of everything for everyone.
    28. Re:No Shit. by Anonymous Coward · · Score: 1, Informative

      IE, as of 7 still had problems with translucent div's overlaying select boxes with the select boxes bleeding through.

      This is marked in their database as "by design" or what-not and their recommendation is to iframe it or make it non-translucent.

      Joy. Things should work and not have unintended side-effects.

    29. Re:No Shit. by nyvalbanat · · Score: 1

      You make a really good point, it's just that platform-independent standalone UI programming like swing are yet to replace native api's and everyone rushed to the browser instead.

      --
      Ubuntu on primary work desktop since Dapper Drake (2006).
    30. Re:No Shit. by jbolden · · Score: 3, Insightful

      Well you have two issues here.

      1) Web apps are worse. Yes you are right they are. You take a definite hit on quality. The hope is that it doesn't matter too much.

      2) Web apps are harder to deploy. That is simply false. Getting an app deployed in an enterprise can be tens to hundreds of thousands of dollars. Getting it deployed in a half dozen + home systems + laptops can be a million easy. I can easily pay for a few help desk people to work through the remaining issues with networking.

    31. Re:No Shit. by jbolden · · Score: 2, Interesting

      To get to 99% you are supporting something like 5 engines.

      General population:
      Internet Explorer 69.8
      Netscape .5
      Mozilla .1
      Firefox 20.7
      Opera .7
      Safari 7.2
      Chrome .9

      For example on technical sites usage can look like:

      IE7 26.1%
      IE6 19.6%
      Firefox 44.4%
      Chrome 3.6%
      Safari 2.7%
      Opera 2.4%

    32. Re:No Shit. by goltzc · · Score: 1

      Because, people understand the concept of installing software. Most people don't understand that there are different browsers or if they do there is still a chunk of the population that thinks it will take you to a different internet.

      --
      Our bugs are smarter than your test scripts.
    33. Re:No Shit. by SanityInAnarchy · · Score: 1

      Largest isn't necessarily best. Google, in particular, uses browser detection and sends completely different script depending on browser.

      A very basic first rule is, if it's possible to do so, either detect features, or gracefully degrade -- don't detect whole browsers, as you might then be thrown off by something as simple as Iceweasel vs Firefox.

      It's also entirely possible that they've found (and are using) features which aren't standard across all browsers. However, nonstandard stuff is the exception, not the rule, especially when you're using a Javascript library to abstract it a bit.

      --
      Don't thank God, thank a doctor!
    34. Re:No Shit. by Anonymous Coward · · Score: 0

      Do you deploy a million or do 150 deploys per day to essentially random desktops?

      And your are ignoring the the point the grandparent post just made. The article was referring to enterprise client/server apps. That is not a situation where you would be looking at 1m potential users. You may be looking at a couple of 100 to a 10000 for specialist enterprise applications. There are many ways to get around the deployment situations today that did not exist 10 years ago.

      There are some things that just do not work well in a browser or that take 10 times longer to develop in a browser when an application connecting to a web services backend would be a much better solution.

    35. Re:No Shit. by SanityInAnarchy · · Score: 3, Insightful

      seems to get eaten up by slow response and flakiness for users, network issues, web server issues, browser issues, and security issues.

      All of which are every bit as problematic for standalone apps -- except browser issues, and you can always mandate that everyone install Firefox.

      the quality of browser-based apps seems to be worse than the already pretty dismal quality of enterprise desktop apps.

      Meh. Correlation, causation, etc...

      I'll argue that it's still possible to build a good browser-based app on a similar budget as a good desktop app. On top of which, you get portability, the back button / a tabbed UI, easier maintainability (patch everyone at once), and thin-client goodness (your computer's down? Borrow a friend's), all pretty much for free.

      The only technical advantages of a desktop app are performance (browser-based CAD is pretty primitive) and the ability to work offline. The former isn't usually needed -- premature optimization is the root of all evil, and unless you're really talking about CAD, the browser should be fast enough. And the latter is neatly solved with Google Gears, or possibly Adobe Air.

      --
      Don't thank God, thank a doctor!
    36. Re:No Shit. by MightyYar · · Score: 1

      If you have someone that dense, then they won't be any more confused when told to click on the link for Firefox than for any other software install.

      Click here! looks the same no matter what the underlying link is.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    37. Re:No Shit. by Dolda2000 · · Score: 4, Informative

      That's why you have Java Web Start. It's as easy to deploy as a web application (it is just a couple of files on a web server), and you get the full goodness of a locally running application. And, since it's Java, it doesn't even take much effort to make sure it even runs on other clients than Windows desktops.

    38. Re:No Shit. by thetoadwarrior · · Score: 1

      There is always Java for creating something more unified across all browsers.

    39. Re:No Shit. by Unordained · · Score: 2, Insightful

      ... and stuff like wxWidgets, too. Multiple languages, multiple platforms, looks and acts like the running environment. No VM required. (Yes, I know, gcj exists ...)

    40. Re:No Shit. by QRDeNameland · · Score: 2, Informative

      2) Web apps are harder to deploy. That is simply false.

      Note that I never said that web apps were harder to deploy, only that in my experience the argument that web apps were significantly less costly to deploy, administer, or maintain has not been the case. Again, *in theory* they should be, but after a decade of involvement with the rollout and maintenance of dozens of enterprise apps (both desktop and browser) to thousands of users, I've never seen the payoff. YMMV, but I know I'm not alone in this assessment.

      --
      Momentarily, the need for the construction of new light will no longer exist.
    41. Re:No Shit. by akira69 · · Score: 1

      Amen brother. Back in 1995 my standalone databasing application was 10x faster than the web based crap we use today. Even the best web based applications are excruciatingly slow compared to a the same desktop app. I agree that there's some app's well suited for web, but large databases, file repositories, etc are hindered by slow connections, rendering, etc.

    42. Re:No Shit. by triffid_98 · · Score: 1
      So lets make it a web service? Web front ends are fine if that's what you want. If you don't, you have other options...

      That some dweebs, a few years ago, decided that web front-ends for such apps would be a "good thing" is tragic.

    43. Re:No Shit. by againjj · · Score: 2, Informative

      I believe that the Mac has more than 1-3% market share, and 90+% of Mac users use the default browser. Doing a quick Google search shows a minuscule percentage on Windows, but about 8% overall as of Jan 2nd.

    44. Re:No Shit. by timmarhy · · Score: 1

      you don't install them on use desktop one by one you retard, you use citrix, web start or a decently admined domain that pushes installs out for you.

      --
      If you mod me down, I will become more powerful than you can imagine....
    45. Re:No Shit. by Rich0 · · Score: 1

      By that logic - why not just go full win32 client-server and cater to a single OS and drop the browser entirely?

      The argument was that web standards are not well-implemented. The fact that I can't reliably use google maps over webkit is a legitimate example.

    46. Re:No Shit. by cicatrix1 · · Score: 1, Funny

      Whoa where can I download this browser called Linux?

      --

      I know more than you drink.
    47. Re:No Shit. by Nerdfest · · Score: 1

      How about something like Eclipse RCP as a middle ground? Thick client features on a common cross-platform base? It also takes care of a lot of the data binding and other app plumbing.

    48. Re:No Shit. by Nerdfest · · Score: 1

      Sorry to reply to myself, but it also address the big remote deployment problem, as it will take care of automatically updating features.

    49. Re:No Shit. by MichaelSmith · · Score: 1

      Nonsense. Unless you're using bleeding edge UI widgets, a browser UI is quite easy to replicate accross browsers

      Of course it is, but it doesn't seem to happen that way. Web apps at my workplace which have been purchased from outside all require IE.

    50. Re:No Shit. by Tatsh · · Score: 2, Interesting

      There is also Qt, totally easy to use (macro-based C++ code style). On Windows and Mac, it actually calls to load the native widgets instead of making its own, unlike so many other APIs for Windows.

      UI inconsistency has been a problem forever and it seems to never end. Microsoft fails to keep the UI consistent, Apple at least tries, and Linux has UIs in whatever way the developers want them. Open up XChat, there's no File Edit View menus, there's XChat View Server menus. It may make sense once you get used to it but it is still inconsistent. There are no 'files' to deal with in XChat but the menu names are inconsistent. Then there's Pidgin with different menu names as well.

      KDE and GNOME both try to fix this problem by having interface guidelines, just as Microsoft and Apple do. The problem is when someone (even someone like me) wants a quick and dirty solution that needs a GUI, they could care less about GUI guidelines and they want something that will work for THEM.

      On the web, we cannot standardise UIs that are programmed with JS or whatever you wish to use because every site has their style sheet to keep their site unique. All we really need is completely standardised JS and web layout across the board for browsers.

    51. Re:No Shit. by YojimboJango · · Score: 1

      It doesn't even have to be non-repeating users.

      I have an app that's currently a stand alone, but the licensing for each app has to include a license for a ocr. That makes each install at minimum $50 bucks.

      We're taking a hard look at a web interface that runs a 'lite' version of our software for clients of ours that only push low volumes around, and wouldn't be profitable if we had to eat a $50 deployment cost.

    52. Re:No Shit. by RichardJenkins · · Score: 2, Interesting

      True, but IE7 less so than IE6 and IE8 less so than IE7. As time goes on the more rigorously you adhere to standards the more likely your pages will render identically on different browsers.

      I just wish people would ditch IE6. It still has about a 10% hit rate on our corporate site getting ~3k visits a month.

    53. Re:No Shit. by quanticle · · Score: 1, Insightful

      Well, on the (admittedly few) occasions I have used a Mac, logging into GMail via Safari has always led me to the "basic HTML" version of the site. Turning off the browser check caused GMail to not render at all. So, I don't know what kind of JavaScript/CSS GMail uses, but everything works fine on Internet Explorer and Firefox but is broken on Safari, Konqueror and Opera.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    54. Re:No Shit. by lgw · · Score: 1

      Geting a new app deployed in many large companies is a matter of getting it added to the standard images, and waiting for the quarterly roll out (to 100s of thousands of desktops). The quarterly (or whenever) rollout is quite expensive, but the marginal cost for your app (or update) is quite small.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    55. Re:No Shit. by Daengbo · · Score: 1

      But, since we're talking about business use, you just need to write for one of the engines and standardize your business on that engine to reach 100%. It's not hard, really, and has been happening for a decade, probably.

    56. Re:No Shit. by hudsucker · · Score: 4, Insightful

      In my experience what happens is the opposite problem:

      1. Corporate IT department decrees that all machines will only run WIndows, and will only use Internet Explorer, because that way there is only one client version to target.

      2. Corporate IT develops (or buys from a vendor) a web based application. It becomes widely deployed.

      Needless to say, said web application only works with IE. Why should it work with anything else? See item #1.

      3. A new version of IE comes out. The widely deployed app won't operate with it, because it was designed to be dependent on ActiveX, and it is incompatible with IE version what-ever-we-have +1.

      4. So, corporate IT decrees that no one using this application can upgrade IE until the app has been fixed and tested.

      Which is why we are still using IE 6.

      Now the interesting question is, what happens when we need to use two web apps, each of which has different (and mutually exclusive) browser version requirements?

      The ironic thing is that if in step #1 they had said we can use any browser, on any O/S, then we wouldn't be in this mess, because the web apps wouldn't be browser version specific.

    57. Re:No Shit. by sremick · · Score: 0, Offtopic

      Which begs the question why not just

      No it doesn't. It raises the question.

    58. Re:No Shit. by sremick · · Score: 1

      The fact that the different browsers render basic sites differently should be warning enough.

      I would think the fact that people might not want their ability to do work and use their computer be dependent on a broadband connection, wired or otherwise.

      One of my main gripes about "smartphones" versus PDAs.

    59. Re:No Shit. by Tubal-Cain · · Score: 3, Funny

      kernel.org

    60. Re:No Shit. by lysergic.acid · · Score: 2, Interesting

      there are good web apps and bad web apps, just like there are good/bad desktop apps.

      using frameworks like jQuery, YUI, Prototype, etc. you can easily develop complex web apps with advanced interfaces that is cross-browser compatible. if the web apps at your workplace all require IE, then you need to talk to the person making the purchases. not only do they need to realize that there are better browsers (and the need to support open web standards), but also that any web developer oblivious to web standards and cross-browser compatibility is by definition incompetent, if not dangerously inept in other areas as well.

    61. Re:No Shit. by jbolden · · Score: 1

      Safari is currently 7.2% of the market. That's not negligible.

      Moreover the GP was arguing the differences don't exist, you are arguing they do exist but don't matter because non I.E. non FF market share is too small.

    62. Re:No Shit. by edmicman · · Score: 1

      Because nobody uses Safari?

    63. Re:No Shit. by jbolden · · Score: 3, Interesting

      I can certainly cite examples of costs like $80k + $13k / yr for $2.3m potential users. I've never developed and deployed a desktop app for $.03 a user.

    64. Re:No Shit. by edmicman · · Score: 1

      heh, I think you described every single developer my company employs. WTF are they using client-side VBScript???

    65. Re:No Shit. by MichaelSmith · · Score: 1
      Where I work there are three main ways that IE webapps get procured:
      • Our IT contractor provides the tool. If you complain they just say they only support IE and that is the end of the issue.
      • Non technical business groups buy the tool. Technical details like supported browsers are left to the supplier. Typically these tools have so many bugs that html standards are the least of your worries.
      • Somebody in house develops a tool, most likely with the idea of bootstraping themselves into a better job elsewhere. To accomplish this they get the company too pay for a new you beaut tool which goes straight on to their resume.

      I personally find a small, subset of html to be perfectly fine for a web app. As long as you can lay stuff out and get the colors straight it works perfectly well. I have absolutely no idea why so many people want to go the other way. Except possibly the last group I mentioned who seem to think it sounds more professional to say "we support these browsers".

    66. Re:No Shit. by jbolden · · Score: 1

      Try and control your passion here, "retard" doesn't make the case any better. And for 1m potential user installs it isn't a single domain but rather a hundred domains with different configurations for many of them and then still thousands of odd ball systems.

    67. Re:No Shit. by jbolden · · Score: 1

      The apps I'm talking about were enterprise apps. Just large diverse enterprises that need to distribute the app to partners, customers, 3rd party sales people....

    68. Re:No Shit. by jbolden · · Score: 1

      That might work if end users all had it. Its a good idea. But end users often can't deploy their own apps.

    69. Re:No Shit. by jbolden · · Score: 1

      It might be multiple companies. For example vendors, partners, 3rd party sales people....

    70. Re:No Shit. by jbolden · · Score: 1

      I agree that's what is usually done.

    71. Re:No Shit. by jbolden · · Score: 1

      Good example of another type of problem!

    72. Re:No Shit. by Anonymous Coward · · Score: 0

      More and more "employees" down work for a company anymore; they're contractors, partners, or even clients/customers. Will we give all these people a laptop? I doubt it. Are we going to install an app on whatever random bit of hardware they have? I also doubt that one.

      Web apps let us deliver our functionality to anyone anywhere in the world as long as they have an internet connection.

    73. Re:No Shit. by tftp · · Score: 4, Interesting

      By that logic - why not just go full win32 client-server and cater to a single OS and drop the browser entirely?

      And that's a very good question indeed. You do not even have to constrain yourself to Win32 - use Java, for example, delivered either over the Web through a browser or just downloaded and executed in whatever way the client wants. Then you lose nothing and gain a lot.

      Basically the question is: what value does a browser add to your application? I can see two: it is already present (and so requires no download) and it contains a set of UI controls that you don't have to write. Both advantages are minimal.

      Minimal advantage 1: If your app is net-based it can be safely presumed that downloading of a JAR (for example - it could be a Qt executable just as well) is not a problem. If the bandwidth is limited then you are actually far better off with a custom app because it can talk to the user on its own, and can buffer net packets. Then cost of one-time download of the app itself is dwarfed by savings on traffic and latency.

      Minimal advantage 2: prepackaged UI controls. That is really laughable. There are tens of UI libraries out there, and each of them is better than those pathetic forms that HTML offers. You also will be using a real language, not JS. Your application can be highly interactive, use widgets that browsers don't have, can do tons of local processing... in other words, it would be better, and it would be the same on every computer, since the browser is out of the picture.

      So why people still try to cram the application into a browser? I'd say conservatism plays a major role. Online games, for example, are not ran in the browser, though they are heavily net-based. In other cases the super-thin client makes sense; for example, maps - the client just does not have the data to display, so it has to download it from the server, so it makes programmer's job easier to just ask the server to prepare the whole image, and then the client only shows it. But Google Earth also exists, and that is a far more advanced application - and if it can be easily loaded and started just by following a Web link then there is no reason to run anything in the browser. In fact I use Google Earth more often than maps.google.com, though as I said both are good.

      The best scenario I can think of when use of a browser makes sense is when your app is so simple, and your needs are so basic, that you benefit from the infrastructure that is already present in the browser. Google Mail, though, is outgrowing the browser very quickly; I could implement the whole UI in Qt within a week, easily - and how many people worked, and still work, and *will* work on hacking AJAX to make GMail work on 33 browsers? This is a good example of conservative / legacy situation, when every Web mail was a web mail, and Google had to compete in that area. But today if Google offers an equivalent of Google Earth for mail - with additional features that are available only there, like built-in PGP/GnuPG/SMIME support, or caching of messages, or automatic archival of all your mail as it comes, or HTML mail, or many more - then I'm sure there will be tons of people interested, just like tons of people use Google Earth or Picasa. Google servers will benefit too, since they don't have to cater to every user's action - they only need to serve pure data, and only that data that the client hasn't already cached. Basically, a better IMAP client, only with Google's "conversations" and UI.

    74. Re:No Shit. by jbolden · · Score: 1

      7.8%

    75. Re:No Shit. by phagstrom · · Score: 1

      Does it run on windows?

    76. Re:No Shit. by pinkstuff · · Score: 1

      Mod parent up. I'm not sure why Web Start hasn't caught on more, it seems to solve all of the problems a corporate type web-app faces.

    77. Re:No Shit. by xtracto · · Score: 1

      Does it run on windows?

      One of its many versions DOES run on windows

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    78. Re:No Shit. by Anonymous Coward · · Score: 0

      With regards to point two, I think you have just experienced extremely poor corporate networks.

      In all the truly large corporate environments I have worked in, desktop applications can be deployed remotely to any machine connected to the network at the click of a button.

    79. Re:No Shit. by Cokeisbomb · · Score: 1

      That was true before Safari hit 3.0. On Pre 3.0 versions of Safari things like Gmail chat and many (gasp!) sports websites auto-refreshing scoreboards refused to work. Ever since Safari 3.0 it's been the most reliable browser for me - on any platform.

    80. Re:No Shit. by Firehed · · Score: 1

      If you're working around a solid JS library (I use jQuery constantly, but there are many others), there's no reason that you can't be fully cross-browser at least from a client-side scripting perspective. Dealing with CSS issues is a different story, but all of the recent Webkit and Gecko-based browsers (Safari and Firefox being the most well-known) plus whatever Opera uses tend to render identically*, and even IE7 usually gets fairly close to the mark unless you're doing some weird hacks or using certain newer (pseudo-)selectors or properties. In my very limited testing, IE8 renders just fine too, and I'm pretty sure that Ballmer had considered the idea of using Webkit for a future version of IE (9?) when it was suggested to him. IE6, as usual, is a complete mess - but even some bigger sites are really starting to tell any remaining IE6 users to suck a fat one.

      *Except the button element, which flatly refuses to follow the box model in any browser. Easy enough to deal with by simply styling associated label tags and hide the buttons themselves.

      --
      How are sites slashdotted when nobody reads TFAs?
    81. Re:No Shit. by Firehed · · Score: 1

      Safari has been picking up a not insignificant amount of market share as Mac sales have been increasing, and even if it was only 1-3% of all traffic (which sounds extremely low), you're missing an important point: if it renders as desired in Safari, it will render the same way in Firefox, or VERY damn close. Numerous cross-browser, easy-to-use JS libraries exist that nullify any scripting differences between the major browsers.

      --
      How are sites slashdotted when nobody reads TFAs?
    82. Re:No Shit. by dingo8baby · · Score: 1

      Well, i would say from google or yahoo's perspective, 7.2% is negligible. Otherwise, wouldn't they support it for the apps you were referring to? I mean, we aren't talking about windows vs linux here, the differences between browser AJAX support and standards compliance aren't large enough that it can't be done without a separate development team.

      The difference in compatibility between FF and IE (especially 6.0) is staggering, but they choose those browsers to support, and this decision is made with market share in mind, not standards compliance.

      And i took the GPs point to be that the differences are minute, not non-existent.

    83. Re:No Shit. by Firehed · · Score: 3, Interesting

      Minimal advantage 1: If your app is net-based it can be safely presumed that downloading of a JAR (for example - it could be a Qt executable just as well) is not a problem. If the bandwidth is limited then you are actually far better off with a custom app because it can talk to the user on its own, and can buffer net packets. Then cost of one-time download of the app itself is dwarfed by savings on traffic and latency.

      Will your JAR package run on my iPhone? No? Because any decently-written web app out there will. Slowly, mind you, but it runs nonetheless.

      Minimal advantage 2: prepackaged UI controls. That is really laughable. There are tens of UI libraries out there, and each of them is better than those pathetic forms that HTML offers. You also will be using a real language, not JS. Your application can be highly interactive, use widgets that browsers don't have, can do tons of local processing... in other words, it would be better, and it would be the same on every computer, since the browser is out of the picture.

      Define "real" language. One that's pre-compiled? One where you have to allocate memory on your own? One where you're sending raw machine code to the processor? As far as I'm concerned, either your code causes the desired effect to happen by some means or it doesn't. The fact that I don't have to fuck around with all of the low-level stuff by writing a few lines of JS instead of a few hundred lines of $realLanguageOfChoice is a plus for me. No, I wouldn't want to try applying Photoshop filters with JS, but the 99% of things that I might want to do are often much faster to write in some sort of scripting language because I don't have to re-invent the wheel every time.

      The best scenario I can think of when use of a browser makes sense is when your app is so simple, and your needs are so basic, that you benefit from the infrastructure that is already present in the browser. Google Mail, though, is outgrowing the browser very quickly; I could implement the whole UI in Qt within a week, easily - and how many people worked, and still work, and *will* work on hacking AJAX to make GMail work on 33 browsers?

      And I could re-write the Gmail interface from scratch in a week too, provided I had nothing better to do with my time (maybe without an IE6 stylesheet, but even Google forces IE6 users to go into an outdated interface). It's a matter of playing to your own strengths. Google's so damn big that they overcomplicate a lot of things, Gmail included. I won't hold that against them as I live in Gmail.

      A lot of the additional things you mention would work perfectly fine in the browser with not a tremendous amount of additional effort - it would mostly be a matter of updating the behind-the-scenes API to support the new functionality. Once you have a good design and a solid API to work with, hooking the two together (your AJAX calls, the dynamically-generated HTML, etc. in web apps) is pretty damn simple if you know what you're doing. The only thing you mention that wouldn't be easily solvable cross-browser is local caching and archival of messages; this is already done partially through Google Gears (just enabled in Gmail a few days ago), and client-side databases and related storage are part of the HTML5 spec (Webkit tends to be on the bleeding edge of this, and a LOT of browsers are powered by Webkit - there's a good chance that it will eventually become The rendering engine for the web, including in IE).

      Don't get me wrong - there are plenty of places where web apps aren't at all the right approach. Games, as you mention, in addition to other 3d-heavy apps and very animation-heavy things in general. That constitutes a very small portion of my CPU cycles, but everyone is different of course.

      --
      How are sites slashdotted when nobody reads TFAs?
    84. Re:No Shit. by shutdown+-p+now · · Score: 1

      On Windows and Mac, it actually calls to load the native widgets instead of making its own, unlike so many other APIs for Windows.

      At least on Windows, it doesn't - it draws and handles all widgets itself, it merely does that in such a way that they're almost pixel-perfect matching the native widgets (but there are still ways to detect Qt when using the app). Just check the source.

    85. Re:No Shit. by Firehed · · Score: 1

      Code for standards, and then write fixes for IE6 an IE7. Aside from some almost imperceptible differences* between Gecko and Webkit (which power almost every browser that's not IE or Opera), that will get you either there or remarkably close. And as Opera adheres to the HTML and CSS standards just as well as current versions of Webkit and Gecko, that's a non-issue. Use any of the dozen or so cross-browser javascript libraries and all you'll need to do is write a couple of conditional stylesheets to deal with IE7 (not too painful) and IE6 (oh, fuck it, just do a *{display:none !important;} and be done) and suddenly anyone with an internet connection can use your New Awesome Web App.

      *The rarely-used button element is an ass, the even more rarely-used dl/dt/dd trio can be a tiny bit unpredictable but at least seem consistently so. Net effect: practically zero.

      --
      How are sites slashdotted when nobody reads TFAs?
    86. Re:No Shit. by Martian_Kyo · · Score: 0, Troll

      And since it's java it will be painfully slow and resource consuming,

      but stable i suppose.

      Back to the original discussion web apps are better as far as distribution is concerned, once you distribute a web app to servers you KNOW everyone is using the new version and not some old version with a potential bug or exploit.

      Then again, web apps are easier to exploit, it's amazing what you can do with http headers.

    87. Re:No Shit. by Anonymous Coward · · Score: 0

      Problem is, you don't get the "instant updateability" of web apps. Some people will run older versions (even if JWS tells them to update, everyone hates waiting for apps to download and update). With a web app, you can be sure that everyone is running the latest client all the time and you can push updates whenever you wish. Web apps are just inherently the optimal way to maintain centralized control of an application, because the user has to be interacting with a server running your code to use the app, and you control exactly what they see.

    88. Re:No Shit. by Keeper+Of+Keys · · Score: 1

      I dream of the day every website gets only 10% IE6 traffic. But if this graph is at all accurate (I'm skeptical), it may happen this year.

      But we're over the "hump"; now there needs to be a general push among developers to refuse to support IE6, or at least put it in the 'graceful degradation' category with a notice on the site - easy to add using conditional comments - that the user is getting a below-par experience.

    89. Re:No Shit. by Keeper+Of+Keys · · Score: 1
    90. Re:No Shit. by tomtomtom777 · · Score: 1

      The fact that the different browsers render basic sites differently should be warning enough. Add to that different versions etc; You will never have a standardised audience to utilise these. It will always be lowest common denominator.

      Are you suggesting that different Operating Systems are very much standarized?

      You have less compatibility issues in developing for different OS-es then you have when developing for different browsers?

    91. Re:No Shit. by Anonymous Coward · · Score: 0

      Exactly the same as the percentage of homosexuals in the population. Coincidence?

    92. Re:No Shit. by Hognoxious · · Score: 2, Insightful

      Stand-alone, platform-specific front-end applications are infinitely superior in such an environment.

      You've clearly never used SAP.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    93. Re:No Shit. by Rich0 · · Score: 1

      You mention the iphone, but my headache is that half of the web-based apps won't work on my desktop. I browse using konqueror (which is pretty standards-compliant as far as I'm aware). And somehow I doubt that half of the ajax-based websites out there would run on a smartphone (maybe the iphone - not because it is the iphone but because it is popular enough that web designers might just tweak the living daylights out of their sites to get it to work).

      The problem really is that html wasn't really designed to run major applications - it was designed as a simple presentation language, and some very simple scripting (mainly for presentation purposes) was bolted on. The fact that this stuff could be hacked into gmail is nice, but the lack of polish shows how much the original design is being stretched.

      I really don't want to have a list of browsers that I switch between based on the sites I visit. I'd like to use a browser of my choice that meets some stated standards-based specification and have everything just work.

    94. Re:No Shit. by Dracophile · · Score: 1

      Siebel. That is all.

      --
      Athy, athier, athiest.
    95. Re:No Shit. by Dolda2000 · · Score: 2, Informative

      Actually, that is not quite true. Every time the user runs the JWS program locally, the JNLP client connects to the server to see if there's a upgrade available. It's even so good that it simply does the check per JAR file, so the program is upgraded very quickly, as only the files that have actually changed are re-downloaded.

    96. Re:No Shit. by jbolden · · Score: 1

      I doubt that. You can deploy to a select group of confirming desktops at the click of a button.

    97. Re:No Shit. by jbolden · · Score: 1

      Safari customers are generally higher on the economic scale. So at 7.8% we assume that if it cost less than 8.6% of the cost of the app (7.8%/.90 = .86) to make the adjustments for Safari they would. So it must cost 10% or more of the development cost to adjust to Safari. Those are big differences.

    98. Re:No Shit. by Tatsh · · Score: 1

      Well, I'll still support that over GTK+'s ugliness that, at least on Windows, looks nothing like a Windows app.

    99. Re:No Shit. by williamhb · · Score: 2, Insightful

      Basically the question is: what value does a browser add to your application? I can see two: it is already present (and so requires no download) and it contains a set of UI controls that you don't have to write. Both advantages are minimal.

      I can add a few more:

      • Reduced workflow. A potential user / customer who discovers your service does not need to stop, download an application, find an admin who can give them permission to install it, etc, in order to become a customer. (Java / Flash don't necessarily solve this because of the next point.)
      • Minimal requirements. You know all your customers have a browser of some sort. Many of them may not have Java / Flash / .Net, or may have switched to a different browser for which they have not downloaded the relevant plugin.
      • Political safety. Few people moan that GMail is not open source. If it was a client application, rather than something server-side for which you don't even get the bytecode, there would be more political pressure to give the IP away.
      • Interaction with other sites, including search engines. Google's crawlers certainly cannot index the inside of my thick Java application. And even if it could, what URL could it give if my application sits on the desktop?
      • Evidence of user preference [for some sites/applications]. EBay bidding applications are ten a penny, but the vast majority of eBay customers still go through the website. So there are certainly occasions where users prefer the browser (though Word suggests there are other occasions where they don't).

      And there are probably many more. For the most part, technologies aren't just chosen on whims but for business reasons (though 'it's what we have expertise in' can be a compelling reason)

    100. Re:No Shit. by ckaminski · · Score: 3, Insightful


      Will your JAR package run on my iPhone? No? Because any decently-written web app out there will. Slowly, mind you, but it runs nonetheless.
      </quote>

      And that's the idiot devs at Apple, for spurning the HUGE market of J2ME for platform control.

      It's the number one reason I'm not buying another phone without great J2ME support. I have applications I just won't do on the web - web applications are useless, for example, when your not in a 3G area, and trust me, that's more common still in America than you probably realize.

    101. Re:No Shit. by donjefe · · Score: 1
      • Web applications do not cost less to develop, or take less time. Anyone who thinks this has never developed anything of substance.
      • Client horsepower is not always as "cutting edge" as Microsoft would like you to believe. Contrary to popular belief, employers do not retrofit each employee with a new Vista twelve core laptop every other week, thus using server horsepower is the great equalizer.
      • Deploying standard applications is quite problematic in any environment of any size. I deal with it daily in hospitals with thousands of employees. If only Windows had something like, "apt-get install FooWidet"... In this scenario, a web application is greatly appreciated by all. Let's also talk about the continuing cost of software upgrades for deployed applications. This can be equal to, or even more than the initial cost of the installation. For web applications upgrades, your per client cost can be as low as 0.
      • Standard applications tend to use fat communication. Databases are contacted on all manner of ports, huge recordsets are retrieved, etc. Windows blocks all the fun ports you would like to use, so do firewalls, routers, etc. It is easy to get simple HTTP anywhere.
      • Flash/Flex/Silverlight are not really web applications per say. Their environment happens to be housed inside a browser window, but they are running locally. They have the deployment/access benefits of web applications, but the memory/processor usage issues of standard applications. Their biggest downfall is the strict security sandbox they must run in, which really limits what you can do with them. Even so, I think this is the future of web applications, since I can make my application behave like (mostly) a standard application without the silly amount of effort required when trying to make a regular web application do the same.
    102. Re:No Shit. by ckaminski · · Score: 1

      I think the fact that not one, but THREE major vendors are spearheading the next generation of Web language is a pretty damn good sign that HTML/DHTML is reaching it's limit.

      Silverlight
      Air
      JavaFX

      I'd put my money on Adobe winning this battle, personally. They just have years of presentation and layout skill under their belts. However Microsoft is just too entrenched to go silently into that good night - so the market will be fractured, just like it was with Flash/Shockwave.

    103. Re:No Shit. by JasterBobaMereel · · Score: 1

      Client app - many flavours of Windows XP,32bit,64bit,SP1,Sp2,Sp3, Vista Business/Enterprise/Ultimate, Sp1,Sp2, 32,64 with many different configurations and software already installed to conflict with, on top of that various networking configurations, and security settings

      Web App - insulated from much of the above but with multiple browsers/versions of browsers/plugins/security and privacy settings

      Seems that the browser varieties and variations are so complex that they do not aid installation ... but they do help a little ....

      --
      Puteulanus fenestra mortis
    104. Re:No Shit. by Taevin · · Score: 1

      At least on Windows, it doesn't - it draws and handles all widgets itself, it merely does that in such a way that they're almost pixel-perfect matching the native widgets (but there are still ways to detect Qt when using the app).

      No, although this used to be true. Newer versions of Qt use the native platform APIs to draw widgets instead of using emulation.

    105. Re:No Shit. by discord5 · · Score: 1

      The moment you start using that 'ActiveX goodness'...

      ...you should be shot.

      out of a cannon, into the sun

    106. Re:No Shit. by Shotgun · · Score: 1

      No need. He'll eventually either stop with the ActiveX madness, or take care of the shooting himself.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    107. Re:No Shit. by davolfman · · Score: 1

      Except that my Palm doesn't have a JVM. So at my work I can enter my reports and write my schedule with the browser-based app, but I can't do my java timecard without a Windows box (the Java app doesn't like Firefox either.).

    108. Re:No Shit. by garnetlion · · Score: 1

      Yeah, but then you're running Java.

    109. Re:No Shit. by Dolda2000 · · Score: 1

      Yeah, but then you're running Java.

      Yeah, which is bad indeed. But infinitely better than a web browser.

    110. Re:No Shit. by Anonymous Coward · · Score: 0

      i think not

    111. Re:No Shit. by mounthood · · Score: 1

      That's why you have Java Web Start. ... it doesn't even take much effort to make sure it even runs on other clients than Windows desktops.

      You can even use native libraries! So if you *must* have that native C dll/so, you can use JNI, sign the files, and you can still deploy with Web Start. It'll run on all the platforms you provide libraries for. (I was amazed when I learned this recently. Why isn't this everywhere?)

      --
      tomorrow who's gonna fuss
    112. Re:No Shit. by ksd1337 · · Score: 1

      Please read the fine article, if you don't mind.

      ...you must be new here.

    113. Re:No Shit. by shutdown+-p+now · · Score: 1

      As far as I remember, it uses the API (uxtheme) to draw widgets - in terms of graphical primitives, that is - but it doesn't use the native widgets as such (i.e. the built-in window classes such as STATIC and BUTTON). This is the same that e.g. Java Swing does, only Qt does it much better. This doesn't, however, make the widgets themselves native, because the actual behavior is provided entirely by Qt.

    114. Re:No Shit. by hobbit · · Score: 1

      And that's the idiot devs at Apple, for spurning the HUGE market of J2ME for platform control.

      I'm sure your experience at running a multi-million dollar business that competes with Microsoft tells a different story, but Apple are quite happy making a hardware-software combo that looks and feels rather better than your average Java app.

      --
      "Wise men talk because they have something to say; fools, because they have to say something" - Plato
    115. Re:No Shit. by hobbit · · Score: 1

      And I could re-write the Gmail interface from scratch in a week too, provided I had nothing better to do with my time (maybe without an IE6 stylesheet, but even Google forces IE6 users to go into an outdated interface). It's a matter of playing to your own strengths. Google's so damn big that they overcomplicate a lot of things, Gmail included. I won't hold that against them as I live in Gmail.

      You wouldn't live in GMail if it had been written in a week. Have you ever even seen the back-end code for a sizable web app, let alone written it?

      --
      "Wise men talk because they have something to say; fools, because they have to say something" - Plato
    116. Re:No Shit. by DuckDodgers · · Score: 1

      I can't believe the author of this article. There are two enormous benefits to a web application that he overlooks:

      1. Software Updates. We deploy updates to the server when we're ready, and all clients get the updates immediately. End of story.

      2. Tech Support. With our fat client software, any time there was almost any problem with a client PC we got a phone call. That included hundreds of times when power cords were disconnected, our software was inadvertently uninstalled, icons were accidentally renamed, hardware failed, PCs were stolen, and viruses caused problems. With our web based system, it's far easier to (politely) inform both the end users and their in-house support staff that a PC that can't access the internet for any reason is their own problem, not ours.

      A web based system has plenty of its own headaches, but it's far easier than the fat client software it replaced.

    117. Re:No Shit. by oreaq · · Score: 1
      And yet today all these unpersuadable users "install" HTML pages, JavaScript code, Flash objects, and all kind of other "applications" day in and day out. Some day in the future these applications will even include local storage and they will gain ever more and more functionality.

      Surprisingly the dichotomy "web page" vs "application" is false. One would not expect that from a dichotomy.

    118. Re:No Shit. by ckaminski · · Score: 1

      Yes, actually, I'll call them to the carpet on it - aforementioned experience or no.

      There's a shit-ton of really great Windows software out there, and a crapload of well, crap - that doesn't make Windows any less of a great platform to develop and use.

      So yes, I think it's a huge failing on their part, and one of the two reasons their "smartphone" isn't currently residing in my pocket. The other is a keyboardless design.

    119. Re:No Shit. by MightyYar · · Score: 1

      Maybe what this says is that operating systems should become more like web browsers or risk being overtaken by them.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    120. Re:No Shit. by hobbit · · Score: 1

      It's fairly typical of people who use neither a Mac nor an iPhone to say that it's no better than the alternatives.

      It's fairly untypical of people who use either a Mac or and iPhone to say that it's no better than the alternatives.

      I know you're not an iPhone user (because you said so) and I'd bet you're not a Mac user (because I've never met a Mac user who thinks there's a substantial amount of really great Windows software).

      In other words, your lack of experience is compounded by your ignorance.

      --
      "Wise men talk because they have something to say; fools, because they have to say something" - Plato
    121. Re:No Shit. by oreaq · · Score: 1

      It seems to me that the main problem is interoperability and connectivity between all those computers out there. And that is a really hard problem. Trying to solve this problem Microsoft created the whole virus industry by opening up every service that one could think of to every other computer in the mid and late nineties. Browsers are at the other end of the spectrum. They only allow minimal interaction between some computers (a "client pc" only talks to a "server"). The solution to the problem is somewhere in between. A good -- i.e. safe -- way to find the solution is to start with the minimal browser model and slowly add functionality while learning the consequences of each add feature.

    122. Re:No Shit. by lgw · · Score: 1

      Well, for external apps, Web apps have a huge advantage. But for internal apps, for use by people already participating in your software deployment infrastructure, not so much. Most large companies *have* a software deployment infrastructure, as that's the only way to cope with 10s or 100s of thousands of desktops, so the disadvantages of client-server apps are minimized.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    123. Re:No Shit. by meregistered · · Score: 1

      Hmmm

      Some interesting points. However I do not see having a fairly standard platform for nearly any OS that supports a GUI as a minimal advantage. Java is not as prevalent as browsers. And (although you don't mention it) .NET is definitely not as prevalent as browsers. I suppose PHP, Perl, Python, etc... can be considered cross platform as well but still not as prevalent...
      For instance, nearly any new phone has a browser, regardless of the OS. Game consoles generally (these days) have a browser, again regardless of OS. Most *nix systems have a GUI which sports a browser. If the logic is on the server (and no you DON'T have to use JS), then ALL of these platforms can inherently run your app (and really JS is a REAL language even though you might not like it's platform).

      Finally in your Google example: if they did use QT, how many platforms would suddenly lose the ability to provide their users access to gmail?
      Summary: Browsers as a development platform are far more ubiquitous than any other development platform including Java. Relating to the original story: remember back before M$ established their empire and there were many OSs to write programs for? Consider the cost of writing a program that supported: Atari, Amiga, DOS, OS2, Mac (actually can't remember when the first Macs appeared...), etc... That was a considerably more 'hostile' environment for independent developers... and, depending on what language you are using that hasn't changed a lot (with scripting languages and JIT compiled languages, as well as cross platform libraries such as SDL making things easier...). Anyone volunteering to write a C/C++ app for phone OSs, & Linux, & Windows, & Mac, & Solaris, & Unix, & PS3, & Wii??
      In the end I still suggest that the browser is the most abundantly available platform to develop on.

    124. Re:No Shit. by meregistered · · Score: 1

      Interesting...
      Are these webapps IE specific (Active X etc...) by any chance. Or maybe they are ASP.NET apps?
      Or maybe what you are experiencing is poor application design. Which would be present in any app. I think what you might be misunderstanding is that web enabled applications are still just applications. If done properly the specifics of the front end can be separated from the logic that drives the application.

    125. Re:No Shit. by Lennie · · Score: 1

      Better yes, but always far behind the rest. So I don't endorse IE.

      --
      New things are always on the horizon
    126. Re:No Shit. by centuren · · Score: 1

      I've been quite disappointed reading the various discussions of this article. The boom in web applications has been thoroughly covered, and the advantages they offer have been a frequent topic of discussion.

      My hope after reading the article was to find a different side of the web app boom discussed. There has been real change in the state of the Internet, and I think there are some negatives that warrant addressing in a general context.

      I don't like that the same browsers that are required to view the majority websites correctly today take up as many system resources as they do, often displaying pages that do nothing that warrants it. I don't like the privacy concerns. Social sharing and collaboration is great, but I feel as an end user I'm passing away the responsibility of my privacy more and more. I don't like over-zealous use of web technologies when not needed. I don't want my web mail to look like a desktop email client, especially when the comparative performance gap is so wide (fortunately many companies like Yahoo! give me the option to keep the older version I find to be more efficient).

      Google Docs is a handy web app in many situations, but working with a spreadsheet is no where near as snappy or efficient as using a desktop equivalent. This is a case where it might be better to take the positive aspects of Google Docs (collaboration, availability from any computer with Internet access, etc), and find a good way to build them into the desktop alternative.

      It's worth pointing out that there are some major online success stories that do not involve web applications. iTunes, the leading way to purchase music downloads, is a desktop application. Skype also isn't something you run in your web browser. And, despite the rise of clients embedded in web sites, instant messaging will never be more useful in the web browser than as a separate application. These are all intrinsically web services, served via "desktop clients" (and are better for it, imo).

      This is all just off the top of my head, and are likely not particularly good points. There is presently a lot of talent working in the web application field, and there have definitely been great strides in how people are able to use a web browser to interact and be productive. I can't shake the nagging feeling, though, that we might be better off with more focus on improving how we can use what we have outside of the browser.

    127. Re:No Shit. by wintermute000 · · Score: 1

      Lack of need to install yet another app X and no more troubleshooting that specific application's issues on specific desktops.

      When app X is upgraded no need to roll it out on all your users machines.

    128. Re:No Shit. by wintermute000 · · Score: 1

      I wish I could buy you a drink, you've hit the nail on the head and made be burst out laughing (the laughter of a doomed man LOL).

      The one thing I would point out is that the same thing also happens with Java. Even different apps from same vendor needing different libraries, which interfere with each other. (I'm looking at you Cisco)

    129. Re:No Shit. by ckaminski · · Score: 1

      Except I've spent shit-tons of time using OTHER peoples iPhones, cumulative days, I've been contemplating writing software for it. Web browsing is marginally better than other phones I've used (zooming is pretty nice), media, contact management and games. Actually getting work done, I'm not sold yet. I'm so used to the Treo keyboard that losing it is like cutting one of my hands off. So yeah, I don't own one, but I've been trying REALLY REALLY hard to like it, because I love nearly everything OS X, especially now that Fusion is available.

      Um, not to nit a pick, but isn't lack of experience == ignorance? Wtf? Lol.

    130. Re:No Shit. by hobbit · · Score: 1

      Um, what does any of what you just posted have to do with J2ME?

      --
      "Wise men talk because they have something to say; fools, because they have to say something" - Plato
    131. Re:No Shit. by Anonymous Coward · · Score: 0

      That's what the AC said above you!
      You should learn to Read before you post stupid statistics.

    132. Re:No Shit. by Miseph · · Score: 1

      I suppose that the alternative explanation, Mac/iPhone users are full of shit and grossly overrate those products, has not occurred to you.

      I've given OSX a fair shot, and it just isn't that great. Based on that experience, I have zero interest in blowing $200 plus a *very* expensive monthly cell phone plan on a provider I dislike just to give such a shot to device that is intended to be as similar as possible to a platform I'm not thrilled with AND doesn't have a real keypad (sorry, I like my "tactile feedback" too much to trade it for a sheer screen that just gets scratched and fingerprinted every time I use it).

      In other words, the only people who use Macs are the people who like them... but that doesn't mean that nobody else has a valid opinion on them, it just means they don't want to pay more for a product they like less. Don't expect us to respect your choice of overrated electronics.

      --
      Try not to take me more seriously than I take myself.
    133. Re:No Shit. by hobbit · · Score: 1

      I suppose that the alternative explanation, Mac/iPhone users are full of shit and grossly overrate those products, has not occurred to you.

      That'll be what it is! Getting a Mac or an iPhone turns you into a pathological liar. Why didn't I think of that?

      device that is intended to be as similar as possible to a platform I'm not thrilled with

      Wow. Just, wow. I cannot begin to describe how wrong you are about this. Are you sure you had your eyes open when you were comparing them?

      --
      "Wise men talk because they have something to say; fools, because they have to say something" - Plato
  2. Finally by Anonymous Coward · · Score: 0, Flamebait

    Maybe I'll see the end of this 'webtwodotzero applications' crap.

  3. Decentralization? by Anonymous Coward · · Score: 5, Insightful

    I thought decentralization was supposed to be a good thing, the whole motivation behind having personal computers to begin with but, in the age of web apps everywhere, we seem to be returning to the days of the totalitarian, you'll-do-it-our-way-and-like-it data center (mainframe) model.

    1. Re:Decentralization? by Captain+Splendid · · Score: 3, Insightful

      Mod parent up. Web apps are a belated realization by all and sundry (seriously, almost everybody seems to be on this stupid bandwagon) that the internet up and went and stole not just a huge chunk of their revenue, but a huge chunk of their control.

      Remember "Push" technology or whatever that damn buzzword was back in '97? This is just another iteration.

      Now, not to say Web apps don't have a future. Being able to whip up a decent document, spreadsheet or presentation on the fly with nothing but an internet connection will be damn handy. But as a replacement for self-control? No frigging way.

      Tossing a bone to the fanboys: This is all Microsoft's fault anyway. If they hadn't decided to use Office as a raping and pillaging tool, there wouldn't be such a goddamn stampede away from them, and towards any cheaper alternative, whether it's good for you or not.

      Meanwhile, I'm happily using O.o and laughing at all of them.

      --
      Linux, you magnificent bastard, I read the fucking manual!
    2. Re:Decentralization? by MightyYar · · Score: 5, Insightful

      I thought decentralization was supposed to be a good thing

      It has its good and bad points, like most things in life.

      the whole motivation behind having personal computers to begin with

      The original motivation was geeks playing around. The main reason they originally started showing up in businesses was VisiCalc, which simply wasn't available in any other form except chalk boards.

      we seem to be returning to the days of the totalitarian, you'll-do-it-our-way-and-like-it data center (mainframe) model.

      Except we aren't. Even a netbook is smarter than a TTY terminal. Plus, with the internet you aren't tied to a single mainframe. You can do your web email with Google, your web search with Yahoo, and your web word processing with Microsoft. The old mainframe way would be if Comcast supplied email, search, and document creation and you did not have a choice to go out and use other providers' services instead.

      What you are seeing is a move towards web apps where it makes sense (email, document sharing, social networking, etc.), and people sticking with local applications where it doesn't make sense to go to the web (video or photo editing, most office documents, etc.) - anything where the bandwidth or latency requirements become too much of a bottleneck.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    3. Re:Decentralization? by Anonymous Coward · · Score: 0

      You forgot, Adobe has their web version of Photoshop.

    4. Re:Decentralization? by MarkScott65 · · Score: 1

      Why yes, why yes we are... Didn't you get the memo? We'll be coming back around to decentralization in Web 3.0 or maybe 4.0, not quite sure yet.

    5. Re:Decentralization? by MightyYar · · Score: 2, Insightful

      It has the name "Photoshop" in it, but it sure ain't Photoshop... it doesn't even have layers. I think you'll see some movement of amateur photo editing move to the web, but certainly not everyone just yet.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    6. Re:Decentralization? by Anonymous Coward · · Score: 0

      Having 'choice' in your overlord is not good enough. Like the parent said, it's about control of application and data usage.

    7. Re:Decentralization? by MightyYar · · Score: 1

      How much choice do you have with Excel? Sure, you "control" the data in that you can store it locally - but there's nothing inherent about web apps that prevents you from storing data locally. For instance, Google apps let you export in a number of formats and you can even run "offline" with Gears.

      So run Excel and MS is your overlord... why is that better than Google?

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    8. Re:Decentralization? by BLQWME · · Score: 1

      They started trying to bring the main frame back in 1997. That was about the time the thin clients started making a come back. Citrix had MetaFrame and I think MS had their version based on NT- can't remember the name though. This whole thing is a game. Every few years things get shifted around and Gartner *choke* writes an article about the recycled technology calling it revolutionary. The article is dumbed down so management types can talk about it amongst themselves on the golf course and then they give each other reach arounds as they get high on buzzwords- it all comes to a climax when someone says "synergy" or "green datacenter". One observation on my part however, whenever an app that I have used was made to be web-based, performance/response times went in the toilet. That's just my .02, but I have yet to meet anybody that said their new web-based app whipped the llama's azz compared to the old thin-client or mainframe app.

      --
      "Nobody shoots anybody in the face unless you're a hit man or a video gamer"- Jack Thompson
    9. Re:Decentralization? by Kjella · · Score: 1

      For companies it was rather easy - they didn't like going personal and ever since there's been a huge push in group policys, desktop management software, remapping your "My Documents" and profile folder back on network disks or insisting things should be stored on network disks and so on. One crappy consumer PC out there go bye-bye and recreating it is a painful procedure both for IT and the worker who'll guaranteed lose productivity trying to put it back the way it was. But the desktops had so much more power combined than the central servers that there was no choice. Thin clients or web applications doesn't mean everyone's desktop has to be the same, but what they don't want is important information or configuration on the edges. What's unfortunately lacking is that neither operating systems nor applications were really build around a model that lets you smoothly load remote code, use local cache and only synchronize the necessary bits. I still remember stupid setups that inisited on synching my IE web cache over the network every time I logged on/off and the like. What sucks are all the ways thin clients don't work as thick clients even though they should be able to.

      For consumers, it's about flexibility - I don't want to be tied to using one specific PC - ideally I'd want to be able to be at a friend's house, log in to "My" computer and be able to access it. At my own risk of bugged hardware of course, but that's a different story. Practically, that means I want something up 24/7 on a very reliable connection and for most people that just won't happen. Even if I have a home server (well, I do) it's on a residental line using commodity hardware, pretty lousy fault tolerance and honestly my backups could have been better. I could operate my own mail server but honestly I'd much rather use a free service which happens to run it better than I would. I could of course take that up a notch and rent a colo server but it still often wouldn't cover what I was really after. Web services are also a nice way to compartmentalize - I can access my mail or my photo album without opening up everything everywhere. Lots of things could be better but I'm not against outsourcing "my" computer. I've worked quite a bit with financial institutions - they often outsource IT. With all due tinfoil, if someone can outsource their bank accounts I think I some agreement to protect my pr0n collection can be reached.

      --
      Live today, because you never know what tomorrow brings
    10. Re:Decentralization? by lymond01 · · Score: 1

      Think cost. That's what drives most things these days. I can drop thin clients on everyone's desktop -- no moving parts, no security updates to be rolled out for monthly reboots, no viruses to be spread, no FTP servers with French film uploads to clean out. These thin clients don't even need internet access, just access to the terminal server.

      I don't need to call Dell tech support, or install a new hard disk. I just have 10 more of these thin clients in stock, slam one on the desk, and I'm off to do waaaay more important things.

      All software and hardware updates are done at the server level, once. If someone wants to listen to iTunes, I tell them bring a portable iPod stereo and plug it into the power outlet. There are ways around streaming video and terminal services too.

      Fact of the matter is, web development isn't just less expensive and more versatile -- it's incredibly less expensive and incredibly more versatile. My clients don't need full minitowers to do their work -- they need access to a few applications on a secure network.

    11. Re:Decentralization? by TheSpoom · · Score: 1

      The whole choice thing isn't even a real consideration. I'm running my own server on a simple ISP connection. I'm technically not supposed to, but both of the ISPs I've been running it on simply don't care because the traffic isn't nearly high enough for them to notice. Anyone can run a server.

      --
      It's better to vote for what you want and not get it than to vote for what you don't want and get it.
      - E. Debs
    12. Re:Decentralization? by Anonymous Coward · · Score: 0

      O.o

      o.O

      \o/

    13. Re:Decentralization? by Anonymous Coward · · Score: 0

      I don't need to call Dell tech support, or install a new hard disk. I just have 10 more of these thin clients in stock, slam one on the desk, and I'm off to do waaaay more important things.

      You can get a Dell with sufficient power for all office work for not much more than a thin client costs.

      As for needing no time to set up their enviroment, there are technologies for unattended setup available. You just have to set them up, but this is your job as admin anyway.

      Windows: Plug the PC in (You did them buy with Windows preloaded, didn't you), join it into the domain and all apps will be deployed without interaction by group policies. Admin time spend: About 10 Minutes. User time spend: Tell them to get lunch and return 60 minutes later.

      Linux/Unix: Plug it in, boot it via PXE, done.

    14. Re:Decentralization? by Anonymous Coward · · Score: 1, Interesting

      In most cases the data is still being processed remotely. In cases where it isn't, being dependent on an ever-growing stack of software and connectivity 'providers' would turn computing into the current hell of the cell phone experience: every click costs me more money than it did yesterday. What was 'free' today is not tomorrow. Juggling 'minutes per dollar' and/or paying ridiculous fees is one of the reasons I avoid using my cellphone's network services whenever possible. Having to do it whenever I use a computer is enough to turn me off the whole concept. It's far too easy to bolt troll-guards on to base-service access, network access, cpu time, memory usage, secondary storage, and maybe even the equivalent of 'roaming' fees in the form of 'idle time' charges for simply leaving the computer connected running IM software. Yuck. They can have it.

      If I ran excel, ms does not have 'control' over anything. They can go out of business and I'll still have access to my data because it is stored locally along with the application to manipulate it. Same with openoffice or any client-only software. Then there are the privacy/big-brother concerns. You can bet that governments will want access to the storage sites..you know.. 'for the children.'

      Another example is this site. I'm trying to submit this message and it refuses to accept because it thinks I'm a script for some unknown reason. Imagine if this was mission critical work :P. The probability of my network connection dying or problems at the provider's backend is a lot higher than a local hardware failure.

      Performance. There is no way that a network even 30 years from now will be able to provide the latency and bw of a local piece of hardware. Physics won't allow it.

    15. Re:Decentralization? by SanityInAnarchy · · Score: 1

      While I don't think the current system is ideal, I also don't see why we can't also build open source web apps, even variants which can be downloaded and run on the client, if you're wanting control.

      If you're just wanting to be able to work without a connection, well, Google Gears.

      My main motivation for going with web apps is, there's a ton of great tools, it's GUI programming I know how to do, and it works almost everywhere, without forcing users to install software.

      It's also easier to deal with browser differences than OS differences. I can develop and test on Linux, occasionally fire it up in IE, and be reasonably confident it will work. Contrast this with when I was trying to use Perl on the client, and, well, I had to go set it up manually, download CPAN modules, etc.

      --
      Don't thank God, thank a doctor!
    16. Re:Decentralization? by Unordained · · Score: 4, Insightful

      I have yet to meet anybody that said their new web-based app whipped the llama's azz compared to the old thin-client or mainframe app

      Unsurprising. Even with AJAX techniques to avoid refreshing the page fully, and even using JSON (maybe gzip'ed) instead of XML to reduce the traffic, and even with HTTP keep-alive to reduce the connection times, the technology used in web-apps today is still more "expensive" in terms of performance/latency than the older client/server methods. You build a 2-tier Win32 client with a direct connection to the database, and you've got a pure binary stream, composed of useful data and little else (vs. verbose XML, particularly); you don't have extra layers of webservers, you don't have a connection that starts/stops constantly, etc. You have the ability for the server to notify the client that something has changed, whereas with web-apps, you at best have something like Comet, and more likely have some sort of polling AJAX call. And the client's probably compiled, running natively, using hWnd's and whatnot; with web-apps, you may have the wonder that is javascript performing DOM updates that have to be interpreted and re-rendered by a multipurpose browser.

      Of course it's less efficient. But as others have pointed out, that's not always the point. It's about control, it's about standardization, and ... oh, right, it's about control.

    17. Re:Decentralization? by big_paul76 · · Score: 1

      "What you are seeing is a move towards web apps where it makes sense (email, document sharing, social networking, etc.), and people sticking with local applications where it doesn't make sense to go to the web (video or photo editing, most office documents, etc.) - anything where the bandwidth or latency requirements become too much of a bottleneck."

      Depends on how retarded management is at your workplace.

      At my last job, we did exactly this - use web apps when it makes sense, everything else done with local apps.

      But the one before that, I guess somebody in management was a sucker for every jackass salesman offering web-based apps who promised lower total costs or something.

      Without exception, every instance of this was slow or buggy or didn't actually do everything that the local app it replaced did, or just plain-out didn't work very well.

      Although, to be fair, I guess none of this is exclusive to web-based apps in the IT/software world...

      --
      The plural form of "anecdote" is "anecdotes", not "evidence".
    18. Re:Decentralization? by JoeCommodore · · Score: 1

      We started with decentralized data, coaxing xBase to move and merge data between systems with floppy disks.

      It was great then, but as of a few years back we now have a lot of computers I have to keep in sync (quicker now via network, but still messier than centralized). Updates to apps, table structures, and data corrections take a lot more complex operations on a distributed systems (you have to develop a complex update deployment system as well as making your app/data updates).

      I am enjoying the web based centralization we are implementing - no multiple installs (if a client dies no resintall of the required OS, etc. Just make sure browser/PDF viewer is up to spec), we have only need a kick-ass server instead of a massive regular client upgrade, no significant compatibility issues (standard HTML, take that MS!) data is clean(er) and the web offers expandability beyond what I cold have dreamt with hard coded clients (integrated web data lookups, etc.) Using LAMP, the licensing cost are way down scalability is not as big a problem anymore.

      Then again, the good things about decentralization is you could loose a significant part of the system and things still work (backups everywhere... what that could be bad too), or you can have remote facilities which need only sync intermittently (that also is bad too).

      Long term, change, expandability and maintenance is really tough on that model, distributed does have its uses (UPS guys would be miserable without it), but it's really not that great for most of us.

      --
      "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
    19. Re:Decentralization? by BLQWME · · Score: 1

      If I had mod points, I'd mod you up. You put it more eloquently than I did.

      --
      "Nobody shoots anybody in the face unless you're a hit man or a video gamer"- Jack Thompson
    20. Re:Decentralization? by jaseuk · · Score: 1

      "Without exception, every instance of this was slow or buggy or didn't actually do everything that the local app it replaced did, or just plain-out didn't work very well."

      I quite agree - even taking this a step further some of the unixy terminal programs were often the best. Lot's of short-cut keys and no mouse to distract, yes these things can be a bit cumbersome to learn but given a few weeks or months of use the speed the people can use these things is astonishing compared to a Windows GUI app or a web app.

      Web apps have there place and in my opinion is where lots of people use an application infrequently. If everyone in your company may need to access an application, but not extensively then a web-app is ideal. If it's what someone sits and works with all day, then a web-client is going to be a poor solution.

      Jason

    21. Re:Decentralization? by lymond01 · · Score: 1

      Windows: Plug the PC in (You did them buy with Windows preloaded, didn't you)

      Yes, and quickly reformatted and reinstalled. Sure we push out images, use group policies, etc etc. Doesn't help much when the hard drive fails, or the CD ROM drive breaks, or the fan dies...too much tech time "fixing".

    22. Re:Decentralization? by ClosedSource · · Score: 1

      "The main reason they originally started showing up in businesses was VisiCalc, which simply wasn't available in any other form except chalk boards."

      Not really. What was a small business supposed to use a mini or a mainframe? Personal Computers brought computing to businesses that otherwise couldn't afford it.

    23. Re:Decentralization? by ClosedSource · · Score: 1

      "I quite agree - even taking this a step further some of the unixy terminal programs were often the best."

      The problem is that there's a lot of functionality that can't be achieved by piping any combination of standard Unix applets together.

    24. Re:Decentralization? by aafiske · · Score: 1

      So what you're describing is essentially a world where instead of going to work and having The Mainframe that you work on, there's actually a plethora of Mainframes out there, some specialized to different tasks, some competing with others in doing a task better. You can pick and choose the ones that work best for you. With, of course, the option of running it on your reasonably powerful personal computer if that's the easiest way.

      Seems like we're actually approaching a reasonable balance in the server vs client swing, rather than swinging back to another extreme.

      (In case it isn't clear, I basically agree with you and think it's pretty cool.)

    25. Re:Decentralization? by kill-1 · · Score: 1

      I agree with most of your points, but the use of XML at the communication layer rarely has a big impact on performance.

    26. Re:Decentralization? by Attila+Dimedici · · Score: 1

      I'm sorry, where are you getting these cheap thin clients. I couldn't find them. When I took over my current position I inherited a bunch of machines that desperately needed to be replaced, but my bosses didn't want to spend the money. My immediate boss tried to get me on board with thin clients. I priced them out. At that time (about two years ago), the best price I could find on a thin client solution would have cost at least 50% more per seat than the desktop PC solution I found. My boss did some research on his own and reached the same conclusion. Then he got behind my plan and convinced the owners that spending that money would be more than be made up for in the amount of my time freed up from keeping the machines working for other more revenue generating projects.

      --
      The truth is that all men having power ought to be mistrusted. James Madison
    27. Re:Decentralization? by _Sprocket_ · · Score: 1

      What mainframe ran VisiCalc?

    28. Re:Decentralization? by laird · · Score: 1

      "I have yet to meet anybody that said their new web-based app whipped the llama's azz compared to the old thin-client or mainframe app"

      Nice to meet you. Gmail and Google Docs are _way_ more useful to me than Outlook and Office. Sure, Office is a great set of app's. But I don't need a million features, just basic text editing, but I work from several different computers, and with Google Doc's and Gmail I have complete, easy access to all of my communications and the documents that I'm working on from any web browser. And being able to have a group of people who are geographically distributed collaborate on shared doc's, where they can see each other's edits in real-time, is extremely powerful. So for me, easy, integrated, and accessible is more valuable than "features".

      Sure, sometimes I need to work offline. Then I export the doc's that I need to my laptop, work on the plane, then upload them when I'm back online.

    29. Re:Decentralization? by _Sprocket_ · · Score: 1

      I thought decentralization was supposed to be a good thing, the whole motivation behind having personal computers to begin with but, in the age of web apps everywhere, we seem to be returning to the days of the totalitarian, you'll-do-it-our-way-and-like-it data center (mainframe) model.

      The thing is, the old mainframe age was incredibly different than the times we're in now. And none of this is going back to that. Heck - it exists because we've gone in the other direction.

      Back in the old age, there was a single mainframe and the priesthood that served it. If you wanted an answer, you coded up your cards and brought it to the priesthood so that they may take it to the mainframe. After dropping off your cards, you went away. At some time you returned where the priesthood passed along the answer. If it was an answer you didn't expect (say an error), you went back to re-punching your cards and starting over.

      Minicomputers helped move away from the priesthood. You now got to timeshare on the computer via a terminal. Your response was pretty quick if not instantaneous. And with video terminals, that interaction improved.

      Microcomputers are the step beyond. No longer do you share time. You have your own computer to do with as you please - all to yourself all the time.

      But then they become plentiful. And they become interconnected. And those little microcomputers that were toys become clusters of commodity hardware that changes the very fabric previously sewn by minicomputers and mainframes.

      The systems we have these days are amazingly powerful and interconnected. You can develop and deploy with pretty much the same systems. The only difference is what's on them and where they sit (if we gloss heavily over the details).

      So while there's some push to centralize, it's using an amazingly decentralized network and technology. It's a far cry from the old days.

      Having said that - I'm of two minds. Having to manage a lot of IT stuff, I'm used to a lot of centralization to try and keep a handle on the massive amounts of decentralized resources. We already centralize much of our data. So I can understand where it gets attractive.

      However, I've always been a fan of running our own architecture. I don't want to hire out when we don't have to. It's great for folks who can't afford any other option. But if I were to, say, run a web world processor, I'd want to install it and run it myself (like we do with email and everything else we have centralized).

    30. Re:Decentralization? by ClosedSource · · Score: 1

      None that I'm aware of. Why are you asking?

    31. Re:Decentralization? by mahadiga · · Score: 1

      I suppose every Web App Provider should roll out their own version of customized light weight browser for their application.

      --
      I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
    32. Re:Decentralization? by mahadiga · · Score: 1

      In a typical client (demand) server (supply) model we are missing the ubiquitous distribution channel known as WWW.

      --
      I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
    33. Re:Decentralization? by MightyYar · · Score: 1

      They can go out of business and I'll still have access to my data because it is stored locally along with the application to manipulate it.

      Agreed that you'd be silly to use a software-as-a-service provider that doesn't give you a way to move to another service. The current Google offering fits this criteria, even if the product is nowhere near as feature-rich as Excel.

      Where we disagree is that you seem to think that "loss of control" is inherent to software-as-a-service. I see that as an implementation detail that can also be used on desktop applications (betas and demos with a time-out or expiration come to mind).

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    34. Re:Decentralization? by MightyYar · · Score: 1

      Because while you have a valid point about small businesses not able to afford a minicomputer, until VisiCalc there wasn't much reason to. Word processing sold some PCs, but VisiCalc was the game-changer. Managers were sneaking PCs into big companies with mainframes simply because of VisiCalc.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    35. Re:Decentralization? by _Sprocket_ · · Score: 1

      Exactly. VisiCalc was a killer app (heck - it defines the killer app). There was nothing else like it - spreadsheets didn't exist before it (or at least not as we view them now). VisiCalc allowed you to not only crunch numbers, but to do it in real time; modify a value and see the results. Is is the single reason microcomputers went from hobbyist toys to must-have business tool.

      Word processing was a bonus. Most word processing was being done by dedicated hardware. Most of the "computers" you see on business desktops from photographs and movies during the 80s are really word processing machines. However, once someone got themselves a "VisiCalc machine", it wasn't too difficult to find a word processor to run when VisiCalc wasn't.

      Its probably worth stressing again that all this completely changed business computing. It's not that small businesses couldn't afford a minicomputer. It's that most small businesses didn't WANT a computer at all; they had no need for one. VisiCalc blazed the trail to changing all that. It was the first step towards providing a reason to need a computer.

    36. Re:Decentralization? by Anonymous Coward · · Score: 0

      Which is exactly the reason I try to avoid using proprietary software.

    37. Re:Decentralization? by MightyYar · · Score: 1

      That is the safest route, though I'm personally happy as long as I can export effectively to other open or competitive formats.

      And I am guilty of having some Excel macros around, too. :(

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    38. Re:Decentralization? by Tuoqui · · Score: 1

      I don't need to call Dell tech support, or install a new hard disk. I just have 10 more of these thin clients in stock, slam one on the desk, and I'm off to do waaaay more important things.

      Like pick up your pink slip because you just put yourself out of work? Me personally I'd prefer the full blown computer and something like open office. That way if you have network problems people can still get their work done rather than sit around with their thumb up their ass waiting for someone to fix it. Sure you may have a 99.9% uptime but that 0.01% will usually be when someone desperately needs it for some important client.

      --
      09F911029D74E35BD84156C5635688C0
      +2 Troll is Slashdot's way of saying groupthink is confused
  4. SQL? by spikedvodka · · Score: 5, Insightful

    in this modern day-and-age, most stuff is just data anyways, and that is all database. Moving to a true client architecture, oh wait, all the data is still stored centrally, and most reports are all done via stored procedures.

    Even with true clients, much data processing is still done in the datacenter. maybe some advanced analysis is done on other machines with a data dump, but still... it's all data

    --
    I will not give in to the terrorists. I will not become fearful.
    1. Re:SQL? by mabhatter654 · · Score: 4, Insightful

      But we can use Crystal Reports or Oracle Forms!!! Then we can install 1 Gig of software to be our "server" (in addition to the DB) and another Gig of software on the client... all to look at the SQL queries sitting on the DB server!

      But wait there's more!

      In most companies BIG IT supports databases and data centers. little it supports servers with department apps. It's all about the responsibility. An app that hogs a desktop PC and takes 5 minutes to start is the "users" or "it" problem, not management's. The same app in a datacenter serving 50 users poorly is now an "IT" manager problem.. and they'll demand the app fixed or toss the app out. Guess which group vendors like to sell to?

    2. Re:SQL? by bobetov · · Score: 4, Insightful

      in this modern day-and-age, most stuff is just data anyways, and that is all database. Moving to a true client architecture, oh wait, all the data is still stored centrally, and most reports are all done via stored procedures.

      I'm not sure what kind of work you do, but as someone who is developing a lot of web apps right now, I'll say straight up that the data is the easy part. The internals of any system are well understood and the border cases are easy to handle.

      What takes time, and what breaks, and what drives me nuts, is the UI - validation, layout, rendering quirks, etc., etc., etc.

      I've recently started playing around with Adobe's Webkit-based AIR framework for this reason. It lets me interact with the local file-system, have a data store that's not reliant on a network, and above all, has a consistent UI environment.

      "It's just data" is a data-centric way of looking at things, and is true in a sense. But the argument being made here is about the interface between the client and the data - not the data itself.

      --
      Looking for a Rails developer in Chapel Hill?
    3. Re:SQL? by Krater76 · · Score: 4, Interesting

      Even with true clients, much data processing is still done in the datacenter. maybe some advanced analysis is done on other machines with a data dump, but still... it's all data

      True, and real client developers - those who have built many clients - will continually push processing to the server, keeping the client as thin as possible. A server can be upgraded or replaced, you don't necessarily know what a client is going to be running. My only complaint with TFA is that his first argument overestimates the power on a desktop.

      What I think he is really saying is that data validation is better handled by traditional desktop apps a lot better than web apps. Of course traditional apps include browser plugins like Flash and Silverlight, along with C, C++, C# and Java applications. In most web apps a user puts in info, presses next and then when something isn't right they be punted back to the same form with maybe a message explaining why. This validation can be handled instantly in traditional apps, giving the user more feedback and better interaction. Also, since most are just glorified wizards, web apps quickly become a productivity bottleneck for advanced users.

      Other than a simple form-type interaction, why bother with it in enterprise applications? A company can require the install of anything they want in their required configuration, so why not a rich client that follows UI standards?

      --
      "Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?" - Patrick Henry
    4. Re:SQL? by laird · · Score: 1

      "Other than a simple form-type interaction, why bother with it in enterprise applications? A company can require the install of anything they want in their required configuration, so why not a rich client that follows UI standards?"

      You have the logic backwards. Installing and managing desktop applications is extremely expensive compared to browser-based app's. So unless there's an extremely good reason to install a desktop app (e.g. you really need complex local interaction, or are dealing with huge data such as video) why bother installing desktop software?

    5. Re:SQL? by WTF+Chuck · · Score: 2, Interesting

      In most web apps a user puts in info, presses next and then when something isn't right they be punted back to the same form with maybe a message explaining why. This validation can be handled instantly in traditional apps, giving the user more feedback and better interaction.

      Never underestimate the lack of attention that the users will pay to those messages when you do punt them back to the same form and let them know what the problem is. I have a shopping cart that checks to see if the credit card number entered is a valid card number. If the card does not pass it's check digit, the user is returned to the payment form to fill that in again, with a message that the card number was invalid.

      While this does prevent running up lots of transaction charges for trying to charge something on a non-existent card due to a typo, many people wouldn't notice the message and would just go off to whatever else they wanted to do without completing the order. We were getting several incomplete orders in the shopping cart each week due to this. After I implemented a little bit of javascript to run the check digit in the browser and throw up an alert for an invalid card number, the problem with incomplete orders in the system vanished. We do still have the number checked on the server as well, just in case someone has javascript disabled.

      --
      Note - Liberal use of <sarcasm> tags may or may not need to be applied.
    6. Re:SQL? by SanityInAnarchy · · Score: 1

      What takes time, and what breaks, and what drives me nuts, is the UI - validation, layout, rendering quirks, etc., etc., etc.

      I tend to use frameworks to eliminate a lot of that. After all, a lot of validation is very simple:

      validates_uniqueness_of :name
      validates_presence_of :password
      validates_presence_of :password_confirmation, :if => :new_record?.to_proc

      ...and so on. Same for client-side code -- 99% of what I want to do Just Works with jquery and a little careful CSS. The other 1%, I fill either with plugins or with

      if($.browser.msie()) { ... }

      However, the latter is rare -- I find that, for the most part, I have a small-ish ie.css and ie.js.

      I've recently started playing around with Adobe's Webkit-based AIR framework for this reason. It lets me interact with the local file-system, have a data store that's not reliant on a network, and above all, has a consistent UI environment.

      I see the appeal, but I'd still lean towards something more open -- like Firefox with Google Gears. You can always mandate a consistent UI by forcing a browser (which is essentially what AIR does), but that way, you can avoid Adobe pulling the rug out from under you.

      --
      Don't thank God, thank a doctor!
    7. Re:SQL? by SanityInAnarchy · · Score: 4, Interesting

      What I think he is really saying is that data validation is better handled by traditional desktop apps a lot better than web apps.

      Javascript was created specifically for the purpose of validating forms. I think it still does fine at that.

      In most web apps a user puts in info, presses next and then when something isn't right they be punted back to the same form with maybe a message explaining why.

      Bad app, not bad platform. In my web apps, you will often be punted back (because I'm lazy and haven't finished it), but there will always be a message explaining why. And in the fields which you might have to try frequently, like username, it will do that validation in realtime.

      But there's no reason you can't validate everything immediately. The main reason you see it done that way is it's more important to validate it on the server, so that's what gets done first. In far too many apps, desktop and web alike, it's done in the other order, so if you sniff the network traffic, you can do anything you want.

      since most are just glorified wizards, web apps quickly become a productivity bottleneck for advanced users.

      Again, that's a symptom of "most" web apps, not a warning away from the platform as a whole.

      For that matter, what kind of "advanced users" are we talking about here? A well designed web app will be RESTful, meaning it's trivial to develop a script that talks to it, or any kind of frontend you want. The savvier users might start developing and sharking Greasemonkey scripts. How, exactly, were you proposing to add scriptability to a desktop app?

      why bother with it in enterprise applications? A company can require the install of anything they want in their required configuration, so why not a rich client that follows UI standards?

      First, the browser is going to give you a lot of UI standards, nearly for free. Users used to web apps will start wanting things like a tabbed interface, a back button, bookmarks...

      Second, because you get some of the more important advantages of a thin client. If everything your users need to do is in a web app, this has several important effects: You're free of Microsoft (you can just give them a bare-bones Linux box that boots to Firefox), the machine is interchangeable (if it fails, just replace it with a fresh one and the user can simply login again), telecommuting is easier (just grab whatever you trust and open the app via SSL), and maintenance is much easier, just upgrade the app in one place and everyone gets the upgrade. As for upgrading the clients, much easier to push out a browser update and a few OS updates than all that plus a half-dozen custom application updates.

      Sure, it's easier in an enterprise environment, because you can mandate a browser. If your developers like Firebug, your users will use Firefox, end of story. But your comment assumes that there are advantages to a rich client...

      Speaking of which, the browser is much smarter than a VT or an X server. Just about anything you'd need to do in a business app -- especially a simple form-type interaction -- you can do client-side.

      Basically, you get all the advantages of a thin client, and all the advantages of a rich client, except for a few areas (extremely high-performance, 3d, or needing a lot of local disk storage) -- and those are being worked on (JS keeps getting faster, Flash supposedly has 3D now, and things like Google Gears and Adobe AIR are providing ways to access the local disk.

      For the vast majority of enterprise apps -- the kind that would work just fine as thick clients on 10-year-old computers, or even as DOS apps when that was the new thing -- the Web is pretty much all upside, if done right.

      --
      Don't thank God, thank a doctor!
    8. Re:SQL? by Krater76 · · Score: 2, Informative

      So unless there's an extremely good reason to install a desktop app (e.g. you really need complex local interaction, or are dealing with huge data such as video) why bother installing desktop software?

      I've given one reason where installing a native app is worth it - the validation of complex user input - and that's certainly not the only positive.

      I'm currently contracting as a UI developer working on an internal business application. The application isn't trivial and *could* be written as a web app but that doesn't mean it should be - and don't think they didn't consider it. The interaction that would have to be handled would be a nightmare for the user and it would probably get ignored and the million or so spent developing it would be wasted.

      So I guess the moral of the story is that it's a case by case basis on whether to go to a traditional app or not. I think Flash/Flex and Silverlight are good middle ground since you can still run it in a browser but have rich client capabilities. The installation for those is very easy and some pretty impressive things can be done with them. Java certainly dropped the ball on this with regards to applets and webstart. Once you are past the more complex (compared with flash/silverlight) JRE installer, applets work and perform fine, but webstart isn't transparent enough, there are too many dialogs and download windows that pop up when starting up the app. That confuses a user and as a developer I find it ugly and annoying.

      Installing and managing desktop applications is extremely expensive compared to browser-based app's.

      I wouldn't say installing any traditional app is extremely expensive. It's no more cost prohibitive then making sure everyone has the same browser version. A little extra time installing could save a lot of productivity that a properly written native application can give you.

      The rule everyone should follow is that, in the end, it's all about the user. If they are better served with a web app then that's what they should get, and the same goes for a traditional app. The author seemed to be saying that with the current buzz around web apps, like Twitter, Facebook, the ton of Google offerings, etc., some things are being developed there that really have no place on a web page.

      --
      "Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?" - Patrick Henry
    9. Re:SQL? by Krater76 · · Score: 1

      I hate to use your shopping cart example because it is perfect as something that should be done as a web app but that's our context.

      A traditional app doing the same thing could check the CC number in a separate thread while the user was filling out other information and not allow the save button to be enabled. That's much more user friendly then getting punted back to the same page. But I stress this is a bad example.

      --
      "Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?" - Patrick Henry
    10. Re:SQL? by slashtivus · · Score: 1
      It's been almost 3 years since I have worked with Crystal Reports, but it was perfectly capable of being run in a browser. There were some pretty neat tricks CR could do in more complex reports that I would imagine would be difficult and expensive to try to re-create on your own (re-invent the wheel, so to speak).

      I'm not familiar with Oracle Forms, but if it is something that the user would use all-day every-day I can see where it might be a benefit speed-wise to the end user.

      All things can be abused and used in inappropriate ways.

    11. Re:SQL? by WTF+Chuck · · Score: 1

      The javascript actually checks the card number as soon as cc field in the form looses focus, onBlur="testCreditCard();", so that the user, (with javascript enabled,) doesn't even get to the submit button before an alert box is displayed if they didn't enter their card number correctly. I kept the other code on the server in the event that someone who has javascript disabled will still get an error message if they enter an invalid card number.

      I do like the idea of disabling the submit button if an invalid card number is entered. I may add that in, along with a message by the submit button indicating that the card number is invalid.

      --
      Note - Liberal use of <sarcasm> tags may or may not need to be applied.
    12. Re:SQL? by alxconn · · Score: 1

      I love the concept of AIR, and really love the local data cache, etc. I like to dream how much faster I could get a user's system out the gate to them if all they needed to get going was XP, Office, IE and AIR. The Integrated installer badges are definitely where it's at - "Click here to install" - and the ability to easily deploy updates to the client. Tying in to an XML based API built on an easy language like Ruby and using great frameworks like jQuery, YUI, Rails, and etc. to build good web presentation for less-often users. Lots of cool things that can be done with this stuff - just don't abuse it :-P

    13. Re:SQL? by Tablizer · · Score: 1

      Last I heard, Oracle was dropping Oracle Forms, or at least not providing updates. It's their VB-6 now.

    14. Re:SQL? by Tablizer · · Score: 1

      I mostly agree. Good UI's are difficult to design and build with good tools, let alone with web tools. A lot of effort can go into a good design and a lot of things can go wrong.

    15. Re:SQL? by Anonymous Coward · · Score: 0

      Javascript was created specifically for the purpose of validating forms. I think it still does fine at that.

      Considering that in any given browser you can turn off Javascript and the large usage of plugins like NoScript, makes Javascript form validation pretty worthless from a data standpoint.

    16. Re:SQL? by BBandCMKRNL · · Score: 1

      I do like the idea of disabling the submit button if an invalid card number is entered. I may add that in, along with a message by the submit button indicating that the card number is invalid.

      Why not start with the submit disabled and only enable it when everything is valid?

      --
      Without the 2nd Amendment, the others are just suggestions.
    17. Re:SQL? by drinkypoo · · Score: 1

      But we can use Crystal Reports or Oracle Forms!!! Then we can install 1 Gig of software to be our "server" (in addition to the DB) and another Gig of software on the client... all to look at the SQL queries sitting on the DB server!

      Only if you use Crystal Reports server. I ran the usual application (as do most people) and the queries has to be run from my machine against the database server. CR Server costs more. Crystal Reports is poop, but I don't know of anything better...

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    18. Re:SQL? by C0801+p475+ur+81115 · · Score: 1

      What I think he is really saying is that data validation is better handled by traditional desktop apps a lot better than web apps.

      Javascript was created specifically for the purpose of validating forms. I think it still does fine at that.

      It does OK, but not as good as the server. Making it run the same validation code isn't trival - you've either got extra development upfront or extra maintenance of duplicated code later on.

      In most web apps a user puts in info, presses next and then when something isn't right they be punted back to the same form with maybe a message explaining why.

      Bad app, not bad platform. In my web apps, you will often be punted back (because I'm lazy and haven't finished it), but there will always be a message explaining why. And in the fields which you might have to try frequently, like username, it will do that validation in realtime.

      But there's no reason you can't validate everything immediately. The main reason you see it done that way is it's more important to validate it on the server, so that's what gets done first. In far too many apps, desktop and web alike, it's done in the other order, so if you sniff the network traffic, you can do anything you want.

      You can only sniff superglue once :x( The point here was the extra development time required to do the validation upfront. Yes once everyone has an AJAX framework and an SOA backend jimmied on top of their legacy apps this will be a bit easier.

      since most are just glorified wizards, web apps quickly become a productivity bottleneck for advanced users.

      Again, that's a symptom of "most" web apps, not a warning away from the platform as a whole.

      For that matter, what kind of "advanced users" are we talking about here? A well designed web app will be RESTful, meaning it's trivial to develop a script that talks to it, or any kind of frontend you want. The savvier users might start developing and sharking Greasemonkey scripts. How, exactly, were you proposing to add scriptability to a desktop app?

      This misses the point, I think they didn't mean technically advanced, just ones that can do their job & end up waiting for post responses, switching between keyboard and mouse and tabbing through unnecessary fields. Poor design is not unique to the web, but some consistent keyboard shortcuts aren't much to ask for - eg Enter for form submission anyone? I try to do a time and motion study on every app I work on. Can you fill in a form fast using only keys or mouse with one hand? Are the mandatory fields first? Number of keystrokes/clicks required etc.

      why bother with it in enterprise applications? A company can require the install of anything they want in their required configuration, so why not a rich client that follows UI standards?

      ...

      I agree with the reply mostly here. There are UI standards? Why didn't anyone tell me? The biggest reason to use web apps is cost of course. Enterprise GUI apps charge per installed seat, intranet apps are often concurrent users. Ease of use & installation are up there too, but these are all reasons for casual users: road warriors, bigwigs and other non-tech savvy people who aren't really interested in the application outside of how it can do some of the old paper-shuffling part of their job for them (80% of the users using 20% of the features). GUI apps are best for the back office staff who actually need to do lots of complex & varied office staff type stuff. Smaller market, higher overheads - simple choice.

    19. Re:SQL? by minister+of+funk · · Score: 1

      That may seem to make sense, but it doesn't address the same crowd that ignores the server message indicating the validation failure.

      I think that validation should be done on both the server and client side. The client-side validation provides immediate feedback, and a better user experience. If the submit button is disabled, the user is likely to abandon the order WITHOUT reading the form for validation errors, and you may get support calls telling you your app is broken because people can't be bothered to read. (Yes, that's bitterness you perceive.)

      By "client", I mean both standalone apps and web deployments. If, for some reason, the client is unable to validate (disabled JavaScript, missing DLL, solar flare), the server can still stop invalid transactions. Also, by forcing validation on the server side, you're ready to develop electronic b2b interfaces to your system.

      People are used to a web browser. Like it or not (believe it or not) it provides a consistent interface, and a stable development platform. I would venture to say that JavaScript is a great language, that allows you to create some complex, robust and high-performance apps.

      What we're really talking about here is similar to the oscillation in the VLSI industry -- the swing back-and-forth between dedicated coprocessors and general-purpose central processors. The FPU was integrated into the CPU. As least two levels of cache memory have been integrated into the CPU. Intel is pushing to integrate graphics into the CPU (again), but there was a good reason that dedicated hardware was created to handle graphics -- it's intense stuff, as is audio, high-speed networking and bus-interaction. There is a reason to keep these things off-chip. There is also a reason to adopt a client-server style of asynchronous communication at the hardware level: Yes, there is some additional overhead and chattiness, but that drawback is greatly overshadowed by the simplification and decoupling and allowance for a part to excel at a particular task at its own speed.

      There may be a time where the browser could become the operating system. I think that level of abstraction is unnecessary, but that's me. The point is that we need good quality data, good performance, and minimal maintenance. We can have all three -- they're not mutually exclusive -- but only if we really understand the problems we're trying to address.

      TeX was created to address the problem of inconsistent layout/publishing methodologies.

      SGML was created as an attempt the establish a universal data description language to simplify inter-entity communication, so that you could concentrate on the data, not the transport mechanism.

      HTML was created to combine several technologies for gathering information in the academic world.

      The web browser establishes a medium in which you must rely less on the transport mechanism and can play with the data, and is an accessible development target. As with any development platform, inexperience and a myopic view of the problem can result in a crappy app.

    20. Re:SQL? by Anonymous Coward · · Score: 0

      True, but you can do all this NOT using the HTTP protocol and all the inherent limitations.

      Google for "Breaking the Back Button".

    21. Re:SQL? by WTF+Chuck · · Score: 1

      I think that validation should be done on both the server and client side. The client-side validation provides immediate feedback, and a better user experience. If the submit button is disabled, the user is likely to abandon the order WITHOUT reading the form for validation errors, and you may get support calls telling you your app is broken because people can't be bothered to read. (Yes, that's bitterness you perceive.)

      Thanks for that reminder. After I implemented the server side validation, we stopped getting bad CC number typos, but did have a few irate customers when their "orders" didn't show up. I even considered disabling the server side validation while I was working on the building the client side validation.

      --
      Note - Liberal use of <sarcasm> tags may or may not need to be applied.
    22. Re:SQL? by SanityInAnarchy · · Score: 1

      makes Javascript form validation pretty worthless from a data standpoint.

      Absolutely, I didn't mean to imply otherwise. People could always use browsers that don't support Javascript, or just POST directly without a browser, using tools like Curl.

      But I was replying to someone who claimed that you can't validate instantly, and that's simply not true, even if you still have to revalidate it once they submit the form.

      --
      Don't thank God, thank a doctor!
    23. Re:SQL? by SanityInAnarchy · · Score: 1

      Making it run the same validation code isn't trival

      Here's a starting point...

      Short answer: Not yet. But given at least the simpler server-side validations, I see no reason you can't use those to generate javascript on the client side, for validations which are simple regexes, length, etc. And for those which aren't -- uniqueness, for example -- it's even easier, and I wrote a method to do that myself -- just have the client request that the server run the same validation code it would if you submit the form.

      Or, javascript engines aren't hard to run by. Just take the client-side code and run it on the server, too.

      Either way: Really not a hard problem.

      The point here was the extra development time required to do the validation upfront.

      No, the point being made was that it was somehow impossible, or that most web apps wouldn't do it.

      I think they didn't mean technically advanced, just ones that can do their job & end up waiting for post responses, switching between keyboard and mouse and tabbing through unnecessary fields.

      Probably. But I am basing this around the assumption that there will be at least one technically advanced user in the office -- there are tons of personal-itch hacks in VBA, even among management types. I expect there would be personal-itch Greasemonkey scripts, as well, and there probably are already.

      Poor design is not unique to the web, but some consistent keyboard shortcuts aren't much to ask for - eg Enter for form submission anyone?

      Just so. And there's no particular reason you can't add keyboard shortcuts to a web app, also. Depending on the browser, there's no reason you can't do do stuff like this, which I know to work on Firefox, at least.

      And none of this is standing still. It's already to the point that even if you accept all of these arguments at face value -- you say, yes, validations are going to be duplicate code, and cross-browser headaches, and so on. Even if all of these are valid, there are still pretty compelling reasons to build it as a web app.

      But I think most of those, even if they're an issue today, won't be a year from now. The form validation, if it's not already done, I could write myself.

      --
      Don't thank God, thank a doctor!
    24. Re:SQL? by Krater76 · · Score: 1

      I agree with the reply mostly here. There are UI standards? Why didn't anyone tell me?

      I get the sarcasm here, but I was alluding to TFA where he talks about menus being wherever the designer decides them to be, buttons, colors, and layout as well. I know Java Swing has a default the menu bar/tool bar location based on the look and feel. I can also make a Swing app indistinguishable from the desktop. Everything works just like the user would expect, the user only needs to learn the ins and outs of the app, not a non-standard design. But a bad dev can choose to go the non-standard route in any language.

      The biggest reason to use web apps is cost of course. Enterprise GUI apps charge per installed seat, intranet apps are often concurrent users. Ease of use & installation are up there too, but these are all reasons for casual users: road warriors, bigwigs and other non-tech savvy people who aren't really interested in the application outside of how it can do some of the old paper-shuffling part of their job for them (80% of the users using 20% of the features). GUI apps are best for the back office staff who actually need to do lots of complex & varied office staff type stuff. Smaller market, higher overheads - simple choice.

      Like I said at the end of a different post, all apps have their place. The one I am working on now would be pretty disastrous as a web app, but others I've done as a native app would've been better served as a web app (not my decision on those).

      How again did I get roped into arguing dissenting opinion here? I think I spend too much time playing devil's advocate on here lol.

      --
      "Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?" - Patrick Henry
  5. Win32 API - we missed you so... by BigHungryJoe · · Score: 4, Funny

    Can we please, please go back to the Win32 API? It was such a joy to use, and I've got a Visual Studio 6 license laying around here somewhere.

    1. Re:Win32 API - we missed you so... by Unoriginal_Nickname · · Score: 1

      I know you're joking but it still gave me a headache.

    2. Re:Win32 API - we missed you so... by DoubleReed · · Score: 1

      I had to learn Win32 GUI stuff (MFC) in 2008. For some reason someone in 2003 decided to write an app from scratch using that API, and I get to support it =-/

    3. Re:Win32 API - we missed you so... by johanatan · · Score: 0

      Did we ever leave it? Most people [mgmt types and hardcore devs] are still [unjustifiably & unfortunately] quite superstitious of .NET.

    4. Re:Win32 API - we missed you so... by forkazoo · · Score: 1

      Can we please, please go back to the Win32 API? It was such a joy to use, and I've got a Visual Studio 6 license laying around here somewhere.

      You know, as much as the raw Win32 API is a nightmare, it actually does make a certain amount of sense. I mean, you can't mix GTK and Qt widgets easily because each of those API's demands that you use their loop for all event handling. Win32 is/was heinously ugly, but it also gave you very easy control over exactly what was going on in your app, and I still consider it oddly practical for a lot of things.

      Part of me really wishes that somebody had madee a cleaned up Win32 that was still charmingly simpleminded, but less ugly, and less obviously created by people who are as simple minded as the API. And, if you want to write QuickTime code on Windows, doing it with something modern like Qt is apparently harder than it should be. Though, in my experience, the QuickTime API is evil in a way that oddly compliments raw Win32, so maybe that particular unholy union is somehow perfect. ::shudder::

    5. Re:Win32 API - we missed you so... by SanityInAnarchy · · Score: 1

      I would humbly suggest that for the most part, you're better off working with the raw API than with MFC.

      Not to say there aren't better abstractions, like the Web, or Ruby Shoes, etc.

      --
      Don't thank God, thank a doctor!
    6. Re:Win32 API - we missed you so... by aoheno · · Score: 1

      I am looking forward to the Win128 API which promises to sweep away the clutter and replace it with one unified API incorporating every conceivable design pattern, including those quantum ones folded 16 times.

      The success of Win128 will be ensured by Microsoft becoming a true 'service oriented' business, as Bill Gates and Steve Balmer start thinking about leaving behind a 'legacy' in their dwindling years.

      Windows will be Open Sourced for what they say is the common good of mankind. Fortunately, we know the very act will guarantee our extinction and therefore ignore it in favor of more multiple forks of whatever already works.

      --
      Her lips were softer than a duck's bill, but her quacks ...
  6. 5. Should every employee have a browser? by jgtg32a · · Score: 1

    I agree with this to no end, most people don't need it and people who have a minor need for a browser will screw around with it most of the time.

    Well back to work.

    1. Re:5. Should every employee have a browser? by CannonballHead · · Score: 1

      Are you posting to slashdot from work (with a browser)? ... like me?

      ;)

    2. Re:5. Should every employee have a browser? by BBandCMKRNL · · Score: 1

      I agree with this to no end, most people don't need it and people who have a minor need for a browser will screw around with it most of the time.

      This is not an issue. Every place I've worked in the past 10 years has had the ability to restrict access to anything outside the company, just like access to games on the desktop can be restricted.

      --
      Without the 2nd Amendment, the others are just suggestions.
  7. Full Ack by AtomicJake · · Score: 1, Redundant

    FTA:

    Browser technologies are too limiting.

    I couldn't agree more.

  8. Bring back a document-only based web! by Anonymous Coward · · Score: 1, Insightful

    The web used to be hyperlinked documents, but has since turned into a spaghetti of an application hell-bent on delivering ads, peeping into your web browsing habits, and trying to infect your computer with viruses.

    Bring back the document-based web! Bring back content! Bring back control to your computer! Say no to webpages that insist on running code on your computer.

    1. Re:Bring back a document-only based web! by LDoggg_ · · Score: 4, Insightful

      So says the guy that just posted to a slashdot thread. If slashdot.org was just a static document with links, you wouldn't have been able to send your message back to the slashdot database for other's to read.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    2. Re:Bring back a document-only based web! by Dishevel · · Score: 2, Funny

      Fuck all that http shit. Bring back Gopher!

      --
      Why is it so hard to only have politicians for a few years, then have them go away?
    3. Re:Bring back a document-only based web! by TheSpoom · · Score: 1

      Pffft, if it isn't pneumatic tubes, it ain't running my internets, gad dangit.

      --
      It's better to vote for what you want and not get it than to vote for what you don't want and get it.
      - E. Debs
  9. Just blend the web and local programs by jacksonic · · Score: 1

    Qt took the step by allowing webkit and widgets to commingle... you can have local code running inside your browser, which can render local or remote content.

    I like C++ better than Javascript anyway :P

    1. Re:Just blend the web and local programs by SanityInAnarchy · · Score: 1

      I like C++ better than Javascript anyway :P

      I can't remember if you're the one I talked to about this...

      There are real reasons to prefer C++ to Javascript. The most common reason, though, is not knowing it well enough.

      There are other languages I much prefer to Javascript, but C++ is not one of them.

      --
      Don't thank God, thank a doctor!
  10. Older developers are scared.. by Anonymous Coward · · Score: 0

    And won't make the leap to the obvious; the internet is the platform of choice now and is here to stay.

    If the telecoms don't screw us enough, the internet will be as fast or faster than your local computer in 20 years. Eventually you will not be able to tell the difference, and where the data is stored won't make a difference; it will all be backed up somewhere.

    Someone needs to write up "the case agains't desktop apps" because they are dieing a very quick death. It takes much longer to develop a desktop app and costs a shitload more money.

    Sorry people, but eventually every app written will be on the internet.

    Evole or die.

    1. Re:Older developers are scared.. by wildBoar · · Score: 1

      I have developed Desktop apps and webapps, and my experience is that webapps take longer to develop.

      The webapps are fast and versatile to develop claim left me wiping tea off of my keyboard.

      Of course things get complicated by people coming out of university only knowing java and having a patterns book stuck up there arse.

    2. Re:Older developers are scared.. by Anonymous Coward · · Score: 0

      it also means the death of privacy and the personal control of your data. if you like the 'nickel and diming' experience of using a cellphone, I guess you'll like this future too.

    3. Re:Older developers are scared.. by QRDeNameland · · Score: 1

      I have developed Desktop apps and webapps, and my experience is that webapps take longer to develop.

      I agree. I was kind of astonished when the article claimed that web apps were faster to develop than traditional apps, where I've never seen that in my experience.

      I would note, however, that to develop a desktop app that was as platform-independent as a web app would probably even up the score somewhat. Of course, it does all depend on the specific application.

      --
      Momentarily, the need for the construction of new light will no longer exist.
    4. Re:Older developers are scared.. by Tablizer · · Score: 1

      Agreed. Bash VB6 all you want for other reasons, but one could crank out fairly complicated GUI's in no-time flat. (And there was always Delphi for those wanting a cleaner language.)

      I create mostly web-apps these days, but miss the flexibility of desktop GUI's. One had more control over UI flow. I hope the best of both worlds comes soon (as described in another sub-thread).
         

  11. True, but people will not listen by gweihir · · Score: 5, Insightful

    While I think the arguments against web-apps are valid, it is the newest trend and people will not listen. It will require a few very expensive catastrophies, before something happens. And then people will still not undterstand what the problem is, just that there were expensive catastrophies.

    By now I believe most technological trends are not rational.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:True, but people will not listen by wildBoar · · Score: 3, Insightful

      Hear hear !

      Technological evangelical bandwagons. All aboard.

      One size fits all is another problem. Silver bullet for sale over here, will work for all applications big and small, and solve all your problems.

      Honest, guv.

    2. Re:True, but people will not listen by SanityInAnarchy · · Score: 1

      While I think the arguments against web-apps are valid, it is the newest trend and people will not listen.

      There are also very good arguments for web apps, particularly for cross-platform ones. However, there is an equally rising trend of people who hate the Web, or at least hate it being used for applications, for no rational reason.

      I, too, think "Web 2.0" is a ridiculous term. But that doesn't mean everything done in its name is wrong.

      And then people will still not undterstand what the problem is, just that there were expensive catastrophies.

      That's almost a certainty.

      I was reading earlier, and someone was commenting on how web apps are inferior to traditional fat clients because a fat client can validate instantly, whereas a web app has to wait for you to submit the form.

      Fact is, if people do blame it on web apps, it almost certainly won't be rational, and I can pretty much guarantee the reactionary trend will be even less rational, or practical. Think back to the days of VBA being used for critical apps, and thousands or millions of dollars being lost because of a misplaced Excel spreadsheet -- was that really better?

      --
      Don't thank God, thank a doctor!
    3. Re:True, but people will not listen by Hooya · · Score: 3, Insightful

      I hear what's being said but here's a scenario where anything other than a web delivered app is murder:

      - We are a small company 300,000 people in some cases
      - *All* of their employees use us exactly *once* a year.

      Imagine trying to install a desktop client across all continents (save for Antarctica), every year, for one use. (we do have feature upgrades that would call for redeployment).

      How much leverage would we have to get that done? in time? none.

      Web based? no problem. We get 5-10 calls for support. No additional deployment is needed since all their computers have browsers and access is controlled centrally by them.

      Like most things in life, there is good and bad with web delivered app. Is it *the* solution in some cases? Absolutely? Is the *the* solution in *all* cases? Absolutely not. Figuring out when to use what is what the gray thing between the ears is for.

    4. Re:True, but people will not listen by Hooya · · Score: 1

      damn, that screwed up my formatting:

      it's supposed to be:

      - we are a small company with less than 50 people
      - our clients are companies with more than 300,000 people in some cases.

      it ate up the < and > and everything in between

    5. Re:True, but people will not listen by Anonymous Coward · · Score: 0

      The arguments against web apps totally ignore the costs of deployment of traditional desktop apps, and the very expensive catastrophe right now is Vista and how the f* are IT departments supposed to manage this migration when every user desktop has custom local apps that all need their own specific Vista migration procedure.

      Sure, a local app is easier on developpers, and may be higher quality, but the management costs it entails are monstruous. Web apps are popular in IT depts because their deployment scales.

  12. Like web browsers.. by pickyouupatnine · · Score: 1

    Operating systems get updated over time too... everything needs updating as time passes.

    --
    _Vishal www.squad9.com
  13. ... and so what? by ThousandStars · · Score: 5, Interesting
    Those all might true, but so what? The advantages outweigh the disadvantages, and web apps are improving all the time. Paul Graham already wrote about the issue in The Other Road Ahead, and Joel Spolsky wrote about them in How Microsoft Lost the API War. He enumerates problems and things that, at the time of the article, you couldn't do with web apps:

    Create a fast drawing program
    Build a real-time spell checker with wavy red underlines
    Warn users that they are going to lose their work if they hit the close box of the browser
    Update a small part of the display based on a change that the user makes without a full roundtrip to the server
    Create a fast keyboard-driven interface that doesn't require the mouse
    Let people continue working when they are not connected to the Internet

    These are not all big issues. Some of them will be solved very soon by witty Javascript developers. Two new web applications, Gmail and Oddpost, both email apps, do a really decent job of working around or completely solving some of these issues. And users don't seem to care about the little UI glitches and slowness of web interfaces. Almost all the normal people I know are perfectly happy with web-based email, for some reason, no matter how much I try to convince them that the rich client is, uh, richer.

    And these issues shrink all the time. I agree with Joel regarding rich clients--I use Mail.app for e-mail, but virtually no one else I know does. Photoshop and Final Cut Pro aren't moving to the web anytime in the short to medium term, but other apps will, and it's hard to see this guy's ideas mattering. Sure, they might be true, but the web is still more convenient. For me, it's become a central repository for book and other commentary in the form of The Story's Story and write about grant writing at Grant Writing Confidential. Yeah, I write my posts in Textmate, but most people don't--and most people aren't going to buy and install Textmate.

    1. Re:... and so what? by nine-times · · Score: 2, Informative

      Photoshop and Final Cut Pro aren't moving to the web anytime in the short to medium term

      That's not even entirely clear. There are multiple attempts already to provide something like Photoshop in a web application, including one from Adobe. Now I don't expect most graphic pros to abandon their client version of the application, but it's also not as though there aren't web based graphic editors.

    2. Re:... and so what? by Have+Brain+Will+Rent · · Score: 1

      How many people use Thunderbird, Outlook, Mail.app etc. for mail compared to webmail? I'd venture that the former outnumber the latter by a significant multiple. If your experience is different I'd say the people you know are atypical in some way. For 99% of my mail I'm either on a desktop system or my laptop and either way I'm using an application not a web interface. And 99% of the remaining 1% is mail I receive on my phone. For me a mail application coupled with the ability to potentially fall back to a web interface is the ideal solution.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    3. Re:... and so what? by syousef · · Score: 2, Insightful

      Sure a lot of apps can be moved to a web interface. A lot of carpentry can also be done with a hacksaw. The question isn't "Can it be done?" but rather "Is this the best tool for the job?". For example I strongly believe a web app is an awful idea for an office suite. (Having non-sensitive documents stored and editable on the web may be a good idea depending on the application, but there's nothing wrong with using a standard format and using the appropriate document editor. Sure a web interface would give you consistent editing but the requirement that you're online and the speed at which a web app will work are a bigger disadvantage.)

      Personally I don't find any of Joel's ramblings interesting anymore. He has a very skewed view. Some of what he says is just plain wrong. (He completely lost me when he posted about Bill Gates' arrogant behaviour in a hero worshipping tone. If you can't even recognise unprofessional behaviour when you see it your professional opinion means very little to me).

      --
      These posts express my own personal views, not those of my employer
    4. Re:... and so what? by ThousandStars · · Score: 1
      Sure a lot of apps can be moved to a web interface. A lot of carpentry can also be done with a hacksaw. The question isn't "Can it be done?" but rather "Is this the best tool for the job?".

      Computers aren't like physical objects--they're vastly more configurable. Most users seem to value convenience and ease-of-use above all other attributes, and the way they've embraced webmail shows it. I'm not one of them, but that's the way users are going. Their definition of "best" is different than your definition of best.

    5. Re:... and so what? by syousef · · Score: 2, Insightful

      Computers aren't like physical objects--they're vastly more configurable. Most users seem to value convenience and ease-of-use above all other attributes, and the way they've embraced webmail shows it. I'm not one of them, but that's the way users are going. Their definition of "best" is different than your definition of best.

      Email is inherently suited to being a web based application. For a start retrieving and sending messages requires an Internet connection. Secondly, most email messages are just text and don't require fancy controls. (Where you need rich text, controls are still easily accomodated. Wher eyou need more, you use attachments for which funcitonality is also easily provided in a web app).

      It doesn't matter how configurable a computer is. Web applications have limitations that desktop applications do not have (and to a lesser extent the opposite is also true). It really is a question of using the right tool for the job.

      --
      These posts express my own personal views, not those of my employer
    6. Re:... and so what? by rtechie · · Score: 1

      And these issues shrink all the time.

      In my opinion they're getting worse as more developers try to shoehorn their apps into AJAX and similar models.

      Web apps are slow as molasses. They will ALWAYS be slow relative to desktop apps because increasing the performance of web apps means turning them into desktop apps by using a thicker client (Air, Silverlight, etc.) and moving less data between the client and server less often. Eventually, apps like Gmail are going to evolve into thick clients that are simply downloaded to the browser so all the browser REALLY does is UI, badly, and adds a lot of pointless overhead.

      Mobile devices are a perfect example of this. My Blackberry doesn't use GMail in the browser because the browser sucks too bad and there's too much overhead. So GMail has a CUSTOM CLIENT for my Blackberry. This is true model of web apps going forward, client-server with the thick client resting within the browser.

      And everyone has pointed out the "big, complex, app" issue but not the "very simple, very fast app" issues. Do you REALLY want to use a web browser as your text editor?

  14. Anonymous Coward by Anonymous Coward · · Score: 0

    Fools! Use Adobe AIR. If you don't know that by now, you're very slow

  15. Automation/Integration by LaminatorX · · Score: 3, Insightful

    To my mind the biggest weakness of web apps is that you have a hard time doing any sort of schedualed reporting/exports to use in another application. It can be done, but you really have to have the stars line up just right, or use some 3rd party scripting of some sort. Doable, but painful. God forbid you want to share data between two web apps, especially when company A and company B both have it in their heads that the other should pay them for development assistance.

    1. Re:Automation/Integration by zuperduperman · · Score: 1

      I think a lot of these features are so taken for granted that people literally forget that they need them. Until the day comes when they do - and then suddenly you *need* them really bad. I remember a simple example where I had to copy a section of a spreadsheet into a word processor document and have the document run some rudimentary calculations on the embedded spreadsheet data to publish totals in the heading. All doable quite easily using 1995 era technology, yet no web app I know of can even come close. These things are in the stone age by comparison.

    2. Re:Automation/Integration by Anonymous Coward · · Score: 0

      How does a desktop app necessarily help with this? I think this is not a web app problem, but a bad app problem. If there is some sort of standard for the data being stored, a good app (desktop or web) will allow you to export in that standard. As for reporting, again how is it easier to report on data in a desktop app than a web app? If it's about data accessability, again a good web app would give you a method to access that data (or build in the ability to generate reports)

    3. Re:Automation/Integration by LaminatorX · · Score: 1

      In theory you're correct. In the abstract, it shouldn't make a difference. In practice though, there's commonly a gap in functionality between the two. There are exceptions, of course, but they're just that: exceptional.

  16. PHB sez: by linebackn · · Score: 1

    But... but... we have to do it the high tech way! It has to be on the web! And use lots of XML for everything! And integrate with Microsoft Sharepoint and Project Server! And we'll have data dictionaries, and Java classes, and object-oriented OLAP cubes, and we will use some of that AJAX stuff too!

    Hmph, next thing you know they will be saying we need to go back to stone-age paper and pencil!

    Come on everybody: LET'S PUT IT ON THE WEB!!!! (drool, drool, drool)

  17. Keyboard shortcuts and CLI by sbillard · · Score: 5, Insightful

    My biggest complaint about browser/web apps is the inconsistent or non-existent ability to navigate the app with the keyboard.
    While fat client apps can have messed up tab stops, they're generally better than their web-based counterparts. A CLI is even better allowing for things to be done in bulk/batch.

    I've got over 100 buttons right at my finger tips. I shouldn't need 2 more that roll around (FPS mouselook not withstanding). Let me ALT+whatever and TAB my way around.

    YMMV.

    1. Re:Keyboard shortcuts and CLI by danlip · · Score: 1

      GMail has keyboard shortcuts (although I wish they were customizable, I'd like to add a few more). But keyboard shortcuts are not a fundamental limitation of web apps.

      And while I love CLIs, they aren't part of many fat clients anyway, so that is not necessarily a difference.

    2. Re:Keyboard shortcuts and CLI by Lennie · · Score: 1

      well, a lot of combinations are not available in browsers and all browsers combined doesn't leave many unused. But Mozilla has the Prism project which solves that, the webapp can detect it's in that environment and allow for many key-combo's. Also it acts much more like a normal desktop-application, you can (don't have to !) even give it access to your filesystem.

      --
      New things are always on the horizon
    3. Re:Keyboard shortcuts and CLI by i'm+lost · · Score: 1

      GMail has keyboard shortcuts (although I wish they were customizable, I'd like to add a few more).

      There's an addon in Google Labs (Custom keyboard shortcuts) that will let you customize them.

    4. Re:Keyboard shortcuts and CLI by Anonymous Coward · · Score: 0

      If you're talking public webapps, those are easy enough to add in with userscripts if you can't convince the site to add them.

      If you're talking inhouse stuff, just dont sign off on it until they're in..and make it part of the spec.

    5. Re:Keyboard shortcuts and CLI by Rary · · Score: 2, Insightful

      Keyboard shortcuts can be done in web apps, but too many of my fellow web developers are too lazy to bother implementing them. As a keyboard fan, it drives me nuts.

      However, if the truth be told, that was a problem back when I was developing client/server GUI apps as well. I always seemed to be the only guy who put the effort into ensuring the UI was keyboard navigable.

      In enterprise software development, the UI always seems to be almost an after-thought. I don't think bailing on web apps will solve that problem.

      --

      "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

    6. Re:Keyboard shortcuts and CLI by danlip · · Score: 1

      I just tried this and it is much less useful than I hoped. It let's you change existing shortcuts, but I was hoping to maybe choose from a bigger set or make my own (like a macro). Things like: "delete (or archive) and go to next message" (instead of back to the list page) or "go to next unread message" or "label and archive in a single step". Those are 3 things I would really like to do in GMail.

    7. Re:Keyboard shortcuts and CLI by Braino420 · · Score: 1

      You guys should check out this NumberFox firefox extension. I think there are others with similar functionality. Konqueror has had something similar for the longest time enabled by default.

      --
      They call me the wookie man, I guess that's what I am
    8. Re:Keyboard shortcuts and CLI by Anonymous Coward · · Score: 0

      This is not due to lack of capability of the browser. Most browsers have had the ability to program keyboard shortcuts for several versions. I have replaced several call center applications with web applications and one of the top requirements was no negative impact on time to resolution of calls. There is no way we could have accomplished this without keyboard shortcuts for navigation and input in our webapps. I think it is more lack of developer knowledge or laziness on the part of developers that the use of keyboard shortcuts is not routinely used. More concerning is that none of the newer JavaScript toolkits seem to have this on their radar, as much like all other Browser quarks the JavaScript keypress events are not the same across browsers and they could use a framework above them to smooth out API as well as expected functionality.

    9. Re:Keyboard shortcuts and CLI by Tablizer · · Score: 1

      I do agree that a well-designed CLI can probably beat a mouse-centric UI almost any day for many tasks. However, designing such a convention/command-set that can beat mousing is a somewhat difficult and lost skill. Further, it is less intuitive to newbies, and thus has a longer learning curve. And, the demand quantity is not there to justify it. It's a lost art.

    10. Re:Keyboard shortcuts and CLI by minister+of+funk · · Score: 1

      The biggest problem I have with browsers is that the "Backspace" key provides the same functionality as the "Back" button when used outside of a field context. It has been the source of much pissyness.

  18. Mobility is the factor by ballwall · · Score: 5, Insightful

    Right now web apps are king because they're always only the nearest computer away, and work on almost everything.

    We're getting close to devices that provide the same functionality in a mobile form factor. Once everyone has an iphone like device that has a standard development environment we'll likely see a resurgence of local apps. But that's probably a years away at best.

    Right now, you can either develop for the web, which will work everywhere, or write one app in Win32/.Net, one in Objective C for Mac, one in Java with Blackberry specific apis, one in Objective C for iPhone, one in [whatever palm is up to], one in .net for winmobile, etc, etc etc.

    The only reason client side apps were ever written was because you could be fairly sure windows was your target, or it simply wasn't feasible to centralize and so you forced a standard environment.

    There's no single platform anymore, and probably won't be for a while (and when it comes it'll look a lot like a web browser), so the only viable option is web based.

    Does it suck? Yes and no. It's definitely better than debugging an app on 40 different platform/cpu/os version combinations.

    1. Re:Mobility is the factor by Loopy1492 · · Score: 1

      Amen.

      --
      I deliminate with tabs. Get used to it.
    2. Re:Mobility is the factor by Tranzistors · · Score: 1

      Web apps don't magically work everywhere. At least some client (browser?) is needed. 40 platforms vs 40 browsers and we have moved nowhere.

    3. Re:Mobility is the factor by Anonymous Coward · · Score: 0

      Um. Ever heard of Qt? wxWidgets? (probably another dozen cross-platform toolkits I'm not mentioning?)

      They're not perfect, and from time to time you have to do some per-platform specific stuff. But web apps are far from the only option for cross-platform development.

    4. Re:Mobility is the factor by jcausey · · Score: 1

      The difference is that those 40 web browsers are _supposed_ to work identically via standards and APIs. 40 platforms, by definition, have different APIs.

      Of course in the real world those browsers will be different, but at least the goal is there.

    5. Re:Mobility is the factor by DarthVain · · Score: 1

      Agreed.

      We are currently working to redesign an old Powerbuilder App.

      We eventually want to be able to access via some sort of mobile device. It makes more sense to develop it once rather than twice.

      Another reason I haven't seen yet is deployment. IN a corporate environment with many many users and a large install base, it can be a real pain. Come out with a new version, it must now be installed on every single machine, sometimes a huge headache.

      With Web development, we change it once, and everyone now has access to the new version. done.

      There are pros and cons to either side of the coin, and it depends on what kind of app you are doing, what it is used for, how many users, etc... Making that determination is part of being a professional.

    6. Re:Mobility is the factor by laird · · Score: 1

      "Web apps don't magically work everywhere. At least some client (browser?) is needed. 40 platforms vs 40 browsers and we have moved nowhere.'

      Surely you're not saying that it's the same level of effort to make a web app render in IE, Mozilla and Safari as to make a GUI app run on Windows, Mac, and Linux? Web apps are built on standards, and there are plenty of good frameworks that take care of the fairly minor inter-browser issues, so writing standards-based web apps that work on all modern browsers is easy. OS's have no portable standards (i.e. Win32 != Coca), so writing GUI apps that run across all OS's is quite difficult.

    7. Re:Mobility is the factor by johanatan · · Score: 0

      Don't forget Java. Yes, it's slow; but if portability is your primary concern, it shouldn't be overlooked (many open-source apps use it to keep from writing different versions).

    8. Re:Mobility is the factor by syousef · · Score: 1

      Right now web apps are king because they're always only the nearest computer away, and work on almost everything.

      Incorrect. The assumption that you always have a net connection everywhere you go is a terrible one. That's simply not the case and while the net will reach more and more places and wireless broadband will get cheaper, having a computer crippled because you're not online is not acceptable for a large number of applications.

      Right now, you can either develop for the web, which will work everywhere, or write one app in Win32/.Net, one in Objective C for Mac, one in Java with Blackberry specific apis, one in Objective C for iPhone, one in [whatever palm is up to], one in .net for winmobile, etc, etc etc.

      What's wrong with writing it in Java for all platforms? Sure you need to test on each platform, but if you think that's not the case for the web as well you're either not very experienced or you're in denial.

      --
      These posts express my own personal views, not those of my employer
    9. Re:Mobility is the factor by maztuhblastah · · Score: 1
      I don't think that's really a fair comparison.

      Right now, you can either develop for the web, which will work everywhere, or write one app in Win32/.Net, one in Objective C for Mac, one in Java with Blackberry specific apis, one in Objective C for iPhone, one in [whatever palm is up to], one in .net for winmobile, etc, etc etc.

      You're not free from platform issues with a web app either. Just of the top of my head:

      • You have to deal with browser variances (or use a framework that abstracts that away at the expense of performance). Even though JavaScript implementations have improved, some browsers still do things "differently."
      • Mobile device hardware and input methods are too varied. On the desktop, you have to deal with different APIs, sure, but the input devices are pretty much standard (keyboard, mouse, etc.) On a mobile device, your input devices are different from the desktop, as well as being different from another mobile device. There's no way that the same UI is going to be usable, let alone easy to use, on both a touch-only device at 320x480 and a QWERTY thumbboard device with a D-pad at 320x240.
      • Mobile devices are still far more hardware constrained than the desktop. The iPhone and the Nokia E71 have two relatively fast processors, two WebKit-based renderers, and two relatively fast JavaScript implementations -- and they still choke on some traditional web apps. All that JavaScript that performs just great in Firefox or IE may well slow to a crawl when executed on a mobile device. "No problem", I hear you say, "we'll just write an alternate 'low-JS' version for the mobile devices". Sure, you can do that -- but isn't that kinda what you were trying to avoid in the first place?
      • Mobile browsers suck. This is getting better, but progress is kinda slow. The iPhone, Android, and S60 phones use WebKit -- but (most) Blackberries and (almost all) Palm devices have pretty poor browsers. Windows Mobile, with its version of IE, has a downright comical rendering engine. (Seriously. To quote Gizmodo: "Jesus Christ. This is a joke, right Microsoft? Hahaha. No really, this is the worst smartphone browser on the planet. It couldn't render its way out of an ASCII-art paper bag.") Good luck writing CSS and JavaScript that delivers a desktop experience across all those different browsers.

      Pretty much each of those issues can be solved (and indeed, often is solved) by doing browser detection and delivering a different mix of CSS/JS. But if you're going to do that, why bother writing a web app in the first place?
      Note: If you want some excellent examples of why web apps are completely unfeasible for mobile use, check out Gizmodo's mobile browser comparison.

    10. Re:Mobility is the factor by Anonymous Coward · · Score: 0

      "There's no single platform anymore, and probably won't be for a while (and when it comes it'll look a lot like a web browser), so the only viable option is web based."

      Not true. Consider industry-standard C or C++ with a Qt, wxWidgets or GTK user-interface, and there you have a reasonably standard platform. I'd even go so far as to say take Java by itself and you have it.

  19. Response from L4C list by AKAImBatman · · Score: 5, Informative

    This story was previously posted to the L4C list. Here's the response I sent there:

    An interesting, albeit unoriginal, take on the problem of WebApps. Unfortunately, I do not find his arguments very compelling.

    What sense does [Thin Client technology] make when any modern laptop packs enough CPU and GPU power to put yesterday's Cray supercomputer to shame?

    Quite a bit, actually. First and foremost is the convenience of application access. There is no software to install and you can use your applications anywhere you have access to a web browser. In addition, the rise of web applications has spurred the rise of web services. Web services share out tremendous amounts of public information allowing developers to "mashup" (I hate that term) data sources to produce superior applications. Compare that to the desktop where just getting the programs on your system to cooperate is a challenge! (To say nothing of networking.)

    Concentrating computing power in the datacenter is fine if you're a Google or a Microsoft, but that approach puts a lot of pressure on smaller players.

    FWIW, the author is propagating a misconception about web applications. His belief appears to be that web apps MUST push computing power to the server. Nothing could be further from the truth. Web apps are "rich" clients rather than thin clients. Rich clients are more than capable of accepting a significant processing load. Whether that be Video Games, Image Editors, 3D Engines, Fractal Explorers, or other compute-intensive applications, the client is more than ready to pull its weight.

    I personally have written an application for my current employer that requires the client to dynamically sort a 100,000 record data set in nothing but client-side Javascript. Significant computer science had to go into creating an optimized, multi-threaded algorithm that would perform well on the lowest common denominator. (IE6) The next generation of browsers that are appearing (Chrome, Firefox 3.1, Opera 10, Safari 4) will have so much compute power that a problem like my 100,000 row sorter will become easy and commonplace. Furthermore, the standards are even adding true background threads to support long-running compute operations. (The standard is based on the Google Gears implementation, which is already available.)

    The Web's stateless, mainly forms-based UI approach is reliable, but it's not necessarily the right model for every application.

    The communications protocol is stateless. The UI is not. AJAX UIs know their state as well as any desktop application.

    Buttons, controls, and widgets vary from app to app.

    Anyone who lived through the development of GUI systems know that this is not a new issue. In fact, it used to be quite common for apps to eschew Windows controls in favor of something custom. Borland, for example, LOVED their custom controls. The rise of GNOME, KDE, Java, and .NET/Avalon/WFC have created just as many problems for the desktop.

    That being said, flexibility appears to occasionally improve applications. Using GMail as an example, the design would be gimped rather than helped by a "standard" Windows XP look. The clean lines of the GMail interface manage to communicate a great deal of information without creating the sort of 3D visual noise seen in applications like Outlook.

    Why give up the full range of languages, tools, and methodologies that systems programming has to offer? JavaScript has evolved into a respectable general-purpose language, but it can hardly be expected to be all things to all people.

    Javascript is only one component to a very lar

    1. Re:Response from L4C list by yerktoader · · Score: 1

      As I'm not a developer, nor can I code past "hello world", I'm in no place to dispute any of your counterarguments. However, assuming you are correct - your lucidity and maturity in responding to what appears to be a Dvorakian troll would indicate that you do - I can see a much better world of web based apps. The way cell phones are creating new opportunities for web based apps is obviously another arena in which their commonplace and sophistication will rise.

      However, the most striking reason not to utilize such applications for me is licensing and/or privacy terms. While I do use services like Gmail and Google Docs, Picasa/Flickr and have tried their photo editing suite, outside of Gmail I've done this to a pretty limited extent. When I have to money and time to run my own domain I'll do so, and continue to do so. Though the chance of Google or Yahoo wanting my pictures for their advertising is small, I never want their to be any other owner of my content than who I choose - Picasachu, I don't choose you :D

      As for privacy, the same logic extends. I'll use these services for now, and frankly I love Gmail - I will be sad to lose that kick ass interface when I finally make the jump to my own domain.

      I can't understand why anyone who would spend the time to read the TOS's of these kinds of services would agree to them for any but the most inconsequential creations or needs. Your thoughts?

    2. Re:Response from L4C list by serviscope_minor · · Score: 4, Insightful

      Quite a bit, actually. First and foremost is the convenience of application access. There is no software to install and you can use your applications anywhere you have access to a web browser. In addition, the rise of web applications has spurred the rise of web services. Web services share out tremendous amounts of public information allowing developers to "mashup" (I hate that term) data sources to produce superior applications. Compare that to the desktop where just getting the programs on your system to cooperate is a challenge! (To say nothing of networking.)

      When software installation is so easy, and one's package manager downloads stuff using http, there is no real advantage in this case. Instead of searching on google, and going to a website, you search in pacman or yum or apt or synaptic and click on a "page" to load. As a bonus feature, it's much faster next time.

      I personally have written an application for my current employer that requires the client to dynamically sort a 100,000 record data set in nothing but client-side Javascript. Significant computer science had to go into creating an optimized, multi-threaded algorithm that would perform well on the lowest common denominator. (IE6) The next generation of browsers that are appearing (Chrome, Firefox 3.1, Opera 10, Safari 4) will have so much compute power that a problem like my 100,000 row sorter will become easy and commonplace. Furthermore, the standards are even adding true background threads to support long-running compute operations. (The standard is based on the Google Gears implementation, which is already available.)

      Do you not find it alarming that in this day and age, a program to sord 100,000 records is deemed impressive? On my machine (an eee 900):

      time awk 'BEGIN{for(;;)print rand()}' | head -100000 | sort > /dev/null

      Takes 0.7 seconds. By removing the stringification, and obvious inefficiencies,it would run much faster. In C++ is is easy to sort hundreds of millions of records in a very short amount of time using nothing more than std::sort and a suitable comparison function. The fact that in this area it is deemed impressive (and I have little doubt that it is) is a testament to a large step backwards.

      Your other points stand, though.

      --
      SJW n. One who posts facts.
    3. Re:Response from L4C list by Wovel · · Score: 1

      I hope you realize all of your arguments are talking about different subjects than the person you are responding to.

      You are comparing apples and giraffes.

    4. Re:Response from L4C list by jonaskoelker · · Score: 1

      you can use your applications anywhere you have access to a web browser.

      Apache + mindterm + sshd + screen + apps = win :)

    5. Re:Response from L4C list by leptons · · Score: 1

      I agree with almost everything you say here, with the exception of bashing microsoft for 'planting itself firmly in the way of progress'. MS was the first to come up with XMLHttpRequest, and other browsers eventually adopted it and this forms the basis of most WebApps out there today. MS is an innovator, like it or not. Not everything is adopted but i can't really stay they are 'firmly in the way of progress'. Not everything MS does is positive, but not everyone that works there is talented either. You can't throw out the baby with the bathwater, like it or not IE is going to be around a long, long time.

    6. Re:Response from L4C list by serviscope_minor · · Score: 1

      hope you realize all of your arguments are talking about different subjects than the person you are responding to.

      You do realise you didn't read either post? Right?

      --
      SJW n. One who posts facts.
    7. Re:Response from L4C list by AKAImBatman · · Score: 1

      The innovation you describe happened 10 years ago when Microsoft was working hard to create a decent browser. After they realized the potential issues with having the application platform move off of Windows, they put the brakes on EVERYTHING.

      Read this thread to understand what is seriously wrong with Internet Explorer 8 and Microsoft's current strategy. The short version is that Internet Explorer must die so that technology can move forward. And it will either get completely wiped out or be forced to meet the standards. There's a technological tidal wave coming and Microsoft thinks it can stop it.

    8. Re:Response from L4C list by AKAImBatman · · Score: 1

      I can't understand why anyone who would spend the time to read the TOS's of these kinds of services would agree to them for any but the most inconsequential creations or needs. Your thoughts?

      The way I see it, there are two aspects to your question:

      1. Why would anyone use a public web service to share information about themselves?

      2. Why would anyone trust a business with their private information?

      The first one is very easy to answer, but somewhat depends on your personality. Simply put, don't post anything publicly that you don't want everyone (and I do mean EVERYONE; from your trash pickup guy to the CEO of your company) to see. And be aware what rights you're giving up when posting that information. Personally, I'd be uncomfortable placing pictures of myself or my family on a site like Flickr. However, placing images for a public article I'm posting doesn't bother me in the slightest. And if they use my images in their advertising, I'd be more flattered than upset. Free publicity for me, so why not?

      Other people see this equation differently. They live their lives in the public eye and want people to see them. So the end result of sharing such personal information does not bother them.

      As to the second question, the answer deals with the imperfect nature of the world we live in. I can tell you that if you run your own mail server, it will take you less than six months to start wondering if it was a good idea or not. By running your own server you have to worry about spam filtering, security patches, power outages, disk space (huge problem with all the spam these days), performance, DNS entries, and a host of other niggling things that are going to cause you no end of grief.

      In result, it makes a lot of sense to hand off such a duty to someone who's good at it. But who can you trust? Well, that's a personal decision. In the case of GMail, I looked into both Google's terms of service (relatively unimportant, but can contain valuable clues to intent) and their general philosophy as a business (FARRRR more important!). I've also taken into consideration the possibility that new management could change directions as well as their general responsibility as a company.

      My conclusion is that they're a trustworthy company and will not abuse the privileged information in their possession. Many people see their secretive nature as a negative. I see it as evidence that they will keep my information safe and will not divulge it to anyone short of a government subpoena. And even then, Google has demonstrated that they would be willing to buck such a request. So generally they have my trust.

      On the other hand, JoeBlowFlyByNightEMail.com might just give up my data at the drop of a hat. I have no way to judge their effectiveness in the market, so I'm not going to trust them. This is usually reflected in the choice of my password when I do sign up for such a service out of curiosity or because I treat them as public rather than private. They always get one of my lower-tier, insecure passwords so that if my information was compromised, nothing of value is lost.

      In short, using an Application Service Provider is like any other business transaction. You have to weight your level of comfort and trust, and compare that against your cost of not using the service. If the weighting works out in your favor, go for it.

      Hope this answers your question!

    9. Re:Response from L4C list by tinkerghost · · Score: 1

      I personally have written an application for my current employer that requires the client to dynamically sort a 100,000 record data set in nothing but client-side Javascript. Significant computer science had to go into creating an optimized, multi-threaded algorithm that would perform well on the lowest common denominator. (IE6>

      How exactly did you create a multi-threaded algorithm in a non threaded programming language? Best I can find is a bunch of articles about using timeout() to simulate threads - a process I can't see as improving the performance of a sort procedure.

    10. Re:Response from L4C list by AKAImBatman · · Score: 1

      Your information about timeouts is correct. You can effectively create a cooperative multi-threading environment using such a technique. The purpose of doing this is NOT to improve performance. In fact, you take a slight hit for it. The purpose is to improve responsiveness. Locking the user's browser solid for 30 seconds straight is not going to make them happy. And when they get the "this script is taking too long" error message, they're going to kill the script and decide your app doesn't work.

      If the app is cooperatively mutli-threaded, you can provide the user feedback on progress thus improving the perceived performance.

    11. Re:Response from L4C list by samboneym · · Score: 1

      Your information about timeouts is correct. You can effectively create a cooperative multi-threading environment using such a technique. The purpose of doing this is NOT to improve performance. In fact, you take a slight hit for it. The purpose is to improve responsiveness. Locking the user's browser solid for 30 seconds straight is not going to make them happy. And when they get the "this script is taking too long" error message, they're going to kill the script and decide your app doesn't work.

      If the app is cooperatively mutli-threaded, you can provide the user feedback on progress thus improving the perceived performance.

      It seems that these are exactly the types of cases where a non-web application would be appropriate. In my experience, as soon as you get much beyond the wizard type data-driven apps that make sense in the browser, you end up having to reinvent all sorts of wheels that you get for free in a 'real' language. Implementing cooperative multithreading in a browser just throws up all kinds of red flags.

    12. Re:Response from L4C list by Anonymous Coward · · Score: 0

      When software installation is so easy, and one's package manager downloads stuff using http, there is no real advantage in this case.

      Software installation has never been that easy. In fact, it's gotten harder. I can't tell you how many times I've had Windows Update fail to install a particular fix or screw up a .NET Framework installation.

      Instead of searching on google, and going to a website, you search in pacman or yum or apt or synaptic and click on a "page" to load. As a bonus feature, it's much faster next time.

      That would be like putting all applications on Steam. It's convenient in some ways, but it locks you into specific update software and creates a single point of weakness to attack. By contrast, if you use several different Web apps on several different servers and you have access to different browsers, operating systems and search engines, you're risk is significantly less.

    13. Re:Response from L4C list by AKAImBatman · · Score: 1

      Implementing cooperative multithreading in a browser just throws up all kinds of red flags.

      I can't go into too much detail about this particular implementation, but I agree with what you're saying. Cooperative multitasking is not a scalable solution in web browsers. In fact, sorting is one of those issues generally best left to the database. The circumstances of this particular situation required that the code be written in this fashion, even though it would not have been my first choice.

      The takeaway from this should not be that the technology was improperly implemented, but rather that there are situations under which significant processing is being pushed to the browser today. Thus future browsers must consider supporting such heavy processing, especially as web applications grow in complexity and sophistication. Today we have a choice on this issue. What of tomorrow when the browser pulls large quantities of data for offline use? Without access to the server during these periods, the client must operate self-sufficiently.

      True multi-threading is a very real part of upcoming browsers. It's already in Google Gears and will show up in browsers as the Web Workers specification is finalized. So we're covered for the direction the market is going with web apps. :-)

    14. Re:Response from L4C list by minister+of+funk · · Score: 1

      I did read both posts.

      Sorting of 100,000 random numbers is a good academic exercise, but is not the same is sorting 100,000 records (unless they're records of random numbers) and, in this case, is comparing apples and giraffes.

      Also, what your example does not take into account is:
        a) the time required to make the request to sort
        b) the time required to perform actual data sort
        c) the time required to deliver the data back to the client
        d) the time required to render the new page.
        e) what happens when 2, 10, or 50 users want to sort 100,000 records at the same time.

      Sorting on the client is an excellent distribution of resources. The data doesn't change, only the presentation of it, which falls squarely in the realm of the client.

      It's not necessarily an argument of which would be faster for a single use, but which solution allows the application to scale and provides the best user experience. In this case, I think sorting on the client wins hands-down,

  20. Just come right out and say it, Neil. by PeanutButterBreath · · Score: 2, Insightful

    Enterprise applications should run on dedicated, fully optimized hardware that can be bolted to employees faces.

    As far as a web browser for every employee, there are organizations that "value" productivity and organizations that actually understand how to maximize it.

  21. Mixed response by nine-times · · Score: 5, Insightful
    I think there are some valid points and some invalid points. My general response:
    • 1. It's client-server all over again: Yeah, it is. We keep running up against this because doing things on the client has some advantages, and doing things on the server has other advantages. The debate will continue, because it's really not an issue of one being absolutely better, but choosing the better solution for your specific application.
    • 2. Web UIs are a mess. & 3. Browser technologies are too limiting: These are really the same thing. Web apps suck. This may improve over time as the technology improves and new standards are put into place, but right now, they do kind of suck. If you can't deal with that, you don't want a web app.
    • 4. The big vendors call the shots: a real objection. Do I want my ability to access my own documents/information to be at the mercy of another company? That's a question. worth considering.
    • 5. Should every employee have a browser?: Meh, whatever. Every employee has a browser, and it's more trouble to remove them than it's worth. If you don't want people browsing the web, put up a firewall that can block/filter traffic. That's a better solution anyway.
    1. Re:Mixed response by wildBoar · · Score: 1

      Parent gets my vote.

    2. Re:Mixed response by laird · · Score: 1

      "It's client-server all over again."

      Actually, web apps aren't much line client/server at all. For example:

      - The "client" is code that will run in any web browser. In client/server, the client is proprietary code specific to the user's OS and environment, so the client needs to be implemented for each device. For example, if a company builds an app in VB, they can run it on Windows, and might require Office to be installed, etc., but not run on on Mac's, mobile devices, etc. Web apps can run on any environment with a standards-compliant browser.
      - There's no client to install (the client logic is automatically sent wherever it is needed), so applications are much easier to deploy and maintain. For example, compare deploying a web app to upgrading 10,000 desktops. Worse, consider what it takes to upgrade 10,000 desktops with a mandatory upgrade, where people can't do their jobs until they're upgraded.
      - The standards are open, with many companies and individuals shaping the definition of the standards that everyone works against. So unlike the client/server world where the platform is defined by your vendor (i.e. you picked between MS, IBM, Oracle, etc., and then used whatever they sold), the web app world is based on a shared set of standards used by all vendors, so the competition is in how well they support standards.

      Web apps are actually much more like "mainframe" or X/Windows computing than client/server, in that the application and data lives on a server, and any terminal can run the application. Of course, now the "terminal" is much more powerful, and can do much more of the work, and can even allow multiple "applications" to interact (via "mashups"), which is all great. But it has the advantage of the mainframe model in that all of the apps and data run in a managed, safe environment that can be accessed from anywhere.

  22. heh by Lord+Ender · · Score: 2, Informative

    AJAX is not the be-all of internet applications. There is also Adobe Flex and Microsoft Silverlight.

    I find most sorts of apps work fine with standard AJAX controls, but Flex isn't hard to learn if you need more sophisticated UI in your internet app.

    --
    A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    1. Re:Heh by EgoWumpus · · Score: 1

      Note that a lot of companies (*cough*AOL*cough*) do this already. It was all the rage in the very late 90s to create your company-specific browser; precisely because stand-alone apps were well known, and web apps were a disorientingly new domain.

      --

      [Ego]out

    2. Re:Heh by SanityInAnarchy · · Score: 1

      Do it with XUL, then. Or Google Gears. Don't tie yourself to such a broken renderer.

      --
      Don't thank God, thank a doctor!
    3. Re:heh by Tuoqui · · Score: 1

      Sure Silverlight is fine if you're working with Windows and IE only. I think silverlight is more like Flash than AJAX anyways. It might do some of the same things but it requires you to install something on your side. AJAX is pretty much all server side.

      --
      09F911029D74E35BD84156C5635688C0
      +2 Troll is Slashdot's way of saying groupthink is confused
  23. Not the most balanced article... by Mike1024 · · Score: 2, Informative

    As McAllister sees it, Web apps encourage a thin-client approach to development that concentrates far too much workload in the datacenter.

    For sure, there are some applications that make sense to run locally; or to use special local software in combination with a server, rather than a web-browser-based interface. 'World of Warcraft' won't be implemented in AJAX any time soon.

    On the other hand if you want to sell 'software as a service' it's going to be easier if you're supplying ongoing services other than fixing bugs of your own creation. Furthermore, in stagnant markets (*cough*MSOffice*cough*) it could enable new features compelling enough for people to upgrade. What's more, a dependency on your data centre makes piracy practically impossible.

    Not everything suits being on the web, or in the web browser. But the benefits to software companies are hard to ignore.

    --
    "Goodness me, how unlike the FBI to abuse the trust of the American public." -- The Onion
  24. Painting with a broad brush by Archangel+Michael · · Score: 1

    There is nothing like painting with a broad brush. In this case the premise of the article seems to be an ALL or NOTHING proposition. Web or Standalone application.

    This is huge problem in understanding that there really is a need for BOTH. If you've ever tried to get a bunch of Term Servers running powerpoint presentations simultaneously, you'll quickly realize that some things are NOT suited for time sliced or otherwise processor sharing.

    On the other hand, some things are suited for Web side (some database applications), which cut development and deployment costs.

    Developers that understand this will be okay. Those that don't will continue to try to fit everything into one model or the other and eventually fail.

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    1. Re:Painting with a broad brush by wildBoar · · Score: 1

      I agree that the one or the other premise is nonsense, and that one size will never fit all.

      But again I keep hearing this web apps cut development costs argument which I don't buy at all.

      Where server based apps such as web do make life better is deployment/publishing and control of the app.

      Although a lot of client apps these days are very good at updating themselves over the internet ;-)

    2. Re:Painting with a broad brush by Archangel+Michael · · Score: 1

      "Although a lot of client apps these days are very good at updating themselves over the internet ;-)"

      Just what I need, yet another updater icon in the task bar (Windows). I'm going to rue the day that all of my apps have updates on the same day.

      Makes me love my Ubuntu side all the more.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  25. not much of an argument by bigmaddog · · Score: 2, Insightful

    But I thought the web was good?

    WRONG! The web is bad! Well, sometimes, for some things... maybe.

    There's a grab-bag of random thoughts there on some things that could be inherent problems in the web and some that are merely artifacts, and it seems neither here nor there.

    The big guys always call the shots - who cares if it's browsers or operating systems, you're not going to tell MS (or Apple, just to be fair) what to do and there's no guarantee the next SP or random security patch won't bone all your effort with no notice or recourse, whether it's in-browser or on the desktop.

    And the web UIs are a mess? That's nothing to do with the web - lots of people design lots of stuff, you get randomness. It's no different than on the desktop, except the long reign of some MS products and the fact that developing Windows apps you get to use some of those same form controls gets you the appearance of this magical consistency that's really just the consequence of monoculture. Open any full-screen app (read: game) and it's a brave new world, like on the web, because the pre-generated MS controls and constraints don't apply. But this is good, right, because you're not doing what the man tells you to do?

    And the productivity argument... did he just need to reach 5? You can block the outside world coming in over the wire, it's not that big an effort, and then people will find other ways to screw around - hand-held devices are so powerful now the whole issue of limiting the desktop to work issues only is quickly becoming moot.

    And so on and so forth... I guess it's redundant to say "you need to consider each usage case based on its specific merits," but then the decision-makers don't...

    --

    Even as you read this, your pants are strangling your loins! Aaa!

  26. nevermind telecommuting by howman · · Score: 1

    With caps on downloads, the future is pretty bleak for me working at home doing anything that requires large file sizes... granted now it is ok, but today's power user is tomorrows average user.

    --
    flinging poop since 1969
    1. Re:nevermind telecommuting by Have+Brain+Will+Rent · · Score: 1

      Seems to me that telecommuting ought to earn companies some large greenhouse gas emission credits which are worth actual cash to the company. I see that as a big push for telecommuting that hasn't even begun to be felt.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
  27. Web Aps? NOT!!!!! by Anonymous Coward · · Score: 0

    Cloud computing is irrelevant! My computer and my data will NOT be assimilated!!

  28. Somebody Make Up Their Fucking Mind by Anonymous Coward · · Score: 0

    Are we supposed to move toward virtualization/centalization in the datacenter to enable more thin-client apps, or just do fat-client apps? So this week thin-client sucks I guess. Fuck you, Neil. Who are you again?

  29. Re:SQL? for Everything? by Anonymous Coward · · Score: 0

    SQL can't do everything. For example, graph the customer attendance at a restaurant. This needs a set S=(month, customers), e.g. (JAN-2009, 123) from SQL.

    But the graph should be plotted on the client. Then, many questions can be asked.
    * What is the change in customer populations?
    dP/dt is the slope of the graph.
    * What is the average attendance, people/month?

    Do you want to go back to the SQL server every time to get the set S? The client's CPU is powerful enough to do this locally.

    Also, the user can ask questions that the WEB application never considered.

  30. So, its not the idea of a web app by Anonymous Coward · · Score: 0

    Sure, Web development is fast, versatile, and relatively inexpensive, but long term, the browser's weaknesses might just outweigh its strengths as an app delivery platform

    So we shouldn't develop web applications not because of the web application it self but because of the browsers people use to access the application?
    So don't build a good, usable road because your not sure about the cars they are going to make in the future? Is this a valid reason not to?

  31. Java applets for serious web apps by Anonymous Coward · · Score: 1, Insightful

    The right answer might be Java (yes applets) (for web applications). Too many online apps suffer from GUI design flaws/look and feel etc, because it web site (touch feely girly developers & marketing driods) have far too input. Applets if done right with webservices for backend data comms would work well and be consistent (consistent as the code monkey wants to make it).

    1. Re:Java applets for serious web apps by digitig · · Score: 2, Informative

      Webb apps will always have the browser in the way, with the inevitable conflicts over keystrokes. I have yet to see a web UI that even comes vaguely close to the convenience of all but the very worst standalone UI. If I'm going to willingly use a web app, there's got to be a real advantage to me as a user to using it. That's why I still use traditional word processors, not Google Docs. They're a lot easier to use, and I suspect always will be. That's not the same as net apps, though, where a dedicated standalone interface accesses data on the internet.

      --
      Quidnam Latine loqui modo coepi?
    2. Re:Java applets for serious web apps by Dolda2000 · · Score: 2, Informative

      In that case, I would recommend that you look to Java Web Start instead. It's as easy to deploy as an applet, but the user gets a real, stand-alone application instead.

  32. "the browser's weaknesses" by Anonymous Coward · · Score: 0

    what, an open standards-based platform with an incredibly low cost of entry? What weaknesses are these?

  33. Oh really? by systematical · · Score: 1

    I agree the browser shouldn't be the end all platform for business apps. There are many cases where you need better performance and/or more control which you can't get out of some web applications, but web applications can be rapidly developed, easily deployed, and maintained so why not use them when it makes sense. It's client-server all over again? How else do you anticipate we share data? We need centralized storage, table locking etc... Web UI's are a mess? Yes, they are but javascript frameworks, testing in multiple browsers, and good XHTML and CSS make this not so much of hassle. Plus companies can standardize on one browser to reduce QA and development time. Browser tech is too limiting? True, but it works fine in many cases. We'll I'm done debunking this joker who clearly was reaching for a topic to write. What a hack.

  34. Ahhhhhhh pontificating by cthrall · · Score: 4, Insightful

    Note that many desktop apps hit web services or communicate via HTTP now, mostly because it's 1. easy and 2. SOA became the flavor of the month about a year or so ago.

    Also, many enterprise web apps, at least that I've used, have some sort of plugin/JVM requirement. Are they a desktop app? Web app? Some awesomely funky in-between?

    Personally, I think these "thick vs. thin" client discussions are a nice waste of time and excuse to get page impressions.

    Let's deconstruct, shall we?

    What sense does that make when any modern laptop packs enough CPU and GPU power to put yesterday's Cray supercomputer to shame?

    Running Outlook and Office will immediately slow that poor laptop to molasses. Add a nice shiny .NET app, or worse, Java, and you've got yourself a tarpit.

    Web UIs are a mess

    You, my friend, have never used internally developed VB6 apps. I say no more.

    Browser technologies are too limiting.

    For some applications, I completely agree. But not everybody needs to see dynamic fluid modeling or stock quotes for 3000 securities in a real-time heatmap.

    The big vendors call the shots.

    Good call, time to turn to Java and .NET, which aren't controlled by big vendors.

    Should every employee have a browser?...But if your internal applications are Web-based, you'll need to either host them onsite or maintain careful router or firewall rules to prevent abuse of your Internet services.

    Because deploying and maintaining desktop apps across thousands of machines is wicked easy.

    1. Re:Ahhhhhhh pontificating by AKAImBatman · · Score: 1

      I don't usually bother messing with Slashdot's friend system, but this post has won me over. These are some of the best one-liners ever crammed into a single post. Kudos!

    2. Re:Ahhhhhhh pontificating by should_be_linear · · Score: 1

      Add a nice shiny .NET app, or worse, Java, and you've got yourself a tarpit.

      While I prefer Web apps in enterprise area myself, I don't see why/how Java is slow? In my experience Java application is slower to start then average C/C++ application but then runs at about same speed. Maybe you eperienced some poorly written Java applications.

      --
      839*929
    3. Re:Ahhhhhhh pontificating by lgw · · Score: 2, Insightful

      I've used many Java apps over many years (all "enterprise" apps) and they were all *amazingly* slow, every one. SOme are just slow enough that you notice, others take 5 seconds after clicking on each control to react. People often say this it doesn't have to be this way in Java, and maybe that's true, but nevertheless every single Java "enterprise" app I've every seen across many years and companies has been utter crap.

      Also, none of them used Windows widgets on my Windows machine, so each UI was a puzzle to be solved anew.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  35. The market will decide by Anonymous Coward · · Score: 0

    EOM.

  36. Balance by Anonymous Coward · · Score: 0

    It's all about balance between processing power availability of app and amount of data needed to get the job done. There is always security issue to be considered.

  37. Advantages of web apps by MojoRilla · · Score: 1
    First, the summary is misleading here. McAllistar is talking about enterprise application development, not all web applications.
    But lets talk about some of the advantages of web apps as well.
    1. People building enterprise applications are generally, you know, doing something for an enterprise. That means communication over a network, and probably central data storage. So throw security concerns of web apps out the window. Having a custom client on users desktops communicating to a server is no different than a web browser talking to a server. Both have security risks.
    2. Installed applications are difficult to update. Sure, you can pay install shield a bundle, or roll your own updating code, but the web makes it simple to update an application.
    3. Installed applications typically only work on a single operating system. Screw the art department who uses Macs, or the engineers using Linux. Installed apps generally only support Windows, without a great deal of extra effort. AIR and Java both try to address this, but you are still locked in to platforms that AIR and Java support. And, with Java at least, you have to debug on every platform you want to support.
    4. Web applications are easier to use in remote environments, when employees are off site or access needs to be given to others outside the enterprise. Sure, there's VPN, but sometimes it isn't practical.
    5. Computing power doesn't matter for a large percentage of enterprise applications, most of which are data intensive, not compute intensive.
    6. Using web technologies means your application has a much better chance of working on tomorrow's devices such as cell phones, appliances, game consoles, etc. Cell phone browsers get better every day. Installed applications have to be ported to every new device, at great cost.

    Over many years at a big company, the amount of installed applications has dropped, while web applications have proliferated. Sure, web applications are not the best idea for every application. But for most enterprise applications, I think they are the right choice.

  38. Flex/Silverlight/JavaFX? by nickruiz · · Score: 1

    The new hype is certainly Rich Internet Applications, but one thing not addressed in this article is whether or not the new non-AJAX technologies used in many RIA apps (Flex/Silverlight/JavaFX) could or should be used to develop a hybrid solution that leverages both the client machine's resources, as well as server resources, when necessary.

    Perhaps RIA applications could first assess the capabilities of the host machine, as well as its current load and provide a distributed solution that leverages a reasonable amount of client CPU cycles. It seems to me that any of the above technologies could do this. Typically, this approach is used only for synchronizing, but I don't see why this couldn't occur in real-time.

  39. Wow, Anyone Can write for Infoworld by Wovel · · Score: 1

    The article does not even make sense. It is difficult to identify what he is arguing against. On one hand he is mentioning google apps, but he seems to be arguing against enterprise applications using web interfaces.

    None of his arguments against deploying web based enterprise applications actually have anything to do with deploying applications in the enterprise. All enterprise organizations standardize on one or two supported browsers, surely this is not any worse than installing another application on every computer? The quote from SUN has nothing at all to do with the rest of the article and somehow makes it into the summary.

    They key problem with the article is he does not offer a single alternative to deploying enterprise applications to users scattered across a high latency WAN, he just says "reconsider". Just because he is not aware of the existence of filtering firewalls and transparent proxies, we are supposed to go back to the world of thick client applications with the whole host of problems that brings to an organization?

    Ajax does not simulate anything, it is just a new way of doing something that does not requiring installing and maintaining a thick client on the desktop. Surely keeping the business logic in the data center and sending your users only the data they desire is far superior to sending a massive pile of data across the WAN or VPN and then processing it on the desktop, just because it might have enough CPU power.

    Crazy Talk from:

    "Neil McAllister is a 10-year veteran technology writer and a regular contributor to InfoWorld. He has written extensively about Linux and open source, software development, and emerging technology for a variety of publications. He lives in San Francisco. "


    He just doesn't know what he is talking about..

    1. Re:Wow, Anyone Can write for Infoworld by PeanutButterBreath · · Score: 1

      Word Count + Deadline = Insight!

  40. There's another type of case against Web apps by macraig · · Score: 1

    That type is what I argued again here yesterday:

    http://slashdot.org/comments.pl?sid=1107509&cid=26650341

    You can choose to OPT OUT of a traditional one-time upgrade if it doesn't provide changes or new features that are relevant to your use of the software, and simply wait to purchase a later major version that does contain changes that you value. IN THE MEANTIME, you still have your one-time license agreement that allows you to continue using the version you do have, and which has features that are still useful to you.

    By contrast, you cannot SELECTIVELY opt out of a subscription; it is an all-or-nothing choice: use the software and pay the extortion fee that the subscription represents, or don't use the software AT ALL, period.

    A software subscription fee is tantamount to extortion: it essentially says, "You agree to pay us a revolving fee to fund our continued development efforts, EVEN IF you don't entirely value all the results of that effort." It's software development without the consequences of poor development choices.

    See, with traditional upgrades, you HAD A CHOICE. Not so with subscriptions. Borland Software and others learned this the hard way years ago: many people simply chose to opt out rather than pay for upgrades with features they didn't value.

    Software subscriptions, and their latest incarnations "web apps", are the (remaining) software publishers' response to that consumer reluctance. "Don't wanna pay for our upgrades? Fine, then you don't get to use our software AT ALL."

  41. Make up your mind by Cajun+Hell · · Score: 1

    Web applications encourage a thin-client approach: the client handles UI rendering and user input, while the real processing happens on servers. What sense does that make when any modern laptop packs enough CPU and GPU power to put yesterday's Cray supercomputer to shame?
    ...
    3. Browser technologies are too limiting. Why give up the full range of languages, tools, and methodologies that systems programming has to offer?

    But I thought you were just complaining about running on the server, not a browser. You can still write your code in Fortran77 on the server if you want to; it doesn't have to be javascript. No you can't use f77 on the browser, but hey, at least you got immense distributed resources over there.

    One of these two arguments doesn't belong.

    --
    "Believe me!" -- Donald Trump
  42. pansies by Anonymous Coward · · Score: 0

    screw all this browser nonsense. cobol cics for everybody!

  43. The Case for Horse Drawn Carriages by CopaceticOpus · · Score: 0

    "Fatal Exception's Neil McAllister offers five reasons why companies should re-consider concentrating their transportation efforts on gasoline powered vehicles. As McAllister sees it, automobiles encourage a reckless approach to transportation that leads to far too much dependence on pavement. And while low-fuel and flat-tire limitations are well known, the car as 'hostile territory' for independent travelers is a possibility not yet fully understood. Sure, automobiles are fast, versatile, and relatively efficient, but long term, the vehicle's weaknesses might just outweigh its strengths as a transportation platform."

  44. Counter-points by Jason+Levine · · Score: 1

    Here are his bulletpoints with counter-arguments:

    1. It's client-server all over again.

    So? Most everything nowadays is going to be client-server. Sure, you can author a document completely locally, but much of your real work is going to involve sending data to someone or getting data from someone. The alternative is a client application that pulls data from a server. You can't get rid of the server nowadays. As for wasting the power of the CPU/GPU, most apps nowadays wouldn't tax even a mid-to-low range CPU/GPU. We're at the point that the hardware has far outstripped the software. Doing something in a "low CPU/GPU demand" setting doesn't mean we're wasting power. It means we're being low-impact on the system. Finally, yes, security vulnerabilities exist in networked applications. Here's the thing, though, they exist in local client applications also. And it's a lot easier to patch one web application than it is to roll out 100 or more client updates.

    2. Web UIs are a mess.

    With modern JavaScript toolkits like jQuery or Prototype, you can add real-time interactivity to web applications fairly easily. No, it isn't the right approach every time, but it can be a very powerful tool for many different applications. As for consistent UI's, that's a problem for the developers. A developer (whether Web or Client) can choose to make their application conform to standard interface approaches or choose to ignore it. I remember, at the last company I worked for, having to endure Lotus Notes. That client application seemed to have been designed by someone who thought: "Let's take every Windows application convention and toss them out."

    3. Browser technologies are too limiting.

    No language is all things to all people. Still, JavaScript can be a very powerful tool, especially when combined with server-side processing and AJAX. I've developed many interactive applications without having to resort to Flash, Quicktime, or Silverlight.

    4. The big vendors call the shots.

    You could say the same about the Operating System running behind your Client application. Let's face it, for most companies this will be Windows. This means you're at Microsoft's whim. If Microsoft wants Windows 7 to kill off some functionality that your application relies on, then you're out of luck. And while I'll admit to a lack of knowledge on this next point, I'm guessing that making your application to run on Linux and Windows is more involved than making your website look decent in FireFox and Internet Explorer.

    5. Should every employee have a browser?

    We are a web-connected world. There's no going back. This doesn't mean that employees should have free reign to the entire Internet, of course. My company has a web filter in place. Everyone is allowed access to our employee Intranet (and some other sites) while some "non-work" sites (porn, gambling, YouTube, etc) are blocked. In fact, if you are dealing with Windows (as per the previous point), then every employee already has Internet Explorer. Even if you block everything outside of the firewall, it shouldn't be hard to allow access to intranet.yourcompany.com.

    --
    My sci-fi novel, Ghost Thief, is now available from Amazon.com.
  45. Browser... OS... What's the Difference? by EgoWumpus · · Score: 1, Informative

    The fact that the different browsers render basic sites differently should be warning enough. Add to that different versions etc; You will never have a standardised audience to utilise these. It will always be lowest common denominator.

    By the same logic, one shouldn't program at all. After all, different operating systems handle the same source code differently. Add into that different versions, etc; you'll never have a standard audience and therefore all programs everywhere will always be the lowest common denominator.

    Srsly, browser rendering is a well specified standard. To claim it's a barrier to good software is silly.

    --

    [Ego]out

  46. One thing trumps all considerations by evil_arrival_of_good · · Score: 1

    I [ the user ] only want to access everything through a web browser.

    Within a more nuanced statement, let this be stated: I want to access what your app does or shows from random machines throughout the day, that makes installing a specific executable unacceptable.

    On the developer and business side of considerations you may figure out web apps are problematic, and decide to abandon browser based coding. Your decision is a tree falling in a forest with no one to hear. Anything your project makes that does not show in a browser will go unused by the most modern class of computer users.

    Oh, and take your punk-ass approach to programming to the Windows 98 forum. Ballmer's lurking there, looking for friends with an anti-thin client stance.

    1. Re:One thing trumps all considerations by BBandCMKRNL · · Score: 1

      Within a more nuanced statement, let this be stated: I want to access what your app does or shows from random machines throughout the day, that makes installing a specific executable unacceptable.

      On the developer and business side of considerations you may figure out web apps are problematic, and decide to abandon browser based coding. Your decision is a tree falling in a forest with no one to hear. Anything your project makes that does not show in a browser will go unused by the most modern class of computer users.

      Since this topic is concerning Enterprise Applications, unless you are a C-level employee, you don't get to make that choice. It will be determined by the C-level policy. Now, a good C-level policy will specify a particular type, whether it be web-based or a desktop application, with exceptions allowed where appropriate. In some cases, there may be no choice if all the applications of a particular class are only available in one type. For example, you are unlikely to find web-based applications for things designed to run unattended like processing batches of daily transactions. After all, you wouldn't want a multi-hour batch process to fail because the browser timed out.

      --
      Without the 2nd Amendment, the others are just suggestions.
  47. 1997 called... by RingDev · · Score: 2, Insightful

    It wants its irrational fear of the web back.

    Web apps are not new. We have seen numerous expensive catastrophes. And the trend is not reversing.

    Hell we keep pushing more and more in the direction of SOA and chubby clients (thicker than thin, but thinner than thick).

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:1997 called... by gweihir · · Score: 1

      Chubby clients: great Term!

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  48. Why is it worth their time? by EgoWumpus · · Score: 1

    Why is it worth their time? Most game companies build games for Windows - why not also OSX? They even port to consoles more often than they do OSX. Simply put; you put the most work into where there is most gain. You might get around to smaller markets later, but likely only if there is a convenient way to do so.

    --

    [Ego]out

    1. Re:Why is it worth their time? by jbolden · · Score: 1

      Your arguing two different things. The GP was arguing the differences don't exist. You are arguing they do exist but don't care.

    2. Re:Why is it worth their time? by EgoWumpus · · Score: 1

      Fair enough. I misread. Take it, then, as a reinforcement of what you were saying. ;)

      --

      [Ego]out

    3. Re:Why is it worth their time? by SanityInAnarchy · · Score: 3, Insightful

      Because they shouldn't have to spend much time -- design it properly, and it should just work on any browser that does a good job with standard HTML.

      And because if you do test on all browsers, you'll end up with a more robust app -- not just against those versions, but against future versions. For example, if you only developed for Firefox and IE, you might easily be relying on a bug common to Firefox and IE.

      --
      Don't thank God, thank a doctor!
    4. Re:Why is it worth their time? by EgoWumpus · · Score: 2, Insightful

      The thing is, most browsers display stuff differently because they're not adhering to a common standard. There is less reason for me to develop for IE if they're going to belligerently never fix a compatibility issue with their browser.

      But, on the other hand, most browsers are moving to a common standard. Ultimately speaking, needing to cross-platform a webapp is going to be eliminated - or all but. Robustness is a useful quality, but spending time on something now that is going to not be an issue in the future is not a useful pursuit. In most cases, designing for these compatibility issues falls into that category.

      In short; you easily could be relying on a common bug, but you just as easily might not be. There is no reason to second guess yourself for such a small return.

      --

      [Ego]out

    5. Re:Why is it worth their time? by Hognoxious · · Score: 1, Troll

      it should just work on any browser that does a good job with standard HTML.

      I hear GNU/Hurd will be bundled with one.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    6. Re:Why is it worth their time? by SanityInAnarchy · · Score: 1

      The thing is, most browsers display stuff differently because they're not adhering to a common standard.

      Thing is, there are always going to be variations. Sometimes these are bugs in a browser. Sometimes they're bugs in the standard -- places where the standard left some ambiguity.

      Point is, the best way to find these is to have multiple browsers -- so, multiple browsers is a Good Thing. However, it also means just a bit more work testing your app.

      There is less reason for me to develop for IE if they're going to belligerently never fix a compatibility issue with their browser.

      Agreed. I only do that if I'm being paid, and even then, depending on the app, I may simply insist that people upgrade.

      In short; you easily could be relying on a common bug, but you just as easily might not be. There is no reason to second guess yourself for such a small return.

      I only disagree that it's a small return -- or at least, relatively.

      Once or twice a week, fire up a VM and test it in IE. There is at least one case where IE is stricter -- a few places other browsers will let me forget semicolons in Javascript, while IE will blow up.

      And you need at least two browsers anyway. Most often, you need IE -- if you're lucky, you might be allowed to nag users, but you're still talking about a huge install base, most of whom will just leave if it doesn't work. You also need Firefox, because Firebug is awesome -- nothing I've seen on another browser even comes close.

      The few cases where I find a bug in a browser -- especially one other than IE or Firefox -- there's the much greater return of helping the cause of web standards by reporting that bug. Everyone except Microsoft and Adobe, I'm sure, will find that supporting those standards is in their best interest -- that bug will likely be addressed.

      I'm posting this from Konqueror, for what that's worth.

      --
      Don't thank God, thank a doctor!
  49. Could we see cheap machines everywhere someday? by viljun · · Score: 1

    For many people is't already possible to get on and be productive only with web apps. What does this mean for example with a ASUS P5E3 Deluxe. Why would you need the whole massive and slow OS any more if the browser is the only thing needed? And what would you do with the hard drive, tons of memory, usb sticks etc if you could do and save everything to web? Could we see simple, very cheap and optimized bulk machines everywhere some day?

    --
    Ville / Varuste.net
  50. Not to mention... by ShatteredArm · · Score: 1

    ...Users like to have all of their applications in one space. They can just open up their browser, and they simply need to obtain the correct permissions to access it. No need to install 4-5 different internal apps, and have to update the stupid thing each time there's a new release, when you only actually use the application once every two months.

    Get off my lawn, indeed.

  51. Point by point dissection by hellfire · · Score: 3, Insightful

    I'm a software support rep and not even a developer and I know this is a blowhard troll.

    1. It's client-server all over again.
    Web applications encourage a thin-client approach: the client handles UI rendering and user input, while the real processing happens on servers. What sense does that make when any modern laptop packs enough CPU and GPU power to put yesterday's Cray supercomputer to shame?

    Concentrating computing power in the datacenter is fine if you're a Google or a Microsoft, but that approach puts a lot of pressure on smaller players. Scaling small server farms to meet demand can be a real challenge -- just ask Twitter.

    Furthermore, security vulnerabilities abound in networked applications, and the complexity of the browser itself seemingly makes bugs inevitable. Why saddle your apps with that much baggage?

    First, it's not client server all over again, not in the way you mean it. Client/server like windows terminal server or citrix makes it easier to manage company wide systems by giving an IT guy a central point to manage, and that saves time, which translates to dollars. Web apps do the same thing, but they are benefit from even easier setup management and deployment. Terminal server is a pain in the ass when it comes to deploying an app, because it has several ways to do so, none of them web based. You could deploy it by giving everyone a desktop to the terminal server, but then the dumbass users can't figure out which is their PC desktop and which is their server desktop. You could publish the app, which requires changing settings on the server and deploying the proper shortcut to the user's desktop, which takes more knowledge, which not everyone has.

    Web apps are easier to deploy in that all you have to do is provide a web address. Everyone knows how to use a web browser and click on links. Citrix even recognized this and provides software to allow you to connect to the citrix box with a web interface!

    Siting a laptop is stronger than an old cray is a clever misdirection. The real question is, what's more beneficial for your business, 30 laptops that cost $1000 apiece? Or 1 very large server that costs $10,000 plus 30 laptops costing $500 apiece? I just saved you $5000 on hardware! Plus when a laptop dies, there's less downtime, because I could just hand you another machine and you just go to the web address again. No application reinstalls. Most mega servers these days cost less than a distributed environment and can handle processing quite nicely.

    As far as network vulnerabilities, that's just utterly nonsensical. How does that statement say that a webapp is less vulnerable than a distributed app? Data still has to travel over a network in a distributed app! Duh! Besides, most of the vulnerabilities these days dealt with IE specifically and those dealt with how it was integrated with Windows. Pick another web browser, viola, reduced vulnerabilities. Take it a step further and deploy the web app as an intranet app so it can't be accessed outside your local subnet. Network security is for the network professionals, let them take care of it. Provide encryption as needed in the app and access levels for the data but other than that, that's not a developer's domain.

    2. Web UIs are a mess.
    The Web's stateless, mainly forms-based UI approach is reliable, but it's not necessarily the right model for every application. Why sacrifice the full range of real-time interactivity offered by traditional, OS-based apps? Technologies such as AJAX only simulate in the browser what systems programming could do already.

    And while systems programmers are accustomed to building apps with consistent UI toolkits such as the Windows APIs, Apple's Cocoa, or Nokia's Qt, building a Web UI is too often an exercise in reinventing the wheel. Buttons, controls, and widgets vary from app to app. Sometimes the menus are along the top, other times they're off to the side. Sometimes they pop down when you roll over them, and s

    --

    "All great wisdom is contained in .signature files"

    1. Re:Point by point dissection by ChrisA90278 · · Score: 1

      Siting a laptop is stronger than an old cray is a clever misdirection.

      Clever misdirection? No it's also flat out wrong. A 1980's vintage mainframe computer has huge I/O bandwidth. An order of magnitude (at least) more then a noebook. For most server based applactions the old 80's computer is much better. We don't use them only because of cost.

      The old computer I used to work on had 500 teminals connected and dozens of disk drives and maybe a half dozen printers. And those printers moved paper so fast you could not see the paper move. the only thing "wrong" was that the CPU sold for an even $12 million dollars.

      Todays PC/Mac computers are very fast but all that power is designed into moving pixels around on a screen. Just TRY and process an entire month's worth of bank transactions on a notebook PC.

    2. Re:Point by point dissection by Anonymous Coward · · Score: 0

      Just a node on deployment, for our C++ native client applications, we have a samba share on a linux server which everyone has a shortcut to (shortcut to the folder/exe).

      Want to roll out a new version? Just create a folder on the server and stick the new exe in it, then repoint the samba share.

      End result the users automagically get a new version as the shared folder name does not change.

      Need to roll back in a hurry, just repoint the share back to the old versions folder.

  52. How about a web program that is a CLI? by DoubleReed · · Score: 1

    A CLI is better than a web program?

    How about a web program that is a CLI?

    Something I whipped up for fun :-) whatever you type in is run by the Javascript interpreter. Plus there is a tiny API of a few AJAX functions.

  53. Web development is fast? by bjdevil66 · · Score: 4, Funny

    "Sure, Web development is fast, versatile, and relatively inexpensive,"

    Did Internet Explorer suddenly disappear? I must've missed that today...

  54. False Dichotomy by Tablizer · · Score: 2, Insightful

    I believe web-versus-desktop is mostly a false dichotomy. The problem is that our standards need a rethink. Web browsers started as a kind of e-brochure viewers, and this e-brochure approach was shoehorned into C.R.U.D. uses (biz forms, data-sheets, and reports).

    What is really needed is a "GUI browser" standard and/or OSS tool that has most of the desktop-like GUI functionality and behavior we've all grown to like. BUT, this "GUI browser" could ALSO be used for desktop development. Thus, one does not have to learn a different UI platform when toggling between desktop and web projects.

    Most GUI kits have made this difficult by making GUI's language-specific. Fitting these to other languages is often almost as forced as HTML-browser-to-CRUD shoehorn jobs. What needs to be done is the design of a GUI protocol that is mostly declarative. Being mostly declarative makes it easier to use by different languages and paradigms. In my opinion, the "everything must be OOP" thinking is largely what has got us stuck with language-specific kits. OOP is not well-suited to declarative APIs/protocols in my opinion. Encapsulation generally leads to behavior-centric API/protocol designs. (Some disagree, it makes for an interesting and heated debate.)

    The behavior-centric approaches of existing GUI kits hinders this goal. Most common GUI actions can be defined declaratively if you think about it a bit. The remaining that require Turing-Complete coding can be done by server-side and/or client-side app languages using the more lower-level features of the GUI-browser.

    Think of it as kind of as a smarter and HTTP-friendly rework of X-Windows where one usually deals at the widget-level instead of at key-stroke level (but key-stroke level is still possible as an option).

    1. Re:False Dichotomy by Earthquake+Retrofit · · Score: 1

      I What needs to be done is the design of a GUI protocol that is mostly declarative. Being mostly declarative makes it easier to use by different languages and paradigms. In my opinion, the "everything must be OOP" thinking is largely what has got us stuck with language-specific kits. OOP is not well-suited to declarative APIs/protocols in my opinion. Encapsulation generally leads to behavior-centric API/protocol designs. (Some disagree, it makes for an interesting and heated debate.)

      Mod parent up. Avoiding OOP is the major reason I've begun using MASM.

      --
      Fifty years of Yippie! 1968-2018
    2. Re:False Dichotomy by shutdown+-p+now · · Score: 1

      What is really needed is a "GUI browser" standard and/or OSS tool that has most of the desktop-like GUI functionality and behavior we've all grown to like. BUT, this "GUI browser" could ALSO be used for desktop development. Thus, one does not have to learn a different UI platform when toggling between desktop and web projects.

      Applets. Flash. ActiveX. XUL. WPF/XBAP.

      We've been there. Problem is, there's no standard "GUI browser". More often than not, end user is left with having to install a different one for every app he's using, which is even more annoying than having to install the app (in part because where the app could be 1Mb, the "browser" will be 10Mb...).

    3. Re:False Dichotomy by Tablizer · · Score: 1

      I'm thinking more of a *dedicated* GUI browser rather than a plug-in to existing HTML browsers. Although if someone could get a plug-in to work, that would be great.

      Flash kind of has the right idea, although its proprietary. Same with Active-X. Plus, Flash tends to focus on beauty more than function.

      I found XUL odd. For one, the documentation didn't show how to handle individual updates instead of screen-at-a-time updates like HTML expects. Ideally an HTTP transaction should be able to easily change only a single widget most of the time.

      Maybe with some AJAX-like transaction coding behind the scenes, XUL would be closer. It's got most of the widgets down, just not the interactivity/communication problem.

      I've actually tried building a proof-of-concept GUI browser using Java, but being a static language, it was difficult to create new widgets at run-time and track their existence in a data structure. A dynamic language would be better suited for such. It won't complain about not knowing the type of things tracked in data structures at compile-time. My Java skills are not fancy enough to work with that issue and it became cumbersome.

      Maybe I'll try again by pre-creating all the widgets at compile-time but make them all hidden. One just un-hides them and resizes them to use them. It's klunky, but its only a proof-of-concept after all.

      (I'll get back to you on the others.)

    4. Re:False Dichotomy by shutdown+-p+now · · Score: 1

      I'm thinking more of a *dedicated* GUI browser rather than a plug-in to existing HTML browsers. Although if someone could get a plug-in to work, that would be great.

      Do have a look at WPF XBAP ("browser applications"). They can run both standalone and in a browser (taking up the whole page in the latter case), the UI is entirely declarative with data binding used to wire up the model, and the feature set is essentially what you'd expect from any thick fat client framework.

      Of course, you'd still need to code in a OO-centric language for the backing code, so that may be a problem ;)

  55. Concentrating the workload .... by hey! · · Score: 1

    Isn't that the idea?

    The work doesn't magically go away because it's distributed. It just gets harder to keep track of. Something isn't more net work because it becomes easier to measure.

    Now if you're stupid enough to concentrate all that formerly distributed work in one place and expect that you don't have to alter your staffing distribution, you deserve what you get.

    In any case, TFA was clearly phoned in to generate click through revenue. It's so wrong headed it isn't even wrong. It's not that you can't dream up reasons why browser based application development is a bad idea, but the existence of valid questions is not tantamount to an answer to those questions. Put some effort into answering those questions, then write a real article.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  56. GMail changed my mind by mstroeck · · Score: 1

    GMail with calendar integration, chat and now Google Gears is the best damn email solution I have ever used - by far. If a hard problem like email can be tackled in the browser with such success, a lot of things can.

  57. Re:No Sh!t. by Lieutenant_Dan · · Score: 2, Insightful

    I second this.

    What about all those fine thick client apps that refuse to run unless they have elevated privileges on the workstation?

    --
    Wearing pants should always be optional.
  58. Security, Costs, and Flexibility by katorga · · Score: 1

    Regardless of web or not, security will drive movement back to centralized data processing. It is more cost effective to secure data in one location than it is to secure thousands of employee desktops and laptops.

    Cost will drive data back to the data center. The author's assertion that modern computers are like Cray's only means that companies are wasting money buying unused CPU cycles that can be better used on a centralized farm where cycles can be distributed where needed on the fly.

    The flexibility of web deployment means fewer VPNs, faster deployment of new physical work sites, and the potential to run on all sorts of devices.

  59. Heh by bberens · · Score: 1

    I think I'll start deploying stand-alone apps which are just my own lite wrappers around the IE active-x control. That way it's a 'fat' application but updates and deployments are a cinch. It's the best of both worlds.. I control their 'browser' environment and I only have to update the server.

    --
    Check out my lame java blog at www.javachopshop.com
  60. AJAX cross browser libs by witherstaff · · Score: 4, Informative

    That's why there are numerous ajax libs that give you a standard of cross browser support without having to worry about oddities. YUI is my favorite although there are others. All of their main controls work the same across all top browsers - very nice stuff.

    1. Re:AJAX cross browser libs by jbolden · · Score: 1

      Haven't tried the yahoo one. I've heard good things.

  61. Centralized Control of Standalone Apps by EgoWumpus · · Score: 4, Insightful

    I think you're going to see an explosion of standalone applications tethered to a web-based datasource or back-end. iPhone and Android basically do this already - taking their cue from email programs since the dawn of the internet. Programs like Steam allow you to install local, fat clients through a thin client interface. Each of those pieces has a reason for being fat or thin, and you want to take advantage of that.

    I think, in the end, the point is that you want to be confident your interface is usable where-ever, and that your backend can be swapped up without version issues, and that either way the program can do everything it needs to. The web is very good at the first two, it's just that the domain of problems it can manage has not yet expanded to the third. Is that anything but a matter of time?

    --

    [Ego]out

    1. Re:Centralized Control of Standalone Apps by Hognoxious · · Score: 1

      Isn't that supposed to be what java was for?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  62. That would require a monopoly; we don't like that. by TheSpoom · · Score: 1

    Once everyone has an iphone like device that has a standard development environment

    This is where people miss the point. There won't be a standard interface for local coding, because that would require a monopoly on the operating system... and as Linux has proven, a lot of people don't like that.

    Java tried it. The idea behind Java is nice, but those who want the power of local coding will usually go with C anyway because it's simply faster, and they can access all of the platform-specific speedups that Java blocks (by default) in the interest of platform agnosticism.

    There's a reason that web apps are as popular as they are, and that's that a thin client allows the developer on the other end of the connection to do all sorts of crazy stuff on the high-powered server and just report to you the results in a language that for the most part every browser understands.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  63. The real reason for web apps: by Unoriginal_Nickname · · Score: 1

    Cross-platform GUI libraries are inadequate given the wide variety of devices, platforms, user expectations, usability standards and the extreme disparity in basic user interface elements, layout engines and even programming languages.

    HTML is currently the most ideal because it offers a cross-platform and largely-standardized way of expressing both content and layout. Using a browser GUI solves a lot of difficult issues, including look-and-feel and specialized layout for peculiar form factors (like cell phones).

    Essentially what I'm suggesting is that we are looking at the situation backwards. We should be using HTML to lay out GUIs locally, rather than have clients connect to these applications remotely.

  64. Fat or thin, Neil? by CleverDan · · Score: 1
    Here's an excerpt from an earlier post from Neil about Slimming Down Your Software

    In truth, says Forrester, lean software is less a methodology or a dogma as it is a trend. Citing the growing use of open source toolkits, lightweight object containers, SaaS, and (yes) cloud computing, among other emerging technologies, Forrester claims that a leading segment of developers is already moving toward lean software as a natural reaction to the inherent inefficiencies of the traditional enterprise development process.

    So which is it, Neil? Fat apps on the desktop, or thin/lean apps on the web?

    1. Re:Fat or thin, Neil? by DaveV1.0 · · Score: 1

      False dilemma. How about a lean/thin app on the desktop? It is doable.

      Here is something else you forgot : "Fast, fat app on the desktop or slow lean app on the web?"

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  65. Network Transparent Widgets by Anonymous Coward · · Score: 0

    This discussion comes up every once in a while and I think that anyone who has had to build and maintain both types of applications can appreciate the points in the article.

    For database-centric apps that are in-house tools, I really think something like Network Transparent Widgets could be the best solution.

  66. That's why you need to keep code layers apart by mcalwell · · Score: 1

    Keeping your business and presentation layers separate is the key to ensuring that your options are open in future. I'd like to think that I could take my php web app and put it into a php-gtk application without much extra work.

    I could see a time when that happens somewhere down the line when the same app is basically offered in web or desktop format. There's definitely a time and a place for desktop apps. The web is a pretty square peg for the round holes of business, though you can get away with a lot.

  67. The real reason web apps suck by caution+live+frogs · · Score: 1

    This article ignores the real reason web apps suck: You have to be connected to the web to use them.

    Developers keep forgetting that not everyone has broadband access, an iPhone in their pocket, or ready access to WiFi networks. Bandwidth isn't cheap, it isn't always reliable and it isn't always there. I mean, come on - I like Google Maps as much as the next guy, but if I find myself stuck in an out-of-service zone I know I can rely on the road atlas in my car.

    I think web apps are great for what they do but I don't think anyone should rely on them alone. If cost is the major issue with desktop apps, open source is the answer.

  68. It's really hard to disagree with them. by zullnero · · Score: 1

    (rant on) I just love it when a web guy tries to tell me that his app renders "great" on any smartphone.

    As I scroll down to get to the login/pass field, only to find that the fields don't accept grafitti characters when I use my Centro, I look at him and he says "oh, well, I only used my iPhone to test it out". Then I ask "did you at least try Android? Maybe a BlackBerry, or a WinMob phone?" Only to hear "That's a problem with the browser for your phone, we have no control over that."

    Really now. The main reason people want to do web apps is really simple...they want to do it cheap up front. They don't want to hire someone to write clients that are naturalized to each platform that are easy and efficient for their users to use...they want to make something on a server and pray it works. And suddenly, if by some odd chance that their poorly rendered browser based app takes off, their datacenters are overworked and they need to hire more server guys, buy more servers, and lose more of their margin to maintenance. Or they just work their web guy to death trying to solve a nearly impossible problem. Mobile clients are special...they're simple enough that one person can knock out the code reasonably fast, provided they get a good upfront design. After that, the only time you have to push new revs is when there is some massive new direction in the market. Most phones support wireless updates these days, so it's not that hard to coordinate.

    Users actually DON'T WANT to upgrade a mobile app every month because it's annoying. Phone apps are all about being simple to use and reliable. Starting up a browser is more clicks than I want to do if all I want to do is log my work hours, check some data, check a map, whatever.

    And for you Java people, no. It's not as cross platform as you think it is. And it's not the phone's fault that it's not completely compatible with your favorite language. Yeah, it's hard. Making money IS hard work. Doing it easy doesn't mean you're going to get customers. Java doesn't give you enough control over most devices to do anything more than just the basics. That's the downfall with "cross-platform". Sometimes you have to put in a little work and make your app NOT SUCK for people to use. (/rant)

  69. Tiresome by dread · · Score: 2, Insightful

    Well, that was the lamest collection of reasons I've ever seen.
    It's client-server all over again? Umm. Yeah? So? Most enterprise applications are client-server. Include document and process management and your entire network is a gigantic client-server system. Come on. Is that supposed to scare anyone? Really? Wow. Should every employee have a browser? Hell yeah. If they have a computer they should have a browser. If you have a problem with your employees doing other stuff than work then you have a problem that won't go away because you take away the browser. That should be obvious to anyone who has ever been an employer.

    And saying that the web is a place that is dominated by big players is just ludicrous when advocating working on the desktop instead. (I don't think I need to spell this one out for you)

    No, this is all crap. There are valid reasons why certain applications shouldn't be web based. But the article lists none of these. Too much load on the datacenter. I mean seriously. Come on!

    --
    I've had a wonderful time, but this wasn't it -- Groucho Marx
    1. Re:Tiresome by DaveV1.0 · · Score: 1

      It's client-server all over again? Umm. Yeah? So?

      So, what happens when you can't get to the server because there has been a fire in your data center? Or, a crucial fiber optic center? Or, a meteor could be involved.
      What do you do when your server, or your customer's service, is unavailable for a week or three?

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    2. Re:Tiresome by the+eric+conspiracy · · Score: 1

      What do you do when your server, or your customer's service, is unavailable for a week or three?

      Use the backup, Luke.

      Seriously this is one of the best things about webapps. It is far easier to ensure redundancy and backup quality than if the data and apps were out on user machines.

    3. Re:Tiresome by DaveV1.0 · · Score: 1

      Yes, the backup.

      Where are you going to use the backup at? Remember, your data center is without power and without connectivity. Your server is in the building and you can't get to it and it has no power. And, you may or may not be able to get to the backups.

      Then, there is the possible problem of having your site hosted in another city and possibly another state.

      Meanwhile, you or your business or your customers, whomever uses the webapp is down until you can arrange for another server at another data center and the restoration of the app from backup, assuming you have a backup in a medium that is compatible with the new server. And, that assumes you haven't used the current data center's backup system, because if you have, they may not let you have the tapes because the tapes are their property and in the contract you signed, you can only have the data restored from back up onto THEIR servers.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  70. Relatively few web apps are viable. by MtViewGuy · · Score: 1

    I think right now, there are not that may applications that can work as web apps. The only one I know that works well are email, instant messaging and maybe teleconferencing, where if you suddenly lose your Internet connection you won't suddenly lose a lot of productivity.

    In my opinion, business apps should STAY on the local computer, what with the price of hard disk storage being dirt-cheap nowadays and you can work "offline" writing documents, creating spreadsheets, creating presentations, etc. Given the cost of OpenOffice (e.g., free), do you really want to do office applications with a web-based app?

    1. Re:Relatively few web apps are viable. by Max_W · · Score: 1
      Internet connection in some places can be very reliable, as it should. Or one can have a back up connection. Say, dial up card for 30 hours. Just in case.

      But if there is not electricity nothing works.

  71. If it weren't for web-enabled apps... by AMuse · · Score: 4, Interesting

    I am the sole IT person for a nonprofit, volunteer animal rescue. They don't have any money to pay for professional staff (preferring to spend it on the animals instead).

    All of our IT tools (a wiki, a bird tracking database, OTRS, our website, a chat server, etc) are webapps.

    The type of people, for the most part, who are willing to volunteer to do animal rescue are not geeks, techies or even "power users". For a long time our animal tracking database was a client application. 75% of the volunteers had so much trouble figuring out how to INSTALL IT and connect it to our database (even with written instructions) that they didn't even use it, and had to ask others to do all their data entry for them.

    It got to the point that each adoption coordinator had to be set up with a technically astute "data entry buddy".

    Now that our bird database is a webapp, all the coordinators can use it, because they CAN navigate to a website and use the tool.

    So, yeah, there's a place for thick client apps too, but without webapps we'd be screwed.

  72. exe vs. php by Max_W · · Score: 2, Informative
    In my case installing executables on several computers in remote offices was an insane task, which I still recall with horror. At some places these were thin clients, not PCs. Once I was installing an EXE for 4 hours, because inexplicably it wanted in this case a DLL.

    While browsers were readily sitting on all these computers.

    Switching to server-client brought some sanity back into my life.

    Certainly the network should be policed to make it secure. No helmet, no body armor, no steel door makes a security. It's just a part of it.

    Server overload? 4 cores, 12 GM RAM, 2 TB hard disk are overloaded? Check your code and especially queries. Say, if in PHP you are to get an integer do only casting $a=(int)$_POST['a']; no further sanitizing is needed. Casting is non-function operation and requires little computing. Limit queries. Writing good queries and sticking to efficiency and security philosophy on a server may make an application work.

    One more thing, vote for politicians who use Internet and pledge to protect it.

    1. Re:exe vs. php by weicco · · Score: 1

      You could always use ClickOnce. No hassle, user just "clicks once" and be done with it.

      I personally hate web apps. I hate to use them and I especially hate to write them. When customer wants web app it means he wants an app which works just like rich Windows app but on the allmight internet. This means lines and lines of hard-to-debug JavaScript, AJAX, heck load of CSS and headaches. And in 99,5 percent of cases they use single OS and single browser (Windows XP/IE 7) inside their own secured LAN thus demeaning the whole idea of web app. What I've understood is that the central idea of web application is that it is platform agnostic and mobile.

      So in 99,9 percent of cases simple Windows Forms or WPF .NET application would do the trick with much less lines of code.

      --
      You don't know what you don't know.
    2. Re:exe vs. php by Max_W · · Score: 1
      I work in an environment where I have also deploy applications. At first I assumed that all users should have an IE browser. Why not, if all of them have got a Windows OS? But it was not the case, since some users claimed strongly that their IE6 browser does not work.

      All I had to do is make application's pages compatible with Firefox, which they did have, with some JS code.

      Big guys, who write applications in White Towers do not even think of such problems, but when one to make things work in a relatively small company or die, one sticks to what works: PHP, MySQL, JS, HTML.

    3. Re:exe vs. php by weicco · · Score: 1

      Heh. So you had a problem where customer used Windows and different browsers. You solved the situation by making cross browser compatible code. Good for you.

      But with rich Windows application you would not have even been in such situation at all :D

      --
      You don't know what you don't know.
  73. Fast? by Cymeth · · Score: 1

    Web apps are fast? FAST??

    I'm yet to see one that i would call fast..

    --
    Can anyone recommend a good therapist for me.. er.. my schizophrenic network card?
    1. Re:Fast? by Cymeth · · Score: 1

      Oh crap, I mis-read development for applications.

      damnit. moving office and i was in a rush to get my slashdot fix.

      -1 plz

      --
      Can anyone recommend a good therapist for me.. er.. my schizophrenic network card?
    2. Re:Fast? by Max_W · · Score: 1

      If it is written with a logo on top with, say, smiling business people sitting around a table, then it will not be fast as this images take time to load. But if it is some data, like numbers, titles, etc. why it cannot be fast?

  74. Economics and maintainability by presidenteloco · · Score: 1

    Webapps are here to stay, for several reasons having to do with the economics of their delivery and maintainability.

    As developer organization, you upgrade in one place, flip a switch, deploy it, and you are done. All, or a controlled subset of your customers, is now running the new version.

    And most importantly, you control what versions and how many versions your software customers are running, thus slashing maintenance costs.

    Also, everyone encounters the same bugs. Believe me, that is a feature not a bug, as it leads to quicker discovery and of necessity quicker resolution of the bugs, which is good for the customers, all of them, despite their own laziness in upgrading their s/w.

    Regarding the thin client problem. Thick client web apps are just in their infancy, and will almost certainly dominate in the long run, after some serious platform wars.

    --

    Where are we going and why are we in a handbasket?
  75. YES!! by coryking · · Score: 1

    And for the love of god, stop broadcasting our IP address!!!

  76. What AC said by mrraven · · Score: 1

    Web apps are OK for the "enterprise" the problem is though is that enterprise "solutions" become standards for everyone and thus Uncle Joe and Aunt Jane in the past were stuck with M.S. Word if they wanted to be able to open attachments and print at Kinkos or whatever.

    Will home users now be stuck with sub optimal web apps when open office or Abi Word, whatever would serve their needs better?

    --
    Tired of all the isms, don't exploit people as an employer, or a government, mmmmK?
  77. Maybe by coryking · · Score: 1

    I think the parent is right. But I'll modify his prediction to say "on mobile devices". Case in point:

    Can your java applet talk with the GPS unit on an iPhone? If no, then you write a native app.

    I can easily forsee a lot of "real" applications written for the iPhone or Android. Of course, Andriod might be a java stack, I'm not sure :-)

    PS: Hopefully someday soon there will be a standard way for a javascript application go talk with a mobile phone's GPS. There is a *huge* potential for GPS + Mobile + Always on internet.

  78. Almost by coryking · · Score: 1

    There is less reason for me to develop for IE if they're going to belligerently never fix a compatibility issue with their browser

    It doesn't do you any good if the userbase never bothers to upgrade.

    Dear IE6 users: UPGRADE!!!!!

    1. Re:Almost by Keeper+Of+Keys · · Score: 1

      By this point, I think every IE6 user who wants to upgrade and is able to has done so.

      There are two reasons why they might not be able to: they are still running Windows 2000 and/or they are in a corporate environment with locked down software. In either case, they will only change if their IT managers allow a switch to Firefox/Chrome (or Opera/Safari, but how likely is that?). These people should be the target of the ongoing campaign against IE6. It seems the security message has not been enough to sway them. But if enough sites only offer a degraded experience for IE6 and say so on the site pressure from users will eventually force a change of policy

  79. Re:No Sh!t. by Anonymous Coward · · Score: 0

    I second this.

    What about all those fine thick client apps that refuse to run unless they have elevated privileges on the workstation?

    What about all those fine thin client web-based apps that need to use that one feature of IE/ActiveX/Flash/Java, which you can't update unless you have elevated Windows access to run the update?

    But in general, I do agree with you, at least to a point.

    The last job I worked I had to run some apps in IE, some in Firefox, etc. I finally got so tired of the lazy, incompetant "IT" guy not updating basic system stuff like Java, etc. I just threw it all on a USB drive.
    Which saved my ass more than once when my computer was kindly 'updated' overnight, which meant the dumbass just hooked up an external harddrive & imaged the machine.

    I think all in all, if you have a decent IT department, both methods work fairly well depending on the specific needs you have.
    If you end up with a hodge-podge of computer hardware and OS's, you'll run into a lot of trouble either way, but be slightly better off with the web apps because at least you can shift the workload from your engineers/developers and onto the IT drone.

  80. You learn something everyday by coryking · · Score: 1

    "Accesskey" is the magic attribute!

    That said, the example I found did not work in Firefox. When I hit "ALT + e", the caret did not move to the box in the example. Instead it opened the edit menu. This was the case no matter what part of firefox had focus. ..Oh wait, I had to hit "ALT + SHIFT + E" because the access key appears to be case sensitive. Then I hit "ALT + SHIFT + P" to move to the "Phone" field and Windows Media Player popped up. I guess in Firefox guess the GUI takes priority over the page for access keys.

    I tried the same page in Chrome and the access key was *not* case sensitive and "ALT + E" worked just fine. IE7? Works as good as Chrome.

    Conclusion? A good idea in theory, but the browser support, at least in Firefox, is very half assed.

  81. web apps are always running... by erikdotla · · Score: 1

    On reason being overlooked for web apps is that the app keeps running, doing things for other people, even when your system isn't.

    --
    # Erik
  82. Web Apps: SImple to rollout. No client sizing by clay_buster · · Score: 2, Interesting

    A very large percentage of enterprise applications are multi-page forms based. The works reasonably well for that with a relatively low training issue. Every new hire knows how to use a web browser. Older very shortcut, abbreviation driven systems let experienced users fly through the system but many jobs have either high turnover or high numbers of irregular users. Web apps are great for that.

    Web applications are easy to roll out to the enterprise without any client reboots remote install scripts or any of the other nastiness. All of the client machines in the enterprise are supported. Remote deployment doesn't require remote desktop or other higher complexity solutions. Most enterprises only support one browser internally so there isn't any cross browser issue.

    Fat apps have their own issues. Applications that are large enough to be very hard on the web are often complicated and hard to build as a fat application. Data integrity issues across views and panels can be a pain. Two tier client server applications often still need two levels of validation, both on the server and client.

    Mail and calendaring are two good examples of applications that work well enough on the web for some very (very) high percentage of users.

  83. BLAH BLAH BALH by Anonymous Coward · · Score: 0

    This guy must have a few Thick Client mates that could not make the transition to Thin client programming who are out of work.

    Never heard of the biggest load of crap in my life..

    Nearly everything he says is wrong. 1 example Try and deliver a new thick client app in a business enviroment. 6-8 weeks and 15k for the packaging boys in india lol.

  84. Hmm.. by Luscious868 · · Score: 1

    When all you have is a hammer, everything looks like a nail. The correct answer to which kind of apps developers should focus on writing is "All of the Above". I want web apps, I want native apps written for specific operating systems, I want cross-platform apps written in languages like Java, I want hybrid apps that use web services. The more choices we have the easier it is to find just the right tool for the job,

  85. Push Technology... by Animaether · · Score: 1

    ...don't blame the tech for any nefarious purposes, right?

    'Push Technology' just meant that instead of people refreshing websites all damn day long, the website would shoot the client a new copy if there was anything new on it. Push died, people still didn't want their sites refreshed by clients all the time, so they set up RSS feeds instead. Now everybody hammers the RSS feeds all damn day long. It's less bandwidth than the whole page, but it's still the same problem.

    Heck, we actually use 'Push Technology' all the time. Instant Messenging, for example, is push. Sending an e-mail is push. Proper push e-mail (where the service goes to connect to your phone, rather than your phone checking every 3 minutes)... is push.

    Yes, there are even RSS subscription services that use push.

    Back to the 'nefarious' bit, however.. some people were scared that media moguls/governments would try to squash pull and have clients receive push only - thus limiting the information you can get to whatever is being pushed by those groups. I think it would have taken a *lot* for that to happen back then - it'll be neigh-impossible now.

  86. Absolute BULLSHIT-- Flash? Flex? AJAX? by curmudgeon99 · · Score: 1

    This guy is full of it. There are so many new options coming down the pike, all essentially web apps despite their various flavors of enabling technologies. This guy has had his head in the sand. Besides--what is the alternative? Fairy Dust Apps that just live in the air and drop down out of clouds of pixie dust?

  87. I can't help it, I have to... by Anonymous Coward · · Score: 0

    Write Once, Debug Everywhere

  88. Re:False Dichotomy (OOP compromise) by Tablizer · · Score: 1

    I will assume that was meant in friendly jest.

    Note that it may still be possible to put OOP wrappers around the GUI API for specific languages. Thus, one is not necessarily abandoning an OOP viewpoint from the app developer's side.

    The tricky part is that the "state" is inside the GUI engine and not in app language objects. (This is necessary to make it multi-language and multi-paradigm-friendly.) Making it appear as if its in app language objects, or mirroring the state as app lang objects could be a bit challenging for some languages.
           

  89. Re:Really. by lysergic.acid · · Score: 3, Interesting

    ignoring the parent's incoherent and completely off-topic rant, the arguments raised by the author are somewhat flawed.

    take for instance:

    1. It's client-server all over again.

    um, all over again? when did we ever stop using the client-server model? client-server architectures are so prolific because it's simple and it works. some of the greatest technological successes in recent decades have been based on the client-server application model--for instance, database servers and network services and their derivative technologies such as the world wide web, ATMs & EFT, cellular networks, instant messaging, IRC, all types of online gaming, and the list goes on.

    commodity computing moved away from dumb terminals and thin clients perhaps, but things don't have to be one extreme or the other. you can have the best of both worlds. a modern MMORPG is a client-server application, but they're certainly too graphics-intensive to run on a thin client. but if you're developing an intranet application that already uses networking and databasing, two of the most prominent classes of client-server applications, then what is wrong with using a web front-end that is cheaper and faster to deploy?

    with today's high speed networking and mature browser technologies, most enterprise applications gain no benefit from being developed as a standalone desktop app. an accounting application doesn't require a complex desktop interface or lots of processing power, same with CRM and other business applications. applications like 3D gaming, multimedia production, CAD software, scientific modeling, etc. still require a standalone desktop application. but business apps that consist solely of filling out text fields & electronic forms and outputting textual data with very basic graphics are perfect for web front-ends--especially if they're network applications.

  90. Who the hell is Neil McAllister to say by Anonymous Coward · · Score: 0

    I peeked at his bio.
    Some guy who writes about tech. A lot for a long time sure. So what? How many movie critics have sat in the directors chair? I sure as hell wouldn't ask one how the next blockbuster flick should be shot, filmed, editing, cast, etc.

    Most of the things he puts on that complaints list are hardly confined to web application. "System" application as he puts it, is just as rife with the same bull shit.

    counter points.
    1) Ever write a 3 tier app in MSV*? Same crap.
    2) Bull. "System" applications have the same issue. People building their own UI's and messing with the user.
    3) Because maybe we want it on the web in the first place. That's why it was built as a web application? Duh.
    4) And Windows 7 now? They haven't fixed Vista. Same bull. The big boys call the shots. OS or browser. At least Firefox runs on Mac, Linux and Windows. Cross platform clients are where it's at.
    5) Seriously? that's the lamest point ever. Who can't fit a browser on their 4GB USB drive that cost $9.95? He who wants porn gets porn.

    And an extra point. This comment is a web app in it's own right. So is this site. It's hardly a static 5 page site with no user interaction is it?

  91. Re:SQL? (Missing Widgets) by Tablizer · · Score: 1

    Just about anything you'd need to do in a business app -- especially a simple form-type interaction -- you can do client-side.

    That's not entirely true. Sure there are "webby" workarounds, but for the most part the following things are difficult to do right and reliably in a web browser:

    * Edit Grid - A standard editable "grid" control to provide a spreadsheet-like data grid (AKA "Table Browser"). Extra points for allowing different widget-types in the grid, such as combo-boxes, check-boxes, etc.
    * Combo Boxes (hybrid text and drop-down list)
    * Menus (menus in JavaScript+CSS/DOM with frames are a nightmare)
    * Tabbed sub-portals or sub-forms
    * Collapsible tree/outline browser
    * Formatted Masking and/or Validation - Example: Date entry
    * Pop-up Dialog Boxes - (Tabbed browsing and IE's security prompts have made the traditional "target=_blank" solution less desirable.)
    * MDI-style Interfaces
    * Right-Click Features or Menus

    Many of these can be emulated via JavaScript+CSS/DOM, but the results tend to be unpleasant and browser-version-sensitive.

  92. Survival of the fittest by Anonymous Coward · · Score: 0

    Not only that, but SNA is much better suited to business apps than TCP. Like TCP, WebApps are the reality. They are proliferating like crazy while those old client server apps are slowly (too slowly) dying out.

  93. Self-fulfilling prophecy? (was: No Shit.) by Anonymous Coward · · Score: 0

    Maybe you have so few repeat users *because* you deployed a web app?

    No one wants to repeat *that* experience?

    SCNR :)

    [The captcha was "cactus": how fitting!]

  94. Re:SQL? (Missing Widgets) by SanityInAnarchy · · Score: 1

    * Edit Grid - A standard editable "grid" control to provide a spreadsheet-like data grid (AKA "Table Browser"). Extra points for allowing different widget-types in the grid, such as combo-boxes, check-boxes, etc.

    I don't get how this is hard. You might even use actual HTML tables (gasp!) to lay it out. What is it that's not working about these?

    As this seems to be a theme, let me summarize:

    * Combo Boxes (hybrid text and drop-down list)
    * Tabbed sub-portals or sub-forms
    * Collapsible tree/outline browser
    * Formatted Masking and/or Validation - Example: Date entry

    These are not only done in Javascript/CSS/DOM, but they have been done so many times that you can pretty much pick up a jQuery plugin, throw in a one-liner on the client and maybe five or ten lines on the server, and you're done.

    This is also not valid:

    Many of these can be emulated via JavaScript+CSS/DOM, but the results tend to be unpleasant and browser-version-sensitive.

    You'll have to be more specific about "unpleasant" -- I find them quite pleasant. And the browser-sensitivity is hidden away in a library somewhere, where I don't have to care about it.

    * Menus (menus in JavaScript+CSS/DOM with frames are a nightmare)

    So don't use frames. (Seriously, who uses frames?)

    I'll amend that: Use iframes if you must. Otherwise, stick to emulating them with CSS, maybe even AJAX -- that way, your users get bookmark-ability.

    * Pop-up Dialog Boxes - (Tabbed browsing and IE's security prompts have made the traditional "target=_blank" solution less desirable.)

    That's most often a UI mistake, IMHO. It's much cleaner and friendlier to put the options in that "dialog box" in some expandable/collapseable block next to the element it affects. A notable exception might be editing a spreadsheet formula, which has a dedicated area elsewhere on the screen.

    Popping something up, if it's done right, means you've now covered up what the user was doing -- which might include information that goes in that dialog box -- and you've restricted their navigation, and you're adding modality to the application which doesn't need to be there.

    However, I got overruled at work because of how trivial the jQuery Boxy plugin makes it to throw up a dialog box -- within the same page, of course, not a popup, but it can be made draggable, so not as obnoxious.

    * MDI-style Interfaces

    The browser is your MDI-style interface. A properly designed app, and you should be able to middle-click on any link and have it open in a new tab. Depending on your browser, you should be able to pop tabs out of the window, move them between windows, or split a tab into panes.

    Bonus: Having done it this way, the whole issue of which features to include inside that MDI window is completely removed. It supports whatever the browser supports. If the user wants something you didn't think of, they can just use a different browser, or install a browser addon. How were you going to make your desktop app that extensible?

    * Right-Click Features or Menus

    Apple has a point -- while right-clicking is great, you shouldn't rely on it.

    That said, Google Docs seems to do a decent job of that. I can't imagine how it would be hard -- what is it, an "OnRightClick" event?

    I would say, if you're still in doubt, go look at some of the things that have been done with, for example, EXTJS. I hate to mention that library -- the developer did a pretty shitty thing with his license, and we dropped it like a rock for jQuery -- but it has some pretty impressive demos.

    The only problem I see with the "webby workarounds" is that you can get them wrong (which is true of anything), and that they are technically slower than a native widget library -- but that will only improve, and performance is already more than "good enough".

    --
    Don't thank God, thank a doctor!
  95. Historic Pendulum by wangerx · · Score: 1

    We've seen all of this before and we will see it again... (I've heard that line somewhere before)

    • The pendulum swinging...
    • Mainframe Era - dumb terminal + big iron server
    • PC Era - user independence with client side, single-user apps
    • PC Server Era - single-user apps hacked into multi-user apps with server file sharing/locking
    • SQL Era - stored procedures required to do heavy data work for clients
    • Internet Era - browser (dumb terminal again)
    • AJAX Era - swinging back to client side processing to relieve server of mundane tasks and reduce the dialog latency that breaks the user's train of thought

    So where do rich clients apps fit in the pendulum swing? I think rich client apps give developers absolute control over where a process runs. They take more planning and deliberate server communications, but I believe the payoff is huge. We developed a Java rich client framework for our applications development. We develop under Linux and test and deploy to Windows users. We never tested it on Mac, yet we just had a Mac savvy user install it and run without issue!

    Don't buy the argument that rich clients apps are too hard to distribute. We built our own tool that will reconcile the installed Java class files at user login. TALK ABOUT A MASSIVE TIME SAVINGS in both support and debug! It ensures all users are running the same version, all files are checksum validated, and since we deploy files at the .class level (not by the jar), it is like an rsync, often requiring less than 10KB transfers to perform an upgrade. All of this was developed before things like Sun's Webstart, except we have extended features like user authentication, and server, application and service selection all before they even start the application. These features have made managing rich client apps a breeze!

    As for performance, we run rings around browsers! Our framework implements both in-memory and persistent object caching. It is a true n-tier architecture where a hierarchy of caching servers receive and broadcast updates which optimizes slower connections. For high volume customers we install a caching server behind their firewall to consolidate traffic over the net to the server.

    The payoff? Users can view large sets of data, change sort orders and instantly change their view on the data, all of which occur solely on the client side. It happens quickly, without breaking the users train of thought. Our framework regularly can easily deliver 50,000 objects to a client application for them to view and manipulate, and should any one of those objects change, they will see that change immediately. Not going to happen with a browser any time soon.

    We have customers running our software as a service using only a cellular connection for an office of four users. The framework is completely optimized for slow connections; once I gave a 30 minute demonstration of our inventory software using a laptop and cell connection. Afterwards, I showed them the connection stats; the total download was 4MB and the upload was 750KB. For contrast, I then spent less than five minutes browsing their current website which quickly racked up over 15MB of bandwidth.

    The web has it's place. We would not expect any anonymous visitor to download and install an application. It is the right solution for the broader market, but I refused to roll back the user interface and usability 20 years and abandon the power of the desktop computer to use a web browser for enterprise solution. The web is convenient for everyone, optimal for no one.

    1. Re:Historic Pendulum by Max_W · · Score: 1
      I have been there. Installing desktop applications, written by developers in White Towers, over remote offices. They do not even think that a computer can get broken. And they do get broken.

      Guess what? I had to reinstall the application on the new machine again, and again, and again,... Or sometimes the application just did stop working on a particular PC for no apparent reason. Developers in white hats told us: "This incompatibility is user's fault. He must not install other applications in work environment."

      When it is server-client application, I just do not care. Just reapair your PC, or box, or MAC, fire a browser, and back to work.

    2. Re:Historic Pendulum by Max_W · · Score: 1
      --Internet Era - browser (dumb terminal again)--

      Browser differs from a dumb terminal, it is not dumb as main frame terminals were. Users use add-ons, especially on FF, sometimes creatively, enhancing the application.

    3. Re:Historic Pendulum by wangerx · · Score: 1

      It sounds as though you are championing the thin-client-server model with a browser. You are the "boots on the ground" that must take care of the systems. You can conveniently fix the user's computer, fire up a browser and off they go. And of course, since you know which browser works best for the application, you install the right one.

      Our application is also client-server model but with a custom rich interface. It is written in Java, and in the last 8 years we've only had one incompatibility issue across operating systems. We may be the guys in the White Towers developing the software, but with our framework, we developed a deployment utility, aptly name Connex. It is a 256K program that you download to their desktop. You run it, enter your credentials, pick your app (optional), pick your server (optional) and the software installs all by itself. If the user is having a problem, even perhaps corrupt files, they can press one key (F5) before they login, and the utility will inspect each file (checksum) and replace any that are missing or invalid. What is not to love about that.

      We have never encountered a cross platform incompatibility or collided with other software. If we do encounter an error, we can retrieve the Java stack traces from the user with a simple download through our user administration utility.

      Since we control the whole tool chain, from client to server, including the UI, we don't spend ages getting the various browsers to behave, act consistently and suffer through the browser wars version after version.

      Therefore, the browser is convenient for you, saving you time and headaches. I admit it saves time, and as a tech, it saves expensive time. But what about the user? Assuming you only need to correct such problems occasionally, the user must deal with the browser interface for hours on end. What about their convenience, time and headaches?

    4. Re:Historic Pendulum by wangerx · · Score: 1

      Ah. But they were. The list was meant to highlight the milestones in the historical pendulum swing. The first web browsers were definitely dumb terminals. Dumb terminals, in the before time, used special characters in the data stream, often called Field Attribute Characters or FACs, that would signal whether or not the following characters were a data entry field, or highlighted and/or blinking text (showing my age here). The browser protocol just replaced these with verbose HTML tags (which provided only slightly more flexibility).

      Add-ons are just hacks. I know that sounds bad or derogatory, but it is true. They are features the original browser designers had never imagined. Browsers are evolving, which is good, but they are way beyond their original intent and struggle to find common ground. But this goes to my case in point. As they evolve, with add-ons, to make up for what the core lacks, you are moving the pendulum back to client-side processing. You are migrating activities from the server to the client. Your client is getting fatter (richer). Why? Is the server overloaded? Bandwidth? More likely, it is to fill the gap in usefulness, by reducing the server round-trip response times.

      Browser applications with add-ons are evolving to replicate the same immediacy and usefulness that we had 20 years ago with LAN-based enterprise applications. We grew fat and happy with 10Mbps of bandwidth on the LAN. And of course, eventually 10Mbps wasn't enough, many applications grew to need 100Mbps to handle client traffic. Gigabit anyone? We had to retreat to dumb terminals (browsers) to deal with the limited Internet bandwidth, which is exactly why terminals were dumb years ago, when the LAN cabling was coaxial (or twin-axial).

      Remember, at the dawn of the Internet era, most people had only a 23Kbps modem. Most pages were sparse and you had to click on a link to a picture if you wanted to view it, ...and wait. Therefore, the concept of HTML was nothing new, it was just a luxury that we had enough bandwidth that we could send verbose formatting, whereas before we used terminal protocols to format text responses. But of course now we have so much bandwidth, we can assemble fancy pages with ample pictures and even video content (with required add-on of course).

      Why struggle with a browser to build an add-on to do your client work? Why not just build a rich client that communicates directly with the server and does exactly what you need? Lean and mean custom protocol for massive speed! It will do whatever you want and not contend with browser deficiencies and incompatibilities? Of course, this is in the context of an effective enterprise application and NOT a public portal, which is best suited for browsers.

  96. Like Monster Losing Our Data by hypnolizard · · Score: 1

    ... again, and very likely ... again.

    --
    "Old bag" has more than one meaning.
  97. for example by mahadiga · · Score: 1
    --
    I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
  98. Re:SQL? (Missing Widgets) by Tablizer · · Score: 1

    I'm using Pascal-style quoting, if you don't mind. Better WYSIWYG.

    (* You might even use actual HTML tables (gasp!) to lay it out [make data grid]. What is it that's not working about these? *)

    Column names scroll up out of range, and you cannot widen or narrow columns as needed by dragging the borders.

    (* These are not only done in Javascript/CSS/DOM, but they have been done so many times that you can pretty much pick up a jQuery plugin, throw in a one-liner on the client and maybe five or ten lines on the server, and you're done. *)

    Like I said, they tend to behave a bit clunky at times, and are very sensitive to browser versions. Thus, many may not work when IE 8 comes out, for example. This can be a big headache.

    (* And the browser-sensitivity is hidden away in a library somewhere, where I don't have to care about it. *)

    How can it be? The author didn't have IE8 around when they developed it because it didn't exist yet. You cannot test what doesn't yet exist. They often rely on poorly documented or undocumented features of DOM/CSS that could easily go away or not work in future browser versions.

    (* If the user wants something you didn't think of, they can just use a different browser, or install a browser addon. How were you going to make your desktop app that extensible? *)

    Browser add-ons defeat part of the purpose of using web-apps instead of desktop installs. Desktop installs are nearly as easy as add-ons if done right.

    As far as your MDI argument, I found it weak. For one, the developer doesn't have a lot of choice about the size of a pop-up window, such as an advanced list-lookup wizard. New "windows" taking up the whole screen limits GUI design.

    (* The only problem I see with the "webby workarounds" is that you can get them wrong (which is true of anything), and that they are technically slower than a native widget library -- but that will only improve, and performance is already more than "good enough". *)

    The biggest problem/risk is Microsoft sabotaging JavaScript/DOM/CSS. They can and will if web-apps take up too much desktop sales. A small example is the stupid warning prompt you get if you use window.close() in IE7 but it was not in IE6. Thus has mucked up many of my web apps. MS does things like this to complicate web development. They claim its for "security purposes", but the prompt could at least ask to bypass warning prompts for a the current (selected) domain.
           

  99. been waiting for this sentence for 5 years by Anonymous Coward · · Score: 0

    lets see if the stars (sic) decide to do something about it.
    Java has *everything* - applets, jws, security libraries (not in popular PHP yet)
    Yet, people dont use Java.
    And Java runs on gazillion platforms with minimal code change.
    It's sick that the leaders of web 2.0 skip java applets and java web start. If they put a tenth of the effort bettering OpenJDK, we'd have much safer, robust apps, given Moore's law and Microsoft's "competitive hardware upgrade strategies".
    Well, SUN doesn't seem to understand this.

    1. Re:been waiting for this sentence for 5 years by blinky · · Score: 1

      Totally agree, the technology is already there (been there for 5+ years).

  100. Windows is a reason to stop programming for it! by freaker_TuC · · Score: 1

    I've stopped programming in DOS just because of that Win32 API!

    Once all that windows cr*p came out, I've stopped programming ASM & TP (BP) .. No kidding ..
    I've moved writing bbs-door applications for Proboard & Remote Access and swiftly moved to Perl for web applications.

    I guess I've always loved the text more than the icons ;)

    --
    --- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..
  101. Web apps are the future by Anonymous Coward · · Score: 0

    It seems to me that more and more apps are coming and going to the Web. These apps are becoming more and more powerfull. The network is getting faster. I believe that in the future we'll be playing, PS3/ Xbox 360 - alike games, do our Photoshop stuff etc. over the Web in a browser on your LCD TV in the living room. There is just no reason, no added value, to have it on a local machine. Less (local) hardware upgrades, no more evil lock-in, more choice etc.

  102. Webapps considered harmful by Anonymous Coward · · Score: 0

    For all those who wish to poo-poo web applications.. be mindful that our beloved Slashdot is backed by a web application... ooohhhh and AJAX too!

  103. Web dll Hell by ZoOnI · · Score: 1

    OS dll hell, where developers had a party on operating system files. One developer would enhance an OS file replacing it with his/her cool extensions needed by their application. The next set of developers would extend the same OS file breaking the other applications needed extensions. With modern programming languages / OS developers inherit functionality and extend it making a new file, so the issue has been reduced.

    I installed Google toolbar on Vista the other day to get my favorite site search tool and it broke internet explorer. Fortunately add/remove programs let me remove Google toolbar and my browser started to work again. My guess is Google compromised a file needed by windows for the browser to work.

    Now if Google can't make an installer smart enough to detect my OS/browser to not install the browser plug-in or it wasn't tested properly, then when all the small software shops start making web plug-ins the consumer has no guarantee anything will work.

    So how is this any worse than a windows application. If a non driver related windows program causes a dll problem and breaks another program the worst case scenario is a few programs are down. If a web application breaks my browser then every web application I run is down.

    --
    "Never say Never."
  104. Sure, browsers suck, but what options do we have? by Lazy+Jones · · Score: 2, Insightful
    • you want to use one of the modern scripting languages for rapid development of your application - what cross-platform UI, installer, updater do you use? Will the scarce options you have result in an application that doesn't suck as much as a typical AJAX application?
    • if your app needs network access, will your users have to configure their firewalls, socks proxies, port numbers and will it be as easy for them as just going through HTTP (possibly through a "hostile environment" MSIE .dll)?
    • do you have the resources to support a multitude of older versions of your app, used by people who did not bother or want or manage to update to the latest version?
    • what will you do about the competition that decompiles/uses parts of your application written in Perl/Ruby/Python/...? Security by obscurity?

    I hate crappy AJAX GUIs as much as everyone else, but I also know that writing a decent "offline" application in a suitable language takes at least one order of magnitude more effort - and that is before you attempt to implement some of the features every web app has naturally (automatic updating etc.).

    It's convenient to rant about the stuff we use every day, but when was the last time *you* wrote and supported a non-web based, cross-platform application with GUI and had first hand experience with all the problems involved? Nowdays we're all spoilt web developers, aren't we ...

    --
    "I love my job, but I hate talking to people like you" (Freddie Mercury)
  105. Well, then support only 97% by jotaeleemeese · · Score: 1

    That way you need to support only three (IE, Firefox, Safari).

    --
    IANAL but write like a drunk one.
  106. You demand applications that comply with standards by jotaeleemeese · · Score: 1

    It is really simple and it can be done.

    You don't let an application in your shop unless:

    a) They are commited to open standards.

    b) They show you a road map of upgrades for the next 5 years.

    In any case, if you are really screwed, launch a virtual machine that has a different browser and get on with things.

    --
    IANAL but write like a drunk one.
  107. Re:Sure, browsers suck, but what options do we hav by Max_W · · Score: 1
    I also noticed that users use browser features. For example Search on the page in Firefox, QuickNote add-on also in Firefox to store some info. Bookmarks.

    Otherwise one would have to code such features into a desktop application.

  108. Lowest common denominator by design by CarpetShark · · Score: 1

    It will always be lowest common denominator.

    I'm no fan of webapps. I hate any browser scripting, except as optional additional client-side form validation. More importantly, I think this whole trend towards webapps is crazy. In these days of cross-platform GUIs that have been developed for years to support a well-recognised, fully featured widget set, OpenGL rendering, etc., it's crazy to think we have a bunch of new developers doing all the same stuff over again, making the same mistakes. It took decades to develop and standardise those GUI layers the first time around. We made tons of small iterative improvements, like adding accessibility keys, customisable toolbars, click-to-sort in headers, double-click to edit, file dialogs, etc. It'll be at least another five years before the web has similar widget sets, let alone standardisation and full compatibility with other tools like screenreaders and debugging and all.

    That said, I think it's worth recognising here that the web already IS the lowest common denominator -- originally, it's just a way to distribute a page across platforms, without even so much as page layout info. Essentially, it was one step beyond dialing into a BBS and asking for pages on your ANSI terminal.

  109. My own debunking by SmallFurryCreature · · Score: 1

    1. It's client-server all over again. Web applications encourage a thin-client approach: the client handles UI rendering and user input, while the real processing happens on servers. What sense does that make when any modern laptop packs enough CPU and GPU power to put yesterday's Cray supercomputer to shame?

    Simple solution DO NOT BUY SUPERPOWERFULL PC's. Guess what, try and figure out HOW much you can save NOT just by using google docs by not buying MS Office but by not buying a powerful PC either. In fact my P3 booting from network works just fine with webapps, Office not so much (that it boots linux of course does not help). Oh yeah, another cost saving. You don't have to buy Windows either. Sorry, this argument fails, we bought powerful PC's because our clientside programs and OS demanded it, if they don't, we don't have to buy powerful PC's anymore.

    Concentrating computing power in the datacenter is fine if you're a Google or a Microsoft, but that approach puts a lot of pressure on smaller players. Scaling small server farms to meet demand can be a real challenge -- just ask Twitter.

    Eh, twitter? Good luck making that into an offline app. What next, offline websites? Yes, scaling a serverfarm is hard but is this applicable to most small companies choosing between a web-app or a desktop application (that usually still needs a server backend anyway). Sorry, but datacenters are nothing new and the likes of IBM can happily sell you all the power you need, you can pay them with the money you saved on your client PC's. Oh, and if all your data is local, how are you going to back all of that up? If all your data is server side, then your client programs still need a server farm to serve them. Failed argument again.

    Furthermore, security vulnerabilities abound in networked applications, and the complexity of the browser itself seemingly makes bugs inevitable. Why saddle your apps with that much baggage?

    In a net-app I only need to patch ONE piece of software, if it is purely clientside I need to patch all clients out there. Browsers patches are being taken care off globally. If you have a client-app you still need a patching strategy so nothing changes, you just patch the browser instead of your own apps. The complexity of the browser makes bugs inevitable he claims. True enough but for most web-apps these bugs are totally irrelevant. Futhermore such bugs are under constant scrutiny where as your own client apps are not. This argument by him is just scare mongering. There are secure web-apps and insecure client side programs.

    2. Web UIs are a mess.

    The Web's stateless, mainly forms-based UI approach is reliable, but it's not necessarily the right model for every application. Why sacrifice the full range of real-time interactivity offered by traditional, OS-based apps? Technologies such as AJAX only simulate in the browser what systems programming could do already.

    So he says in the title that UI's are a mess and next that they are reliable. He seems confused, Ajax is for communicating with the server, what is the difference between using Ajax and whatever your clientside program happens to use? Did he ever program client programs that interact with servers? If so he would know they are easily as messy.

    And while systems programmers are accustomed to building apps with consistent UI toolkits such as the Windows APIs, Apple's Cocoa, or Nokia's Qt, building a Web UI is too often an exercise in reinventing the wheel. Buttons, controls, and widgets vary from app to app. Sometimes the menus are along the top, other times they're off to the side. Sometimes they pop down when you roll over them, and sometimes you have to click. That inconsistency hurts your development budget, but it hurts usability more.

    Now he is just getting silly. He mentions THREE UI systems ALL COMPLETELY DIFFERENT and then complains web-app developers don't follow a standard. WHAT STANDARD? If there was a standard M

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  110. Java Sucks. by Anonymous Coward · · Score: 0

    I used to work in the NASA software technology lab at JSC. Around 1994 (memory fails me), so guys from Sun came and showed us a little Java application and how it ran on Sun and Windows and looked the same.

    It was slow then. Really, slow.

    That same trivial application - 15 years later - is still slow. The good news is that is also uses a shitload of ram and an average java application programmer is nearly clueless about the OS and hardware they're using. There are exceptions, but most "pure java" programmers boast how they don't need to know. It doesn't matter.

    I use a few non-trivial java applications daily. Most things about them are fine, even good, but the startup lag, click lag, and processing lags for trivial things really bother me.

    Yes, java still sucks 15 years later. Delphi is better. VB is better. QT is better. C/C++ is definitely better. And finally, full web applications ( we use Zimbra for enterprise messaging) with drag and drop capabilities are better than java applications.

    1. Re:Java Sucks. by Dolda2000 · · Score: 1

      That same trivial application - 15 years later - is still slow.

      I'm sorry, but I must conclude that you are either trolling, or that that specific application is really poorly written. I'll admit that I'm no great fan of Java really, but for quite different reasons. I've written quite a few Java programs in recent years, and performance has been the least of the problems. I have never experienced the click or processing lags of which you speak, and the startup lag is far less than a second, so it is certainly competitive with other GUI programs in that regard (I wouldn't use it to write command-line programs though, of course).

      Most recently, I've been writing a MMORPG (as a hobby), where the client is written in Java precisely because that means I can use Java Web Start for dead easy "installations" on users' machines. You just click on a link and it runs. While there are a few (minor) performance problems, I have profiled the program and narrowed it down to certain algorithms, which I know how I could improve if the need would truly arise.

      If you doubt me, you can try it (though you'd need to register, but it's an easy registration process). You would get to experience the goodness of Java Web Start, and you'd also see that there are no click or processing lags apart, of course, from those inherent to the Internet latency which is part of running an online game.

      The good news is that is also uses a shitload of ram[...]

      Be very wary of making that statement if you are not very sure that you know what you're saying. It is certainly true that the process monitor on both Unix and Windows will display Java processes as consuming hundreds of MBs of RAM, but that is because the JRE preallocates virtual memory for its heap. Virtual memory, mind you -- not physical memory. The OS (or at least Windows and Linux) will allocate physical pages to the process on demand, and the PermGen and OldGen heap spaces are compacted by the GC and therefore readily available for swapping out. The JRE interacts quite well with the VM for at least the most common systems.

      [...]an average java application programmer is nearly clueless about the OS and hardware they're using.

      You are correct, and that is definitely a problem. However, the problem is certainly not limited to Java, and bad programmers are abundant for any programming system you could envisage. I do not think that it is fair to blame that problem on Java.

      And finally, full web applications ( we use Zimbra for enterprise messaging) with drag and drop capabilities are better than java applications.

      I'd really like to go on a long tirade against "web applications", but I'm not feeling pumped up enough right now. I'll be content with insisting that such applications are violating -- nay, raping! -- the model of the WWW (being hypertext) and making it close to impossible to write a new web browser, the latter of which is a great problem, seeing how all current web browsers suck.

  111. Browser Incompatabilities! by gabrieltss · · Score: 1

    As a full time web application developer I hate them mostly because of browser incompatabilites with standards - HELLO Microsoft! DO YOU HEAR ME!!! Your IE browser (any version) sucks big green donkey dicks! EVERY VERSION! We are sick and tired of having to do a million HACKS to get your crappy browser(s) to render / handle pages correctly! Why is it Firefox, Opera, Safari kick your browsers ass? Because they are more standards compliant than you fucking browser(s)!!! I can write code that works perfect in Firefox, Opera and Safari but of course doesn't work in IE - I have to do hacks from hell to get IE to work! I'm pushing to use an "anti-IE" script in our apps - basically refusing to support IE because of the crappiness of IE. I'm looking at modifying the IE6 Blocker to work with -all- IE's

    --
    The Truth is a Virus!!!
  112. Why Web Apps Rule by drinkypoo · · Score: 1

    Once upon a time, we had a thing called a mainframe and a bunch of terminals. That mainframe probably came from IBM and the terminals, too. The terminals from IBM are often smart enough to handle (limited) input verification and drawing forms and such. The intelligent terminals were a brilliant necessity given that the mainframes liked to process jobs, and it made the most sense to have users just queue up their requests rather than having an interactive session.

    Today, we have a thing called a web server, and a bunch of browsers. That mainframe could come from anyone and communicates with the browser (admittedly, it's really vice-versa) via a more-or-less standardized protocol. Because of the random-latency nature of the internet, this form submission model is ideally suited to provide most types of application content to the user.

    It's true that there are times when a web application doesn't fit. This is mostly cases where the web browser doesn't already provide the functionality that you want to use. When you have to build new interface metaphors into a web browser, you tend to hit a performance wall. But then a new browser comes out, and it speeds up.

    I guess my real question is whether there is actually anything superior. It is so bloody easy to put together a web application that anyone anywhere can use, there is nothing else even close. There's easier development systems, but there's nothing more broadly supported, not flash, not java.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  113. Port 80 and Free Standards by Baldrson · · Score: 1

    Basically the reason that people write web apps is because port 80 is the only port they know they can get access to through all the network barriers, AND the fact that the browser based standards endorsed by the W3C not only are sufficiently adopted but are are free of charge, unlike Microsoft's widely adopted operating system that is neither free nor open.

  114. You left out a big one by Mateo_LeFou · · Score: 1

    "what value does a browser add to your application"

    3) (should be #1 though) Interoperability.

    Yes, browsers treat fancy stuff differently, but if you're doing forms and tables (the heart of 80% of the webapps I've built/seen), you will spend exactly *zero time repackaging your stuff for various platforms.

    Java promised to take this off our hands, but 15 years later not much progress.

    --
    My turnips listen for the soft cry of your love
  115. An all too common micsonception, unfortunately by Radical+Moderate · · Score: 1

    "Right now web apps are king because they're always only the nearest computer away, and work on almost everything."

    I run a bunch of computer labs at a large university, I can't tell you how many times instructors complain that the web app their class needs won't work, even though "all it needs is a web browser." Of course when they actually try to use it on our computers, it tries to install a proprietary plug in and pukes because we won't let users do that. If a user needs a proprietary plug in to use your app, you might as well just make a client for it and bypass the browser.

    --
    Never let a lack of data get in the way of a good rant.
  116. Reponse to the article... by bobmatnyc · · Score: 1
    --
    -- this sig beneath your current threshold
  117. Re:SQL? (Missing Widgets) by SanityInAnarchy · · Score: 1

    I don't mind it -- going to continue using quote tags, if you don't mind. Raw habit.

    Column names scroll up out of range

    Easy enough to keep them in place, or even rip the whole row out and put it outside of the container, with a little CSS.

    you cannot widen or narrow columns as needed by dragging the borders.

    And a little Javascript fixes that.

    many may not work when IE 8 comes out, for example.

    If this is a huge problem, force your users to install Firefox. I don't see why that would be harder than forcing them to install your random little app.

    The author didn't have IE8 around when they developed it because it didn't exist yet.

    And as IE8 betas start to show up, the authors add support in that library.

    In that way, it becomes exactly as boring and transparent as what parts of OpenGL are implemented in software or in hardware, and what parts of the driver are in kernel space or the GL libraries. I just tell the library to draw a triangle, and it draws the triangle.

    They often rely on poorly documented or undocumented features of DOM/CSS that could easily go away or not work in future browser versions.

    Not the ones I use, certainly not what you just described about an HTML table. Mouse events, resizing elements, and floating elements on top of a scrolling window -- or, alternatively, a div set to add a scrollbar on overflow -- are all well understood, well specified, and well supported.

    Browser add-ons defeat part of the purpose of using web-apps instead of desktop installs.

    You're missing the point of addons, then.

    I'm not saying an app should require addons. It should work well enough on a standard browser.

    I'm saying addons are a way for a user to script that app -- without which, you'd have to embed a language like Python or Lua and develop your own scripting framework.

    For example: Slashdot works well enough without addons. However, there is a Greasemonkey script which provides a quick confirmation system for moderations. And Slashdot didn't really have to do anything, other than be a website, to enable that scriptability.

    The biggest problem/risk is Microsoft sabotaging JavaScript/DOM/CSS. They can and will if web-apps take up too much desktop sales.

    The way I see it, they tried and failed. There's too much chance now that, if Microsoft actually does break the Web sufficiently, large sites that people rely on like Google, Myspace, etc, will start forcing people to switch. If you can't get onto Facebook from IE, that's easily over a hundred million IE users Microsoft just lost.

    So, they have been dragging their feet, because they don't want to make the problem worse, and because they do want it to still be sufficiently painful that people want to use Silverlight.

    But they've also been making real progress so that people won't abandon them entirely.

    Oh, and again, Javascript frameworks mean we don't really have to wait for Microsoft. I use CSS2 properties every day, probably even some CSS3, via jQuery -- if run on a browser that supports these natively, it Just Works. If run on IE, a workaround is applied.

    --
    Don't thank God, thank a doctor!
  118. SOA Silver Bullets by Anonymous Coward · · Score: 0

    I am posting as anonymous because I could get fired for this. The company I work for has a very large application running with a very thick client. This legacy application supports 2500 concurrent users. Our Oracle-Java-SOA people can support two hundred concurrent users with twice the hardware. No body will admit they made a five million dollar mistake, so they keep adding servers and software the SOA cluster hump.