4 ms·
As a question of fact, has the mainstream switched from apps to webapps on the desktop? e.g. for spreadsheets, word processors, text editors, photoshop, compile
by 6ren 16y ago
As a question of fact, has the mainstream switched from apps to webapps on the desktop? e.g. for spreadsheets, word processors, text editors, photoshop, compilers. If not, then the argument becomes "I think B will happen because I think A will happen".
One argument is that the main barrier to webapps is performance, and as soon as hardware gets fast enough, webapps will beat desktop apps.
Firstly, there's a question of whether the hardware can ever be "fast enough" and this depends on the specific applications. An illustration is between Java and C. Java's JVM was slower but portable (similar benefits as webapps, for similar reasons). Today, Java is massively popular - but C is also still massively popular, and I would argue that one reason for this is that performance is still important for some applications. Perhaps there will be a similar proportion for webapps.
Secondly, as performance improves, user preferences may switch to some factor other than webapps first. Smart phones are a prime example: instead of people staying on their desktop and switching from apps to to webapps, they have switched from desktop apps to mobile apps. That excess performance is being spent on mobility rather than the web; people preferred the benefits of a small, portable form-factor over the benefits of the web. It may be that when smartphones become powerful enough (dual 1GHz cpus this year), an even smaller form factor will appear - making high performance software a premium once again.
Apart from performance, there are network barriers to webapps:
http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Comput...
1. The network is reliable.
2. Latency is zero.
3. Bandwidth is infinite.
4. The network is secure.
5. Topology doesn't change.
6. There is one administrator.
7. Transport cost is zero.
8. The network is homogeneous.
All this will improve, but will it improve enough? Even if it does eventually, in the long run, we're all dead.
- lapusta 16y agoHow many NEW desktop apps have you installed recently? We obviously won't see Adobe, Autodesk and some other professional software developers moving their products to web anytime soon, but when we are talking about the new products - web is usually the winner. Look at Chrome and it's pace of innovation, check out the examples from Mozilla Demo Studio, could you imagine that working in all latest major browsers 3 years ago? Same is true for mobile, I don't see another space for innovation except improving web performance, integration & so on. Maybe you see some other directions where iPhone & Android can go?
- nupark 16y agoHow many NEW desktop apps have you installed recently? I don't install new desktop apps very often because my needs are already solved. I do nearly all my work in: - Mail.app - Xcode - Eclipse - TeXShop - Terminal - Chrome (JIRA, and browsing documents-not-webapps) I'd prefer a native application for JIRA, but I haven't found a decent one yet. Same is true for mobile, I don't see another space for innovation except improving web performance, integration & so on. Maybe you see some other directions where iPhone & Android can go? I expect the iOS and Android platforms to continue to evolve their core libraries, providing significant additional functionality and features for use by mobile applications. Eventually that will slow as the mobile platforms mature. I'd like to say that I expect the development of higher-level common platforms out of web browsers, but outside of (possibly) WebOS, this seems unlikely. Compared to the web, iOS and Android have comprehensive platform APIs with consistent widgets and user experiences (iOS more than Android when it comes to consistency), support for multiple programming languages and runtimes, immediate access to platform vendor's APIs (playing video doesn't involve an browser vendors arguing over <video>, etc.
- stevemoy 16y ago> How many NEW desktop apps have you installed recently? I install (and uninstall) games pretty regularly. To me these have the potential to be the big differentiator. It will be interesting to see if we end up with fragmentation (think DS vs. PSP vs. iOS) or ports of most major releases as long as each platform has decent market share (Xbox 360 vs. PS3). It seems that hardware-wise and market share-wise, we're trending towards seeing major releases on at least iOS and Android. What's interesting to me here is that (1) so far it seems like indie developers are playing a larger role on the mobile gaming scene, and they won't necessarily have the resources to do a launch on both platforms until their games become hits, and (2) for whatever reason it seems like the Android gaming market (and app market in general) is very anemic compared to iOS, despite having a large install base. (This is just my subjective opinion based on using an Android phone for the last few months.) As a side note, I do agree that in general desktop OS choice is less important than it used to be, but I think that it's due more to the democratization of data than it is to the rise of web apps. Getting a Mac file to open on a friend's PC used to be pretty difficult for the average user.
- 16y ago
- daleharvey 16y agoWeb Apps do not need to go and fetch from the internet every time you click a link. There are lots of differenct ways web apps can be built without ever even touching the network
- rbanffy 16y agoThat, and having your data as a single entity you can manipulate and collaborate from any platform is, IMHO, a killer usage.
- toddmorey 16y agoThe hardware isn't only getting faster, it's also getting more innovative. Here's a really important point: The new capabilities of the hardware (like accelerometers, for example) will always come to native apps first. Color couldn't be a webapp. There's natural urge from develops to want the full potential of a device. Meanwhile, no device maker is going to wait for their new feature to become a web standard before they ship it. You just can't do hardware innovation through the browser, because the whole point of the browser is to abstract the hardware away into a common generic, platform.
- daleharvey 16y agoyou dont wait for things to become web standards before shipping, you make them standards by shipping them
- yewweitan 16y agoSo true. Which is a both a great thing and a bad thing as Doug Crockford pointed out here - http://www.infoq.com/interviews/doug-crockford-html5 http://www.infoq.com/interviews/doug-crockford-html5 Essentially, he's saying that innovation by browser vendors drives innovation in general to a great degree. However, it hampers the ability of standards to do the work in some areas which need standards (such as Security). I'd expect it to be the same with app side of things, especially with so many vendors trying to get their slice of the pie. eg: HP's WebOS is supposedly a sort of hybrid web-native combo, RIM now has QNX, Qualcomm has Alljoyn for P2P and is pushing some fancy LTE frameworks. And let's not even get into Near-Field Communications (pretty hardware dependent) and the future of mobile payments =p.
- rudiger 16y agoFallacies of Distributed Computing has nothing to do with webapps.
- rudiger 16y agoI'm surprised this many people upvoted the parent and downvoted me. The Web is about a secure platform for rapid application development and world-wide distribution. It is not about distributed computing. Fallacies of Distributed Computing is about building a scalable server architecture, not developing/distributing client applications. Even if Fallacies of Distributed Computing was relevant, it would be equally applicable to "native" apps as webapps.
- 6ren 16y agoMaybe because you gave an opinion without reasons. (I'm the OP; I didn't downvote you.) Both distributed computing and webapps rely on the network - that's why I think it's relevant. For example, "the network is reliable" is applicable, given outages. I'd be interested in you articulating why each of the 8 specific points are irrelevant to webapps. > it would be equally applicable to "native" apps as webapps. I think you're saying that webapps use the network, but desktop apps can too (e.g. ping, telnet, ssh, ftp, netcat, email clients, napster, etc), and so "what's the difference?". I find it an interesting perspective, because it's noting that the web stack is just a stack for network communication. There's nothing magic about it, except that it's broadly implemented (though there's perhaps some special merit in its REST architecture). Bits of the stack are even used locally e.g. HTML help docs; javascript scripting in Acrobat. It's no different from all the other (thousands of?) protocols and standards. I think this perspective, because it's looking impartially from the outside, and not assuming anything special. Webapps of course don't have to use the network (apart from for delivery), such as a Javascript calculator (or game for that matter). And, with RIA, you can have webapps that have local storage, and theoretically are indistinguishable from desktop apps. Is this what you mean? Have I articulated your position? While I agree with you in theory, in practice most webapps do use the network; and most desktop apps don't. You might think this doesn't matter, but I put it to you that apps are not real things - they are merely shadows of the need they meet. Over time, they move closer to meeting that need. Thus, because webapps use the network, the standards, protocols, third-party tools and products, and developer wisdom and training all get better and better at that. While desktop apps take advantage of being local, and get better at that (though, I'd say this is mostly in the past, and I see little improvement these days). All the wrinkles and little problems and recurring deadends get ironed out (and often absorbed into the stack, so later developers are not even aware there ever was a problem). Webapps get network problems ironed out; desktop apps don't. As for RIA, it doesn't seem to have gone anywhere - silverlight is almost non-existent, I've actually never seen a javaFX app in the wild, nor an adobe AIR. Therefore (assuming you accept my above argument that FoDC is relevant because it deals with the network), FoDC is less applicable to "native" apps than webapps, because webapps usually use the network, and "native" apps usually don't. I've been speaking of "desktop" apps - I guess it might be different for iOS iPhone/iPad apps. Do they tend to use the network more? I would guess they might, for games' highscores and so on, but even if they use it more than desktop apps, the issue for my argument is that they use it less than webapps. And from playing with an iPad, that seems to be the case. After all, native apps have the advantage of being local, and so it makes sense to play to that strength. I note that this would have been a much more interesting exchange (and you would have likely avoided downvotes) if you had articulated your position more clearly, instead of me having to do it for you. I hope you don't mind this admonishment, but i you have found this comment of mine at all helpful, I request that you at least attempt to put in as much effort in articulating your response as I have. It would be enjoyable to have an interesting discussion on HN, instead of the pedantic focus on peripheral points that one often sees - and as I said, you have an interesting perspective.