Slashdot Mirror


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

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

233 comments

  1. I like developing for the desktop by mangu · · Score: 1

    Although I have done my share of PHP web apps, my favorite application would be writing in Python using Qt.

    1. Re:I like developing for the desktop by Anonymous Coward · · Score: 0

      Then perhaps, you would like to create web applications using Python bindings for Wt (http://witty.sf.net/) ?

    2. Re:I like developing for the desktop by bensch128 · · Score: 0, Offtopic

      Ummm, why not try for RubyQt instead?

      heh
      Ben

  2. Passe... by MarkRose · · Score: 4, Funny

    Desktop programming is so nineties. I'm a laptop programmer!

    --
    Be relentless!
    1. Re:Passe... by sH4RD · · Score: 3, Insightful

      Haven't upgraded to notebooks yet? Laptop programming is so 2001.

      --
      WASTE - The Secure P2P
    2. Re:Passe... by MarkRose · · Score: 4, Funny

      Haven't upgraded to notebooks yet?

      I did in '03, but then I lost my pencil.

      --
      Be relentless!
    3. Re:Passe... by stefanlasiewski · · Score: 1

      I did in '03, but then I lost my pencil.

      Bah, in '03 we carved our own pencils from virgin old-growth redwood because there was plenty of trees, and poured our own pencil lead from pure lead--- none of those funny government regulations and wimpy graphite.

      (And they he realized they were talking about the other '03-- 2003).

      --
      "Can of worms? The can is open... the worms are everywhere."
    4. Re:Passe... by MarkRose · · Score: 1

      Interesting. I thought the pencil was only five hundred years old.

      --
      Be relentless!
    5. Re:Passe... by sumdumass · · Score: 1

      That's what they want you to think to keep you under their control.

    6. Re:Passe... by mpathetiq · · Score: 1

      According to the version I posted, the pencil is over 3500 years old. I love history.

    7. Re:Passe... by thryllkill · · Score: 1

      There have been several years that could be abbreviated, "'03", in the last five hundred years.

      --

      Note to self: No more arguing with the faithful.

    8. Re:Passe... by PachmanP · · Score: 1

      In mother Russia pencil carves you!

      --
      You're thinking small. Why miniaturize the laser, when we could instead enlarge the sharks? -John Searle
    9. Re:Passe... by dunkelfalke · · Score: 1

      laptop hard drives are just too slow, so programming isn't fun.

      --
      Conservatism: The fear that somewhere, somehow, someone you think is your inferior is being treated as your equal.
    10. Re:Passe... by MindStalker · · Score: 1

      But how old is the graphite pencil. That the real question.

    11. Re:Passe... by gEvil+(beta) · · Score: 1

      There have been several years that could be abbreviated, "'03", in the last five hundred years.

      Let's see. 1803, 1603, 2003, and 1703 are the ones I can think of. What am I missing?

      --
      This guy's the limit!
    12. Re:Passe... by Anonymous Coward · · Score: 0

      Stardate 1003.

    13. Re:Passe... by Homr+Zodyssey · · Score: 1

      um 1903?

    14. Re:Passe... by stefanlasiewski · · Score: 1

      Hey, I may have a 5-digit Slashdot ID, but I'm not *that* old.

      --
      "Can of worms? The can is open... the worms are everywhere."
    15. Re:Passe... by xarak · · Score: 1


      oooH!

      When I were a lad, we used to have to cut down our OWN redwoods, using only a herring. Then file them to pencil shape with nothing but a nail file and inject lead rods with our own, naked, bleeding hands.

      'an we considered ourselves lucky the days we had paper to write on!

      --
      Atheism is a non-prophet organisation
  3. Re:Attn. Linux users: by Anonymous Coward · · Score: 0

    Does this guy have a life? I can understand the editors wanting to keep "the discussion unedited and real" but this guy is just a spammer..

  4. the problem with google apps by TinBromide · · Score: 5, Insightful

    Web apps are fun and all... Until my comcast tech decides to flip my interweb switch to OFF for 5 hours.

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

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

    The web apps are like consultants, you bring them in for activities that is too expensive to implement and are only needed for on demand, but you don't have them do mundane activities that you could hire someone full time and not lose money on.

    --
    Is it sad that I am more likely to recognize you and your posts by your sig than your name or UID?
    1. Re:the problem with google apps by tdelaney · · Score: 2, Interesting

      Unfortunately, my company (and many many other large multi-nationals) *do* hire outside consulting companies to do payroll.

    2. Re:the problem with google apps by Anonymous Coward · · Score: 0

      Actually, ADP, the largest payroll outsourcing company, would beg to differ. Perhaps your analogy needs more cars?

    3. Re:the problem with google apps by The+Bungi · · Score: 2, Informative
      you don't hire consultants to do payroll for you.

      Actually payroll is one of the most outsourced corporate functions, by far.

    4. Re:the problem with google apps by tambo · · Score: 4, Insightful
      Then i'm glad i don't rely on ajax apps or anything to get work done. While corporate customers enjoy a level of reliability that the average home user doesn't even dream of...

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

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

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

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

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

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

      - David Stein

      --
      Computer over. Virus = very yes.
    5. Re:the problem with google apps by hobo+sapiens · · Score: 1

      Coming from someone who was raised as a desktop developer, then became a web developer for 7 years, and is now starting to get back into desktop development... .NET is very cool. But I sure hate the fact that I am so friggin tied, at least in theory, to which POINT RELEASE of .NET the user has installed.

      For most stuff (most stuff I do), the web is the way to go, because I do a lot of data-driven apps. No versioning crap (other than browser, and if you stick with standards you are OK 99% of the time), and no lame install programs. No java version stupidness (man, do I hate Java).

      Both have their niche, and I think people have been saying that the desktop app is dying for way too long. Having an AJAX spreadhseet is lame lame lame. Having a desktop data-driven app is lame lame lame. I think you'll be writing desktop apps for a long time to come ;)

      --
      blah blah blah
    6. Re:the problem with google apps by tambo · · Score: 1
      I sure hate the fact that I am so friggin tied, at least in theory, to which POINT RELEASE of .NET the user has installed.

      Agreed. And you know what makes it worse? If your machine doesn't have the right .NET framework, the app doesn't politely tell you... it just friggin' dies. That's stupid.

      ASP.NET has the same problem. I found out the hard way that if you build an ASP.NET 2.0 app and upload it to an ASP.NET 1.1 server, you get a cryptic, misleading error message that distracts you from diagnosing the real problem. Again, that's stupid.

      Having a desktop data-driven app is lame lame lame.

      :shrug: Not necessarily. A lot of my data-driven apps are intended for a single user on a single machine, that don't call for a publicly accessible webserver with MySql. A locally hosted, ad hoc database is perfectly fine for that. And consider what you can do with such desktop-based database/application combos - high-performance queries, for instance, or system tray applications...

      I think you'll be writing desktop apps for a long time to come ;)

      :sigh: I know. And it irks me, because I want to be designing more web apps. But that desire doesn't justify spending 10x as much time (and frustration) developing a web app that looks bad, feels clunky, and runs more slowly in a crappy browser... you know? :(

      - David Stein

      --
      Computer over. Virus = very yes.
    7. Re:the problem with google apps by VGPowerlord · · Score: 4, Insightful
      Before I start nitpicking, I'm going to point out that I said "Why not just leave the web to things that require the Internet and keep applications on the PC?" in a previous comment.

      while AJAX programmers are still struggling to get buttons working

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

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

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

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

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

      Which brings up another point not yet mentioned: The sad state of affairs with web application GUIs is almost entirely Microsoft's fault. IE6 and its rather poor support for CSS2 and DOM, which weren't addressed for 6 years, let alone fixed, coupled with its widespread use has made it the lowest common denominator.
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    8. Re:the problem with google apps by johnnliu · · Score: 1

      I don't really see the main difference being price.
      I think web apps and window apps are just two different sets of tools. Depending on what you need to do, one is better than the other.

      Let me illustrate.

      I work/blog/play games from three different locations:
      My work; my old home (where my parents are, and I visit twice a week); and my new home.

      I have different computers at each of these locations - and while I do have a laptop, I don't always bring it around with me. Sometimes, I find it a real hassle to synchronize my files between the three locations and keep them all up to date. So for things like 'todo notes', 'oh I have a great idea I gotta write it down', 'calendar' or 'quick email' I rely heavily on web-applications.

      I've tried google's spreadsheet and writely but they don't really cut it for me - I feel I don't have a particular task that requires that sort of tools.
      Perhaps if I have a group of people that needs to modify the same file, I'd try writely (I don't know what sort of version-control systems they have). Sometimes I think the best way for a group of people to write the same document is to use a wiki (confluence or mediawiki) which is a typical web application.

      On the other hand, when I'm writing software I do it solely on my laptop (when I don't take my laptop with me that's when I'm forcing myself not to code).

      Email is a funny one though. At times, I try to download my gmail collection so I have them for off-line reading (I usually do this when I have a huge load of emails after a week's holidays). But I think the user's habits regarding email is strongly tied to the volume of emails they receive. If you are receiving 50+ 'useful' emails everyday, you probably will want an offline email-reader (and possibly 3 personal assistants). If you are only receiving 5~10 useful emails you can get away with gmail easily.

      For calender I create all my appointments on google cal, and then one-way synchronize them down to my various devices (laptop first, then to my mobile phone). Having them hosted online as a central starting point means that I can easily share iCal with my colleagues and friends (or link it on my blog). Every time I try to create an appointment on my phone first I end up forgetting to sync back up (or sync'ed one week late).

      jliu

    9. Re:the problem with google apps by hedleyroos · · Score: 1

      I think it is quite easy to do offline processing. Obviously you need the server app on your local network / workstation. This might be a problem with closed source apps like *insert whatever*, but open source app servers like Zope will work fine. Synching the local and remote database is also not a big deal.

      Still, I foresee Google writing a nice installer for the local app server, which means normal computer users will be able to use it.

    10. Re:the problem with google apps by master_p · · Score: 2, Interesting

      While you are right, the need for detaching the GUI from the computer the application runs on is not limited to the web. the X-Window system was a step in this direction, and the NewS GUI was a better implementation...but since these technologies are outdated, the world needs a standard for remote UIs that cover all other aspects of GUIs.

      Since this is not gonna happen any time soon (because people don't want to agree - only want to agree to disagree), my company chose the ULC toolkit for Java web apps. It's a short of middle ground between X-Windows and web applications: the GUI is served by Swing, but the underlying widgets' callbacks are executed on a server. Development is similar for native Swing apps, and the Eclipse plug in also has a visual designer. The toolkit is commercial though...

    11. Re:the problem with google apps by Nurgled · · Score: 1

      I agree wholeheartedly with your first point about the GUI control set. It took several years to reach a point where there were nice GUI control libraries and a good component architecture to make it easy to put together a big GUI application without creating a big heap of spaghetti.

      I think that where the web is right now is like where the Amiga's GUI API was in the pre-2.0 days: it had support for windows and the ability to configure regions within those windows to be "gadgets" that can recieve click events, etc, but aside from those rudimentary facilities if you were writing a GUI you were mostly on your own. GadTools came along with system release 2.0 and gave support for proper buttons, text fields, scrolly lists and so forth. Fast-forward to today and we have MVC-based GUI libraries that make it easy to tie your front-end UI logic to your backend data model without the two muddling together into an unmaintainable mess.

      Where is the web? You can make a few rudimentary controls and attach events to them. There's no decent component model, and everything on a page runs in the same namespace. It takes a special effort to make a "widget" that can be re-used across different sites, or used multiple times on the same page. The UI code and the backend code are intimately tied together and yet there's no real integration between what happens on the client and what happens on the server unless you make a special effort to do so.

      So while I'm a web developer day-to-day, I do find desktop app development a lot less frustrating. There's loads of cool tech waiting in the wings that should improve the situation, but the browser developers aren't interested. XBL is my main want right now: I want to be able to write a web-based UI component in a separate file and be able to embed it into a page without it interfering with the rest of the page. Web Forms 2.0 is coming along, and already partially implemented in Opera, but it's quite simplistic. Web Applications 2 (or HTML5) over at the WHATWG is standardizing a bunch of neat extensions that are already present in some browsers but not others. The main thing that's still missing is a standard mechanism for MVC-shaped development, but that can be built from a decent component model.

      On the whole, this sudden shift to web app development frustrates me because it just throws away at least two decades worth of UI library development experience and takes us back to the dark ages of every app rolling its own "GUI" widgets and creating messy, unmaintainable code due to a lack of support for modularity.

    12. Re:the problem with google apps by ahsile · · Score: 1

      A much wider array of readily accessible APIs and tools. I'm not sure what you've used for web programming... but md5, encryption, image conversion? These are all readily available in almost any language used for web programming.

      Easy-as-pie installers. Last time I tried to create an installer for a windows app, it wasn't quite that easy. Especially if you had library dependencies and other necessary support. As for web apps... what's the last one you had to install instead of just navigating to http://my.webapp.com/ ??

      Easy multithreading. To an extent, this is true, but then multithreading is never exactly "easy". Although with AJAX it is possible to create a responsive "multithreaded" application.

      Performance Where do DirectX and Java come together, especially when we're trying to compare web apps to desktop apps?? This is the most puzzling point I've seen yet. Most web applications don't even use Java.
    13. Re:the problem with google apps by hobo+sapiens · · Score: 1

      A lot of my data-driven apps are intended for a single user on a single machine

      Sorry, I guess any app could be data driven. I know lots of desktop apps use a DB in the background. I meant apps where many users connect to a remote database. Desktop apps connecting to a remote DB should be web apps. That's all.

      If you want to get into web apps, then start with the database. In my mind, the perfect candidate for a web application is one where data is key (no pun intended), the whole point is to display data and maybe let the user update some data. Yes, you can and sometimes should get very fancy (like ajax), but at the root of it all is the data.

      An Oracle guy once said "The database IS the web application" and I totally agree. If you know how to design and normalize a database properly, present data in a way that's understandable, and write efficient queries, then you are halfway to writing good web applications.

      Why am I saying this? You're probably already there. I don't think you'd have to invest as much time as you think you would. Learn CSS and get a good ajax library like prototype. You probably know html and if you can write desktop apps (presumably C#) then you can write javascript. Probably the trickiest part for a desktop app guy is wrapping your head around the fact that you are gluing several platforms together. On one server page (.php file for example) you can have SQL, php code, javascript, and html/css. All of that on one page gets confusing to a guy used to looking at .cs and .c files all day.

      Then again this is coming from a guy who mostly writes at work, so I have another team maintaining my Oracle server and my web server. I'll bet that part sucks, actually.
      --
      blah blah blah
    14. Re:the problem with google apps by tambo · · Score: 1
      Desktop apps connecting to a remote DB should be web apps. That's all.

      What about World of Warcraft? Or iTunes? Don't some of the Flickr submission tools run as desktop apps?

      I absolutely agree with you that web programming has many uses where a desktop implementation would be inferior. But it doesn't solely own the multi-user-database software domain.

      Learn CSS and get a good ajax library like prototype. You probably know html and if you can write desktop apps (presumably C#) then you can write javascript.

      I've already done some web programming. I'm currently helping redesign a website with a traditional structure (DB back end, business logic middle, rendering front end.) I'm sure that I could become proficient in web development with not too much effort.

      But my point is that I really doubt I'd ever feel nearly as quick or efficient developing a web app as I do developing a desktop app - not in today's state of the art, and likely not for a long while. No web development environment successfully embodies the RAD principles that make C# coding such a joy.

      - David Stein

      --
      Computer over. Virus = very yes.
    15. Re:the problem with google apps by Threni · · Score: 1

      > But I sure hate the fact that I am so friggin tied, at least in theory, to which POINT RELEASE of
      > NET the user has installed.

      I'm just learning .NET. Looks pretty good to me. There've only been a few releases of .NET though, so how big a problem is it? Can't you just install whichever version of .NET you need? I thought they were smallish and silently installable and are installed separately so there's no chance of breaking anything which uses other versions of .NET?

    16. Re:the problem with google apps by tambo · · Score: 2, Insightful
      I'm going to point out that I said "Why not just leave the web to things that require the Internet and keep applications on the PC?" in a previous comment.

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

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

      Google Maps Goes Java For Mobile Phones...

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

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

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

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

      Do you really believe that?

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

      - David Stein

      --
      Computer over. Virus = very yes.
    17. Re:the problem with google apps by tambo · · Score: 1
      I'm not sure what you've used for web programming... but md5, encryption, image conversion? These are all readily available in almost any language used for web programming.

      I'm not sure that's true. Googling "Javascript MD5" and "Javascript Rijndael" produce a bunch of hits for third-party code for such algorithms - implementations in Perl, in separate class libraries, etc. By contrast, Googling "C# MD5" and "C# Rijndael" produce a bunch of tutorials for algorithms in every implementation of the .Net Framework.

      Last time I tried to create an installer for a windows app, it wasn't quite that easy. Especially if you had library dependencies and other necessary support.

      When did you last try? Visual Studio does an outstanding job with versioning, GUIDs, etc. The only hiccups are automated patch generation (which it can't do) and .Net Framework versioning (which still causes it to stumble.) But for the most part, it's buttery-smooth.

      As for web apps... what's the last one you had to install instead of just navigating to http://my.webapp.com/ ??

      That's an inaccurate comparison. You're comparing the desktop administrator experience with the web user experience. From that perspective, desktop app users have it easy, too - just click on the Start Menu...

      For the web admin, web app installation is still very primitive - it's shell scripts, custom code, and XCOPY. Desktop admins have a much easier time of it - both Windows (in its post-"DLL-Hell" days) and Linux (thanks to apt, which is just awesome.)

      - David Stein

      --
      Computer over. Virus = very yes.
    18. Re:the problem with google apps by Anonymous Coward · · Score: 0

      Your comment about Java versus DirectX struck me as funny. When running on Windows, Java's Swing GUI toolkit is all drawn using calls to DirectX, Direct3D, or OpenGL (depending on availability). The bottom line is that Java GUIs are rendered with insane speed on your GPU.

      The whole "Java is slow" argument is tired and completely untrue.

    19. Re:the problem with google apps by hobo+sapiens · · Score: 1

      .NET is very nice. I am still new to it. A guy I work with is pretty experienced with it. He wrote an application that relied upon .NET 2, which I had. Well, what I had wasn't the right version, but after I upgraded it worked. Sorry, I don't have more info than that. May have just been a fluke, but he told me that happens sometimes. I'll take his word until I know better.

      That said, .NET is a very cool concept and even better now that we have MONO, so we even lose Vendor lock-in. I'd be curious to see just how well MONO emulates .NET, firsthand. I hear it's good.

      --
      blah blah blah
    20. Re:the problem with google apps by dkf · · Score: 1

      • Flow layout is stupid.
      Yes, but your suggested alternative (absolute positioning) sucks in different ways. In particular, if your app really has to deal with different sizes of fonts (some people need that sort of thing in order to be able to read the text at all) then absolute positioning is a disaster as it tends to either overlay components on each other unexpectedly or to clip text nastily. Flow-oriented layouts are much better in this respect.

      The stupid thing is: desktop apps have much better ways of laying out components. (Indeed, some are not that far off being a full linear algebra solver under the hood, and can do very fancy things even with components whose sizes are continually changing in real time. Not that this is a nice thing to do to a poor GUI. :-))
      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    21. Re:the problem with google apps by Anonymous Coward · · Score: 0

      "I'd be curious to see just how well MONO emulates .NET, firsthand. I hear it's good."

      Then you are either a troll or you already said why MONO will fail: as per your opinion, MONO is not "the real thing" (or else, it shouldn't have to emulate anything); the real thing is Ms .Net. It has exactly the same chances to "win" than, say, Samba; it will always be tailing "the real thing".

    22. Re:the problem with google apps by turbidostato · · Score: 1

      "And what do you think would happen to IE's market share if Google Maps and a horder of other interesting web apps ran beautifully on everything except IE?"

      Yeah! I really can imagine hordes of enterprise investors wanting to expend their money on a web app known NOT to work on the web browser by default of about 90% of their market target. I think they call that "network effect" (how can that idea be modded up "insightful" is what is beyond my comprehension).

    23. Re:the problem with google apps by Paulrothrock · · Score: 1

      That's why I write web apps and host them locally. I've got one that I use to track my car's fuel economy that I wrote in RoR, but it doesn't exist anywhere but on my Powerbook.

      --
      I'm in the hole of the broadband donut.
  5. sure by stoolpigeon · · Score: 1

    it's the age old situation. not one tool does every job best. there are still plenty of situations where desktop apps are appropriate. as nifty as web 2.0 apps are, they still aren't as good, in certain situations.
    that there is a demand for disconnected apps is undeniable. all one has to do is look at the disparity between the number of households with computers and the number of households with dial-up or less.
    me, i prefer desktop apps in a number of areas - personal finance, my office suite, games, my coding tools - and there are probably more.
     
    at the same time, on those rare occasions i find myself sitting somewhere with my laptop but no internet access, i feel lost to some extent. i am very, very used to having both types of software at my disposal constantly.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    1. Re:sure by Anonymous Coward · · Score: 0

      And I find that I'm used to having both types of letters - uppercase and lowercase - at my disposal! Seriously, dude, what the fuck? Did you lose your shift key, or are you really that lazy?

    2. Re:sure by stoolpigeon · · Score: 1

      i save the big stuff for your mom.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  6. From Apple Basic to Pascal to MASM... by Octopus · · Score: 1

    Got completely out of computers when I hit college, and then jumped back into it as a web developer later. Now I'm toying with PHP-GTK(2) apps and it's been quite fun, even though it's got a ways to go. C++ etc. just doesn't interest me - a language I knew from web dev had to hook me back into the desktop.

    1. Re:From Apple Basic to Pascal to MASM... by Anonymous Coward · · Score: 0

      I don't see why you have so much trouble with C++. Syntactically, it's quite similar to PHP. So that shouldn't be the problem. And semantically, PHP is FAR more twisted and disturbing than C++. At least C++ was designed by people who had much experience developing in the large. There's some reasoning behind the choices they made, even if the end result is somewhat ugly. PHP, on the other hand, was essentially thrown together by a group of amateurs, and beaten repeatedly until it looked like something that could possibly be used. It's a mess from top to bottom.

    2. Re:From Apple Basic to Pascal to MASM... by maxume · · Score: 1

      Have you considered that one of the biggest differences between C++ and PHP is generally memory management and that as memory managed languages go, PHP is often considered to be awful?

      (I don't mean to say you shouldn't like PHP, it doesn't matter to me if you do or you don't, just that there is a strong tendency not to like PHP, so if you can figure out why you like it more than C, you might be able to find something that you like even more...)

      --
      Nerd rage is the funniest rage.
  7. Desktop app development by 280Z28 · · Score: 5, Insightful

    I prefer desktop development. Web development gets frustrating with its nooks and crannies of brokenness. If standardized Javascript and CSS were as ubiquitous as C/C++/[anything else desktop], that might someday change... but probably not.

    --
    Turning coffee into code.
    1. Re:Desktop app development by Anonymous Coward · · Score: 0

      Perhaps, you should reconsider but just use your C++ (desktop) experiences and tools to create web applications, using a library like Wt?

    2. Re:Desktop app development by CAIMLAS · · Score: 1

      Obviously you've never tried to write anything in Java. There are just as many "nooks and crannies" of inconsistency and brokenness in Java.

      Well, OK - not as many. But certainly a lot more than C++ or even Perl.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    3. Re:Desktop app development by 280Z28 · · Score: 1

      Obviously you've never tried to write anything in Java.

      Sure I have. It even used to be on my resume. :)

      --
      Turning coffee into code.
    4. Re:Desktop app development by Tablizer · · Score: 1

      I prefer desktop development. Web development gets frustrating with its nooks and crannies of brokenness. If standardized Javascript and CSS were as ubiquitous as C/C++/[anything else desktop], that might someday change... but probably not.

      I agree. With decent desktop GUI toolkits, the GUI took me only about 30% of the development time, the rest was focusing on biz logic. With web stuff, UI takes about 70% because of all the limitations of HTTP/HTML/DOM. Desktop apps are like random-access memory: you can change just about any part of the app screen at any time for any reason during execution. Web apps tend to force one to plan the sequence around HTTP get/post cycles, forcing you to think like the web instead of the other way around. And web has yet to produce decent OSS editable data grid and tree browser widgets. These are a MUST for biz GUI's. And web-based reports are a bear to make printer-friendly. Biz people still want paper reports.

      Perhaps AJAX will remedy this, but it has a lot of growing up to do, and I'll bet MS will sabatoge its browser's JavaScript if it starts to impact Office and OS sales. Look what MS did to Java applets when they saw blood, via Embrace and Cripple.

      There are a few things that web apps do better, but for biz stuff, desktop GUI's are still generally superior in my opinion dispite being from 1990's if you ignore deployment issues.

  8. Yes, some of us do hate desktop apps. by Anonymous Coward · · Score: 1, Insightful

    I am a numerical analyst. I hate making anything that the user needs to interact with. This being said, I hate writing desktop apps. Furthermore, I hate writing web apps too. I only care about algorithms and automation.

  9. Might be in the minority here.. by ironwill96 · · Score: 4, Insightful

    But for some reason I can't stand Web Development at all but *love* desktop applications. My coding of choice is C#.Net or Java and i've written numerous small but useful applications that are in use at my place of employment and a few former jobs. Most of these apps are networked and use client-server interactions, but only on the intranet, not out on the internet.

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

    For some reason, I just don't like ASP.Net or PHP or JavaScript, i've written small interactive web things in them, but it takes me way longer to accomplish something useful on a website than it does doing a desktop application. I suppose this probably has to do entirely with familiarity, but I also hate how slow websites typically are when you do something overly graphical or complex, whereas it runs great on the desktop application locally.

    --
    "To strive, to seek, to find, and not to yield." - Tennyson
    1. Re:Might be in the minority here.. by Anonymous Coward · · Score: 0

      I totally agree. I'm a C# Professional/Hobbyist and I've never been able to stand Web Development much. This is for a number of reasons. For one, web development setup can be a pain in the ass. For two, you just can't do the fun things in Web Development that you can do in desktop development.

      My love of desktop development and my disdain of web development is most likely related to the fact that my hobbyist side leans drastically towards game development, and that's just so much easier in applications.

    2. Re:Might be in the minority here.. by The+Bungi · · Score: 3, Interesting
      It's just a different paradigm and mindset. They both have their unique advantages and shortcomings. Get a good IDE, a good framework and some Dr. Pepper and you can probably pull it off once you "grok" the shifts.

      Having said that, a web application will never have the level of control that a forms-based one has, no matter how fancy your JavaScript is. Truth is, the browser is a crappy platform no matter how you look at it. The web illuminati proclaimed the desktop dead ten years ago and now again on the tails of GMail and the half million good and bad "rich" applications developed apparently for the specific purpose of showcasing how utterly screwed up the browser as a platform is.

      But if you work for a living you probably have to go with the flow, so "Ajax" it is until the next fad comes around. Personally I think Java/.NET/Mono and the like with a good forms front end and a really powerful matching backend infrastructure is going to be the next big thing along with XCOPY deployment and zero impact installs. CPUs and memory are catching up to managed frameworks and writing a web service (or a client) is laughably simple now (I remember hand-coding my WSDL and walking in the snow uphill both ways, etc).

      In any case, the fun part is being int he middle of it all =)

    3. Re:Might be in the minority here.. by Tadrith · · Score: 1

      Nope, I agree with you completely.

      I started out working with the desktop, and to this day, I still despise working on web applications. Admittedly, a lot of this is because I have less experience with web applications, and so when users ask for desktop-style features on a web applications, I tend to get very frustrated. I'm not saying web development is bad, it is definitely useful and there are many skilled web developers. I just prefer to keep to the desktop.

      Most of my work lies in databases, mostly custom business software. It's not exactly fascinating or glamorous, most people find it pretty dull, but I enjoy it.

    4. Re:Might be in the minority here.. by tambo · · Score: 2, Insightful
      I just don't like ASP.Net or PHP or JavaScript, i've written small interactive web things in them, but it takes me way longer to accomplish something useful on a website than it does doing a desktop application.

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

      - David Stein

      --
      Computer over. Virus = very yes.
    5. Re:Might be in the minority here.. by tambo · · Score: 1
      I think Java/.NET/Mono and the like with a good forms front end and a really powerful matching backend infrastructure is going to be the next big thing along with XCOPY deployment and zero impact installs.

      Completely agreed. I'm currently manning a six-person team on a moderately complex web programming task, and I'm insistent on using ASP.NET 2.0, because it's the least crappy option. (But it's still a whole lot of suckiness.)

      I firmly believe that web programming will catch up and surpass desktop programming - but at the moment, the gap is huge, and it favors the latter. ... The trick is that web programmers will first have to acknowledge that gap before they can address it. Currently, they're suffering from severe denial... as evidenced by the article that started this thread.

      - David Stein

      --
      Computer over. Virus = very yes.
    6. Re:Might be in the minority here.. by fitten · · Score: 1

      I work on a product that has a web front-end to it and a lot of stuff on the server side. The web side of stuff is just full of machinations to deal with incompatibilities of browsers and Javascript (and most browser based scripting languages) are crap to work with and debug. Luckily, all the back end stuff is written in languages that are much more sane.

    7. Re:Might be in the minority here.. by Gr8Apes · · Score: 1

      Well, having done both across about the last 8 years of development, I can say that it depends upon the application. Data entry/display of server based data? Web App. Much easier to deal with and support, especially with a shifting client base. While a client application is certainly much more capable and responsive, it's overkill for a relatively simple page based data entry type application.

      As for JavaScript, it's getting easier to deal with it with some of the addons available for Firefox. I won't touch ASP or PHP or Perl or Python for commercial web apps. There's far too many issues with all of those that are not easily fixable. Java has its issues as well, but they are able to be accommodated for the types of applications I've been writing.

      --
      The cesspool just got a check and balance.
  10. Rails by FMota91 · · Score: 0

    I've been looking into Ruby (on Rails) recently and, from what I gather, it's not just hype.
    Meaning that, from what I've seen, it seems pretty good.
    Maybe the more experienced Ruby programmers (and the other ones, who decided not to use ruby even after learning all about it) can enlighten me further?
    I'd like to know exactly why Rails is so good.

    I bet Ruby on Rails has something to do with this article, in any case.

    --
    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C1 bottles of beer on the wall. Take one down, pass it round... Oh, umm...
    1. Re:Rails by WizardofWestmarch · · Score: 1

      Considering Graham's love of LISP I really doubt it has anything to do with RoR...

      He's even building his own derivative language called Arc.

    2. Re:Rails by xenocide2 · · Score: 1

      Well, he did give a talk about the power of the marginal at Railsconf. So he at least knows its popular with those not writing desktop apps.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

  11. I do both by revlayle · · Score: 1

    and I love doing both, as long as I have decent tools to do either with.

    For example, I have done desktop development for over 10 years, I am more experienced at it and easier to make a usable UI. Drawbacks: harder to build and test, but easier to step debug - unfortunately, my current employer has a MESS of a desktop app full of .NET front ends and legacy C++ backends in a mix of multiple versions of MFC and .NET - argh - which makes it unbearable at times, but only on the app I currently work on.

    Web apps, I have only done for about 5-6 years tops, however the UI flexibility is less powerful, the "stateless" state of doing web programming is a bit more of a challenge. Easier to set up and get running fast, harder to step debug (unless you have just the right dev environment) and can be VERY hair raising. Oddly enough I am doing a contract job for a company right now, purely in ASP.NET 2.0 (C#) and I am having a blast. However, I AM fortunate to be able to build from the ground up so I know what everything is doing.

    1. Re:I do both by brewstate · · Score: 0

      Quote revlayle (964221) : my current employer has a MESS of a desktop app full of .NET front ends and legacy C++ backends in a mix of multiple versions of MFC and .NET - argh - which makes it unbearable at times, but only on the app I currently work on.

      Currently most of my companies' work is with C# for both the Gui and the Business Layer. I can safely say that C# is nice for gui but to get the business layer speed of Natively compiled C++ is not feasible at this point in time though I will confess it is very easy to code in.

      on topic: Web UI is great for what it is used for but lets face it for most tasks you are ultimately going to have some System language binaries feeding the gui. It really doesn't matter what the Gui is the Business and Data layers will always get better performance as a Native compile. Gui's are in my business done by either C# programmers or VB6 programmers and to be honest I could care less what they use it is the data and business layer that matters you could just as easily use a Web/Intranet based UI to fill the options and view the results. Almost all nix based software has command line interfaces for that very reason.

      System development will not die because of AJAX or any subsequent tool that comes along because System development isn't really about viewing the data it is about processing it.

  12. Re:I used to respect Paul Graham by Creepy+Crawler · · Score: 1, Insightful

    Well, who really cares who a person is?

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

    Base ones word upon their worthiness of said word, not among their prior words, nor among their actions.

    --
  13. People hate developing applications by TodMinuit · · Score: 3, Insightful

    No, really, they do. They like solving problems. Having to implement the solution is the boring part, no matter how it's going to be done.

    --
    I wonder if I use bold in my signature, people will notice my posts.
    1. Re:People hate developing applications by bzipitidoo · · Score: 4, Insightful

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

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

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

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

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    2. Re:People hate developing applications by Anonymous Coward · · Score: 1, Interesting

      Mod this and its parent post up. It's so true. Unless you're in research or embedded devices (or maybe in Google), we (typical programmers) *assemble* applications. All that fancy education getting engineering degrees, just to do some assembling. We're equivalent of the car plant assembly workers of the bygone era. With no Union.

    3. Re:People hate developing applications by Anonymous Coward · · Score: 0

      Wow... that's... sir, you just killed my youthfull, naive enthusiams towards software developement.

  14. I don't see desktop apps ever going away entirely. by Mongoose+Disciple · · Score: 5, Insightful

    You're never going to get the performance on the web (for most things) that you can running locally. Equally, while tools and frameworks for faking it have gotten a lot better, maintaining state is a pain in the ass on the web and generally is not on the desktop.

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

    The kind of bold, sweeping statements made by this article aren't much more than flamebait in a pretty dress.

  15. Give it a few more years... by Jeff+Molby · · Score: 1

    Until my comcast tech decides to flip my interweb switch to OFF for 5 hours.
    ...and that web app will have enough fail-safes to run locally for short periods of time. The only problem that can't be mitigated is the degree to which you trust a vendor with your important data.
    1. Re:Give it a few more years... by matelmaster · · Score: 1

      Until my comcast tech decides to flip my interweb switch to OFF for 5 hours.

      ...and that web app will have enough fail-safes to run locally for short periods of time. actually I think we're a lot closer to this than you think http://slashdot.org/article.pl?sid=07/03/30/195224 0
    2. Re:Give it a few more years... by Rakishi · · Score: 1

      Thats assuming I'm running the app at that time. Too bad if I say turn on my computer in the morning and suddenly find that I can't do jack shit for the next three months (no, three months is not an exaggeration given past experience) cause someone jackhammered the fiber line.

  16. Browser as bad user interface by kherr · · Score: 3, Insightful

    This web app stuff is a fad (I hope). It was really popular in the late 1990s as well. Eventually the weight of developing in the unreliable and limiting multi-purpose browser gets to be too much, and desktop apps come back into vogue. Ajax makes things a lot nicer than ten years ago, but people expect more as well. Some things can be done really well using Ajax but it's not the solution for everything.

    iTunes is a dedicated desktop app that uses internet data intelligently, but Apple made a good choice not depending on a browser. Compare Google Maps to Google Earth, which is more responsive and flexible? And then there's the comparison of something like QuickTime or Windows Media players and the pseudo video players written in Flash with bad control responsiveness and limited functionality.

    1. Re:Browser as bad user interface by Mike1024 · · Score: 2, Insightful

      Compare Google Maps to Google Earth, which is more responsive and flexible?

      I prefer online maps; they work better for me.

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

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

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

      Anyway, I guess my point is: though web-based apps have disadvantages, they also have advantages, and for some applications these advantages can be pretty compelling. I hope web apps are not a fad.

      --
      "Goodness me, how unlike the FBI to abuse the trust of the American public." -- The Onion
    2. Re:Browser as bad user interface by Bob+Uhl · · Score: 1

      Compare Google Maps to Google Earth, which is more responsive and flexible?

      Considering that I use Linux, Google Maps is both more responsive and more flexible. Responsive, because Google Earth is a Windows binary which does nothing for me; flexible, because Google Maps actually displays maps.

      As for QuickTime and Windows Media, depending on the codec sometimes I can watch 'em, and sometimes I can hear 'em, and rarely I can both watch and hear 'em. YouTube, OTOH, just works.

      All that said, I actually like local client apps. Not desktop apps, really, but CLI apps and Emacs modes. There's something about getting one's work done through an SSH connexion that is just nice.

    3. Re:Browser as bad user interface by Anonymous Coward · · Score: 0

      Considering that I use Linux, Google Maps is both more responsive and more flexible. Responsive, because Google Earth is a Windows binary which does nothing for me; flexible, because Google Maps actually displays maps.
      Um, what? Google Earth is cross-platform. The Linux version works just fine. You should try it, it's pretty neat.
  17. Desktop apps by Anonymous Coward · · Score: 0

    I hate writing desktop apps. I prefer writing backend or embedded stuff.

  18. Give Me The Desktop by MBCook · · Score: 5, Insightful

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

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

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

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

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

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

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

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:Give Me The Desktop by TodMinuit · · Score: 3, Insightful

      (since we basically make copies of some parts to be used numerous times)

      You don't copy code: You generalize it into a function.

      --
      I wonder if I use bold in my signature, people will notice my posts.
    2. Re:Give Me The Desktop by kurtb149 · · Score: 1

      I think you should consider XUL and XBL.

      --
      http://www.x2ii.info/
    3. Re:Give Me The Desktop by xero314 · · Score: 1

      If you are one of the unlucky who is being forced to write web based applications I suggest you quit. Baring quitting XUL is the only realistic solution. XUL Applications can be written so they can be used effectively remote as well as installed as a desktop application. Unlike the other frameworks it only takes a little knowledge of XBL to fix all the bugs the Mozilla foundation decided to leave in XUL. Personally I can't stand web apps or rapid development, but if you have to you might as well use the only viable option. Oh, and what every you do don't call it "Zool", regardless of the ghostbusters referencing, it's lame.

    4. Re:Give Me The Desktop by Anonymous Coward · · Score: 0

      Why don't you learn to use a framework? For example, Echo2 has an API similar to Swing and builds desktop-like applications. Try the demos. It also handles the browser computability issues for you.

      Developing with it simply rocks.

    5. Re:Give Me The Desktop by Koen+Deforche · · Score: 1

      I fully agree with you: programming web applications using HTML and JavaScript (and forms and/or AJAX), etc... is not how one gets happy.

      But that's because you are not using the right tools and level of abstraction. Programming desktop applications in Assembler is no fun either, is it ? That doesn't make it a bad idea.

      Why don't you program web applications the way you're used to program desktop applications, using libraries such as echo2 or Wt ?

    6. Re:Give Me The Desktop by MBCook · · Score: 1

      Love to. That's not the mandate. We've talked about it, but we're not doing it (yet). All our web stuff is JSP and we reuse a ton of code (since we remake the same little sites over and over for a fair number of our tasks, just chaning little bits). But the problem is we're a small company and it has to get done fast. It is simply faster for us and what we are doing right now to just copy an existing site and change the little bits than set up the templating system or other such things.

      It's all about time. We're moving in that direction as we convince management of the return (and things get worse as they want more and bigger changes). But things started with a "do this fast, not right, we'll fix it later" and snowballed from there.

      A full rewrite of the front end is scheduled for the next major release, but it's been pushed back before.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    7. Re:Give Me The Desktop by Gr8Apes · · Score: 1

      Yep, and that can be a seriously painful chore in JavaScript. Sometimes you'll actually have to learn about some of JavaScript's non-Java aspects such as passing functions to functions or dynamically extending objects or even using the built in var args capabilities. It's definitely a slightly different look at the world.

      JavaScript is a neat language, there's just no really useful IDEs to go along with it yet in the world of web development, or at least none I've come across. It's still a very manual process developing with it.

      --
      The cesspool just got a check and balance.
    8. Re:Give Me The Desktop by poot_rootbeer · · Score: 1

      Then there are tons of front-end things I do. I hate them. It's developing the same code OVER and OVER (since we basically make copies of some parts to be used numerous times) and the glue code always has to go in there and is a pain

      Sounds like you must be doing it wrong. There's absolutely no reason for code reuse to be any more impossible on a web frontend than on any backend.

    9. Re:Give Me The Desktop by Jim+Hall · · Score: 3, Insightful

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

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

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

    10. Re:Give Me The Desktop by starvingCoder · · Score: 1

      You know, with Python and PHP you could easily write a function that generates JavaScript function dynamically (If you cannot create such functions Modern Web Application Framework CakePHP [http://www.cakephp.org/] and Django [http://www.djangoproject.com/] can help you do that).

      I believe in JAVA you could use DWR [http://getahead.org/dwr].

      It's all just a matter of understanding the tools in hand.

      I think Desktop application still kick-ass, but having both Desktop and Web Interface for 1 application is even better IMO.

    11. Re:Give Me The Desktop by hf256 · · Score: 1

      So, how would you code a HTML function?

    12. Re:Give Me The Desktop by TodMinuit · · Score: 1

      You wouldn't: You'd write code in your language of choice that outputs HTML.

      --
      I wonder if I use bold in my signature, people will notice my posts.
    13. Re:Give Me The Desktop by alienmole · · Score: 1

      Oh, and what every you do don't call it "Zool", regardless of the ghostbusters referencing, it's lame.
      So, uh, how do you pronounce your nick? "Ex-eero-three-fourteen"?
    14. Re:Give Me The Desktop by xero314 · · Score: 1

      So, uh, how do you pronounce your nick? "Ex-eero-three-fourteen"? You almost made a good joke, but I think you meant "Ex-ee-ar-oh-three-one-four." I mean really, "fourteen," double ewe tea eff?

      The difference between by nick and XUL is that my nick is not a acronym. If it was Xul that would be one thing, but it's not it's eXtensible User interface Language or X.U.L.
    15. Re:Give Me The Desktop by David+Gould · · Score: 1

      I have never heard anybody pronounce "XUL" any way other that "zool". Literally never. Not once. I'm one of the only people I know who says "ess cue elle" instead of "sequel", but even I've given up on XUL. It's pronounced "XUL".

      There's no rule that acronyms can't be pronounced as the words they spell out. It's interesting how some acronyms enter the language as phonetically-created words and some stay pronounced as initials -- it sort of seems to correspond with how phonetically-pronounceable the letter-sequence is, but there are enough exceptions (both ways) that even that hardly seems to be a real rule.

      --
      David Gould
      main(i){putchar(340056100>>(i-1)*5&31|!!(i<6)<< 6)&&main(++i);}
    16. Re:Give Me The Desktop by alienmole · · Score: 1

      I mean really, "fourteen," double ewe tea eff?
      Will ya look at that, took the bait clean off the hook. But since you're big on rules, the one I followed in this case is the one that says that contiguous digits form larger numbers which have their own pronunciation. Be glad I didn't say "Ex-eero-three-hundred-and-fourteen".

      my nick is not a acronym

      So I guess you say Ra.D.A.R., then, and F.U.B.A.R., and G.N.U., and N.A.M.B.L.A.? Many acronyms are pronounced as words, so your rule doesn't fly. Long live Xool!
    17. Re:Give Me The Desktop by xero314 · · Score: 1

      Actually I only have an issue with pronouncing acronyms as single words when they sound stupid, like "zool." But in case you really wanted to know I do say G.N.U. and don't know what N.A.M.B.L.A. means, so have never had a reason to say it.

    18. Re:Give Me The Desktop by owlstead · · Score: 1

      You obviously misspelled object. Ok, ok, and static methods.

      Even then I still copy a lot of code; when I think the ties between applications is not very high and it is not complex enough to put it in seperate functions. It also makes it easier to get rid of bugs, without having to rebuild every application that was running fine - despite of the bugs.

      E.g. today I made a new copy of a command registry. The command in this registry are pretty complex, so I used a design pattern instead of a simple function for the commands. Now, the commands for the applications are almost completely different. The registry however isn't. Should I put it in a seperately maintained library because I use it at two or three places? I don't think so. Besides the obvious problem with the dependency of both projects on this library, I would also have to maintain seperate design documents, test cases, use cases and what not. Before I would know it one of my collegues would use it in the wrong way, and I would have to support and keep compatability for his/her applications as well.

      Nope, sometimes the copy button is your best friend. It's at least better than rewriting the same code all over again.

  19. Web apps are great, except... by VGPowerlord · · Score: 4, Insightful

    Web apps are great, except...:

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

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

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    1. Re:Web apps are great, except... by Baby+Duck · · Score: 4, Insightful
      Why not just leave the web to things that require the Internet and keep applications on the PC?

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

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

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

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

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

      --

      "Love heals scars love left." -- Henry Rollins

    2. Re:Web apps are great, except... by VGPowerlord · · Score: 1

      Before someone else points this out, point 1 should read "When the connection goes down, or even lags, it can have an impact on the document you're working on."

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    3. Re:Web apps are great, except... by Anonymous Coward · · Score: 2, Insightful

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

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

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

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

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

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

    4. Re:Web apps are great, except... by Anonymous+Brave+Guy · · Score: 1

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

      It's funny, I've been writing software for decades, much of it "serious" desktop applications, and nothing I've written has ever broken because of any of the above. You'd almost think this was just an urban legend that had caught on with management/consultants, which can be addressed simply by writing desktop software that doesn't suck, wouldn't you?

      But you're right: as long as it has caught on with them, the rest of us are doomed until we convince them of the error of their ways. This is going to be particularly tricky in this case, because obviously there are times when web-based applications generally do work well, particularly for a lot of the simple, database-type applications that many businesses rely on and managers often see.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    5. Re:Web apps are great, except... by MrBugSentry · · Score: 1

      Add to that you need to trust the person holding your data. You need to trust them not to lose it and not to use it.

      We designed our app as a desktop application because we don't think our customers should trust us with their data. Because we went with a public key system, we can't use the data, but we also can't use a web app (without doing something horrific with ActiveX or a plugin.).

      So there are some places where only client side computing work.

    6. Re:Web apps are great, except... by Anonymous Coward · · Score: 0

      I write desktop apps and I have been bit by all these (it's frustrating when McAfee refuses to let you display something in a textbox) but I prefer desktop apps over web apps. Whether you write for the desktop or web you have to check compatibility if you're using anything cutting edge.

    7. Re:Web apps are great, except... by Anonymous+Brave+Guy · · Score: 1

      Blockquoth the AC:

      Whether you write for the desktop or web you have to check compatibility if you're using anything cutting edge.

      That's true. The moral of the story is that you shouldn't use things that are cutting edge just for the sake of it. Nearly all cutting edge technologies I see in use in software development today are being used to do something that old, tried-and-tested technology could have done just as well.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    8. Re:Web apps are great, except... by Drogo007 · · Score: 1

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

      And yet with minimal effort, we just changed the major desktop app we develop to be "install once on the server, create a shortcut on any and all client machines and away you go. And it's still only a single point of maintenance for upgrades, patches, etc...

  20. No, at least NOT YET by ErGalvao · · Score: 1

    The web has much to evolve before it can live up to all this hype. Yeah, this may sound weird coming from a web developer, but I'm a careful one.

    As for desktop apps, they are, still, faster and more reliable than their web counterparts, not to mention that a whole cultural change must occur so web apps can really prevail.

    I've done some desktop development - only to amuse myself, really (so I'm not the best man to write statements about it) but I'll take my chances: the amount of code needed to transform a shell app into a desktop one is huge, so I really don't see any advantages on it, being a geek.

    OTOH, web app interface development seems to be a lot easier and shorter than QT, GTK, etc...

    --
    Er Galvão Abbott - IT Consultant and Developer
    1. Re:No, at least NOT YET by Brandybuck · · Score: 1

      As for desktop apps, they are, still, faster and more reliable than their web counterparts... OTOH, web app interface development seems to be a lot easier and shorter than QT, GTK, etc...

      That's no accident.

      --
      Don't blame me, I didn't vote for either of them!
    2. Re:No, at least NOT YET by ardor · · Score: 1

      OTOH, web app interface development seems to be a lot easier and shorter than QT, GTK, etc...

      Yeah, as long as the interface is not too complex.

      Try doing something like Maya as a webapp.

      --
      This sig does not contain any SCO code.
    3. Re:No, at least NOT YET by ErGalvao · · Score: 1

      Well, I wasn't mentioning full software conversion, but you surely made your point :)

      --
      Er Galvão Abbott - IT Consultant and Developer
  21. Firefox 3.0 by PIPBoy3000 · · Score: 3, Interesting

    Wait for Firefox 3.0. Soon you'll be able to use your web apps, even if you're connected at 0 Mbps.

    1. Re:Firefox 3.0 by 8-bitDesigner · · Score: 2, Funny

      Oh man, I can use GMail without a network connection now?

      SWEET!

    2. Re:Firefox 3.0 by tambo · · Score: 5, Insightful
      Wait for Firefox 3.0 [readwriteweb.com]. Soon you'll be able to use your web apps, even if you're connected at 0 Mbps.

      I'll believe it when I see it.

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

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

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

      - David Stein

      --
      Computer over. Virus = very yes.
    3. Re:Firefox 3.0 by Meostro · · Score: 1

      You don't even have to wait.

      Firefox 2.x supports DOM:Storage objects that will already let you store arbitrary data client-side, and IE supports something similar with Persistence and DHTML Behaviors. If you want the same mechanism for multiple browser types you can do some crazy Flash-based stuff as well.

      Within the browser storage objects there are some limitations as to size, so that could be part of the new versions. But make no mistake: this feature is already a reality. See Ajaxian or Dojo for more of the same, including concrete implementations.

    4. Re:Firefox 3.0 by CaptnMArk · · Score: 1

      IMO, such things will not really be usable as long as people have to manually do the load/store operations either from web or the local storage.

      This needs to be solved declaratively, by making browser do all the client side work.

    5. Re:Firefox 3.0 by Baddas · · Score: 1

      I love the thinking.

      "This needs to be solved declaratively, by making other people figure out how it works and do it for me." :P

    6. Re:Firefox 3.0 by RuBLed · · Score: 2, Funny

      Haven't heard of GMail Paper yet?

    7. Re:Firefox 3.0 by Bearhouse · · Score: 1

      Yeah, and by Firefox 4.0 we'll have a fully-fledged open-source Office suite that can run offline. They could call it 'open office' or something like that...

    8. Re:Firefox 3.0 by Anonymous Coward · · Score: 2, Informative
    9. Re:Firefox 3.0 by MindStalker · · Score: 1

      Well theoretically yes. You will of course be limited to emails in the cache. About as useful as an IMAP client without a network connection.

    10. Re:Firefox 3.0 by dk.r*nger · · Score: 5, Informative

      I'll believe it when I see it.
      Sorry, I just can't be optimistic about this. You shouldn't be, either.
      Look - today's web browsers can't even really get offline web page caching right.


      I'm not sure why I should adjust my expectations to technology according to your misuse of technology.

      Todays browsers don't get offline caching of Slashdot right, because Slashdot is an online application, and says so:

      HTTP/1.1 200 OK
      Date: Tue, 10 Apr 2007 12:48:30 GMT
      Server: Apache/1.3.37 (Unix) mod_perl/1.29
      SLASH_LOG_DATA: 07/04/10/011220
      X-Powered-By: Slash 2.005000152
      X-Fry: I don't regret this, but I both rue and lament it.
      Cache-Control: no-cache
      Pragma: no-cache

      Vary: User-Agent,Accept-Encoding
      Connection: close
      Transfer-Encoding: chunked
      Content-Type: text/html; charset=iso-8859-1


      In order to read Slashdot offline "right", you need to break HTTP. And we all know what happens to naughty boys who breaks standards.

      Offline webapplications will work offline because they will be designed to work offline. They will get safe caching of resources and a stateful browser-DOM-object to save data to. It's not exactly rocketscience.
    11. Re:Firefox 3.0 by _iris · · Score: 1

      Then go check it out. The difference between the FF 3.0 offline application support and web page caching is that FF simply provides a storage model. The applications are responsible for ensuring that they have the information that they need. And, btw, the browsers _can_ get offline browsing right, but you are in very small minority of people who want it. You could always fix that yourself in FF or Konqueror.

    12. Re:Firefox 3.0 by kalirion · · Score: 2, Funny

      And I bet you'll be able to play online games and download movies offline too!

    13. Re:Firefox 3.0 by rjshields · · Score: 3, Funny

      Man, I can't wait for someone to write an AJAX version of Photoshop that I can use offline. It could be just like the real thing but fifty times slower!

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    14. Re:Firefox 3.0 by Nevyn · · Score: 1

      In order to read Slashdot offline "right", you need to break HTTP.

      The fact that HTTP stupidly created a "std." for re-request this data constantly, and random web devs decided to put it everywhere because they have 10MB/s to the server. Doesn't mean the browser has to enforce it when given a choice of "show old data or show nothing".

      Offline webapplications will work offline because they will be designed to work offline.

      Now I know you are are on some great drugs, nothing stops web devs getting this correct now ... but pretty much no one does. Hell, half of them are happy to dump half a MB of AJAX into a page to get a form with the same functionality you could get in pure HTML in 1995 ... and they still can't remove whitespace and hyphens from my credit card number. Pretending this is going to be tested for, let alone solved, for anything but a tiny minority of web sites is just pure fantasy.

      And, again, as the prior poster said ... even when the websites do everything correctly the browsers still suck a lot when it comes to reducing latency etc.

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
    15. Re:Firefox 3.0 by Myopic · · Score: 2, Interesting

      I would prefer if my web browser did what I told it to do, instead of what web page authors tell it to do. For the most part, I'm going to go with the author's decisions, but often I'll tweak and twiddle things. Specifically, the two best examples, in order of importance, are filtering of parts of pages (think, advertisements), and caching pages marked nocache. This isn't some crazy concept, the CSS specs first made the mistake of telling browser writers that webpage stylesheets took precedence over user stylesheets, but then CSS was corrected because most people agree that user preferences are the most important.

      But, then again, I imagine there is some way to override that nocache setting in Mozilla.

    16. Re:Firefox 3.0 by Anonymous Coward · · Score: 0

      > yet browsers still can't passively save all of our web accesses and show 'em to us again when we're offline. Pssst. ScrapBook

    17. Re:Firefox 3.0 by tambo · · Score: 1
      Then go check it out.

      Yeah, but that's purely manual, right? I appreciate your sending it to me, though - the only time I use IE instead of my beloved Firefox is when I need to save a "web archive" .MHT file - IE has that down to a science.

      But that wasn't my point. What most "offline browsing" features contemplate, and what I was describing, was an automated caching system, where every page I visit (and every page I subscribe to, even when I don't visit) gets cached for subsequent offline review. That's been offered as a browser feature for years, but it remains pure vaporware.

      The difference between the FF 3.0 offline application support and web page caching is that FF simply provides a storage model.

      I understand, and I think that the idea is both viable and important. However, I have great pessimism over web browser developers' capabilities in enacting that idea with skill and efficiency... because they've screwed up so many other browser features.

      - David Stein

      --
      Computer over. Virus = very yes.
    18. Re:Firefox 3.0 by Anonymous Coward · · Score: 0

      My cache contains many years of browsing history (basically every page I ever visited).
      Have a look at wwwoffle http://www.gedanken.demon.co.uk/wwwoffle/, it's a really cool caching proxy.

  22. To web or not to web by psaunders · · Score: 1
    The question is, since web apps were originally built on desktop applications themselves, have the tables flipped? Or is it just wishful thinking?

    Perhaps a better question might be, why on earth would coders waste time reading Graham's meandering opinions when they could be developing for the [web|desktop] instead?

    For that matter, why would they be on Slashdot?

    --
    Karma police, arrest this man. He talks in math. He buzzes like a fridge. He's like a detuned radio.
    1. Re:To web or not to web by Brandybuck · · Score: 1

      For that matter, why would they be on Slashdot?

      I'm not...

      --
      Don't blame me, I didn't vote for either of them!
  23. The real growth is embedded/mobile by EmbeddedJanitor · · Score: 1
    Althouth there are a few interesting tools I'd still like to see, how many more desktops apps are really needed? Most people's needs and desires are more than covered by a word processor, email client and web browser. Open Office and MS Office are already overloaded with features that almost nobody will ever use.

    There will always be a need for custom software for corporates, but that is typically client/server with the client side just being a web front-end. The browser covers that.

    The real scope for target-side (as opposed to server-side) applications is in embedded/mobile marketplace. Embedded devices outnumber desktops and are increasing in number, size and complexity. Due to performance, cost and comnnectivity limitations these won't get soaked up by server-side apps for a long time still.

    --
    Engineering is the art of compromise.
    1. Re:The real growth is embedded/mobile by fbjon · · Score: 2, Informative

      Don't forget resource-intensive apps like Photoshop, any 3D modeling, music&audio, and so on. There's lots of people making those, and they require a personal computer.

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
    2. Re:The real growth is embedded/mobile by Baddas · · Score: 1

      Ironic you should mention Photoshop, since adobe is frantically working on a web version to compete with online-image-editing startups.

    3. Re:The real growth is embedded/mobile by Dogtanian · · Score: 3, Informative

      Ha ha... knew someone would mention that as soon as I heard mention of PS. I'm willing to bet that the online "Photoshop" will be extremely limited and wizard-based; at best it will use the core PS engine. I'm not saying it'll be bad, but it certainly won't compete with the full PS, nor even Elements; in fact, I doubt it'll even be as sophisticated as the now-defunct Photo Deluxe (a nice, but very limited PS-based product).

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    4. Re:The real growth is embedded/mobile by Anonymous Coward · · Score: 0

      Since Adobe controls Flash after their aquisition of Macromedia, they pretty much can embed what they want in the Flash-virtual machine (a.k.a. plugin). That is, if they wish to have an efficient client-side storage-API of byte-arrays within the Flash-VM, they can do it, and wait for the average Windowse-lamer to download the newest Flash-plugin.

      "Online"-editing will then of course be done in a pretty much offline-fashion with a bloated Flash-interface, but Jane Randomdesignercunt and Joe Windoseexpeelamer of course, as always, have no clue - if it's in a browser, it's "online" as far as they are concerned.

    5. Re:The real growth is embedded/mobile by Dogtanian · · Score: 1
      You're possibly right; I'd forgotten about Flash. That having been said, I'll still eat my underpants if the online version of Photoshop is much more than PhotoDeluxe: The Next Generation.

      Jane Randomdesignercunt and Joe Windoseexpeelamer Those wild and wacky European surnames.... ;-)
      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    6. Re:The real growth is embedded/mobile by BadERA · · Score: 2, Interesting

      As an owner of a Treo 700w, 2 Cingular 2125s and an 8125 (HTC Tornado and Wizard), and as an engineer for products based on these platforms, I disagree.

      The only point to mobile apps is connectivity. Text messaging? Check. Email? Check. Media sharing? Check. Sure, I can write a Word doc on my Pocket PC phones, or on a Smartphone with a Bluetooth keyboard (I'm not out to grow Asian SMS thumbs) but do I WANT to? Will I do so in anything but the most desperate scenario? No, I'm going to do it on my laptop or desktop. Am I going to do Photoshop work on a 2.5" diagonal screen? Heck no! Am I going to write software ON my phone? Probably not, though I have edited HTML and ASP from a Pocket PC phone before. Yes, I maintain a list of contacts and calendar events, but only for purposes of keeping myself in sync at home and at work -- without a desktop or laptop flashing up an event notice in front of me, I'd miss half my meetings. Yes, having that schedule available to me on the road has value, but again, not without integration with less-mobile platforms.

      One product I engineered is, essentially, a self-contained web cam. No electrical requirements (battery/solar powered) not hard line to a network (GPRS driven). Take a picture, send it to the server. All the interaction on the client's part is with the server, not their deployed camera, and from their own desktop or laptop (though yes, there has been some talk of making the camera viewing/controlling app mobile-friendly). All in all, however, you're never going to have serious clientside applications doing much of ANYTHING on something with a 2.5" screen. Now, if I could easily run screen output to a real monitor, that's a different story ...

      --
      I am, therefore you think.
    7. Re:The real growth is embedded/mobile by rjshields · · Score: 1

      Althouth there are a few interesting tools I'd still like to see, how many more desktops apps are really needed? Most people's needs and desires are more than covered by a word processor, email client and web browser. Open Office and MS Office are already overloaded with features that almost nobody will ever use. There will always be a need for custom software for corporates, but that is typically client/server with the client side just being a web front-end. The browser covers that.
      We don't need any more desktop apps! And 640k should be enough for anyone!
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    8. Re:The real growth is embedded/mobile by p3d0 · · Score: 1

      Althouth there are a few interesting tools I'd still like to see, how many more desktops apps are really needed? Right! And while we're at it, let's close the patent office, since everything we need has already been invented.
      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  24. Meta-Desktop Apps ? by The+Media+Mechanic · · Score: 1

    Aren't Integrated Development Environments (such as Eclipse, NetBeans, and Visual Studio) used by developers to create apps -- both Web and Desktop style apps -- Aren't they themselves desktop apps ? Essentially IDEs are Meta-Apps, because they can be used to create new Applications. I think that these tools are still alive and kicking... So it would seem that until we (or rather the tool creators) manage to figure out how to do away with those fundamentally useful tools, we won't ever truly be rid of the Desktop metaphor. If you are a professional software developer: Can you really imagine trying to develop a new application for your employer, using tools that are running totally inside of a browser window, streaming one click at a time over AJAX ? I mean, there would probably be some gee-whiz coolness factor at first, but I think the novelty would quickly wear off once it dawns on you that you have ceded so much control over to the System Administrator. It's bad enough as it is with things like Database Admins controlling access to my data, and Security Admins controlling access to my email.... I can't bear to give away the last piece of territory that is truly totally within my domain - my precious IDE !!!

    So as long as the IDE shall live, so shall the Desktop App!

    All hail King WIMP !

    --
    I can throw as many stones as I wish; my house is made of transparent aluminum.
  25. You make few assumptions which aren't always true by mr_mischief · · Score: 3, Informative

    You assume that neither PHP nor Perl are being used to do desktop apps. Perl certainly is. Ruby, Java, Python, and several other languages are being used to do web development, too.

    In particular, it seems a shame to pigeonhole Perl. Using Perl and readily available libraries, one can develop console programs, GUI programs, daemons, or web apps. With Tk, SDL, OpenGL, WxWidgets, curses, GTK, Win32::GUI, or Prima, few languages have as many options for interface libraries last I checked. Just because Perl is very useful for web development doesn't mean it's not useful in other areas.

    In a fun twist, I had to develop an app that worked the same over the web or on a Windows desktop with no net connection and no installation. It's written in PHP and Perl with a little client-side JavaScript and runs an Apache+MySQL instance from CD. So it's a web app, but it doesn't require net access.

    And BTW, ADP (American Data Processing) and similar companies makes a lot of money doing payroll for other companies.

  26. Web? Desktop? by jackb_guppy · · Score: 2, Funny

    Real Men code GREEN SCREEN!

    It runs faster! It is more secure!

    1. Re:Web? Desktop? by Door+in+Cart · · Score: 2, Interesting

      Real Men code GREEN SCREEN!

      It runs faster! It is more secure!

      Let me guess, you use Windows. You probably wouldn't find such a thought to be so laughable if you'd ever invested the time to learn some basic *nix. Not only are text-mode apps (way) faster and (way) more secure, but they tend to excel in quite a few other places where web apps fail, to name a few:

      • configurablity
      • inter-application communication
      • extensibility
      • versioning
      • standardized documentation system
      These essential features are lacking from web apps chiefly because http and html were designed for static hypertext. Yet the layout and design capabilities of css allows web apps to succeed in one way that is wholly inapplicable to text-mode apps: web apps can look good. And in our visually oriented wysiwyg culture, that means a lot. But while laughing at text-mode advocacy might build your karma, I urge you to bear in mind that you would likely prefer text-mode if you took the time to become accustomed to it, lest you mistake maturity for antiquation.
    2. Re:Web? Desktop? by Anonymous+Brave+Guy · · Score: 1

      And then it gets edited out for the final version anyway, to be replaced by computer-generated special effects! :-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:Web? Desktop? by jackb_guppy · · Score: 1

      Actually, 30+ years in green screen apps.

    4. Re:Web? Desktop? by jmpeax · · Score: 0

      our visually oriented wysiwyg culture You make some good points, but the reality is that for computing power to make us more efficient, it has to be employed all along the chain of expertise - from poweruser to all-but-computer-illiterate. What good is it if a bank's server technicians know exactly what they are doing if customers don't know how to access the online banking website? Satisfying users of all levels means satisfying those that want nothing more than to be able to use the minimum technology to complete their tasks. This is the majority of users, and this majority finds text-based software a very big turn off.
    5. Re:Web? Desktop? by Door+in+Cart · · Score: 1

      Actually, 30+ years in green screen apps.

      Oh...

      Your exclamation points looked like sarcasm to me. Were they actually passionate seriousness? Huh.

  27. JNLP? by tepples · · Score: 1

    Please, PLEASE.... bring desktop applications into vogue. Java allows right-once-run-anywhere to just as high a degree as HTML/JavaScrpit, if not more. Takes less bandwidth. Can run much faster. Can do client side stuff easier. So why don't you develop your programs for the Java platform and deploy them as applets or as Java Web Start packages?
    1. Re:JNLP? by codemachine · · Score: 1

      I do really wish that these methods had become more popular. Cross platform desktop applications with no installation required and automatic updatablility are nice.

      Of course Java Applets were a bit slow and bloated for the old Pentium 200MHz and the like back in the day. Even now, it is a bit heavier than what would be necessary in a browser, though some sort of standard sandboxed runtime built in would be good.

      Java Web Start would've probably taken off if client side Java were just a bit better (mostly needed to be better on Windows to succeed). The ability to have a desktop application presented as a URL in the browser is a nice tie in for the web folks, even though it'd actually run outside the browser.

      I'd be great if these were improved and made a comeback, but it appears that once a technology fails to gain traction, you need something new and shiny to replace it, even if the new stuff is only better in some ways and way worse in others. AJAX is certainly trendy, but running Java and other languages on the JVM and Java Web Start would be much more functional, and could be made to be as seamless if people at Sun and elsewhere actually had worked on it.

      Maybe it'll happen now that Sun is letting others have at the code to some degree, but it is probably too late for the JVM to get real traction on the client side. Maybe they need to take a cue from MS and port C++, PHP, Javascript, etc to one unified runtime (like C++, ASP.NET, and VB were done for the CLI). Heck, C# and .NET are at least partially standards - they could swallow their pride and put some of the MS/Mono stuff on the JVM too.

  28. huh? by Matthew+Weigel · · Score: 1
    The question is, since web apps were originally built on desktop applications themselves

    Say what huh? That doesn't even make sense.

    --
    --Matthew
  29. Yes, I HATE desktop development... by Nedry57 · · Score: 3, Informative

    For two primary reasons: 1) Installers. Writing installers sucks. The MSI "standard" is a bloated piece of crap, Installshield and Wise are ridiculously hard to get along with, and NSIS is a little too primitive (although by far the best installer platform I've found). You have to test the installer on every platform, ending up with stupid little quirks on Vista and x64 platforms. It's a nightmare, and patching/updating is a whole different nightmare. In the real world, there's no such thing as simple XCOPY deployment. At least for shrinkwrapped apps. 2) COM Interop. The Win32 API and COM combined is the crappiest piece of crap that ever crapped. I have nightmares about being forced to use Interop because they left out some trivial and silly thing from a WinForms control. I am speaking quite literally in saying that I have had nightmares. Seriously. I know, I know, working in Linux probably makes both of these problems more tolerable, if not completely invisible. But some of us must work in Windows. C'est la vie. I would take ASP.NET, or PHP, or Ruby, or Python, or any of those over crappy desktop Windows programming any day of the week. I'll even accept multiple-obscure-browser testing over COM Interop and installers.

    1. Re:Yes, I HATE desktop development... by xero314 · · Score: 1, Insightful

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

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

      2) COM Interop. Huh?

      crappy desktop Windows programming Oh I get it, you hate Windows Programing. You do realize you can write windows applications without the need for COM or an Installer right? Or at least you could prior to Vista and I can't really comment on that.
    2. Re:Yes, I HATE desktop development... by Nedry57 · · Score: 1

      Sorry, I assumed that it was clear enough that I was referring to Windows programming (or at least .NET Windows Forms programming). There are some situations in which COM or Win32 API Interop is simply required because they left out some key functionality in the Windows Forms controls or libraries. Also, most shrinkwrap software is going to require an installer, and it's not always as simple as just copying files and executing. You also have to deal with registry entries (if there are any), licensing/key validation, user preferences for which modules get installed, customized paths, detecting prerequisites, etc. You have thousands of different system configurations with dozens of different platforms (if you factor in culture-specific versions of Windows) and your program has to work flawlessly on all of them. Ideally it should be fine, but we're talking about the Microsoft world here, and some scary-ass shit can happen. I suppose if you're referring to Java development, or some other technology, then I can't really form an opinion as I don't have much experience. I can only speak to my experience from C++ (Win32 API and MFC) and Windows Forms (.NET) development, and I find it a headache compared to web development. On the other hand, I think I'd prefer to USE desktop applications. But I'd certainly rather DEVELOP web applications.

    3. Re:Yes, I HATE desktop development... by Anonymous Coward · · Score: 0

      You write for the "corporation", they have IT staff, they like to use MS tools, you've better cook up MSI installer.

      Windows Installer is the worst crap I've ever had to deal with. And that's supposed to be improvement over previous installation scheme with dll versioning hell.

      Other than that, I still prefer writing desktop app. :-)

    4. Re:Yes, I HATE desktop development... by hyfe · · Score: 1

      It's a nightmare, and patching/updating is a whole different nightmare.
      A ridicilously cheap, easy and not to mention; stupid way to autoupdate software on windows is to just to have your programs/binaries in a subversion repository and have a seperate startup program which runs 'svn up' on the catalog before starting the real program. Include subversion in the installer and it's totally self-contained too.

      It's not the most elegant solution, but it's damn easy and it works.

      --
      "" How about taking the safety labels off everything, and let the stupidity-problem solve itself? """
    5. Re:Yes, I HATE desktop development... by Anonymous+Brave+Guy · · Score: 1

      I suppose if you're referring to Java development, or some other technology, then I can't really form an opinion as I don't have much experience. I can only speak to my experience from C++ (Win32 API and MFC) and Windows Forms (.NET) development, and I find it a headache compared to web development.

      In fairness, while I can understand your experience (I've done my share of development using those tools, too), it is not a characteristic of desktop application development, merely of Microsoft being **** at software architecture. There should be absolutely no need to do anything during installation, other than (a) copy a few files into a suitable location, and (b) possibly call a few system APIs to register the application in whatever ways make sense, if this needs to be done before the application itself is run for some reason. Neither doing these things, nor undoing them again during an uninstall, requires some massive, complex installer system. Problems like DLL hell and WinSxS and registry hacking are entirely artificial barriers created by people who tried to be too clever, and basically don't exist anywhere except for Microsoft world.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  30. Re:You make few assumptions which aren't always tr by Anonymous Coward · · Score: 1, Informative

    And BTW, ADP (American Data Processing) and similar companies makes a lot of money doing payroll for other companies.

    As a matter of fact, I work for ADP, and one of the training videos I watched as part of my orientation said that ADP was founded precisely because doing payroll in-house was not always reliable. Basically, the founder of ADP knew of a company where the person in charge of payroll got sick, and no one else at the company knew how to do it. So they had to struggle to figure it out, and it became a great big mess with people wasting a lot of time to figure it out and employees getting angry about not being paid. Thus was born the idea of outsourced payroll, with the appeal being that payroll is outside most companies' areas of expertise, so it's simpler to just let a professional handle it.

    So ADP was founded on that idea. It also helped that this was in the 1940's and most businesses couldn't afford machines to do the calculations easily themselves, whereas a company that specialized in payroll could easily afford to buy mechanical calculating machines (and later, electronic computers) to crunch the numbers way more efficiently than a regular business could do it. It's hard to relate to this today, but even in the 1970's, a simple 4-function calculator cost about as much as an entire laptop computer does today (without adjusting for inflation!) so those expenses were not insignificant.

  31. Amen to that, but it could be so much better... by PepsiProgrammer · · Score: 1

    I've been using PyQt4 since last june. The crossed-platform RAD nature of python with qt4 is a godsend. The widgets even look native across Linux, OS X, and Windows.

    Unfortunately, the deficiencies of py2app and py2exe mar what could otherwise be one of the simplest ways to develop good cross-platform applications.

    --
    "The United States has no right, no desire, and no intention to impose our form of government on anyone else." - Bush 05
  32. illogical by DaSH+Alpha · · Score: 1

    If desktop development is dead, then I must have used my mind to submit this post directly to the /. server. That's the only explanation I can come up with...

  33. Browsers weren't designed to run apps by Rubinhood · · Score: 1

    The browser and the HTML language were not designed to be an application interface; they were made to just display information. So writing apps in a browser will NEVER be as flexible or straightforward as standard GUI programming.

    It's all about the ubiquity of the browser -- i.e. it's already installed, the whole easy adoption jazz -- so most new apps get written for it. But anyone who had to debug Javascript, or trick the user interface NOT to accept multiple button pushes, or fiddle with browser implementation quirks & incompatibilities etc. KNOWS that we are worse off with this than desktop apps.

    IMHO, about the only thing that validates the use of web apps is the easy creation of UIs that mostly contain text and images. Once we get to controls and business logic, HTML and Javascript are a PITA. And still, most of us are stuck with them... :(

  34. Shyeah right. Dream on. by Malkin · · Score: 1

    I can think of at least 8 million people who might disagree with his assertion. World of Warcraft does not run in a web browser.

  35. The article was about Microsoft being dead by Furry+Ice · · Score: 1

    Microsoft being dead is not equivalent to saying desktop apps are dead. Sure, Graham is making a case that Web 2.0 is great, but he's not saying that it is going to completely replace the desktop. What he is saying is that Microsoft is no longer the monopoly that instills fear in all other technology companies. This is true, and is a very different statement from "desktop development is dead".

    But alas, I'm not new here. I expect this kind of misleading headline. Just thought I'd clarify for all those who have no intention to RTFA.

  36. It's not hate, it's headaches. by WoTG · · Score: 4, Informative

    If it's technically possible to choose either a web based app or a desktop app, I would pick the web every time.

    Tech support sucks big time. It's far, far, far easier to maintain, upgrade, distribute a web application than it is to manage a desktop application. A couple major web browsers and a couple major plugins pretty much covers every testing and support situation that you will face -- especially for intranet type situations.

    For desktop situations there are a million variables: installers, bugs, spyware, permissions, operating systems and versions of OSs, non-existent user backups, differing service pack and patch levels... the list goes on. Most of these really aren't your problem as a software developer or publisher, but in reality, they often become your problem. That's in addition to the nightmare of supporting different versions of your program.

    If the web can be applied to a situation, there should be no surprise that people will develop for the web.

    1. Re:It's not hate, it's headaches. by BiggerIsBetter · · Score: 2, Insightful

      So why not build the apps as client-server? You avoid the headaches of browser implementations, and you retain the maintainability of centralised apps. It's faster/more-responsive than browser-based web systems, and easier on the clients than a full desktop app. I think internet connected or distributed apps are great, but I also think "web" based desktop apps are layer upon layer of kludge to make a display medium behave like an application.

      --
      Forget thrust, drag, lift and weight. Airplanes fly because of money.
    2. Re:It's not hate, it's headaches. by jyx · · Score: 1

      Im not so sure. Desktop apps don't have to be a headache. Since moving to c# (don't hate me, I just work here) we've added a 'self updating' component to all our new systems and the results have been great. one line bug fix? no problem, fix, test, deploy and the next time the users launch their app its all fixed. Its not all plain sailing but I think you are really overstating the problems.

      Web apps are great as long as they are reasonably simple and require a lot of eyeballs. When your systems database table count gets into double figures and there are only 5-15 users for the thing, webifying the thing is just a waste of time and money. Also, Web apps are not nearly close to functionality offered by the zillions of desktop based gui widgets/control/woteva.

      As always: Horses/Courses. Im always weary of anyone with to strong an opinion in anything in todays IT world, usually they are selling something.

  37. Writing web applications have one big drawback.... by Anonymous Coward · · Score: 0

    When writing web applications I find a great deal of my programming time is spent dealing with state and restoring it, this makes it (for me) generally less enjoyable as far as programming goes. Generally speaking a desktop application is in a constant running state, where as a web application will make an http request, get a response, render HTML, then stop. The user will then submit a form (or follow a link) and another http request is made and the cycle repeats. The painful part as far as the programming goes is restoring the state of objects and the like after each http request. Even tasks such as adding a row to a grid (say on the click of a button that for some reason must talk back to the server) may get complex because you have to restore the state of the previous X rows before adding the new one. Even using Ajax this problem still exists in most cases.

    There are frameworks which try and simplify these state problems (ASP.NET for example has a few state handling mechanisms) but I'm yet to find a way to write *complex* web applications that doesn't require lots manual tweaking and fidgety programming to handle these state problems.

    For me this makes coding desktop applications more enjoyable. What environment is 'better' is a different question alltogther and depends on the specifics of the project.

  38. Re:You make few assumptions which aren't always tr by Anonymous Coward · · Score: 1, Funny

    So you're the guy who keeps screwing up my paychecks. I would love to know how hours are just randomly dropped from my paycheck.

  39. Lack of killer apps... by blahplusplus · · Score: 1

    The truth is the desktop some real killer apps have to be released to want to give programmers inspiration IMHO. I'm sure there are many "killer apps" just waiting in the wings until computational power gets there. I have a shit tonne of ideas for great desktop programmes in my head that I've put part of the design to paper already but much of it has to wait because the time and expertise requires is a huge undertaking.

    I also have a tonne of desktop software I would love to use if it was more advanced and the computational power was there. I love Dragon's naturally speaking and not having to type since I'm a natural orator in my mind and the words just can't come out fast enough when I get going. Not only that but not having to type keeps me focused on what I'm saying.

    Lots of desktop applications will have to wait further advancements in science and art of information interpretation, that is converting human data and crunching it as easy as we do.

  40. I like developing for the web... by Zaph0dB · · Score: 2

    I like developing for the web... actually, I don't. I like developing in a non-gui environment, but I'm currently assigned to a "gui" team. Developing for the web (at least in my environment) allows me to (mostly) concentrate more on the problem itself and less on the "how thing are going to look". This is probably due to the great framework we use for web (mix of Struts and our own very extensive framework) and the lack of such framework for our (now abandoned) swing application. However, in my opinion, availability of mature frameworks is the decisive point when it comes to enterprise-level development. As a junior developer in my company my requests to change frameworks (or at least, conform to the rules of the one we use). Web development, or at least the variant I've seen 'here' (at my work place), almost forces you to work correctly (don't think I haven't encountered terrible code that broke all conventions as well). I could be wrong (again, little experience with these things), but from what I've seen so far, if I'm stuck with UI development, I'd prefer the web over desktop.

    --
    When in danger or in doubt, run in circles, scream and shout [Robert Heinlein]
    1. Re:I like developing for the web... by BadERA · · Score: 1

      I worked with an excellent widgets framework while at Xerox -- the best I've ever seen, they have a very skilled team of engineers dedicated to UI who REALLY KNOW THEIR SHIT(TM). Even so, I'm happy to be back in an environment that doesn't require a freakin' postback to get REAL WORK done without all the implications, complications, consequences and risks of AJAX. Give me a desktop app that interacts with an XML webservice any day of the week, thanks.

      --
      I am, therefore you think.
  41. I strongly prefer web apps by ddent · · Score: 2, Insightful
    I _greatly_ prefer doing web apps. Great things about web apps:
    • No mucking around with ugly GUI code
    • Easy to use: the interface limitations can be a good thing sometimes
    • Easy to deploy
    • Cross platform support, if you are careful, comes for free
    • Security: less data stored on often compromised desktop systems


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

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

    With all that said, there are still some things which are more suitably done as desktop applications. I think as things advance that list gets shorter and shorter.
    1. Re:I strongly prefer web apps by Nedry57 · · Score: 1

      I agree wholeheartedly. In particular, the support and deployment aspects of desktop applications can be a complete pain - so much so that web applications begin to seem much more attractive by contrast.

      After all, when boiled down, web applications are basically just text output to a web browser, whether that text is HTML or script. It's much easier to understand what's going on in that environment. GUI applications (at least on Windows) are made up of hideously ugly code that is afflicted by years of crappy Win32 API changes that amount to hackish workarounds and spending most of your time on dealing with compatibility issues.

  42. Web-Apps? No thanks. by Tanuki64 · · Score: 1, Interesting

    Nobody wants to use web-apps. There is only one reason why this abomination is artificially hyped again and again: Open Source.

    No, really, you cannot sell standard software very good anymore. It gets more and more ridiculous to spend hundreds of bucks on something like Word, Excel, or even Photoshop if you can get similar programs for free. Even if you say that those replacements are not as good as the original, which I doubt, they are getting better and better. So what do you do if you are a mega-corp, which made most of its money from standard software?

    You are starting your marketing machinery to tell the people that they need something you can provide, your open source competition cannot. Web based apps sound fine, for the provider. They need a big and expensive infrastructure of servers, which hardly can be provided even by large open source projects. They are the wet dream of every marketing person, being able to charge per use. Being able to get detailed using statistics and spamming you with ads. For the more criminal (more usual?) ones, I would take it as given, that they snoop through your content if this is technically feasible. Web based apps are technically inferior? Nothing a good marketing can fix....or perhaps it cannot. People are stupid, but it seems that they are not that stupid.

    So, tell me one, just one advantage of web based apps, for the average user. Desktops apps are out? Yeah, right, and nobody needs more than 640K ever.

  43. Re:You make few assumptions which aren't always tr by Anonymous Coward · · Score: 0

    I'd only believe that it was random if you were finding hours added to your paycheck as well.

  44. Desktop apps will never die. by RedElf · · Score: 1

    There are far too many people concerned with privacy, reliability, and security for web apps to be the end all replacement that everyone on the "Web 2.0" bandwagon wants. AJAX isn't very secure, I've yet to see an implementation of it that doesn't suck at least a little, not to mention it is much slower than static pages, and breaks conventional browsers most of the time.

    Privacy: If you're working on a creative project, do you really want it held at the mercy of some other companies security measures? Some things just need to stay local and behind the firewall to have privacy. Unfortunately the upcoming generation doesn't understand what privacy is, nor do they care while their rights are being erroded in congress.

    Reliability: Instead of just having your computer up and running, you would now have to have rely on your ISP to not have technical problems. If that isn't bad enough, you also have to rely on some server at some company that you have no idea what kind of security, privacy, or backup policies they have in place. If that weren't bad enough, you also have to rely on their connection being up. Some data (most) is just better kept locally. Another problem with remote apps, latency. Nothing is more frustrating then waiting a long time to make a simple change to an open file.

    Security: As was previously mentioned, do you know what kind of security, privacy or backup policies are in place at the company hosting your webapp? Do you really trust other people with your data?

    Performance: Another excellent point would be advanced computer games, you don't really think AJAX is going to be capable of providing the same kind of experience that running the next big "Half-Life 2" locally would be, did you?

    Web apps have their place and Desktop apps have theirs. Neither one will overtake the other, they will only serve the purpose to extend or inhibit depending on your current state of connectivity.

    --
    "Web 2.0" is about the lamest buzzword term I've heard in a long time, and I will personally punch anyone in the face I hear vocally saying it outloud.

    --
    You know, I have one simple request. And that is to have sharks with frickin' laser beams attached to their heads!
  45. Re:I don't see desktop apps ever going away entire by Koen+Deforche · · Score: 2, Informative

    Quote: "Maintaining state is a pain in the ass on the web and generally is not on the desktop."

    You must not have heard of libraries like echo2 or Wt for doing web development. They have the same API as desktop GUI libraries.

  46. HKLM by Anonymous Coward · · Score: 0

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{189504B8-50D1-4AA8-B4D6-95C8F58A641 4}
    'Compatibility Flags' 0x400

  47. O RLY? by djones101 · · Score: 1

    Better not tell our 8 or so desktop-only developers. Those poor people are more overworked than the 4 web developers 9including myself), simply because there's a HIGHER demand for desktop apps over web apps. Desktop apps = control, which is something the customer craves.

  48. depends on the data by Anonymous Coward · · Score: 0

    Desktop apps I use the most? I can see two of them: a browser (ah!) and an IDE. The IDE I use is IntelliJ IDEA by JetBrains (no, I don't work for them), these guys are smart and the fact that they manage to sell a $250 Java IDE while the free (and good) Eclipse is out there speaks volume. I'm not holding my breath to see an AJAX IDE in a browser that could rivalize with IDEA: I don't say it's impossible, but I'm not holding my breath.

    Now of course if we speak about Avid's apps, Maya, Flint (nice Linux app ;), medical applications, chip design, etc. I'm somehow even less holding my breath.

    Regarding the desktop/laptop debate I'm sorry but I still don't find a laptop's keyboard productive at all (yup, I'm using a good mechanical keyboard) and I don't understand how a laptop's 17" screen could be anywhere near as good as, say, a 20" or 23" screen. But, yup, probably that apps that run fine on a laptop would run fine as Web apps. For "bigger" apps, demanding screen real estate and lots of ram, where your desktop is actually more of a workstation (Avid on a 30" Mac screen, with 8 GB of ram on a laptop anyone?) I don't see Web apps taking over this market anytime soon.

  49. This has nothing to do with desktop vs web. by argent · · Score: 1

    The short version of the reason is "scripts versus compiled code".

    The long version:

    * Web applications are developed interactively. You fix a typo, you hit reload, you see the results immediately. The interactive-versus-batch debate should have been over by 1980, but we still see dektop apps written almost completely in compiled languages that require a huge clumsy IDE.

    * The part that runs in the browser is visible to the users, so when they are technically competant they can give you detailed feedback.

    * It's automatically cross-platform.

    * The problem space is reduced because web applications just can't do a lot of things, so people don't expect you to do them, so you don't have to implement them or explain why you didn't.

    Any scripting language can give you the first two advantages... you don't need to write web applications to write in an interactive language that gives you immediate and early feedback, or that your users can dig into and improve.

    Using a portable GUI toolkit like Tk lets you write cross-platform scripts as well.

    And, ironically, using a toolkit that limits what you can do (like, say, Dashboard or Konfabulator widgets) can actually make programming more enjoyable because it reduces the problem space.

    Which is why there are so many people writing little scripted plugins for *everything*. Firefox extensions. Applescript. Shell scripts. CGI scripts. PHP. Tcl/Tk. Perl. Widgets.

    It's like the impact UNIX had on command lines in the '70s. Your mainframe programming environments were, like GUI environments now, very complex. You could specify everything, down to things like the virtual block size of your virtual disk. UNIX reduced the kinds of things you could do in your program... and it turned out that being able to specify the block size of your virtual disk wasn't something people really cared about.

    I've been waiting for a similar simplification to take over the GUI world for years, something that dumped the irrelevant mainframe-style super-detailed API and concentrated on the essentials. I had hopes for Plan 9's window system, but Bell Labs played that too close to their chest. Tcl/Tk is wonderful, but if you don't "get" lispy reflective programming you're not going to like it, and Perl/Tk hasn't taken off either.

    The browser has moved into this space by default, because it's solved the distribution problem, but it's not a simple programming model. It's not the answer, and neither is any proprietary platform built on top of it. It's been over 20 years now that I've been waiting for something to really fill in the 2d desktop... and I'm no longer expecting that anything will.

    Something like an open source re-implementation of Konfabulator, maybe... it could be built on a standalone Firefox XUL engine with no browser component dragging in the horrifying security issues that trying to run trusted and untrusted applets in the same engine bring.

    But... if you want desktop programming to be as fun as web programming, find a scripting language with a GUI toolkit and start playing...

  50. It's like claiming Linux is better than Windows by rfc1394 · · Score: 1

    Note: An expanded version of this reply appears as an article on my blog and you can also read more there. Because Slashdot only allows shorter titles, the title of the article there is "The Rumors of Microsoft's death are clearly exaggerated."

    First, on the issue of Linux vs Windows (for the title of this article): Windows sells more because Microsoft got there first, there is tremendous inertia, plus, until recently, there wasn't that much available that wasn't an application running on Microsoft software. And while using Open Source is almost as good as proprietary it ain't there yet; the usability of X Windows over Microsoft Windows still has some cracks that need to be filled. Also, Visicalc was the "killer app" for the Apple II; Lotus 1-2-3 was for the IBM-PC; where's the Linux "killer app"? (I'll give an example of one that could have happened on my blog.)

    I think I agree with a comment someone (or more than one person) said in the various comments linked around this whole comment churn, in which I'll paraphrase, "Anyone who thinks Microsoft is dead or that Web Applications are better than desktop ones has been sucking down way too much of the Web 2.0 Kool-Aid."

    My own opinions are that the tools for implementing Web-based applications are far too primitive. Like with pushing Linux over Windows: it (they) aren't there yet. As has been noted, prior to PHP you had to design a CGI application (usually in C++) in which you wrote a regular program and then stuck on "a bag on the side" to make it run as a web service.

    Having done both, I am fully aware that a web-based application is harder to develop than a desktop one. A Linux desktop application is harder to develop than a Windows desktop application. A text-based application is about equal on either platform, but it's a hell of a lot easier to develop even a simple non-gui desktop application than anything running as a served application through a browser. The tools for web development are different, are not as powerful, and more expensive, both in terms of operational requirements and development requirements (e.g. it's a lot more work to secure a web app than a desktop app.)

    There are more details, (hint, hint, you can read them on the expanded version of this comment on my blog) but I'll stop here, and just say that the claims of Microsoft's death are premature.

    --
    The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
    1. Re:It's like claiming Linux is better than Windows by DaveV1.0 · · Score: 1

      I am not sure, but I think he might want us to check out his blog.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  51. Wildly OT, but still. Mussolini and Hitler by leehwtsohg · · Score: 1

    I think that many will agree that both Hitler and Mussolini stand very high up in the list of people who did "crimes against humanity", and I don't think there is any point in arguing who is higher up on the list - all I care about is that we will not get new entries. But could you please explain what you are talking about?

    The mussolini killer file mentions "Over 400,000 Italians killed during the Second World War. At least 30,000 Ethiopians killed during Italian occupation of Ethiopia." (wikipedia cites "more than 275,000" Ethiopians killed)

    For Hitler, it mentions "Directly responsible for the deaths of over 60 million worldwide as a result of the Second World War."

    Who are the 20 million that were killed by Mussolini and his followers? Can you give me references?

  52. Web dev, desktop dev, DB dev by Shulai · · Score: 1

    Let see...

    I like web development a bit, but I really BELIEVE in the desktop. Yet it's reasonable to think that the Google generation of home users will rely more and more on apps that are just an URL away.

    But, again, I believe in the desktop. Currently, duplicate desktop UI functionality in a web page is painful. And not everyone wants to pull his hairs out writing a FPS relying on DIVs and Javascript!

    On the other hand, I hate DB desktop apps, as year passes and few tools/platforms are really up to the task of deliver results as easily as it should.

    1. Re:Web dev, desktop dev, DB dev by unconfused1 · · Score: 1

      Isn't Microsoft's strategy for web applications to essentially use a framework that delivers nearly the same type of application they would develop to the desktop instead to an IE only webpage? At that point why that is any different than releasing a desktop application?

      Certainly there is no cross-platform anything in their model, unless across WinXP to WinVista = cross-platform. Their would be a big speed hit, though you would have total control over the update of the webapp.

      Anyway...that is more just thinking out loud, than it is making an argument. Cheers.

  53. Love desktop apps? What? by wonkavader · · Score: 2, Insightful

    I'm seeing a lot of text being written here about how desktop apps are wonderful and webapps are crap, or a fad, or difficult, or slow.

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

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

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

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

    Yes, complex apps often work much better as standalone. Yes, interface design for them is much more complicated, and thus can be more rewarding. But most companies need VERY FEW of these. Web apps are a much better choice for a huge amount of what most companies do. And as programmers, they allow us to maximize our impact on the productivity of the org. Where you can use web apps, you should. For programmer productivity, LAN supportability, and speed of delivery, it's like night and day.

  54. Fundamental problem: AJAX = mistake by MobyDisk · · Score: 1

    We, the developers of the world, are in a bad situation right now. The ideal application is a zero-deployment cross-platform GUI application. Writing such an application depends on an already deployed cross-platform framework. The problem is that the dominant platform for doing this is a cobbled together load of crap.

    Which of the following is the _best_ environment to develop a zero-deployment cross-platform GUI application?
    1) Java applet/Java web start
    2) .NET
    3) HTML+CSS+Javascript+HTTP+SOAP+XML+(Python|PERL|Rub y|C#|whatever)

    The last option is the slowest, most complicated, and hardest to develop for, with the fewest features, and is most brittle (changes in OS, software version, etc. may break it). Unfortunately, it is also the only one everybody has on their computer.

    The reason for this is that we had several competing standards, and they all competed well enough to hold each other from gaining critical mass. And in the mean time, a mish-mash of technologies never intended for this purpose gained enough momentum that it snuck onto everyone's computer before we realized what it was. We had AJAX around for years before the general developer population realized it existed!

    I don't see a way out. We are stuck with the AJAX solution unless we all decide to get together and agree to some other standard. But there is too much infighting for that to become likely. If Sun had done things differently, we would all be writing Java applications today. But it didn't work-out that way. I, for one, welcome our over-complicated AJAX development tools - since I don't really have a choice anymore.

    1. Re:Fundamental problem: AJAX = mistake by aminorex · · Score: 1

      Webstart is by far the best. Orders of magnitude. The best GUI apps that I use all day are all Webstart based -- the exceptions being Firefox, Thunderbird, and XEmacs.

      --
      -I like my women like I like my tea: green-
  55. Quoi? by C10H14N2 · · Score: 1

    "The term web application is not often applied to Java any more. The term "web app" these days often refers to AJAX " ...and what do you think is more often than not receiving those asynchronous XMLHttpRequests?

    1. Re:Quoi? by VGPowerlord · · Score: 1

      I was actually drawing the line between Java Applets and web applications. To be honest, it doesn't matter what's on the other end of the XMLHttpRequest, because it's still receiving (X)HTML back.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  56. The other perspective by Anonymous+Brave+Guy · · Score: 1

    <Devil's advocate>

    I _greatly_ prefer doing desktop apps. Great things about desktop apps:

    • No mucking around with messy CSS and Javascript trying to get trivial effects with positioning or controls.
    • Easy to use: you can design your UI around the needs of your users and what the usability studies show, not artificial limitations imposed by browser not-quite-standards and making everything a glorified dialog box.
    • Reliable deployment: you have complete control of everything.
    • Cross-platform support, if you are careful, comes for free.
    • Security: no single point of failure, less data stored remotely where it requires additional protocols to access, providing extra opportunities for vulnerabilities to occur.

    Perhaps it has to do with familiarity, but from my perspective, doing web applications (especially by the time you deal with getting awkward UIs to work, browser incompatibilities, communications unreliability, security overheads and users constantly clicking "back" or "close" buttons you can't control) is a real pain.

    </Devil's advocate>

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

    I'm not sure that's actually that big a downside. I wanted to create some simple database-backed tools for a club I help to run a few years ago, so I sat down and learned CGI, Apache configuration, MySQL configuration and PHP. Coming from a general programming/CS background, and with the benefit of some decent documentation available on the web, none of these things took me more than half a day to get a decent working knowledge and identify the common problem areas in terms of performance, security, etc.

    I had been avoiding the area of web programming (rather than simple HTML+CSS web design) for many years, assuming that it probably required a lot of different skills to desktop development and it would take a long time to learn all the relevant tools. In practice, this (as with most areas of software development, IME) turned out to be fear of the unknown rather than fear of what's actually there when you look. CGI is just a protocol for taking text input, following a few simple rules, and sending back some text output. PHP is just another scripting language like Perl or Python, it just happens that this one is typically embedded within HTML files and executed by a web server rather than run as a standalone script. Connecting to MySQL is just learning another, rather small, library of function calls that are built into PHP anyway. AJAX is just retrieving some data from a source using a protocol, and again, the libraries to do it are readily available. There is no magic, and none of this stuff is rocket science if you have a general programming background.

    With all that said, there are still some things which are more suitably done as desktop applications. I think as things advance that list gets shorter and shorter.

    I would actually phrase that one the other way around: most things are better done as desktop apps, and always will be, because the fundamental limitations of web applications (NB: not distributed applications generally) simply don't match up to what most categories of application need. Almost all web-based applications are just glorified database front-ends where the client-server situation is a central part of the software architecture anyway and much of the functionality consists of simple form-filling and report-generating UI. Those web apps that aren't just DB front-ends typically don't have any compelling technical reason to run in a browser rather than as a standalone application anyway, it's just that writing them that way is sometimes the least inconvenient way to achieve client-server communications because all the other protocols suck more.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  57. Other JVM compatible languages by tepples · · Score: 1

    it is probably too late for the JVM to get real traction on the client side. Too late for which version of the JVM? I've been told that 1.5.0 or later makes things nicer on the client side.

    Maybe they need to take a cue from MS and port C++, PHP, Javascript, etc to one unified runtime Others have made compilers and interpreters for other languages that work within the Java platform. I see at least Lisp, BASIC, Logo, Prolog, Smalltalk, PHP, Forth, ECMAScript (aka JS), and even COBOL, C#, and assembly language.
    1. Re:Other JVM compatible languages by codemachine · · Score: 1

      Too late for which version of the JVM? I've been told that 1.5.0 or later makes things nicer on the client side. Yeah, it may be more of a mindshare thing than a technology hurdle at this point. Jave is "old" and "slow", while AJAX is "the wave of the future". At least around here. And .NET is the next step on the dominant platform for all the Visual Studio developers, ever since Sun and MS had their spat over Java.

      Others have made compilers and interpreters for other languages that work within the Java platform. I see at least Lisp, BASIC, Logo, Prolog, Smalltalk, PHP, Forth, ECMAScript (aka JS), and even COBOL, C#, and assembly language. Yeah, JRuby and Jython as well. And the latest JVM apparently made life easier for scripting languages.

      What is missing is the publicity and the "officialness" that C++/C#/ASP/VB have on the Microsoft CLI. Microsoft has a big advantage in the mindshare game, given that all of the common languages and developper tools are provided and supported by MS in Visual Studio. Those that aren't provided by default, like Java for the MS CLI, end up with much less mindshare and usage.

      On the Java side, there are many different providers for all these pieces. This is great for competition and innovation, but it also makes it harder to market as one package. Maybe Sun's Java going open source will help adoption somewhat. At least then the JVM could become a standard part of Linux distros and maybe even part of the Mozilla project.

      I just think it is going to be hard to get people to think of Java as the wave of the future again. And I think that is what'd be needed to compete with either AJAX or .NET on the desktop, since this "cool" factor seems to attract a lot of developers and new applications. Applets and Jave Web Start were maybe ahead of their time, and now have become "uncool". Or perhaps crushed by MS is what really happened, just like Netscape and other popular cross platform development options from the time.

      Guess I'm just rambling now though. Sun and the community seem to be moving things along quite nicely even without all of the hype.
  58. But where do you start? by pestie · · Score: 1

    Programming basic web functionality is ten times harder, more time-consuming, more error-prone, and less rewarding than desktop programming.

    Seriously? 'Cause I've found the exact opposite to be true. The last time I took a serious crack at desktop development, Windows 3.1 was the OS du jour and Borland C++/ObjectWindows Library was my best friend. So that was, what, 1993? And it was hideous. I moved from that into web programming in Perl and then PHP, and it all made such good sense to me. It was easy and fast (like a good woman), and after a while I gained enough experience that I could even do it well (i.e. not terribly inefficient and full of security holes).

    Now, years later, I've barely touched C++ or any other "real" (non-scripting) languages for years, and the idea of learning even one GUI toolkit seems an almost insurmountable obstacle. I'd actually like to get into desktop development, but the learning curves are sharp enough to even put off someone like me, who constantly learns stuff for fun. I'm sure I could manage, but I find myself questioning whether the massive ass-ache involved would be worth it. I don't really deal with the Windows world, so I find myself trying to choose between GTK/GTKmm, QT, WxWidgets, or finally learning Java and using Swing. And do I freshen my now-extremely-rusty C++ skills, learn Java, or go with something like Python (which I've been meaning to get into for a while now)? It seems that no matter what path I choose, I'm destined to spend a long, long time just getting up to speed before I can write anything approaching useful.

    If anyone has any suggestions on where to start, I'd love to hear 'em.

    1. Re:But where do you start? by tambo · · Score: 1
      The last time I took a serious crack at desktop development, Windows 3.1 was the OS du jour and Borland C++/ObjectWindows Library was my best friend.

      Yeah, that stuff sucked. I put in many attempts at desktop programming in the 90's, and it was terrible. Yuo had bizarre junk like this:

      WNDCLASS winclass
      winclass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
      winclass.lpfnWndProc = WindowProc;
      winclass.cbClsExtra = 0;
      winclass.cbWndExtra = 0;
      winclass.hInstance = hinstance;
      winclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
      winclass.hCursor = LoadCursor(NULL, IDC_ARROW);
      winclass.hbrBackground = GetStockObject(BLACK_BRUSH);
      winclass.lpszMenuName = NULL;
      winclass.lpszClassName = WINDOW_CLASS_NAME;
      if (!RegisterClass(&winclass))
      return(0);
      if (!(program_data.window_handle = CreateWindow(WINDOW_CLASS_NAME, "Watt Bar Analysis", WS_OVERLAPPEDWINDOW | WS_VISIBLE, 10, 10, 560, 410, NULL, NULL, hinstance, NULL)))
      return(0);

      ...just to create an empty window.

      So, yeah - back then, web programming was much easier. Just some text and some tags.

      But a lot has changed in the 2000's. Desktop programming (not just Windows programming, but also Mono code for all platforms) is refreshing - almost effortless! "Rapid application development" isn't just a buzzword; it's one of the best things to happen to programming in the past decade.

      Sadly, web programming has not kept apace. Its capabilities grow - AJAX is certainly more powerful than its predecessors - but its ease of development has been stagnant. No, it's galloping in reverse - it's much harder. In order to do anything interesting, you have to know HTML, XML, SQL, Perl, Python, PHP, Javascript, Zope, Django, ASP/ASP.NET - the neuroses of various browsers - how to configure Apache or whatever... The interplay of this bazaar of technology silos is inefficient, frustrating, and detrimental to web development (and web developers' hairlines.)

      - David Stein

      --
      Computer over. Virus = very yes.
  59. People hate WINDOWS desktop development by metamatic · · Score: 2, Informative

    From reading the answers, I think the true statement is that people hate developing desktop apps for Windows.

    The crufty GUI code, the horrible installers, the COM string and duct tape, the .NET version hell, all that stuff is specific to Windows development.

    Mac OS X application development is almost a pleasure in comparison. Even Java and Swing is nicer.

    Having done Windows, OS X, Java and web app development, I'd definitely pick Windows as my least favorite. But I'd take OS X or Java over web app development any day.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  60. Re:You make few assumptions which aren't always tr by xenocide2 · · Score: 2

    In particular, it seems a shame to pigeonhole Perl. Using Perl and readily available libraries, one can develop console programs, GUI programs, daemons, or web apps. With Tk, SDL, OpenGL, WxWidgets, curses, GTK, Win32::GUI, or Prima, few languages have as many options for interface libraries last I checked. Just because Perl is very useful for web development doesn't mean it's not useful in other areas.


    You have to admit, it's pretty cringe-worthy when you discover Frozen Bubble was written in Perl.
    --
    I Browse at +4 Flamebait

    Open Source Sysadmin

  61. Poor Robert O'Callahan by Anonymous Coward · · Score: 1, Funny

    "Robert O'Callahan from Mozilla, who is based in NZ but drives the rendering engine of Mozilla/FireFox"
      ----
    Now that's what I call an unreasonable commute!
    Can't the poor man afford a car?

  62. Limitations of web apps can be an advantage by Anonymous Coward · · Score: 0

    Limitations of web apps can be an advantage when it comes to getting a finished product out the door.

    Sure you can do more with a desktop. You also HAVE to do more with a desktop app. And you need to make more decisions, and spend the time to encode those decisions.

    Web apps? Get a good basic framework under you, recognize the limits you are working on, and you can get a database backed app with basic business logic and prototype gui together in a days work.

    Sure, I like working on the desktop better because of all of the reasons covered by others above, but the sheer availability and first cut simplicty of web apps make them very attractive, not to mention easy to build a business model for.

  63. Web development is... by Anonymous Coward · · Score: 0

    I had an epiphany the other day: "All web development is Rube Goldberg engineering."

  64. You're right, but it doesn't matter by Anonymous Coward · · Score: 0

    I hate programming for modern PCs; programming my C=64 was so much easier, faster, less error-prone, and more rewarding. And my dad doesn't trust any computer whose registers he can't toggle in from the front panel.

    As much as I prefer it, the C=64 is not coming back. You can't turn back the tide on web apps, either. You can bitch about how much IE6 sucks till the cows come home, but that doesn't mean that it's not how programs are, in increasing numbers, being written.

    1. Re:You're right, but it doesn't matter by tambo · · Score: 1
      I hate programming for modern PCs; programming my C=64 was so much easier, faster, less error-prone, and more rewarding.

      Hey, I had and loved a C64, too. Subscribed to Compute!'s Gazette and everything. I think I'm going to name my first two children "PEEK" and "POKE"...

      However, this fondness is rooted in nostalgia. It was terrific in the age where computers weren't very capable - when BASIC was fine, because that's all we knew about computing. It doesn't fare as well in the modern world - not because the modern world is warped or intolerant, but because much more powerful alternatives are available.

      You can bitch about how much IE6 sucks till the cows come home, but that doesn't mean that it's not how programs are, in increasing numbers, being written.

      It's now some apps are being written - mostly apps which are intricately tied to the web, anyway. WordPress and MovableType, for instance - you may as well use a web interface, because you're creating your own website.

      I posit this: Web apps like this are not being developed because of the state of web programming, but in spite of it. Moreover, many more apps aren't being written - either as web apps, or at all - because of the primitive state of web programming.

      - David Stein

      --
      Computer over. Virus = very yes.
    2. Re:You're right, but it doesn't matter by Anonymous Coward · · Score: 0

      However, this fondness is rooted in nostalgia. It was terrific in the age where computers weren't very capable - when BASIC was fine, because that's all we knew about computing. It doesn't fare as well in the modern world - not because the modern world is warped or intolerant, but because much more powerful alternatives are available.


      I've helped many organizations through upgrades, and rarely have they been because of new features. The new systems look flashier, but they don't really do all that much that the old ones didn't.

      The fact that most businesses wait for new computers before upgrading their OS is good evidence of this. (If Windows XP would have made me at all more productive, the price is so low compared to my salary they should have bought it when it was released. Instead businesses tend to simply buy new PCs every couple years.)

      It's now some apps are being written - mostly apps which are intricately tied to the web, anyway. WordPress and MovableType, for instance - you may as well use a web interface, because you're creating your own website.


      That's about as circular as they come: you may as well make this app a webpage because it's a webpage. It's also not true. There are plenty of apps for creating webpages that aren't themselves webpages. If it was oh so easy to make a higher-quality cross-platform no-install blogging app, we could certainly make one. It would be easier to develop and have a better UI and draw more developers, right? But that hasn't happened -- at least, it's a small enough effect it can't even offset "takes slightly longer to download".

      I posit this: Web apps like this are not being developed because of the state of web programming, but in spite of it.


      Have you ever seen C++, or the Win32 API, or Java? Most desktop apps are being developed in spite of the platform, too. I've heard developers complain about their tools for decades. Good software is the end product, not the crap you build it out of. All of the best and most successful programs I can think of were written in absolutely horrible environments: 8086 assembly, Motif, Win16 and Win32, pre-ANSI C, pre-ANSI Lisp, TECO! (This is true of all art throughout history, BTW: restrictions lead to creative solutions. Look at the requirements Tchaikovsky had to write music for sometime: key of /A/, time of /B/, /C/ notes in the theme, /D/ measures long, and so forth. If you have no restrictions against which to brace yourself, it's actually harder to make progress.)

      Moreover, many more apps aren't being written - either as web apps, or at all - because of the primitive state of web programming.


      Now you've lost me. Do you mean of the set of all possible apps? Sure, the set of apps that are being developed is always going to be vanishingly small compared to that. Blame it on the web? Cute.

      I fail to see how the "state of web programming" is responsible for anybody *not* writing a desktop app. Please enlighten me.
  65. And you wonder why people still use Delphi? by Latent+Heat · · Score: 1

    That pretty much describes the world of C/C++/Java/scripting glue with the Unix-y tools of makefiles, vi, building in dependencies on other software built on the same model. And people think stuff like Delphi, IDE's, and form designers are for wimps. It is either wimpitude or you can take your pain and suffering like a man.

  66. Frozen Bubble by mr_mischief · · Score: 2, Interesting

    I haven't played the game. I might try it out, if only to see what's so "cringe-worthy" about it. Is it buggy? Is it just plain annoying? Those things are likely effected by the implementation language very little if at all. I doubt that for a game like Frozen Bubble, using a good dynamic language is any problem. It probably could have been done in Perl, Python, C, Pike, D, C++, or any other language with SDL bindings and been just as good (or just as bad).

    OTOH, the dynamic language Lua is used for much of Supreme Commander. SC is known as a great game, but one must wonder if using Lua for the AI is part of the reason it takes so much processor to run it. The game is fun, but due to the number of individual units that can be active at once it can run like a dog on all but multi-core systems. Using a more efficient language for the AI may have made it scale a bit better, but the flexibility of using something like Lua I'm sure is worth the trade-offs involved. The hardware will catch up shortly, as with lots of other games when they were first released. It's nice to see one stress the CPU instead of the GPU for once, anyway.

    1. Re:Frozen Bubble by xenocide2 · · Score: 1

      It's cringeworthy because its a great game, but once you decide you'd like to fix the slowdowns in the game, you realize it's an unholy mess of perl bindings to C libraries and well... perl "at its finest". I've yet to find anyone with the combined talents of perl and game / graphics programming, let alone the motivation to fix it. Thankfully, frozen-bubble 2 uses less SDL and more openGL.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

  67. MOD PARENT UP by CyberZen · · Score: 1

    Oh, for mod points.

  68. Desktop development easier? by DragonWriter · · Score: 1

    Desktop development is easier, faster, more productive, and infinitely more enjoyable -- right?


    From my perspective as something of a time-strapped hobbyist developer who mostly makes stuff for my own personal use, the easiest, fastest, most productive, most enjoyable, and least stressful way I've found to make useful applications with pleasant interfaces to be run locally is...Ruby on Rails.

  69. False Choice by kazad · · Score: 2, Insightful

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

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

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

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

  70. I still love to develop for the desktop... by inotocracy · · Score: 1

    ...the only problem is I cant think of a single good app to write.

  71. middle ground by fred+fleenblat · · Score: 2, Interesting

    At a previous employer, we experimented with a very thin desktop GUI. It used the host OS to display widgets but was entirely under control of a server. It worked remarkably well and as long as the client and server were on the same LAN there was no lag.

    From my hazy memory, it had these successes:
    * a crashed app (which was rare anyway) could be restarted right where it left off
    * clicking, drag/drop, typing, copy/paste, scrolling, and resizing were as fast as the host OS was capable of since most of the time these didn't involve the server
    * very little installation headaches since there was no business logic, databases, or special-case code on the client side, and the set of available widgets didn't change that often anyway
    * new servers could be tested by just pointing the client at them
    * server could be upgraded at our convenience
    * one server could handle dozens of users and the load was much lower than citrix, RDP, or X11 type of model since the whole GUI stack was offloaded to the client not just the final bit slinging
    * protocol wasn't that complex. "this widget with this data goes here" then "send a message when the user finishes doing things with it"
    * multiple windows could be open and be unrelated, so a server could make it look like you were running multiple apps even though it was just one GUI process and one server process
    * response over slow network wasn't that bad. the most back-and-forth communication mostly happened at points in the app where users expected things to be slow, like when you click on "Okay" or select "New..." from a menu so we didn't get many complaints.

    Okay, obviously we didn't invent this, but other attempts always seemed hobbled somehow. ActiveX and java applets are visually sandboxed and have a tough time breaking out into looking like a real app. Firefox had some experimental widgets that were actually pretty cool but in actual use they were laid out on the page in a very HTML-ish fashion and later withdrawn for security concerns.

    Anyway, I just want to share this as kind of compromise between desktop and html-based apps that seemed to work particularly well for us.

  72. Why Not Both? by coolmoose25 · · Score: 1

    Just write your desktop app and then deploy on Citrix...

    /donning flame retardant underwear and ducking for cover.../P.

    --
    Brawndo: It's what plants crave!
  73. Re:I don't see desktop apps ever going away entire by Mongoose+Disciple · · Score: 2, Informative

    I'm familiar. They do simplify state maintenance to a point and are appropriate for a lot of different things you could do with a web app, but I think you're kidding yourself if you don't think there isn't extra thought/work involved there and some extra performance concerns that you wouldn't need to have with an equivalent desktop app.

  74. Who the hell... by stinkbomb · · Score: 0
    ...is Paul Graham and why has his idiotic blog been popping up so much recently?

    Could he be the new and not-so-improved John Dvorak?

  75. On-line Photoshop-alike by yandros · · Score: 1

    Take a look at http://www.picnik.com/ for an idea how close to the simpler end of PhotoShop you can get, today, for free, without Adobe's code base and experience with both PhotoShop and Flash/Apollo/FutureWhateverTheyCallItToday.

    1. Re:On-line Photoshop-alike by tigersha · · Score: 2, Informative

      The problem, yet again, is that "getting close to the simpler end of Photoshop" is saying that the TEXTAREA box in Firefox can compete with Indesign and solve all you typesetting needs.

      In a word, no.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  76. Web apps get a bad rep because of AJAX by marsaro · · Score: 1

    Hello;

    yeah, AJAX is so cool, but it is full of security issues, and is more difficult to get working with different browsers and OS types. Flash on the other hand has a lot of great examples of rich applications, and with the Adobe Apollo you can move applications over to the desktop to take them offline. Amazon, Ebay, and others are doing a lot of work with Adobe, and who else has such a wide distribution capability other than Adobe's flash player?

  77. Why I love web apps by xtracto · · Score: 1

    About 10 years ago (or maybe a bit less) there was a buzzword around the internet SAS, Software as a Service was the *next best thing* since sliced bread.

    As a developer I love web apps because instead of selling my software for say, $20 to one person (who is going to distribute it to 100 more to use illegally), I can provide my app in some homepage, with 0 installation and update issues (the client always have the *last* available version, no need to click on "accept update patchfix kb32421"). The best thing is that the clients will keep paying me for the rest of their life (or at least for the rest of the time they want to use my service).

    Of course this software as a service thing should *really* have emphasis in the *service* thing. You should provide additional services which are not provided by standard desktop software. As an example, take Gmail, The first time I used a mail account was back around 1994 when I created a new account at Hotmail. Since then I have always used webmail and I just cant use the desktop clients, the mere thought of having to download all my mail in my notebook or my PC or my mom's PC or my brother's PC if I want to check certain mail with a nice Enchiladas recipe at their places is ridiculous.

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  78. desktop vs. web apps ??? by Ebola_Influenza · · Score: 1

    the future is embedded

    --
    "turning espresso into code..."
  79. Writing apps for a specific OS is obsolete by Kleokat · · Score: 1

    Let's suppose, I wrote this great app for Windows XP.
    Then VISTA comes out, and my app breaks.
    Or a friend wants to run it on is MacIntosh or Linux system, and can't.

    IMHO, desktop apps equals to limiting the customer base, and giving the developer much work with patches and OS-related issues.

    The future is embedded some people say, or at least, it runs in a web browser.
    I don't disagree.
    However, the desktop locked to a specific OS as development platform, is dead. In my professional life, I haven't worked on desktop apps for 8 years now. But I am quite good at web-apps now ...