

Kicksend Practices Part I – Backend & Web - skyfallsin
http://blog.kicksend.com/kicksend-practices-part-i-backend-and-web/

======
huhtenberg
Please tell us about your business model. It is far more intriguing :)

------
iaskwhy
Please change the link of the logo to the homepage of the site and not of the
blog (or put there a link somewhere to the homepage, "Send Files" is not
obvious enough).

------
Smudge
> The Kicksend web app [...] consumes our API the same way as our other apps
> do.

A result of this is that your app does not work if javascript is disabled. And
as a NoScript user, I'll have to carefully consider if I want to whitelist
you. (Hint: Quite often, I don't bother. Especially if the site doesn't at
least degrade politely ["We're sorry, but our service requires JS..."], which
Kicksend does not.)

Don't get me wrong -- I think this is a very clean solution. There are just
trade-offs to consider. And, to be fair, enabling both client-side and server-
side consumption of an external API -- all within the same app -- is probably
more of a headache than it is worth.

~~~
todd3834
I used to concern myself with such potential issues but people like you are
usually less than a fraction of a % of the users. Anyone who has javascript
disabled in 2012 should be pretty used to websites being broken and I would
expect they know how to turn it on if they want to.

In my experience the only reasonable argument to support non-javascript users
was web crawlers but even that is becoming less of a problem.

However, if your web application seems to have a significant percentage of
non-javascript users then obviously you probably would have never used
backbone or considered this API approach to begin with.

~~~
Smudge
Yes, and I didn't intend to sound like I disagree with Kicksend's approach.
Being broken for a fraction of your users is just the nature of the web. It's
the reason I don't usually bother to support IE7 and below.

That said, there's a case to be made for least checking to see how the site
looks in, say, IE6, or with JS disabled. There are a few easy solutions to
mitigate the fact that it might be totally broken. (For instance, a noscript
tag, or a polite message reminding you to update your browser if you are
able.)

