Tuesday, November 24, 2009

Web Developers Are Stupid and Arrogant

The past couple of days has seen an amusing rant by PPK, that then turned into a retraction and call to action. The original rant included a condemnation of iPhone developers as being stupid and arrogant. Others have adequately refuted PPK, so I won't bother with any of that. His post made me realize that it is in fact web developers who are mostly commonly guilty of stupidity and arrogance. Here's what I mean.

It's easy to look at the world today and say that web applications have won. This is web developer arrogance. Stupidity is to think that web applications have won because web applications are superior to desktop applications. Smarter, but probably still arrogant developers would point to web applications as disruptive technologies. This involves admitting that web applications are inferior, but good enough, and present enough other "cheaper" advantages to compensate for their inferiority.

To understand why the "web apps have won" claim is dubious. There are definitely a lot of awesome web applications out there. Many of them were created back in the mid/late 90's, The "features" of these applications were the key to applications, not the user interface. Now these days, most of these web applications offer APIs/web services/RESTful interfaces/whatever you want to call them. In many cases it is possible to build desktop applications that tap into the same features as these web applications. However, this was certainly not the case 10-15 years ago.

So if APIs make it possible to build desktop apps that offer the same features as popular web applications, why haven't people switched? The first most obvious answer is inertia. If you are used to accessing Google or Amazon on the web, that's probably the way that you will always use it. Something else to consider is that for many web applications, it does not make sense for them to offer all of their features through APIs because it hurts their core business. This is most obviously true for advertising based companies like Google, Yahoo, and Facebook. Their web applications not only provide very useful features to end users, but they serve ads that make money for the companies. If all of their users switched to using desktop applications that only offered the features with no ads, then the companies would lose their revenue streams. Their business is connected at the hip with their UI, so it is in their best interest to make sure people use their UI -- which is a web application.

However, there are other very successful web applications whose main revenue does not come from ads. Their business is distinct from their UI. E-commerce companies like Amazon and my employer, eBay are obvious examples. For example, eBay offers trading APIs that provide almost all of the trading features of eBay. This is particularly true for selling on eBay. This makes sense, as eBay does not need a seller to use the eBay UI to sell something, as the UI is not what makes money for eBay. As a result, around 50% of all items for sale on eBay come through 3rd party applications built on top of the eBay trading APIs. The vast majority of these (especially the popular ones) are desktop applications. Give people a choice, and a lot of people choose desktop applications.

For another interesting example, just look at Twitter. This is a company that came into an existence after web APIs had become the norm. So Twitter has provided a comprehensive set of APIs since early in its existence. Further, they have not pursued an advertising model that would marry their web based UI to any revenue streams. So they have kept their APIs in sync with their features. For example, they recently added list and retweet features to their site, and added them to the APIs at the same time. As a result, there are a huge number of desktop applications for accessing Twitter. Indeed, Twitter says that 80% of their traffic is from APIs -- either desktop or mobile applications. For most Twitter users, there have always been feature-equivalent desktop alternatives to Twitter's web based UI, so many users chose desktop applications over the web.

Finally, let's look at one more example: existing desktop apps. There has been an incredible amount of money spent on creating web applications that provide similar functionality to traditional desktop applications: email, word processing, etc. Heck, Google has spent a lot in this space just by itself. These are useful applications, but it is rare for people to choose these apps over their desktop equivalents. In most cases these apps try to go the disruptive route, i.e. don't try to be as good, but good enough and cheaper. They have had little success so far. Of course, inertia is a valid argument here, too. The one case where there has been success is GMail. In my opinion its success is not because people like it's web UI over a desktop UI, or even that the web UI is "good enough" and cheaper. No, it's success is because it has offered innovative features over other web and desktop based alternatives: fast search, stars/labels, threaded conversations, etc. Even give all of that, many people still choose to use desktop clients to access their GMail (I'm definitely not one of them.) Anyways, once again it's the features, not the UI.

I am not going to sit here and claim that desktop wins over web all the time. I'm not arrogant or stupid enough to make such claims. However, be wary of claims that web apps win over desktop apps. One could argue that with the preponderance of APIs (especially spurned on by mobile apps) and the popping of the advertising based web 2.0 bubble, that the future will hold even more opportunities for desktop alternatives to web applications. Maybe web applications have jumped the shark. So don't put up with web developers who insist that web applications have won (especially if they try to extrapolate this flawed argument to the mobile world). They can go on and on about technology, standards, interoperability, etc. Just remind them that it's the users who matter, and when given a choice, the users do not always choose web applications. Time to polish off your MFC and Cocoa skills!

50 comments:

will said...

Twitter has a relatively simple number of things you can do to interact with it so it makes sense that it has proliferated across many technologies. The "tweet" is by definition simple, so to make a program that tweets via an api is simple as well.

you're also forgetting that in being "cheap but good enough" (a point i don't agree with either - another battle), the web is extremely cheap and easy to develop for, and most importantly cross platform (can be accessed from mac, pc, linux, android, iphone etc. etc. etc.) vs. a windows app, that cannot.

