Hello Internet Explorer users -
David managed to track down the mystery of why N2 is not syncing properly for Internet Explorer users. It turns out that there is a known bug in Chrome when used as a Chrome Frame inside Internet Explorer.
Ajax network requests silently fail (requests never make it out to the server) under certain conditions, and as a result the nirvana servers are never notified of changes you make to your data. N2 is smart enough to realize that you have “unsaved items” — the prompt that comes up if you try to logout after making changes to your data — but because Chrome Frame isn’t actually sending any data to nirvana servers, N2 effectively runs offline forever, and thus your changes are not reflected when you access N2 via another device.
BOTTOM LINE — Don’t use Internet Explorer. Use the standalone Chrome Browser instead, at least until the Google team releases a fix.
Google Chrome Browser http://www.google.com/chrome
Google Chrome Frame http://code.google.com/chrome/chromeframe
Chrome Frame Bug http://code.google.com/p/chromium/issues/detail?id=76439
ChromeFrame 12 (12.0.742.100, file date 13-Jun-2011) now appears to be working in IE 8 / 9, based on a limited amount of testing.
A quick post to let N1 users know that the “blank screen” bug in N1 mobile has been resolved. So if you’re logged in, hit refresh to load up the latest version. We also tweaked a few things so that N1 (in general) consumes less resources server-side.
Production web and database servers have been successfully migrated to new hosting for a major boost in capacity. We will continue to keep a close eye on things throughout the coming days and tweak for performance as needed. Thanks everyone for tweeting us encouragement throughout the evening. :-)
It’s been a rough couple of days and I think the team deserves a little shut-eye. Better to have fresh brains in the morning. A more in-depth blog post awaits.
Thank you and good night!
Hi Everyone -
We will be moving some servers around this weekend to scale things up a bit. Will try and keep downtime (if any) to a minimum, but if you happen to hit Nirvana at a time when we’re momentarily off the air, we apologize in advance. Keep an eye on @nirvanahq for updates as we go.
See you on the flip side…
As I was going through support posts, I noticed the occasional question being raised about how and where application data is stored, reliability concerns in offline mode, etc. With answers scattered about through various posts, making it difficult to see the whole picture, I thought I’d summarized here, FAQ style, and later put this information into our knowledge-base.
Where are your servers?
Nirvana currently runs on a cluster of servers at Rackspace/Slicehost.
Is my data encrypted?
Yes. Nirvana transmits data over secure https connections only.
Is my data being backed up?
For sure. We run an incremental database backup every 10 minutes: all of your projects, tasks, contacts, etc. We also perform a full database backup every hour. And we take a snapshot of our servers in their entirety every 24 hours. That’s every byte of application code, all databases, server logs — everything.
Can I get a backup copy of my data?
Of course. In addition to our own system backups, we provide several data export options. While the original Nirvana only exports data as plaintext, the new Nirvana 2 version lets you export your data as CSV (comma-separated-values, think Excel), XML, or JSON.
How do Nirvana 1 and Nirvana 2 differ?
Nirvana 1 — the original (N1)
With Nirvana 1 what you see on your screen is what’s on the servers. As you add, update, and move tasks and projects, those changes are posted to our servers and then your browser reflects the changes as they are sent back to you. This is the traditional request-response pattern found throughout the web. No data is stored on your computer beyond what you currently see on your screen. If your computer crashes, no worries, everything is still on Nirvana’s servers. Just reboot and re-login.
Nirvana 2 — the new (N2)
Nirvana 2 uses a relatively new standard call local-storage — a mechanism for storing web application data in your browser. As you add, update, and move tasks and projects, those changes are written to your browser’s local-storage first, and then pushed up to Nirvana’s servers every few seconds, assuming you have an internet connection. If not, Nirvana 2 will let you keep working, but in the background will periodically attempt to find a connection, and when it does will push your changes up to the servers at that time. This is the magic that allows you to use Nirvana 2 even if your internet connection is flakey or temporarily awol.
This means that to run N2, your web browser must have local-storage capability! Lack of, or a poorly implemented, version of local-storage is one of the primary reasons that some older browsers are not supported by N2.
Since every piece of data in Nirvana is time-stamped, synchronizing multiple devices is supported. Each data item is compared to make sure it’s the latest version before being updated.
A key thing you should be aware of regarding what Nirvana 2 does with local-storage — if you simply close/quit your browser, your data stays in your browser. This is naturally what you’d want, so that you can still get at your Nirvana 2 data on your laptop without a connection, on a plane for instance. If you want to clear your local-storage data, be sure to logout — definitely what you want to do if you’re accessing Nirvana (or any other online service!) from a shared/public computer.
So what happens if my computer crashes running Nirvana 2? To an extent, the same as Nirvana 1… just reboot and re-login. If you were working offline for an extended period of time, and your hard drive is completely toast (worst case scenario, and you’ll probably be crying about a whole slew of other things you lost at that point), Nirvana will still have all of your data on our servers up to the last time you were connected to the internet.
What happens if Nirvana’s servers crash?
Well, given all of the redundancies we have in place that’s rather unlikely. But since you ask — your exposure to a catastrophic event at Nirvana is the 10 minute window of the incremental database backup if you’re running Nirvana 1. If you’re running Nirvana 2, you’ve got your local storage to bridge the gap. That’s right — as soon as Nirvana would come back online, your browser would automatically reconnect, sync up any changes to our servers, and everything would be restored to where it should be — no data loss at all!