People Don't Hate to Make Desktop Apps, Do They? 233
Annie Peterson writes "Paul Graham has been making the argument that desktop development is dead — That's his premise for declaring Microsoft dead as well, and he claims that no one out there likes to develop for the desktop anymore. But that's not true, or is it? Desktop development is easier, faster, more productive, and infinitely more enjoyable — right? The question is, since web apps were originally built on desktop applications themselves, have the tables flipped? Or is it just wishful thinking?"
I like developing for the desktop (Score:2)
The real growth is embedded/mobile (Score:2)
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
Re: (Score:3, Informative)
Re: (Score:2)
Re:The real growth is embedded/mobile (Score:4, Informative)
Re: (Score:3, Informative)
In a word, no.
Amen to that, but it could be so much better... (Score:2)
Unfortunately, the deficiencies of py2app and py2exe mar what could otherwise be one of the simplest ways to develop good cross-platform applications.
I like developing for the web... (Score:2)
Passe... (Score:5, Funny)
Re:Passe... (Score:4, Insightful)
Re:Passe... (Score:5, Funny)
I did in '03, but then I lost my pencil.
Re: (Score:2)
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: (Score:2)
Re: (Score:2)
Re: (Score:2)
Let's see. 1803, 1603, 2003, and 1703 are the ones I can think of. What am I missing?
Re: (Score:2)
Re: (Score:2)
the problem with google apps (Score:5, 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, 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: (Score:3, Interesting)
Give it a few more years... (Score:2)
Re: (Score:2)
Firefox 3.0 (Score:4, Interesting)
Re: (Score:2, Funny)
SWEET!
Re: (Score:3, Funny)
Re: (Score:2)
Re:Firefox 3.0 (Score:5, Insightful)
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: (Score:2, Informative)
Re:Firefox 3.0 (Score:5, Informative)
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. [greenspun.com]
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.
Re: (Score:3, Interesting)
Re: (Score:2)
Re: (Score:2)
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
Re: (Score:2)
This needs to be solved declaratively, by making browser do all the client side work.
Re: (Score:2)
"This needs to be solved declaratively, by making other people figure out how it works and do it for me."
Re: (Score:3, Funny)
Re:Firefox 3.0 (Score:4, Funny)
You make few assumptions which aren't always true (Score:4, Informative)
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 (Score:3)
You have to admit, it's pretty cringe-worthy when you discover Frozen Bubble [frozen-bubble.org] was written in Perl.
Frozen Bubble (Score:3, Interesting)
OTOH, the dynamic language Lua is used for much of
Re: (Score:3, Informative)
Actually payroll is one of the most outsourced corporate functions, by far.
Re:the problem with google apps (Score:5, Insightful)
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:
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: (Score:2)
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
Re: (Score:2)
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
Re:the problem with google apps (Score:5, Insightful)
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).
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.
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.
Quoi? (Score:2)
Re: (Score:3, Insightful)
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 k
Re: (Score:3, Interesting)
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
Re: (Score:2)
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 even
Re: (Score:2)
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/ [webapp.com] ??
Easy multithreading.
To an extent, this is true, but then multithreading is never exact
Re: (Score:2)
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 sy
sure (Score:2)
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
Desktop app development (Score:5, Insightful)
Might be in the minority here.. (Score:5, Insightful)
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 (Score:4, Insightful)
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: (Score:3, Insightful)
I prefer online maps; they work better for me.
For example, did you know windows live maps includes a bird's eye view [live.com] feature?
In the world of desktop software, here's how that would have worked: I'd have turned my map view into some sort of file, found web space, uploaded it, and posted a link to it. You would have downloaded the file and been told 'unknown file type', you'd have to go to Microsoft's web page and download 'Microsoft 3
Re:Might be in the minority here.. (Score:4, Interesting)
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: (Score:2)
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 progra
Re: (Score:2)
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 custo
Re: (Score:2, Insightful)
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 do both (Score:2)
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
Web
People hate developing applications (Score:4, Insightful)
Re:People hate developing applications (Score:5, 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?
I don't see desktop apps ever going away entirely. (Score:5, Insightful)
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.
Re:I don't see desktop apps ever going away entire (Score:2, Informative)
You must not have heard of libraries like echo2 or Wt for doing web development. They have the same API as desktop GUI libraries.
Re: (Score:3, Informative)
Give Me The Desktop (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.
Re:Give Me The Desktop (Score:4, Insightful)
You don't copy code: You generalize it into a function.
JNLP? (Score:2)
Re: (Score:2)
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 n
Re:Give Me The Desktop (Score:4, Insightful)
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.
Re: (Score:2)
Re: (Score:2)
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.
Web apps are great, except... (Score:5, Insightful)
Web apps are great, except...:
Why not just leave the web to things that require the Internet and keep applications on the PC?
Re:Web apps are great, except... (Score:5, 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.
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: (Score:2, Insightful)
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...
Re: (Score:2)
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
Re: (Score:2)
Web? Desktop? (Score:3, Funny)
It runs faster! It is more secure!
Re: (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:
These essential features are lacking from web apps chiefly because http and html were designed for sta
Re: (Score:2)
And then it gets edited out for the final version anyway, to be replaced by computer-generated special effects! :-)
huh? (Score:2)
Say what huh? That doesn't even make sense.
Yes, I HATE desktop development... (Score:3, Informative)
Re: (Score:2, 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 c
Re: (Score:2)
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
Re: (Score:2)
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.
People hate WINDOWS desktop development (Score:3, Informative)
The crufty GUI code, the horrible installers, the COM string and duct tape, the
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 developmen
The article was about Microsoft being dead (Score:2)
But alas, I'm not new here. I expect this kind of misleading headline. Just thought I'd clarify for all those who ha
It's not hate, it's headaches. (Score:5, Informative)
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: (Score:3, Insightful)
Lack of killer apps... (Score:2)
I also have a tonne of desktop software I would love to use if it was more advanced and
I strongly prefer web apps (Score:3, Insightful)
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.
This has nothing to do with desktop vs web. (Score:2)
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'
It's like claiming Linux is better than Windows (Score:2)
Note: An expanded version of this reply appears as an article on my blog [paul-robinson.us] 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 softw
Re: (Score:2)
Love desktop apps? What? (Score:3, Insightful)
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.
Fundamental problem: AJAX = mistake (Score:2)
Which of the following is the _best_ environment to develop a zero-deployment cross-platform GUI application?
1) Java applet/Java web start
2)
3) HTML+CSS+Javascript+HTTP+SOAP+XML+(Python|
middle ground (Score:3, Interesting)
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.
Re: (Score:2, Insightful)
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.
Wildly OT, but still. Mussolini and Hitler (Score:2)
The mussolini killer file [au.com] mentions "Over 400,000 Italians killed during the Second World War. At least 30,000 Ethiopians killed during Italian occupation of Ethiopia." (wikipedia cites
Re: (Score:2, Informative)
Re: (Score:2)
Yeah, as long as the interface is not too complex.
Try doing something like Maya as a webapp.