also the web apps have won claim i think means more "we can do whats possible on a desktop app on the web - awesome, its the new OS and its cross platform." of course we are a bit ways off on gaming, video editing, etc. - sure those things need a proper OS, and will continue to be programmed for higher end computers for a while.

right now with the emergence of netbooks and other small, cheap ways to access the web through browsers, and the increasing ability of those browsers to support complex javascript, you start seeing the emergence of the most universal platform we have accessible from all these different devices but hitting one app - not an OS specific app for each one.

Chris said...

both platforms demand knowledge of a wide variety of concepts -- thread scheduling, tcp/ip, dns, event handlers, etc. to call web developers arrogant and stupid is hyperbole. it presupposes a platform war that simply doesn't exist. no one worth listening to would claim that the web > native or vice versa, because they both have their place. it's as pointless as pitting one programming language against another.

in time a gentle balance will be struck between developers and the approval gods. being a relatively new platform and having generated more than a few horror stories, developers are voicing their frustrations with apple, and again, rightfully so. no one is saying that ALL developers are frustrated. but it's clear that a few are. and as far as i know, it's not all web developers.

good read btw.

Claus said...

I get the impression that you understand web applications in the narrow terms of "what goes on in a browser"..

As a web developer, little of what I do is directly related to UI rendered in a browser.

I don't care if my application is used in a browser window or through a desktop UI. The reason why "web applications" has won over traditional "desktop applications", is that they are network enabled.

So yeah, go ahead an make a desktop twitter app, what you are doing is just extending a web app :)

James E. Ervin, IV said...

I think you make very valid comments in this blog entry, still I think you ignored mentioning the 900 lb gorilla in the room about why Web apps are currently ascendant. The 900 lb gorilla would be installation and updates. Those problems really just don't exist in the world of web applications like they do for standalone applications. Even though Eclipse RCP has made some (very very bumbling) steps forward with P2, it is not nearly what is needed. This to me is the number one reason people fight with web frameworks, templating technologies and hybrid setups like Flex w/Java.

Unknown said...

@will -- Cross platform is overrated and only a consideration for technology people. Sure sounds like you are drinking the Chrome OS kool-aid.

@Chris -- The title was a reference to PPK's post. Glad you liked my post though.

@Claus -- I view network enabled as a given. The reason for the post was the argument that in the mobile space web apps (i.e. apps whose UI runs in a browser) should be favored over native apps. One of the arguments for this is that web apps have won over native apps on the desktop. I don't think this is a given.

@James -- That is a good point, but I intentionally tried to stay away from a feature comparison. Instead of arguing one way or another, I am simply observing what kind of choices that users make in situations where they have a choice.

Vijay said...

We all know what a web application or desktop client is. The way I see web applications is as a magic bowl, where facebook changes to twitter with one flick of weblink. The UI interface transforms with minimal action, unlike desktop clients like word or outlook. Gmail or google docs are not even close to the kind of features and flexibility that outlook or word is giving us.

This can be a popular argument from web application world that your browser is the Operating system where nothing has to be installed the same functionality can work on super computer or mobile devices. If that's the case there is no reason buying high end smart phones and more powerful laptops, the Computing world would have crunch down to netbook. But that's not what is happening in current world. Even portable devices like smart phones are much powerful than a desktop a decade ago, this made new market for mobile applications. Mobile phone will become more and more sophisticated and there will be a time we will reach a yielding point where managing Apps on a mobile phone would become challenging, may not be now but three four years from now. That is when the web applications going to rule them. Already we see that change in Enterprise web application. Visionary companies like google realized this fact and trying to build their application infrastructure on browser as OS.

