Slashdot Mirror


Web Apps: the Future of the Internet, Or Forever a Second-Class Citizen?

An anonymous reader writes "This article takes a look at whether web apps will ever match desktop and mobile apps in terms of performance and usability. Jo Rabin, who's leading the push by web standards body W3C to get web app performance up to scratch, is optimistic web apps will eventually be the default choice for building the majority of commercial and business apps, while the article weighs up just how much web technologies need to be improved before this could happen. Quoting: 'Native apps are generally first to gain access to new platform-specific hardware features — be it navigating using a phone's GPS and accelerometer or taking pictures with a phone's camera. But if a particular hardware feature becomes popular, standards to implement that feature in the browser will always follow, Rabin said. Work is taking place within W3C to standardise APIs for web technologies to access many of the features found on modern smartphones. Ongoing work this year includes setting out a system-level API to allow a web app to manage a device's contacts book, a messaging API for sending and receiving SMS and MMS, new mechanisms for capturing photos and recordings, new event triggers that could handle mouse, pen and touch inputs, a new push API to allow web apps to receive messages in the background, new media queries for responsive web design, an API for exchanging information using NFC and precise control over resource loading times in a web document.'"

24 of 205 comments (clear)

  1. Installed base, day one. by noh8rz10 · · Score: 2, Insightful

    iOS/android app: installed base on day one: 0
    web app: installed base on day one: a hundred million +

    1. Re:Installed base, day one. by sl4shd0rk · · Score: 2

      web app: installed base on day one: a hundred million +

      first time someone doesn't have/has crappy network access: install base -= 1

      --
      Join the Slashcott! Feb 10 thru Feb 17!
  2. Web app? What's that? by Anonymous Coward · · Score: 5, Insightful

    Do you mean a website?

    Do you mean a website that has been optimized for mobile devices with a small screen and minimal javascript capabilities?

    The reason the internet became popular is because of standards. Any web browser can connect to any web site, issue client http requests, and get an http response.

    The web browser/web server is the better way to go. I don't need to download & install a program on to my laptop to bank online. I don't need to download & install a program on to my laptop to read the news.

    I just just my web browser. It's the better model.

    1. Re:Web app? What's that? by Crimey+McBiggles · · Score: 4, Insightful

      You know what would really suck? If we decided to drop backwards compatibility simply because what was originally intended as a document sourcing and navigation solution has ended up in the hands of profiteers who want this document-oriented system to be used for 3D rendering. Yeah, HTML/CSS/Javascript can do that, but why use a screwdriver when a jackhammer is more appropriate?

      Instead of saying "oh the web sucks because it's old, let's make it new", why not look at what the desktop environment has yet to deliver due to market fragmentation and misguided creative direction? There is much more to the Internet than what traverses ports 80 and 443, and it boggles my mind to think that instead of inventing new protocols and applications (not "apps") to get the job done in a better way - Steam is a great example of this - the popular idea is to say "well everyone has a web browser, let's find new ways to exploit it". It's lazy, uncreative thinking, like standing on the shoulders of giants and then deciding the giants need to be put to sleep because their clothes are no longer fashionable.

      --
      Crimey
    2. Re:Web app? What's that? by i+kan+reed · · Score: 2

      Steam, is, in fact, mostly just a web browser. It has a few other things it can do, like start games, and install things. The vast vast vast vast majority of the interface and design is just a web browser, hitting a web-app the steam devs created.

  3. GRRRR by Anonymous Coward · · Score: 2, Interesting

    GRRR, this is STUPID!

    This drives me mad. Webapps have pushed usability a good 20 years back.

    Look at all the pb in desktop apps: we still don't have it "right", and now, there is an increasing tendency towards webapps that have even worse choice of widgets, and don't respect many usability issues that desktop had barely started solving... And don't get me started on the browsers compatibility issues!

    This is CRAZY! People are building GUI inside a medium that has never been designed for that, using always more complex layers for a worse user experience (and don't get me started about the performances loss).

  4. Re:Could Browsers Settled on an Alternate Language by kthreadd · · Score: 2, Funny

    The primary problem is not JavaScript, but that so few web apps are licensed under AGPLv3+ and thus are not suitable for any kind of serious use.

  5. Can we please stop reimplementing the wheel? by putaro · · Score: 4, Insightful

    From the article: "...today web browsers are capable of supporting sites that are getting close to the look and feel of apps we run directly on our phones and computers."

    Great. So with a lot of work we're almost BACK TO WHERE WE WERE! How about some innovation and making better, more usable UI's rather than just trying to catch up with what we already have?

    This is the same problem I have with Linux - constantly reimplementing things we already had. At least Linux is replacing closed software with open software. What's your excuse with webapps? Is MS Word in a browser inherently better or just different?

  6. Not as long as we have to write them in javascript by TheSunborn · · Score: 2

    Not as long as we have to write them in javascript. javascript might be an ok language, but it is not designed to help with development of large projects. The type system, and the prototype based objects are not good at doing that.

  7. Re:Could Browsers Settled on an Alternate Language by ackthpt · · Score: 2

    It seems like some of the problem here is that Javascript is the Lingua Franca, and also that it has to use the web pages DOM. If the system were being designed from scratch, it seems unlikely this would be the choice.

    Javascript is a very sloppy language for doing anything in. People, like me, continue to write in it because there's little alternative.

    Writing in javascript drives people insane.

    sent from my padded cell

    --

    A feeling of having made the same mistake before: Deja Foobar
  8. "Apps" are not web interfaces by msobkow · · Score: 2

    There is a big disconnect here. Using HTML 5 to implement an app interface on a smart phone is not the same thing as implementing a general browser web interface using the same technologies.

    Heaven forbid a web interface should ever have data to manipulate anything more than the cookies it needs in my browser. That would be a security hole you could drive a whole fleet of trucks through.

    However, I don't believe that web interfaces will ever equal custom client code or custom apps for the simple reason that you get hesitations and delays during page and AJAX refreshes. One of the worst culprits for this is trying to implement drop down choice boxes that adapt their contents to previously selected data, such as country-state interactions. The only way I know of to do that with a web interface is to refresh the whole page, which is obscenely slow compared to the repopulation of the choice box data itself done by a custom interface.

    There is also no way to perform performance tuning and UI tricks like dynamically making widgets visible/invisible with a web app, something that is very common to high performance custom interfaces. In part, this is because web apps don't have the necessary layout management interfaces that a custom application does, which allows them to position those hidden widgets appropriately so that they overlay each other to the pixel.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:"Apps" are not web interfaces by LordLucless · · Score: 2

      One of the worst culprits for this is trying to implement drop down choice boxes that adapt their contents to previously selected data, such as country-state interactions. The only way I know of to do that with a web interface is to refresh the whole page, which is obscenely slow compared to the repopulation of the choice box data itself done by a custom interface.

      Then you don't really have much of a grasp on web development. It is trivial to create controls that update themselves with content based on a previous selection without round-tripping to the webserver - you just have to send the complete set of data with the initial pageload, and just operate on it - which, incidentally, is exactly the same way a native application does it: when you install a native application, it needs to either copy the entire dataset it's working on onto your local machine, or retrieve that dataset from a remote system during the course of operation, just like a web application.

      You can also just shoot off a javascript request and retrieve just the data required to display in the widget. You haven't had to refresh the whole page since 1999, when Microsoft introduced the HttpRequest object. You could do it even before then with a clever use of iframes.

      There is also no way to perform performance tuning and UI tricks like dynamically making widgets visible/invisible with a web app

      Ok, I've just realised I'm talking to someone who has absolutely no clue about what they're talking about, and obviously hasn't used the internet in over a decade. How did you get your comment posted to Slashdot - morse code?

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
  9. Generations... by bradley13 · · Score: 5, Insightful

    Apropos of the question in the title of this post. I had a meeting today with a guy in his early 20s. I mentioned that one of my current projects is a Java Client/Server application. He found this totally bizarre, because "Web apps are the future".

    Now, I'm a geezer by IT standards. I cut my teeth on an IBM 360 (yes, that old). One of my standard charts that I use in general IT presentations is a spiral. I'll do it here in text, a bit oversimplified:

    • - 1970: centralized computation (mainframes)
    • - 1980: distributed computation (first PCs)
    • - 1990: centralized computation (Servers and thin clients)
    • - 2000: distributed computation (next generation of PCs)
    • - 2010: centralized computation (Web apps and cloud computing)
    • - 2020: distributed computation (mobile computing)

    The pendulum swings back and forth, but you only start to recognize the pattern after you've lived through a couple of cycles. In fact, it seems that by the time one trend has established itself as inevitable, the next (opposite) trend is already well underway. Right now, Web-apps and Cloud computing are the buzzwords, but mobile computing is already well underway for dominance by 2020.

    So, if I may answer the question posed in the title: Web Apps: the Future of the Internet?

    No.

    --
    Enjoy life! This is not a dress rehearsal.
  10. couldn't figure out how to vote by crtreece · · Score: 4, Insightful
    So I'll post a comment instead, Forever a Second-Class Citizen?

    Seriously, to add some content to my snark. Until internet speeds reach parity with access to local resources, web apps will always be second class compared to a similar application running locally.

    --
    file: .signature not found
  11. In what way did that make any sense? by SuperKendall · · Score: 5, Insightful

    iOS/android app: installed base on day one: 0
    web app: installed base on day one: a hundred million +

    What are you getting at here?

    Let's say you launch a new website/web app. How is your install base not ALSO zero?

    It doesn't matter how many devices CAN run what you have built. What matters is, WILL they...

    With either an Android or iOS app, your POTENTIAL install base is in the hundreds of millions. Furthermore, there's a huge increase in the chances of you getting paid for some of that work, which you can use to develop it further. With a web app chances are good you launch it, zero people notice, and you fade into obscurity.

    Lastly, compare how many applications there are in the iOS/Android app stores, vs. how many web sites exist. Which has better odds of someone using what you have created?

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:In what way did that make any sense? by DuckDodgers · · Score: 4, Insightful

      There are other reasons to prefer a native application, but I'm not sure your argument is one of them.

      Installation period: web app, page download time. native app, application download. Winner, web app.
      Approval process before you are in front of potential customers: web app, instant. native app, depends on the whim of the store curator. Winner, web app.
      Chances that your app gets removed by a change to the terms of service: web app, zero. native app, depends upon the whim of the store curator. Winner, web app.
      Effort for end-user to update their copy of your application to the newest: web app, none. native app, some to none (depending upon preferences set in app store application). Winner, web app.
      Competitors in the market: web app, millions. native app, hundreds of thousands, rapidly climbing towards millions. Winner, native app - but only for the moment.
      Restrictions on in-app purchases, restrictions in terms of use, requirement that you have to share revenue with mobile OS developer: web app, none. native app, some. Winner, web app.
      Effort to make your product available on iOS, Android, Blackberry, Tizen, Windows Phone, Windows Mobile, Firefox OS, Ubuntu Touch: web app, none. native app, none if you use a cross-platform development kit. Winner, none.
      Chances the end user deletes your application to save storage space on their device: web app - only if you use offline storage. native app, some. Winner, web app.

      Again, I'm not saying web app is clearly the way to go. I'm just saying it has advantages.

    2. Re:In what way did that make any sense? by gwstuff · · Score: 2

      The comment was open-ended enough for the following interpretation: consumers are resistant to installing new stuff. They don't like to clutter their mobile device screens with icons, and they unconsciously fear security threats. If you have a web app, you bypass this installation step. Conversely, if you have a native app then just because it's installed doesn't mean people are going to use it. How many apps do you have on your mobile device, and how many do you actually use? The "install base" number is often abused by mobile developers, as they boast about "millions of downloads", to suggest that it corresponds to the number of users. But in practice, the latter is a small fraction. The idea that a "web app is installed on every computer in existence" is an interesting perspective on that practice.

    3. Re:In what way did that make any sense? by Jason+Levine · · Score: 3, Informative

      Effort for end-user to update their copy of your application to the newest: web app, none. native app, some to none (depending upon preferences set in app store application). Winner, web app.

      This alone is a big plus in the web app category. If you discover a big bug/security hole in your app and make a fix, for a native app you need to submit this fix, wait for it to be approved, and then wait for your user base to upgrade. This means that many users will continue to use your buggy/vulnerable app for awhile both putting them at risk and hurting your image.

      If you discover a big bug/security hole in your web app, though, and make a fix, it is fixed. Everyone immediately sees the fixed version and (hopefully) will notice how much better it is.

      Plus, with a web app, you have one code base across Android, iOS, Blackberry, Windows Phone, etc. One code base means less chance that the port to platform X resulted in a horrible bug and it means that all of your resources can go to making that one code base as good as possible. Which means less bugs/vulnerabilities to fix in the first place.

      --
      My sci-fi novel, Ghost Thief, is now available from Amazon.com.
  12. Re:Could Browsers Settled on an Alternate Language by ggraham412 · · Score: 5, Interesting

    It seems like some of the problem here is that Javascript is the Lingua Franca, and also that it has to use the web pages DOM. If the system were being designed from scratch, it seems unlikely this would be the choice.

    I think there is a Peter Principle for technology: Every good, proven technology gets extended, extended, and extended until it breaks. Back in the day, the web was a fast, simple, stateless request/response document retrieval system. Then some markup was added to make the documents look pretty. Then CGI and server-side processing were added to make the content more dynamic. Then tricks were applied (eg- cookies) to break the statelessness, albeit in a limited way. Then the prettiness of documents were improved with CSS and liquid design. Things got slow. Then the scalability of the server side was improved with various frameworks like JSP, Struts, Rails, etc. Applets had been tried, but they didn't take off because security and version control turned out to be much bigger problems than anyone realized at the time. Then JavaScript was extended and made to do all sorts of unsecure things. AJAX came along and broke the request/response document retrieval model for good. Things got slow again, especially on newer mobile platforms. Now the w3c wants to figure out how to run fat applications on this platform, ostensibly because it's shared in common across OSes.

    Rinse, Repeat. Everything old is new again.

  13. Why does this get asked every N months? by sootman · · Score: 4, Informative

    The answer will forever be NO, until the bandwidth between me and the server == the bandwidth between my CPU and its main memory. AND latency, AND availability.

    The fastest web apps TODAY are still slower than the native apps that shipped on the first iPhone in 2007.

    Besides that, both kinds have their own unique advantages. The first two: web apps allow you to get at the data from any device with an Internet connection and browser, but native apps work when you don't have network connectivity at all. If neither of those is a make-it-or-break-it aspect of your app, then you look at all the other advantages each offers, which have been discussed ad nauseum elsewhere.

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  14. Re:Could Browsers Settled on an Alternate Language by hackula · · Score: 2

    Most of the criticism I see around javascript comes from people who know almost nothing about javascript, much less writing quality javascript. Read "Javascript, the good parts", and js becomes an extremely powerful and flexible language. Trying to cram OOP into a language centered around functional paradigms seems to be the source of most people's issues with the language. As for the DOM... the DOM is a pretty sane system, until you need to support 3+ browsers of differing quality. The language is really not that big of deal anyway. Look at iOS, which uses a language many would say is no where up to snuff with other modern languages.

  15. What if the server was on the device by wjcofkc · · Score: 2

    I've wondered if there could be a scheme where you have an app that in installs say, the sproutcore framework, server, and a minimal web server on a device. Further, use a rendering engine in such a way that you would not have to run it in a full browser. It would look just like an app and you could use it offline. Of course there is a matter of how to make something so crazy secure. Then I suppose the question is why do it at all. Fact of the matter is: I have no idea what I'm talking about. Any input from someone who does know what their talking about?

    --
    Brought to you by Carl's Junior.
  16. Turning back the clock by Ronin+Developer · · Score: 2

    Whether you want to call them web apps, thin clients, or terminal based apps - the premise is the same...the name just changes over time.

    Web apps will succeed where users can tolerate the inherent limitations of the basic network-based thin-client app paradigm and are content accepting a limited or common native hardware feature set.

    Native apps will succeed where people want the highest possible performance and instant access to the latest native platform features and are willing to sacrifice cross platform capability.

    Yes, there are hybrid tools that try to bridge the gap...some are better than others. Still, you lose something in the translation when you try to be a jack of all trades and master of none.

    To get the best of both worlds would imply that innovation has to stop until manufacturers all implement feature X into the common hardware feature set and the hooks in the "browser" to access them. And, you will need a persistent storage model that will allow web apps to have the same sort of performance that native apps possess. Only where the native app and web app are storing data on a server will that metric ever be even remotely close to a native, persistent store (unless we have FTL wireless networking).

    I recommend advocating web-based apps and/or native apps when they are appropriate to the requirements from both a business and user perspective. Unless you can do that, you are little more than a fanboy for whatever paradigm you have locked yourself into.

    Best part of it all? You can make money regardless of which way you to choose to go...Web, Native or Hybrid. That's what it's all about, right?

  17. In the Enterpise? No-brainer by Lost+Spirit+67 · · Score: 2

    I develop web apps for the enterprise, and have for well over a decade. In the past few years tools like AJAX and HTML5 have made the user experience much richer, but in general even these weren't needed for web apps to take over the enterprise. Bulky, finicky fat-client apps were always a pain, which was why technologies like 5250 and VT220 were popular so long past their expected life spans. Many many businesses still run back end systems with these interfaces because they are simple to deploy and simple to maintain. Web apps are the best of both, and performance is more than good enough these days. For games, maybe not, but for the enterprise we're already there.