Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

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

CowboyNeal posted more than 7 years ago | from the all-not-yet-lost dept.

Programming 233

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

cancel ×

233 comments

Attn. Linux users: (-1, Troll)

Anonymous Coward | more than 7 years ago | (#18670429)

Q: Why does 'Open Source' software suck so bad?
A: Because the programmers can't see the screen [ukdirtypanties.com]

lol

Typical Linux User. [ukdirtypanties.com]

GNAA 4 lyfe.

Re:Attn. Linux users: (0)

Anonymous Coward | more than 7 years ago | (#18670473)

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..

OFF TOPIC. (-1, Offtopic)

Creepy Crawler (680178) | more than 7 years ago | (#18670571)

Yeah, you may call him/her a spammer, but the place does undeniably have free porn.

As gross as it may sound, the place sells "24 hour used panties".

The porn is for show. And there's a lot of it. 50 galleries @ 20 images each.

I like developing for the desktop (1)

mangu (126918) | more than 7 years ago | (#18670433)

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

The real growth is embedded/mobile (1)

EmbeddedJanitor (597831) | more than 7 years ago | (#18670819)

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.

Re:The real growth is embedded/mobile (2, Informative)

fbjon (692006) | more than 7 years ago | (#18671047)

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.

Re:The real growth is embedded/mobile (1)

Baddas (243852) | more than 7 years ago | (#18672287)

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

Amen to that, but it could be so much better... (1)

PepsiProgrammer (545828) | more than 7 years ago | (#18671151)

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.

Re:I like developing for the desktop (0)

Anonymous Coward | more than 7 years ago | (#18671993)

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

I like developing for the web... (2)

Zaph0dB (971927) | more than 7 years ago | (#18672109)

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.

Passe... (4, Funny)

MarkRose (820682) | more than 7 years ago | (#18670435)

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

Re:Passe... (3, Insightful)

sH4RD (749216) | more than 7 years ago | (#18670537)

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

Re:Passe... (4, Funny)

MarkRose (820682) | more than 7 years ago | (#18670625)

Haven't upgraded to notebooks yet?

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

Re:Passe... (1)

stefanlasiewski (63134) | more than 7 years ago | (#18670767)

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).

Re:Passe... (1)

MarkRose (820682) | more than 7 years ago | (#18670909)

Interesting. I thought the pencil was only five hundred years old [wikipedia.org] .

Re:Passe... (1)

sumdumass (711423) | more than 7 years ago | (#18671037)

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

Re:Passe... (1)

mpathetiq (726625) | more than 7 years ago | (#18671165)

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

Re:Passe... (1)

thryllkill (52874) | more than 7 years ago | (#18671177)

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

Re:Passe... (1)

PachmanP (881352) | more than 7 years ago | (#18671655)

In mother Russia pencil carves you!

the problem with google apps (5, Insightful)

TinBromide (921574) | more than 7 years ago | (#18670497)

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

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

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

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

Re:the problem with google apps (2, Interesting)

tdelaney (458893) | more than 7 years ago | (#18670615)

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

Give it a few more years... (1)

Jeff Molby (906283) | more than 7 years ago | (#18670687)

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.

Re:Give it a few more years... (1)

matelmaster (1040950) | more than 7 years ago | (#18670747)

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 [slashdot.org]

Re:Give it a few more years... (1)

Rakishi (759894) | more than 7 years ago | (#18671105)

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.

Re:the problem with google apps (0)

Anonymous Coward | more than 7 years ago | (#18670727)

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

Firefox 3.0 (3, Interesting)

PIPBoy3000 (619296) | more than 7 years ago | (#18670765)

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.

Re:Firefox 3.0 (2, Funny)

8-bitDesigner (980672) | more than 7 years ago | (#18671221)

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

SWEET!

Re:Firefox 3.0 (2, Funny)

RuBLed (995686) | more than 7 years ago | (#18672477)

Haven't heard of GMail Paper yet?

Re:Firefox 3.0 (5, Insightful)

tambo (310170) | more than 7 years ago | (#18672063)

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

I'll believe it when I see it.

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

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

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

- David Stein

Re:Firefox 3.0 (1)

Meostro (788797) | more than 7 years ago | (#18672241)

You don't even have to wait.

Firefox 2.x supports DOM:Storage objects [mozilla.org] that will already let you store arbitrary data client-side, and IE supports something similar with Persistence and DHTML Behaviors [microsoft.com] . 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 [ajaxian.com] or Dojo [dojotoolkit.org] for more of the same, including concrete implementations.

Re:Firefox 3.0 (1)

CaptnMArk (9003) | more than 7 years ago | (#18672255)

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.

Re:Firefox 3.0 (1)

Baddas (243852) | more than 7 years ago | (#18672411)

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

You make few assumptions which aren't always true (3, Informative)

mr_mischief (456295) | more than 7 years ago | (#18670871)

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.

Re:You make few assumptions which aren't always tr (1, Informative)

Anonymous Coward | more than 7 years ago | (#18671145)

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.

Re:You make few assumptions which aren't always tr (1, Funny)

Anonymous Coward | more than 7 years ago | (#18671877)

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.

Re:You make few assumptions which aren't always tr (0)

Anonymous Coward | more than 7 years ago | (#18672401)

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

Re:the problem with google apps (2, Informative)

The Bungi (221687) | more than 7 years ago | (#18671605)

you don't hire consultants to do payroll for you.

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

Re:the problem with google apps (4, Insightful)

tambo (310170) | more than 7 years ago | (#18671879)

Then i'm glad i don't rely on ajax apps or anything to get work done. While corporate customers enjoy a level of reliability that the average home user doesn't even dream of...

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

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

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

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

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

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

- David Stein

Re:the problem with google apps (1)

hobo sapiens (893427) | more than 7 years ago | (#18671985)

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 ;)

Re:the problem with google apps (1)

tambo (310170) | more than 7 years ago | (#18672027)

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

Re:the problem with google apps (4, Insightful)

VGPowerlord (621254) | more than 7 years ago | (#18672269)

Before I start nitpicking, I'm going to point out that I said "Why not just leave the web to things that require the Internet and keep applications on the PC?" in a previous comment [slashdot.org] .

while AJAX programmers are still struggling to get buttons working

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

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

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

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

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

Which brings up another point not yet mentioned: The sad state of affairs with web application GUIs is almost entirely Microsoft's fault. IE6 and its rather poor support for CSS2 and DOM, which weren't addressed for 6 years, let alone fixed, coupled with its widespread use has made it the lowest common denominator.

Re:the problem with google apps (1)

johnnliu (454880) | more than 7 years ago | (#18672691)

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

sure (1)

stoolpigeon (454276) | more than 7 years ago | (#18670517)

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.

From Apple Basic to Pascal to MASM... (1)

Octopus (19153) | more than 7 years ago | (#18670521)

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.

Desktop app development (5, Insightful)

280Z28 (896335) | more than 7 years ago | (#18670531)

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

Re:Desktop app development (0)

Anonymous Coward | more than 7 years ago | (#18672045)

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

Yes, some of us do hate desktop apps. (1, Insightful)

Anonymous Coward | more than 7 years ago | (#18670545)

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

Might be in the minority here.. (4, Insightful)

ironwill96 (736883) | more than 7 years ago | (#18670581)

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.

Browser as bad user interface (3, Insightful)

kherr (602366) | more than 7 years ago | (#18670693)

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.

Re:Might be in the minority here.. (0)

Anonymous Coward | more than 7 years ago | (#18670739)

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.

Re:Might be in the minority here.. (3, Interesting)

The Bungi (221687) | more than 7 years ago | (#18671591)

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 =)

Re:Might be in the minority here.. (1)

tambo (310170) | more than 7 years ago | (#18671983)

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

Re:Might be in the minority here.. (1)

Tadrith (557354) | more than 7 years ago | (#18671817)

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.

Re:Might be in the minority here.. (2, Insightful)

tambo (310170) | more than 7 years ago | (#18671941)

I just don't like ASP.Net or PHP or JavaScript, i've written small interactive web things in them, but it takes me way longer to accomplish something useful on a website than it does doing a desktop application.

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

- David Stein

I used to respect Paul Graham (-1, Troll)

Anonymous Coward | more than 7 years ago | (#18670585)

I used to believe him to be one of the great thinkers in the world of technology.

Then I realized I have no idea who the fuck he is.

He's probably some web knob, like the guy who invented the hypertag, or the jerk who invented java beans, right?

Those were supposed to kill desktop apps about 10 years ago.

Re:I used to respect Paul Graham (1, Insightful)

Creepy Crawler (680178) | more than 7 years ago | (#18670661)

Well, who really cares who a person is?

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

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

Rails (1)

FMota91 (1050752) | more than 7 years ago | (#18670599)

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.

Re:Rails (1)

WizardofWestmarch (614827) | more than 7 years ago | (#18670779)

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.

I do both (1)

revlayle (964221) | more than 7 years ago | (#18670647)

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.

Re:I do both (1)

brewstate (1018558) | more than 7 years ago | (#18671235)

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.

People hate developing applications (3, Insightful)

TodMinuit (1026042) | more than 7 years ago | (#18670665)

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

Re:People hate developing applications (4, Insightful)

bzipitidoo (647217) | more than 7 years ago | (#18671357)

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?

Re:People hate developing applications (1, Interesting)

Anonymous Coward | more than 7 years ago | (#18671951)

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.

idiot... (-1, Troll)

Anonymous Coward | more than 7 years ago | (#18670679)

tell me when photoshop is released as a web app, then I'll consider desktop apps dead... otherwise... STFU troll.

I don't see desktop apps ever going away entirely. (5, Insightful)

Mongoose Disciple (722373) | more than 7 years ago | (#18670681)

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

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

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

Desktop apps (0)

Anonymous Coward | more than 7 years ago | (#18670709)

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

Give Me The Desktop (5, Insightful)

MBCook (132727) | more than 7 years ago | (#18670723)

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.

Re:Give Me The Desktop (3, Insightful)

TodMinuit (1026042) | more than 7 years ago | (#18671021)

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

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

Re:Give Me The Desktop (1)

kurtb149 (578487) | more than 7 years ago | (#18671027)

I think you should consider XUL and XBL.

Re:Give Me The Desktop (1)

xero314 (722674) | more than 7 years ago | (#18671321)

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.

JNLP? (1)

tepples (727027) | more than 7 years ago | (#18671039)

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 [sun.com] ?

Re:JNLP? (1)

codemachine (245871) | more than 7 years ago | (#18671979)

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.

Re:Give Me The Desktop (0)

Anonymous Coward | more than 7 years ago | (#18671473)

Why don't you learn to use a framework? For example, Echo2 [nextapp.com] 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.

Web apps are great, except... (4, Insightful)

VGPowerlord (621254) | more than 7 years ago | (#18670733)

Web apps are great, except...:

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

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

Re:Web apps are great, except... (4, Insightful)

Baby Duck (176251) | more than 7 years ago | (#18671149)

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.

Re:Web apps are great, except... (1)

VGPowerlord (621254) | more than 7 years ago | (#18672035)

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."

No, at least NOT YET (1)

ErGalvao (843384) | more than 7 years ago | (#18670755)

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...

Re:No, at least NOT YET (1)

Brandybuck (704397) | more than 7 years ago | (#18671111)

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.

To web or not to web (1)

psaunders (1069392) | more than 7 years ago | (#18670791)

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?

Re:To web or not to web (1)

Brandybuck (704397) | more than 7 years ago | (#18671141)

For that matter, why would they be on Slashdot?

I'm not...

Meta-Desktop Apps ? (1)

The Media Mechanic (1084283) | more than 7 years ago | (#18670865)

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 !

Web? Desktop? (2, Funny)

jackb_guppy (204733) | more than 7 years ago | (#18670931)

Real Men code GREEN SCREEN!

It runs faster! It is more secure!

UM NOOOO (1)

ILuvRamen (1026668) | more than 7 years ago | (#18670985)

As a programmer I can tell you that it's not that confusing to keep "hate" and "sucks at it" separated. Just cuz most desktop apps suck doesn't mean people like programming robotic arms, cobol and RPG crap, or firmware more. That stuff is a pain in the ass! Plus, I'm a web developer and I hate php and javascript isn't any picnic either. ASP is fun but VB .net is better and easier. I can finish a more secure, easier, cheaper to operate program for the desktop than the web any day. Plus, HELLO, not all comps are connected to the internet.

huh? (1)

Matthew Weigel (888) | more than 7 years ago | (#18671089)

The question is, since web apps were originally built on desktop applications themselves

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

Yes, I HATE desktop development... (3, Informative)

Nedry57 (951108) | more than 7 years ago | (#18671123)

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.

Re:Yes, I HATE desktop development... (1, Insightful)

xero314 (722674) | more than 7 years ago | (#18671401)

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

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

2) COM Interop.
Huh?

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

Re:Yes, I HATE desktop development... (1)

Nedry57 (951108) | more than 7 years ago | (#18671613)

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.

Re:Yes, I HATE desktop development... (0)

Anonymous Coward | more than 7 years ago | (#18672009)

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. :-)

illogical (1)

DaSH Alpha (979904) | more than 7 years ago | (#18671199)

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...

Browsers weren't designed to run apps (1)

Rubinhood (977039) | more than 7 years ago | (#18671243)

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... :(

Shyeah right. Dream on. (1)

Malkin (133793) | more than 7 years ago | (#18671385)

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.

The article was about Microsoft being dead (1)

Furry Ice (136126) | more than 7 years ago | (#18671397)

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.

It's not hate, it's headaches. (4, Informative)

WoTG (610710) | more than 7 years ago | (#18671529)

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.

Re:It's not hate, it's headaches. (2, Insightful)

BiggerIsBetter (682164) | more than 7 years ago | (#18672403)

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

Writing web applications have one big drawback.... (0)

Anonymous Coward | more than 7 years ago | (#18671585)

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.

Lack of killer apps... (1)

blahplusplus (757119) | more than 7 years ago | (#18672079)

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.

I strongly prefer web apps (2, Insightful)

ddent (166525) | more than 7 years ago | (#18672207)

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.

Web-Apps? No thanks. (1, Interesting)

Tanuki64 (989726) | more than 7 years ago | (#18672209)

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.

Desktop apps will never die. (1)

RedElf (249078) | more than 7 years ago | (#18672495)

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.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...