3 ms·
"I've done both desktop/server software and web software, and IMHO good web software is harder." I can only ask what kind of software have you developed, sir?
by tx 19y ago
"I've done both desktop/server software and web software, and IMHO good web software is harder."
I can only ask what kind of software have you developed, sir?
If web software was harder, you wouldn't see "products" created over a weekend shaping up into companies a week later. And don't get me started on "millions of users on dozen boxes".
The primitiveness of web application development is mainly the reason why so many "ex-taxi drivers" and are rolling out web apps daily.
Two huge reasons why web app development is so trivial are:
- You control your hardware. This is really important.
- You do not need to develop UI. Web Pages are joke compared to the "real thing".
For starters, try to develop an super-simple desktop application that uploads an arbitrary file to a given FTP address, let 100,000 users (let alone millions) download it to discover:
- It won't start
- It won't connect
- It crashes their computer.
- "Where did it go?" question after downloading.
You'll be amazed. You will realize that PCs of most people are just like jungle, populated with adware, multiple software firewalls running simultaneously, paranoid anti-virus packages, missing DLLs and weird security settings. Moreover, users will be brutal: they'll be turning power off in the middle of your disk writes, they will upgrade libraries you linked to without asking you first, they will install your executable on desktop and will be killing files you create, the list goes on.
Over 80% of developing desktop software consists of two things:
- Fighting unexpected problems in a hostile environment of user's PC
- Dealing with real, LIVE UI that is reflecting real-time changing objects, and is pleasant to use.
On top of that you're trying to do this using minimal amount of libraries, because you can't expect people to download 100MB installer.
- nostrademons 19y agoEverything you mention is true, and a huge pain when developing desktop applications. One of the projects I've worked on was to serve as the release engineer for a desktop app that involved a Winsock layered service provider, a background Windows service, a system tray icon, and a Java control application, plus a large server-side component. My job basically consisted of making a tweak to the InstallShield scripts, pushing it out to a dozen VirtualPC images, and making sure it all worked and I didn't hose anything. Then I'd find out that eg. it didn't work with Symantec Personal Firewall, because they based their code off the same sample Microsoft LSP that we did, the one that explicitly says "Do not use for production code", and didn't fix the bug that we spent a week tracking down. But webapps have the same problem, they just push the complexity into a different area. I also volunteered for FictionAlley.org, a mid-size (110k or so registered users) web community. We would get complaints from users that the site was unreadable on their 40 character PDA screen. We'd get e-mails from blind people saying could we please make the site handicap-accessible and usable on their screen readers. We would get irate e-mails from Opera users about display glitches, or irate e-mails from Mac users wondering why the latest feature we just released didn't work on Safari. We'd get tirades from people because we added navigation bars, after getting tirades from people because we didn't have navigation bars. We'd get constant complaints about the (free) site being too slow, because we didn't have money for more servers. Until you've actually been involved with a website that has lots of visitors, you have no idea what goes on behind the scenes to keep things running smoothly (or sometimes not-so-smoothly). Yes, desktop apps are hard. I've done them - not just the release engineering stuff above, but I also wrote the Java app included in the package, and I wrote a Netbeans plugin for my current employer, and both had to deal with the sticky platform-and-threading issues necessary for a responsive, professional UI. I still say that webapps are harder.
- palish 19y agoYou two should join forces.
- nickb 19y agoProblem with desktop apps seems to be crappy tools.