51 ms·
> The web won. It fought a battle against many foes, and it came out on top. It won what, exactly? The war against Gopher for presentation of hypertext documen
by pifflesnort 14y ago
> The web won. It fought a battle against many foes, and it came out on top.
It won what, exactly? The war against Gopher for presentation of hypertext documents and information display? There's more to heaven and earth than data presentation and consumption.
The examples of genuinely great web applications are few and far between, if not near non-existent. Are Google Apps really the best the web has to offer?
Cappuccino provided one example of how to move the browser past the shackles of the traditional HTML/JS/CSS and into a world where developers could work with more accurate abstractions that actually represented the problem domains of application development.
This lesson has essentially been ignored, tossing out 3+ decades of experience our industry has in building applications.
- corresation 14y agoThere's more to heaven and earth than data presentation and consumption. I do my banking in a browser. I do my email in a browser. I manage photos in a browser. I manage relationships in a browser. I do my taxes in a browser. I order goods in a browser. I ship goods in a browser. I reserve items at the library in a browser. I watch movies in a browser. I listen to music in a browser. I push apps to my smartphone in a browser. I get directions in a browser. I find phone numbers in a browser. I phone people in a browser. I video conference in a browser... I can go on and on all day. If you really want to argue that the web is a surrogate for Gopher, this conversation is futile.
- pifflesnort 14y ago> I do my banking in a browser. I do my email in a browser. I manage photos in a browser. I manage relationships in a browser. I do my taxes in a browser. I order goods in a browser. I ship goods in a browser. I reserve items at the library in a browser. I watch movies in a browser. I listen to music in a browser. I push apps to my smartphone in a browser. I get directions in a browser. I find phone numbers in a browser. I phone people in a browser. I video conference in a browser... I'd be interested to hear how those tools stack up against their native (or cappuccino) counter-parts, because implicit in your argument is that all these attempts to extend the web into the application space are better (and have 'won') over traditional approaches to application development, which I can't say has been my experience, even for the 'best-in-breed' solutions such as Google Apps. Personally, I've found the surge of interest in native development via mobile to be invigorating, since it has meant a resurgence in applications that put user experience ahead of dogma (or even cost). I can hope that this continues to carry over to the desktop and other spheres over the next 5 years.
- jchrisa 14y agoYou don't have to install the browser based ones. Also, if they are decent at all, you can link to them.
- warfangle 14y agoYou can push apps to your phone with a native app? Maybe if you're using iOS. You can reserve items at a library with a native app? Which one? I don't know of any; do you? What do you use to manage photos, iPhoto? Is it really that much more powerful than flickr -- or even Facebook? For many web-based tools, there aren't cappuccino/desktop analogs. They just don't make sense.
- sopooneo 14y agoThe success of the web makes horrifyingly apparent how important ubiquity and ease of deployment are. In they quest for users, they trump almost everything else.
- anigbrowl 14y agoIt's awesome for things involving communication and relationships (banking, purchasing, and so forth) and for accessing content (Youtube is my main music discovery service, for example). But I don't like doing everything in a browser. All the things you mention are transactional, but when I'm (say) writing music I much prefer to be in a native environment because the transactional stuff is a much lower priority. It's distracting, for many tasks. At the very least, I want to run some things without a browser frame of tabs, URL bar and so on without necessarily doing so in full screen mode.
- derefr 14y ago> At the very least, I want to run some things without a browser frame of tabs, URL bar and so on without necessarily doing so in full screen mode. Have you ever tried a Chrome Platform App? They don't have any browser chrome--they're just regular app windows, painted with whatever the developer likes--but they're still running in a browser. Sort of similar to Air/Silverlight.
- w0utert 14y ago>> I do my banking in a browser. I do my email in a browser. I manage photos in a browser. I manage relationships in a browser. I do my taxes in a browser. I order goods in a browser. I ship goods in a browser. I reserve items at the library in a browser. I watch movies in a browser. I listen to music in a browser. I push apps to my smartphone in a browser. I get directions in a browser. I find phone numbers in a browser. I phone people in a browser. I video conference in a browser... I do many of these things in a browser as well, not because the experience is so great, in fact, most of the time it's pretty horrible. Banking, photo management or video conferencing in the browser a great experience, really? I sympathise with this article, and even though web applications have come a long way, I'm sometimes amazed by the collective cognitive dissonance that seems to be prevalent among people who develop web applications, pretending that all is fine and dandy in web application land, and we've long surpassed the point where web applications provide better experience than good native applications. They are simply nowhere near, and the fact that e.g. Google Mail (which is a great web application) is considered superior to e.g. something like Sparrow is quite frankly very amazing.
- dreamfactory 14y ago> the fact that e.g. Google Mail (which is a great web application) is considered superior to e.g. something like Sparrow is quite frankly very amazing It's a good example actually. Even considering the less pretty UI, Google Mail is superior to Sparrow precisely because it is web-based. From the user's side, the way it deals with spam and search are two huge functional advantages which would be difficult to impossible in a native app. And from the vendor's side, the ability to manage updates and monetise through ads are clear benefits which keep the program running.
- pifflesnort 14y agoWhy are 'spam and search' difficult-to-impossible in a native app? For that matter, why are you equating 'the web' and 'server-side'? The standads IMAP protocol stores messages server-side while also enabling effecient server-side search. The standard managesieve protocol implements support for managing server-side filters from remote clients. Tools such as SpamAssassin perform intelligent per-user filtering server-side. At that point, the only real differences between webmail and native clients are: - UX - Native clients use standardized protocols by default.
- PeterisP 14y agoI do my interactions with my bank in a browser, but my bank doesn't do the actual banking in a browser. I could manage my photos in a browser, but I won't do "photoshopping" in a browser. I watch movies in a browser, but I don't edit my home movies in a browser. I listen to music in a browser, but I don't record or mix music in a browser. I push apps to my smartphone in a browser, but I don't develop smartphone apps in a browser. In general, I communicate or consume in a browser, but the worthy things - the creation - tends to happen outside of it. Also, don't forget that all the things that consumers might ever see are just the tip of the iceberg - the vast majority of software and hardware development is done not for B2C apps/websites but for solutions that are B2B, business-process-internal or hidden in an appliance, never seen by any consumers.
- ajkjk 14y agoI think you will end up doing every one of those things in a browser. That browser will probably look less like a browser - since it does everything, it doesn't really need a window. *Except for your bank doing your banking. Of course it will be offloading the work to a dedicated application. The rest, however, will be browser-based.
- dreamfactory 14y agoEnterprise B2B has started moving very strongly towards web-based apps in the last couple of years e.g. Salesforce
- adestefan 14y agoActually I do most of that stuff in native mobile application now instead of in a browser. Do you know why? Because the browser version sucks ass compared to the native version someone has designed for a phone UI. It makes me sick every time I pick up my phone to transfer money in my bank account while I sitting at a computer.
- mattgreenrocks 14y agoIt's like there's a culture of cultivated ignorance around web apps. The pop culture of web development strikes me as a spastic, young programmer who flits from framework to framework, always in search of some magic elixir to make application development more pleasant. They know it isn't quite right, but they don't want to give up the hard-earned, arcane JS knowledge they've used. Nor are they willing to sit down and admit that, maybe they need to sit down and learn a thing or two about how to structure programs better (as we all do)! Instead, it's emotional blog posts and bikeshedding over inane topics (vim, Coffeescript), rather than looking at the deeper issue - the utter mediocrity of the tools they're using.
- corresation 14y agoI've been doing software development very successfully for closing on two decades. I've developed in 680x0 assembly, x86 assembly, C, C++, MFC, ATL, Java, .NET and on and on in the fat-client space. I've watched with interest and anticipation as various parties have brought out the Next Big Thing. I am also a strong advocate of web apps and have been for a long time. Reality has proven out my position as, as has mentioned, the web won the presentation tier (clearly this has nothing at all to do with data processing or database or system programming or anything of the sort). In any discussion on web apps they are always held against an illusory foe that is all capable and all perfect. Let's get specific however -- I love Rdio and love their web app. They came out with a new .NET client so I of course gave it a whirl. Worse, slower interface. Constantly updating (in big monolithic chunks). Consuming hundreds of MBs of memory. I'm not trying to criticize specifically Rdio, but I guarantee that initiative started with someone slamming the web and its crazy mishmash of standards, promising that they'd do something that would exploit the full power of the client. The result was something much worse, holding the single and only advantage of "not in a web browser" (for what that's worth?). Amazon has fielded various trials with various rich apps (they usually partner with Microsoft), but you've never seen them because they never have a compelling story, coming with enough detriments that it outweighs the benefits. My local library system used to have a whole nasty Java interfacing tool that was an absolutely abomination, with a horrendous rickety interface that seldom worked properly, was slow, and was a beast. They replaced it with a dramatically better web interface. Those are all just anecdotes, but they're constant across the space. Yet every post pretends that the web is a weakling that has no merit and no advantages, completely missing why it has made all of these wins against endless competitors.
- MatthewPhillips 14y ago> The examples of genuinely great web applications are few and far between, if not near non-existent. Are Google Apps really the best the web has to offer? Every good web application beats its desktop rivals simply by being ubiquitious. People who dismiss the web typically ignore this simple fact completely. But it's always been true, you can look back to 1997 when Yahoo Mail killed the desktop email client business not by being flashier or better (it had full-page refreshes over 56k modems, awful!) but because you didn't have to ever worry about not having access to your email again.
- mooreds 14y agoI agree. Here are two (old) essays that really sum up this argument for me: How Microsoft lost the API war: http://www.joelonsoftware.com/articles/APIWar.html http://www.joelonsoftware.com/articles/APIWar.html and The Location Field Is the New Command Line: http://daringfireball.net/2004/06/location_field http://daringfireball.net/2004/06/location_field Note that both of these articles kvetch about user experience and how the web simply can't compare to native apps, but emphasize that the ease of deployment matters more. Also, note that the app store model obviates some of the deployment difficulties of native apps and makes it almost as easy to install native apps on the phone as it is to visit a web page.
- anon1385 14y ago(Apologies for the big rant, these are some ideas that have been rattling about in my head recently and your post made some things clearer in my mind. It's not meant to be a post of factual 'truths', but an explanation for my (and perhaps others) reaction against the web as the one platform to rule them all. So it's as much an emotional gut reaction as a logical one. ) I think this (desire for ubiquity/multi-platform) is the main reason I don't see eye-to-eye with the people who are pushing for web apps for everything. Web apps everywhere is great for large corporations that want to provide their service on as many platforms as possible. It's great for venture capital funded startups where the name of the game is to get as many users as possible and get bought out before your money runs out. I'm a small indie dev though, I produce software (not software as a front end to a non-software business), and I'm not looking to become a billionaire (really!). I want to develop software because I enjoy it: to solve problems for real people, to solve my own problems. So really I don't care too much about being able to target every platform at once. I want to target the platforms I like, using the tools that I like, and as long as the platform has enough users to make it viable then I can do that with native software on open platforms (the latter is important and why I don't write iOS software, for example). There is the risk that the platform I target gets killed, but if a lot of people use it then that's generally going to be a slow process, and there is plenty of churn in web tech and standards anyway so it's not like it provides immunity to technological change. Additionally, I just have a hard time working with web technologies. I find them much harder to use, to the extent that if using html/css was the only way to write software I wouldn't be writing software at all and I'd go stack shelves in the supermarket instead. Maybe I'm just not smart enough to use them effectively, I don't know. I guess this is partly the old 'software as craft'/'lifestyle business' argument, but it saddens me slightly that the big industry players are moving us away from the kind of industry where you can write software that interacts with some arbitrary bit of hardware in unsupported or unintended ways towards a much more controlled and profit orientated one (i.e. your software running everywhere being the most important criterion of all). Web people are not the only offenders here of course, but arguments against things like iOS have been well explored over the years. Some people seem to view the web as some kind of beacon of freedom, the little guy fighting the big bad industry giants of Microsoft, Apple, Adobe and so on. But from where I am, the web is the big bad industry giants. Writing web software means being restricted to a very limited sandbox. The APIs available to me are decided by what a small cabal of powerful companies (Apple, Microsoft, Google, Mozilla, Nokia and maybe a few others) can agree on. None of their interests align with mine (why would they?). If Gopher had taken off and supplanted native development to the extent that people were using platforms that could only run Gopher apps, would the current web even exist? All user facing software being written to a single standard and API has good things about it, but it also limits new ideas tremendously ("sure you can add X feature you just need to get it through this committee of industry heavyweights first and get them all to agree, and then wait for them to ship it"). What is important to me is that data uses open standards, whether at rest or in motion. If people control their data, and it is in open formats, then there is little companies can do to lock them in. Which is good for me as a dev since I can write software to help users work with that data. Web technologies don't do much to help me there, in-fact for the most part they have made it easier for companies to keep users data locked away on their server in unknown formats or behind proprietary APIs that I don't feel confident building software against. More concisely: email good, Facebook bad; FLAC good, Spotify bad. I'm not arguing against all web sites/apps (or any hypothetical tech stack that offers a similar standard sandboxed environment). For some things it can be appropriate: wikipedia or hacker news or other inherently networked activities for example. I'd prefer something less byzantine of course, but I expect that if the web apps model does take off then ways of targeting it that mean you don't have to think about CSS or Javascript will get more traction, in the same way that I can write native code without having to worry about assembly (most of the time). Javascript as a compilation target will become "fast enough" on most hardware for general purpose things (not for absolutely everything, but that is just another manifestation of the problem of not being able to break outside the sandbox when needed). So the technical issues of css/javascript being horrible are not the main problem. I come from a social science background, which perhaps taints my view here. I look for the power dynamics that limit my real world ability to do things, and don't really care so much about theoretical ideas about a perfect world where everybody works together in harmony to make the web a platform that does everything you could ever need in a timely way. My issue is about power: who controls the APIs that ultimately lets software control your hardware and data? With open native platforms the answer to that is anybody. With the web it's the tech giants alone.
- effn 14y agoMost desktop applications that where written for the desktop back in the 90's and early 00's where boring internal business stuff, not well known shrink-wrapped stuff such as MS Office. Today, almost all that development has moved to the web.