I don't agree with the final point, "There are or course other ways of forcing file downloads, such as adding certain configuration to your .htaccess file, but I think server-side solutions to front-end problems should be avoided whenever possible."
If we are trying to FORCE a download, then this really is a server-side issue. If we want to give the user the choice, then it is a front-end issue.
The crux of the article is all about taking away the user's choice ... and so a server-side solution seems more reasonable per @jrochkind1.
The cool thing about using SQLite as a basis for sync is that it leverages all that we know re: RDBMS merging, syncing and conflict resolution at scale. And, from a skills perspective, leverages our team's existing knowledge in SQL.
We have use cases where mobile devices may be offline for minutes at a time (in hotels and conference halls where wireless is either sketchy or un-usably slow). I can definitely see us using this. I may check out the Couch thing as well, although we use Cassandra for NoSQL scenarios.
I totally agree with this notion about "timing." MICHAEL RAYNOR has some good research in The Strategy Paradox. One of his central points is that all of the behaviors that create "knock it out of the park" success are the same behaviors that create bankruptcies. He uses the classic example re: Apple, but also provides many others.
If we are trying to FORCE a download, then this really is a server-side issue. If we want to give the user the choice, then it is a front-end issue.
The crux of the article is all about taking away the user's choice ... and so a server-side solution seems more reasonable per @jrochkind1.