The web is still the place
raganwald.posterous.com
raganwald.posterous.com
All of these things are disparate and desperate attempts by browsers to be more useful and desktop-like without any standards or forethought. I would love if the major browsers could agree on some tags/JS to enable (with permission from the user) better integration with the desktop. From taskbar/tray-icon and windows position/size to run-at-startup and multi-monitor support.
This way Twitter can just use a slightly different CSS file and a few meta tags to pretty much replace their native app. Browsers are now fast enough for most everything you need a desktop app for but the 'app' experience is lacking. Chrome's apps are not quite cutting it. Web-apps need to be able to break out of the browser without having to use window.open().
1) I don't like having all my eggs in one basket. I have multiple browser windows each with multiple tabs. Things simply get lost in the mix. My OS has always had a better task switching UI than my browser.
2) Web browsers crash. So do apps of course but the damage is localized. When a browser goes down hard I lose everything. Doesn't happen very often but definitely more often than a kernel panic.
3) Web apps tend to still be slow and clunky. For example I get scrolling lag on the G+ page. I would use it more often if I just had a G+ app available.
4) Native apps can be segregated. I don't really trust companies like FaceBook or Google not to spy on every bit of data they can find via my browser. It seems to be totally acceptable to them. Less likely to happen with native apps.
5) I want the best integration possible with my OS.
At no time do I say it makes zero sense to develop a native app, ever. Just that sometimes it doesn't, that it's business, not a whim or a slight, and that over time those apps that can run in a browser, will.
Lots of room for debate over what constitutes an app that "can run in a browser," of course. But despite the title, I don't think what I wrote suggests that native apps are some kind of evil.
1. OSes have poorer ways to manage more than 7 windows; things get lost quickly.
2. Native apps crash often. In Chrome, you usually just lose the current tab and reload and go to another functionality of the page easily.
3. Native apps tend to be slow and clunky especially when dealing with online data especially when you are mobile.
4. Native apps are definitely a bigger threat to privacy; They have more access to your hardware and OS.
5. I want the best integration possible with the Web.
In addition, (6) Different inconsistent releases across different OSes, (7) Native apps are usually poorer in functionality than web counterparts (8) Native apps are poorer in integration (sharing, social integration, pinning) (9) Native apps can't link (10) Native apps can't be searched and indexed - they are opaque silos (11) Native apps don't make their developers any money as of 2012 (12) Native apps are terrible way to allocate company resources for most online businesses - supporting min 3 releases on Apple, some on Android, WP, BB.. (13) Native apps get mainly coded by retarded development tools - Objective C, Java, C# - It is a hack to code with Ruby, Python, Haskell, or anything more pleasant - though some options exist (RubyMotion, rhodes) (14) ...
Could this discussion not degenerate into FUD and mudslinging, please?
4 is completely backwards. A native app has far more ability to spy on you, even to mutate data across your system, than a browser-sandboxed web app.
Well, if there were nothing in it for the user, no users would be complaining, and we wouldn't be having this conversation in the first place.
The author is certainly right that multiple heterogenous development platforms incur an increased headache and expense, and that the web can get you a pretty good experience on lots of platforms. The argument then is that "pretty good" is good enough, and that the decreased support costs dominate the software quality and user experience.
Maybe they are, maybe not. But as a software engineer, it's hard to get excited about the prospect of making our software suck more to save money.
But to give Apple credit mobile Safari is a better browser than any but the most recent alternatives.
But I really think the discoverability advantages people cite for the app stores is highly overrated. If you can squeeze your way into the top twenty then maybe there's some real benefit but for most apps the app store is just an opaque box with primitive SEO and analytics.
I think a lot of these native vs web debates tend to be too black and white. The right solution depends a lot on what you're trying to build. If you're building something very content-heavy and broad distribution is more important than optimizing for any single platform than the web is probably the way to go.
If you want to present a very interactive, media-rich experience or you want to try to make money directly from the app itself then you should probably go native.
Native is going to be important. The web is going to be important. Mobile is obviously growing but the desktop is not going away either.
If only 3rd party developers could develop them for free...
But TV wins for convenience, cost to develop, and ubiquity, so there's plenty of content developed directly for television.
It's not a perfect simile, but there's enough of a resemblance that thinking the Movie/TV history through stimulates my thinking about native/Web.
JM2(anecdotal and inexpert)C
Assuming (Movies : Apps :: Theater : Operating System), then (Television : Web), makes some sense, but doesn't fully work. The browser (the current medium for interacting with the web), exists on top of the Operating System, but Televisions are not tied to movie theaters in any such way.
On the other hand one obvious thing TV and the web do have in common is ads, versus up front cost of admission with native apps and movie tickets.
I might be old fashioned, but I see native apps as tools. Sturdy things that you can count on to do a task well. Browsers are one such tool used for communicating over the web. I see the web as a medium of communication rather than a tool. I suppose this mental model is why web apps feel wrong to me.
It's a lot more difficult to justify the purchase of a $2000 Mac if 100% of the software can be run on a generic Linux box for half the price.
At least with FF and Chrome being open source and gratis rather than directly commercial some of this motivation is alleviated. It's also more difficult to put up a barrier to entry for a new incompatible feature if your competitor can look at your code base and re-implement it from there.
[0] Except that a bunch of people at Google have forgotten this fact (or never learned it when they jumped over from Microsoft), and re-implemented the spiritual successors of ActiveX and JScript under new names.
Gmail on the web feels a bit slow and sluggish vs Apple Mail is fast, all attachments are there, and it just feels better.
Google Calendar is a pain to use - again slow and sluggish. iCal is fast and feels like what a calendar should feel like.
Address book the same.
iPhoto/iTunes as well.
I think if Hacker News had a good native client, I'd prefer that over the web.
The web is definitely impressive... like Trello. Trello feels fast and it's super versatile. But if Trello had a native app, I'd definitely prefer that (of course it's got to be done well).
But I understand the development costs of supporting multiple native platforms. It's also the loss of focus because you need to have your team separated out vs focused on one platform (ie., 37 Signals).
BTW after a long period of lagging behind the old Air client, the new TweetDeck is actually working great imo.
That doesn't strike me as a web vs. native issue, but rather a product management issue.
Of course, everything is a cycle. And the web will come back. But currently, it's taking a backseat.