Monthly archives of “January 2012

N2 Builds 389 / 390 – Links to Evernote and New Fonts

N2 Build 389 brings some minor but nifty additions.

  • Links to evernote:// within task notes are now clickable
  • Added some more font choices (calibri, tahoma, verdana…)
Screen shot 2012-01-24 at 6.12.10 PM
how to

N2 Build 390 fixes a bug that was introduced in Build 389 where changes made on one device was not being reflected in the UI of other devices.  Changes were being posted to the cloud just fine, but we’d botched the timestamp persistence in the local cache so changes from the cloud were sometimes being ignored.

NOTE: you must logout and then login for the Build 390 fix to take effect.  (Local cache gets cleared on logout, and then rebuilt on login.)

QUICK FIX: N2 Build 391 fixes a rare edge case where a repeating task could yield spawned tasks named (untitled) on save … also related to timestampage that we missed in build 390.

iPhone, Android & iPads oh my!

Mitch started a discussion in the forums about where we stand re: mobile apps.  I thought it would be good to cross-post this here for those who want to be in the know, but might not normally participate in the discussion forums.  -Elbert

Mitchell Amihod

January 16, 2012 @ 07:26 PM via web

There’s been a lot of talk about development scheduling of the iPhone, Android & iPad version of Nirvana app. I’d like to share a bit of the thinking behind the approach we’re taking. I’ve recently come on board, and am initially working on the mobile app side of things.

For development, we’re using the Titanium Mobile framework. One of the biggest wins with using Titanium is the fact that it’s javascript powered. Nirvana itself is a web app with all the logic coded up in javascript running client side. A large portion of the code powering Nirvana in your browser can be reused in the native app. This means we don’t have to maintain the logic behind Nirvana on numerous platforms. This is a big win.

Continue reading…

Fixings to Memory Overruns

File this post under technical fyi / cya / wtf.

For the past few weeks we’ve been working out the kinks in our server-side processing of large data sets relating to scheduled and recurring tasks, which has affected a small but significant subset of users.

In a nutshell, prior to build 358, N2 relied on each client (desktop/mobile browser session) to process nightly task movement locally, and then post any changes (scheduled to next, next to focus etc) to the cloud.  Since build 358 the primary responsibility for processing tasks has been moved back to the cloud, which then pushes changes out to the client. Role reversal.

The initial worker scripts we wrote to do all of this processing were a bit over-zealous in their consumption of memory. Kinda saw this coming, and to preempt it being a show-stopper we added some client-side code to detect if there are tasks that should have been processed but weren’t, with a “manual override” that conditionally appears in your Scheduled and Focus lists if relevant.

The appearance of the buttons “Move Scheduled Items Into Place Now” or “Bring Focus Up To Date Now” is N2’s way of letting you manually invoke the routine that moves tasks into place locally, without waiting for the cloud to do the processing. In an ideal world, you would never see these buttons as everything should be automatic. But you know… it’s like when the automatic doors don’t open when you walk up to them, at least you can still push ’em open to get through. Or something like that.

I’ve been up all night monitoring and adjusting the worker scripts, and it looks like things are finally working as intended. But for folks in timezones GMT +1 ,0, -1, -2, -3, -4, -5 and -6 (ergo, the 8 hours preceding this post) you may see the “Bring Focus Up To Date” button. Just click it if you see it and you’re good to go. Also, if you’re in the aforementioned time zones you may not have received your daily email poke today. Sorry about that.

Will continue to monitor things for awhile, and if things continue to look good we’ll be able to put this issue behind us and move on… to more fun things that all this server-side processing makes possible, like calendar feeds and the like. :-)