Sorry, PG, but I think you are wrong in the article description. I think everybody is missing the point of the article:
Summary: "Offline web app access is getting too much publicity. I can't control myself. For example: if I had online access on a plane, I'd have no choice but to use it to work on my site. Cherish the plane, because people don't need even more internet access, we're already connected too much."
The article was more about his inability to control his behavior, thinking that a plane is special because he doesn't have to be online while he's on it.
While David did mention that offline web apps are getting an undue amounts of attention in the first sentence, the rest of the article was a rant about his inability to control his behavior. He didn't say they are overrated. He's just saying he's glad planes don't have internet access so he can read a book or enjoy a coffee, because otherwise, he would be online working on his company site.
I think he just needs to control his own behavior better, such as by taking less electronic devices with him so that Internet access doesn't suck up his life.
In fact, I would say offline web apps would actually be a plus in his situation, because he could focus on just the tasks he's trying to accomplish, without feeling overwhelmed by connectivity. If his goal is to savor time away from internet connectivity, he should leave his devices at home, or take a laptop to an area without internet access and work with software and web-apps offline.
Wow, what fast tech support. Happy to post something found useful. Thank you for this web site, for accepting me to startup school, and advice to move to SF. And the articles.
Although David added the first sentence about offline apps to get reader attention, his whole post was about his embarrassment about not being able to control himself. I think offline web apps would actually help him, not hinder him, to work on the things he needs to accomplish in a remote area without AIM, trillian, skype, cell phones, etc to bother thim.
I think its always dangerous to make overarching statements that are meant encompass a whole category of applications. (this goes for multi-column keys too..)
I have found myself many times with my laptop in my car but unable to check my work's webmail to double check my calender because I'm offline.
Just to expand a bit I think its necessary for anyone building a webapp to look at how and why people need to access their app and develop accordingly.
Web apps are so successful because you don't have to instal anything: no setups, no runtimes, no permission requirements on corporate sites, no need to run updates etc.
This new wave of "we need to be offline" is undermining all of that with a non-existing problem. I have no need to have offline GMail, for example. I might have a need to have offline Google Docs (if their site is down) but that's so low on my list of requirements since Google.com is up 99.99% of the time.
I believe that every one of these "web app on your desktop" movements will ultimately fail for being unnecessary.
I somehow agree and I wondered why all this excitement for offline access of applications. Of course syncing and having offline backup of your information is good but, nowadays, they only way to escape being online is by choosing it. I am aware of flights over atlantic that have wifi...
Really, how many times in your life did you find yourself offline and needing to use a web application? And if you did find yourself offline most probably you are without your pc or your mobile which means you end up using another device.
Oops! That means no access to that trendy offline application you installed the other day!
Everyone is moving inside the web, not outside it.
Go Grid!
P.S
And I think now I am getting it! Thaaat was the sarcasm from Google with GMail Paper!
The author writes that there is way too much connectivity, and hard to escape it (except for a plane ride, which he thinks is awesome.) I think that's an argument FOR offline web apps, and FOR self-control.
but being unable to escape connectivity makes useless for most users offline web apps...and i think having to use offline web app (a term that really sounds wrong) would just add frustration
No; people just need to take control of themselves and use offline web apps or desktop apps when they want to work on just one thing without distractions. Plus, the battery is going to last much longer for both phones and laptops that way.
Oh, yay, DHH. The same guy who insists that you never need a multiple-column primary key.
I currently work for a company (yeah, yeah; the startup is gonna be next year, once I graduate) that produces software for health care agencies. We're writing the next version of our app in Rails, but the problem is that a significant number of our customers need to be able to use the app out in the boonies. Out where if they're lucky, they have _analog_ cell phone service.
There is a real need for offline capability for webapps; you just don't see it when you keep your eyes on 37Signals-type apps.
Well, as I said, my company's app needs it. And if you follow the link to DHH's site, you see many people in the comments talking about their apps that need offline support; companies working with Australian ag businesses, for example.
Another thing might be 30Boxes or whatever favorite calendar app you have. Sure, you can sync the feed to iCal, but you can't do everything off a feed.
Multiple-columns can be hard to deal with. But duplicate rows because you're using an autoincrement integer as your pk are also a pain in the ass. Measure twice, cut once.
A primary key is really just the combination of the unique and not-null constraints. My preferred way of handling this is to have a surrogate key as the primary key (for performance and general ease-of-use), but also apply multi-column unique constraints on the natural key to enforce data integrity. The main place where I don't use a surrogate key is for many-to-many join tables (which I think is the common practice).
I think people in general are missing the point about rich-client web-apps. It is NOT about offline access, but about leveraging web-app skills (HTML, Javascript) to access hardware resources that otherwise would be blocked by the browser.
Web-based apps and RIA are here to stay, but there's still space for client-side apps. Example: Skype and iTunes.
Someone already could deploy the user interface of their application using HTML/CSS, using either the awesome IWebBrowser2 COM interface from Microsoft, or the Mozzila Browser.
Norton Antivirus is using IWebBrowser, Skype i think is uzing Mozzila's...
Applications like Skype could never be developed using anything else than the perfomance of native compiled C/C++. And if not compiled, they could never use tricks to stop you from debugging Skype...
Summary: "Offline web app access is getting too much publicity. I can't control myself. For example: if I had online access on a plane, I'd have no choice but to use it to work on my site. Cherish the plane, because people don't need even more internet access, we're already connected too much."
The article was more about his inability to control his behavior, thinking that a plane is special because he doesn't have to be online while he's on it.
While David did mention that offline web apps are getting an undue amounts of attention in the first sentence, the rest of the article was a rant about his inability to control his behavior. He didn't say they are overrated. He's just saying he's glad planes don't have internet access so he can read a book or enjoy a coffee, because otherwise, he would be online working on his company site.
I think he just needs to control his own behavior better, such as by taking less electronic devices with him so that Internet access doesn't suck up his life.
In fact, I would say offline web apps would actually be a plus in his situation, because he could focus on just the tasks he's trying to accomplish, without feeling overwhelmed by connectivity. If his goal is to savor time away from internet connectivity, he should leave his devices at home, or take a laptop to an area without internet access and work with software and web-apps offline.