If web applications run like shit and give me a poor user experience compared to native software? I can't blame anyone or anything? Is the web so perfect despite all its flaws?
Oh sure, there is poorly performing "native" software out there too. But in my experience, pretty much all web software performs poorly.
There is a lot of anger in response to my comment, but it is all legitimate points too. Here are the facts as I know them:
1. Poor software can be written using either web or native technology.
2. It is possible to write fast, responsive applications that run in the browser (up to a certain level of complexity.) I know because this is what I do for a living, and I am pretty good at it. Sadly, many web developers are not very good at it or simply don't care enough about preventing a slow, clunky experience.
3. Some cutting-edge web tech (WebGL is the best example I can think of) is not yet ready for prime time. I love proof-of-concepts that demonstrate the possibilities of canvas, but commercial software should not be relying it yet.
4. The barrier of entry is lower for web. The double edge of this sword is web applications are more likely to be built by inexperienced amateurs.
These are real problems, but they do not indicate that small applications will inherently run slowly in a browser. That is caused by poor design and architecture.
> 2. It is possible to write fast, responsive applications that run in the browser (up to a certain level of complexity.) I know because this is what I do for a living, and I am pretty good at it.
But if I tried your web application and found it to be slow, would you blame my computer, my OS, my browser, me, or something else?
I don't want to be angry but it gets frustrating when things doesn't work. Things that -- at this day and age -- should be completely a non-problem for pretty much any PC system. Things that ran fine on grandma's old toaster when implemented the way they were fifteen years ago. And I get attacked a lot for complaining about it. Some people just don't see a problem with it when displaying some text and a handful of pictures requires millions of lines of code and a few hundred million bytes of RAM.. code that can completely bog down a 64bit CPU running at nearly 2GHz. I'm the victim, blame me. I'm the slave, no freedom for me..
I admit, I am grumpy, perhaps even angry. But it's not directed at you personally; I have no hard feelings against anyone here. Sorry if it came across that way :-)
If you tried my app and found it slow, I'd blame myself. Then I would find the reason it sucked and fix it. I have never found a performance problem in a web app that could not be traced to a mistake and be corrected to work fast.
I am as frustrated with this situation as anyone else, even more so because it is my career. The amount lousy work being done makes it appear that the web application platform is to blame, when it is all the lousy developers' fault.
Another major problem I didn't mention before is JavaScript libraries. These are a disease that has only one cure: more JavaScript libraries! Pointless JS bloat destroys an app's performance and is in high fashion right now (especially with the recent ubiquity of front-end frameworks.) The use of Angular and Bootstrap should be considered computer crime.
What irritates me about this "soon it will be great" attitude is the utter passivity implied. We are supposed to wait for the Great Browser Makers to bestow upon us:
* performance
* decent tooling
* native capabilities
This has all happened before with Swing, and will all happen again. You won't understand or empathize with comment until you've had your chain jerked around enough in the past. You probably feel like the pace of progress is so fast and furious that soon we'll fix all these problems. You might feel that the Web is the ultimate platform that cannot be upstaged ever. Except it will, and it might require a new medium, but it will. All platforms are transient.
In a way, I can't be too mad at the Web because it made me realize I want nothing to do with consumer-grade tech. That side of the industry seems to revel in half-solutions and commoditizing developers.
> In a way, I can't be too mad at the Web because it made me realize I want nothing to do with consumer-grade tech. That side of the industry seems to revel in half-solutions and commoditizing developers.
I had a somewhat similar realization. Actually it made me drop out of high school and completely forget about going for comp-sci and a career in IT. Working in IT is still a possibility but if I do it, I will do it on my own terms (or at least in very good company). In the meanwhile, I'll keep programming as a dear hobby so I can focus on what I think is good and right.
Well, some of the browsers are open source, so in theory, we don't have to be passive; we can help make them great. So I guess I should find an area of Gecko, Blink, or WebKit that needs work, and dive in.
If web applications run like shit and give me a poor user experience compared to native software? I can't blame anyone or anything? Is the web so perfect despite all its flaws?
Oh sure, there is poorly performing "native" software out there too. But in my experience, pretty much all web software performs poorly.