Unknown said...

Adding simple application from web to mobile is easily to apply,some flash designer programmer develop web apps such as themes,gif,wallpapers, and images.

patrick said...

Nice template! application development

michaelvk said...
This comment has been removed by the author.
Unknown said...

Thanks for the information, we will add this story to our blog, as we have a audience in this sector that loves reading like this” web development

bestpmchennai said...

Hey, nice site you have here! Keep up the excellent work!


Web Developers in Melbourne

web design company said...

But i don't hope so.They are helpful in making the effective website designs.But all are not in the same way Ofcourse.But u have made good points on that.

Website developers said...

Superb quality content. The web developers discussion is quite better and is effective

Web developers India said...

It has been reported in the post tat web developers are stupid and arrogant. Read the post to know more

Unknown said...

Memory is a fascinating trickster. Words and images have enormous power and can easily displace actual experience over the years. See the link below for more info.


#displace
www.ufgop.org

Unknown said...

This information is impressive..I am inspired with your post writing style & how continuously you describe this topic.
Web Development

Zinavo-Web Design | Web Development | SEO | Mobile Apps | ERP/CRM said...

Thanks for taking time for sharing this article, it was excellent and very informative. Its really very useful of all of users. I found a lot of informative stuff in your article. Keep it up.Website Designing Company Bangalore | Website Designing Company Bangalore

Unknown said...

Thanks for sharing about "Web Developers Are Stupid and Arrogant"...............

CompAddicts

Anonymous said...

Web Design Bangalore If you want to develop techniques, CSS effects or new kinds of transition, for example, do it as a sandbox project.

Unknown said...

Amazing blog! It was such a valuable information. Thank you for sharing.
software companies in Hubli Dharwad | Hubli It companies | It companies in Hubli

Yasir Jamal said...

I love all the posts, I really enjoyed, I would like more information about this, because it is very nice., Thanks for sharing.
Yasir Jamal

Unknown said...

We are a third party technical support service. Avast Customer Support is here to help you out with the whole procedure to Download Avast Antivirus online, We not only fix your Avast Support related issues but will guide with how to get started with your new Avast product once it gets installed successfully.We at Avast Tech Support provides service to protect your PC from potential online threats and external attacks like viruses, Trojans, malwares, spywares and phishing scams. And Avast Refund. Call on our Avast Phone Number.

Gmail Customer service is a third party technical support service for Gmail users when they face any technical issue or error in their Gmail account. Our Gmail Customer Support team solves issues like forgot Gmail account password, Gmail configuration or Sync issues, recover deleted emails and many more. Toll Free number (800) 986-9271
How you install or reinstall Office 365 or Office 2016 depends on whether your Office product is part of an Office for home or Office for business plan. If you're not sure what you have, see what office com setup products are included in each plan and then follow the steps for your product. The steps below also apply if you're installing a single, stand-alone Office application such as Access 2016 or Visio 2016. Need Help with office setup Enter Product Key? Call 1-800-000-0000 Toll Free
Norton Tech Support is a third party service provider and not in any way associated with Norton or any of its partner companies. We offer support for Norton products and sell subscription based additional warranty on computer and other peripheral devices. Call our Toll Free number 1 855 966 3855
Other Services

Yasir Jamal said...

Amazing blog! It was such a valuable information. Thank you for sharing.
Yasir Jamal

Nadkaar Agency said...

Wonderful blog & good post.Its really helpful for me, awaiting for more new post. Keep Blogging! Web Design And Development Company In Dubai

Ancy merina said...
This comment has been removed by the author.
Mary Petter said...

Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog.
Really very informative post you shared here. Kindly keep blogging.
If anyone wants to become a Front end developer learn from Javascript Online Training from India .
or learn thru JavaScript Online Training from India.
Nowadays JavaScript has tons of job opportunities on various vertical industry. ES6 Training in Chennai

Jones Morris said...

I really like your writing style, great information, thankyou for posting. web development kuala lumpur

Jones Morris said...

Is it okay to post part of this on my website basically post a hyperlink to this webpage?mobile marketing agency

Fashionworld said...

I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
Read More: Web Development Services Company
Web Designing Services Company

Unknown said...

I came to your site and have analyzed your post. There is excellent details you posted here. I enjoyed reading your blog, and it is both instructional and enjoyable. web designers sydney

Unknown said...

Your posts are always a source of new information for me. Thanks for sharing great posts with us.
SEO Dubai

Alston clayden said...

Your blog is wonderful. It provides me with the information I was searching for. Thank you.
PR Dubai

Anonymous said...

This really is such a wonderful resource that youre offering and you give it away for free. I take pleasure in seeing sites that realize the worth of delivering a prime resource for no cost. I really loved reading your post. Thanks! web and mobile app development company

Freelance Web Designer Dubai said...

This wonderful post and it helps to improve my online business. so Thanks for sharing this informative information with us. I really like your article you focused on all the important Technologies.

best web design company in dubai said...

We're living in an era where if you don't have a business online, then you don't have a lot of audience. We should try working as a team for creating wonderful environment for our future. Red Spider

Anonymous said...

outsourcingall.com "Nice and helpful information provided by you. Thanks Buddy
free seo training in dhaka bangladesh
Freelancing Training Center
Best Website Development and Design Company in Bangladesh

Arpita said...

Nice post .Thank you for sharing this information.
web design company in hubli
Web development company in hubli
seo service company in dharwad
Web development company in dharwad
web design company in dharwad



unknow said...

I really enjoyed your blog Thanks for sharing such an informative post.
https://www.friendshipclubonline.com
Friendship Club In India
Friendship Club In Mumbai
Friendship Club In Delhi
Friendship Club
Friendship Chandigarh

Auctech IT Solution said...

Nice Blog With Full of Knowledge
Thanks For Sharing.....
3D Walkthrough Company
Motion Graphic Company in Lucknow
Brochure Design Company In Lucknow
Graphic Design In Lucknow
Website development and Digital Marketing In Lucknow
3D Walkthrough Interior and Exterior Company
Digital Promotion In Lucknow
E-Commerce Website Company In Lucknow
Logo Designing Company In Lucknow
Logo Maker Company In Lucknow
E-Commerce Software Company In Lucknow
Logo Designing In Lucknow
Logo Maker In Lucknow
E-Commerce Software In Lucknow
E-Commerce Website In Lucknow
Event management Company In Lucknow
Event Planner In Lucknow
Real Estate Software Company In Lucknow
Real Estate Software In Lucknow
Website Development Service In Lucknow

Arpita said...

Thank you for your article. I have read through some similar topics! However, your article gave me a very special impression, unlike other articles. I hope you continue to have valuable articles like this or more to share with everyone!
send cake to mysore
online cake delivery to mysore
send flowers to mysore
online gifts delivery to mysore

IT Plus said...

Thanks for this article. I work as a developer at IT Plus.

Eliza Beth said...

Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot. startup brand company

SEO Guys said...

Thanks for sharing this information SEO Guys

foodnetworkss said...

Introducing Pakistan Rishta service
Welcome to Rishta Pakistan Website Allah Swt made your partner already
in heaven so we help for finding your life partner at earth through this
website Create an account and look for your Muslim life partner
http://www.ecomdiversify.com/
https://www.srsroofing.ca/
https://www.srsroofing.ca/

pakistani matrimonial rishta said...

Thanks for sharing such a nice Blog.I like it.
baselineoutlet
Printing Forum Custom Boxes

Anonymous said...

The growth of web applications is pretty strong and the trend is all set to continue for the next few years. As websites are the face of the businesses, the role of websites and web applications can’t be taken lightly. We at Hakuna Matata Solutions as an experienced web application development company, focus on scalability and security of the applications as we have built more than 100 apps over the last 15 years

Mighty Warner said...

Thanks for sharing this informative blog. If you are interested in Digital Marketing Services in Dubai, you can visit our website.

Ameen said...

Noteworthy post, you have called attention to some mind-blowing center interests. Appreciate your uncommon show about displaying and I concur with your association.
Freelance Web Designer Dubai

Wholesale Shopping Online said...

Apply for slot xo with finslot
Of course, if any player is interested. Or want to come to apply for xo slots games
slotxo
slotpg

Eliaz Beth said...

Nowadays, consumers access websites and web applications on a wide variety of devices, operating systems, and browsers. Hence, developers have to focus extensively on website's user interface (UI) to make it easy to access, use, and navigate. As a robust client-side programming language, JavaScript helps developers to build rich web user interfaces (UIs). python os path join