The Omni Group Forums

The Omni Group Forums (http://forums.omnigroup.com/index.php)
-   OmniFocus for iPhone (http://forums.omnigroup.com/forumdisplay.php?f=49)
-   -   Why calendar notifications instead of Push notifications? (http://forums.omnigroup.com/showthread.php?t=12654)

Brian 2009-05-27 03:04 PM

Why calendar notifications instead of Push notifications?
 
[B]Extremely Short Answer, Updated:[/B]
We absolutely do want notifications in OmniFocus, we just want them to be time-based rather than push-based (so they work when offline).

To that end, we implemented calendar-based notifications in OmniFocus for iPhone v1.5.2 for those who are syncing via MobileMe or WebDAV. We create a WebDAV calendar on your iDisk or WebDAV server and tell the Calendar application on your phone or iPod to subscribe to that calendar.

When the appointed time rolls around, the Calendar app on the phone or iPod will present the alert. You need network access when you sync, but it's not required to get your alerts.

If you'd like to know how to use the calendar alerts, visit [URL="http://forums.omnigroup.com/showthread.php?t=13131"]this thread[/URL]. For more info, including what else can be done right now (and an explanation of why push notifications weren't ideal for OmniFocus), keep reading this one. :-)

[B]Longer/Detailed Answer:[/B]
The basics: because of (completely reasonable) concerns over battery life, Apple does not allow applications to run "in the background" on the iPhone. This means that OmniFocus has to be in front and running on your iPhone or iPod in order to notify you about some action.

Some folks are probably saying "What about iCal, though? It pops up notifications." to themselves right now. This is true, but Apple hasn't made the code they are using to do that available to third-party developers; we can't use the same method they're using to do this in OmniFocus.

What we really need is a way to send a message to the OS on the iPhone or iPod you're using that says "Hey, at 3pm, when that action comes due? Pop up a message."

The push notification available in iPhone OS 3 takes several steps in the right direction, but is still missing some essential features that we need. The "push" part of the feature name refers to sending messages to the phone from an external server of some sort. For OmniFocus to take advantage of this, Omni would need to run a server which has access to your (and everyone else's) data.

Beyond that, there's an additional problem: just because we sent the message doesn't mean you'd get it. iPod touch users are about half of the App Store customer base; they often have spotty WiFi access away from home/work. If you don't have a net connection, you don't get your notifications on time. That doesn't feel like a good solution to us.

I hope this makes the current situation clearer to folks. We're keeping an eye on this, of course. If some of these problems get solved, we'll re-evaluate. It's very clear to us that there's demand for this feature. :-)


[B]So what the heck do I do now, then?[/B]

Well, if you're syncing over MobileMe or WebDAV, one option is to wait for the calendar-based notifications coming in the next release. Otherwise, there probably isn't one clear solution that works for everyone.

If folks only want to use tools on their iPhones or iPod touches, using iCal's notifications seems to be the best solution. (If you're using OmniFocus for Mac, there's an AppleScript in [URL="http://forums.omnigroup.com/showpost.php?p=55309&postcount=22"]this post[/URL] which makes it easier to create an event that matches an action.)

If folks have an iPhone and access to a Mac that they can leave OmniFocus running on 24/7, you can configure [URL="http://growl.info/"]Growl[/URL] on your Mac to send an email; AT&T will convert that email to a text and send it to your phone. To do this, select the "MailMe" display style in Growl's System Preferences pane; the email address to send to looks like this:
[I]2065551234@txt.att.net[/I]

You'll probably want to enable/disable the specific Growl triggers you care about - at the very least disabling "Automatic Backup Created" may be warranted. (Upside: once an event created on your phone makes it back to your Mac, you'll automatically be notified.)

JohnJ80 also helpfully wrote an AppleScript that, when run, uses the free Toodledo web service to do something similar. Toodledo accounts are free, and this method gives you event-by-event control over which actions you get notifications about.

The downside is that it doesn't automatically work for actions you create on the phone; you have to remember to run the script on them once you're back at your Mac. More info is available [URL="http://forums.omnigroup.com/showthread.php?p=60472"]here[/URL].

JKT 2009-05-28 05:50 AM

The downside is that a chunk of your customers are not based in the US. Until either Apple permit on phone notifications and/or background apps, surely the best solution is to build in an iCal synch solution into desktop OF (even if it is just the script). Why not include it in the app by default?

Brian 2009-05-28 05:10 PM

Suggestions above are workarounds; didn't mean to create the impression that they were solutions. We may add something, but doing so involves UI changes, which involve documentation and localization work as well.

Since the current workarounds do work and don't have those requirements, I didn't see a reason to hide them from folks. :-)

If folks want to see something built into the app, as always, email the [EMAIL="omnifocus@omnigroup.com"]support ninjas[/EMAIL]; they can record the feedback so the team knows what you want.

Brian 2009-05-28 05:25 PM

Clarification after reflection: the script I wrote and linked to above is not a sync - it moves an action to iCal, but won't catch any further modification on either side. JohnJ80's script presumably has the same limitation.

The scripts are more like exports, intended to be used in specific circumstances; you have something in OmniFocus that you want to move/duplicate so you can get notifications on your phone.

Everything I said [URL="http://forums.omnigroup.com/showpost.php?p=54443&postcount=49"]this post[/URL] is still true; we just don't have a better way to provide the feature that folks want.

JohnJ80 2009-06-04 05:33 AM

The other problem is that Apple doesn't supply todo support in iPhone iCal - for who knows what reason (it's quite silly to have left it out). In that case, i would presume that iPhone iCal would be able to use the same notification system that it does for event alerts. Should that be the case, then the current syncing with iCal (with some modifications) would work just fine. The only ADDITION that would need to be done here is to have an option to sync contexts (as today) but to also sync any action that had an alert associated with it. That would make it all quite straightforward.

Is Apple making any changes to iPhone iCal in 3.0?

J.

Casper TFG 2009-06-10 03:41 AM

I wonder if the new "hooks" and API's for iPhone OS3 allow for and GPS notifications?

I take the point about OF not operating in the background but could OF code ninjas fix it so if it was switched on say - near the supermarket - you would get a notice of your shopping list?

Or in other words - is there absolutely nothing in the new OS that OF can make use of?

Can we expect an update with some new functionality?

Ever hopeful..

JohnJ80 2009-06-10 08:33 AM

I think the answer from above, is that Apple's push notification API doesn't allow for a notification with delay. That means there would have to be an intermediate system with store and forward capability to make that work is my understanding.

What I do wonder is if the CalDAV support that is coming in the iPhone (if I read some of the WWDC info correctly) and that will allow access to todos in iCal on the iphone and it's notifications.

J.

Brian 2009-06-10 02:35 PM

Once we do a OS 10.5-and-later version of OmniFocus (so version 2, most likely) we have talked about adding support for CalDAV calendars.

I think our primary hope, though, is that we'll get some good on-device support for notifications directly from OmniFocus.

maxim.chernyavsky 2009-06-10 11:54 PM

From my point of view the best solution would be an integration with google calendar, as now iPhone support ActiveSync with gmail. So if you put a reminder in Google it would appear in your calendar in iPhone. No use of Apple notifications, no need of Mac as desktop and so on.

What do you think?

JohnJ80 2009-06-12 11:52 AM

[QUOTE=maxim.chernyavsky;61028]From my point of view the best solution would be an integration with google calendar, as now iPhone support ActiveSync with gmail. So if you put a reminder in Google it would appear in your calendar in iPhone. No use of Apple notifications, no need of Mac as desktop and so on.

What do you think?[/QUOTE]

I've probably overdone this to a certain degree. I use iCal on my laptop served off of a Mac OS X server using iCal server. I also have BusySync loaded on my laptop which allows me to sync my iCal calendars to Google Calendar. My family keeps all their calendars on Google Calendar. I then use nuevasync to do the activesync to my iPhone wirelessly. This all works great and keeps everything synced to everything else via Google calendar.

However, google tasks do not sync to tasks on the iphone nor do ical tasks sync to google tasks. The only way to do this is to turn each task into an event - which you can do with ical for that matter - and then have it notify you of events in this way.

The problem with this is that it greatly clutters up your calendar - just makes a mess of it. As well, you only get one warning with the activesync piece and that's also a problem. iCal has a very nice warning/alert method that allows you to add as many alerts as you want, but it doesn't sync through either through activesync or google calendar.

What I did do, and is on here under extras, is write an applescript that sends an action to Toodledo (web based todo service) as a todo. you can configure Toodledo to send an sms message to your phone about an hour before it is due. This *sort of* acts like what you describe and how it would work and *sort of* acts like push notifications with a timed delay.

That all said, iPhone 3.0 is supposed to include CalDAV support. I think, but am not sure (maybe someone more knowledgeable about CalDAV could jump in here), supports both tasks and calendars. If this is the case, and presuming that it fits with both iCal and Google calendar and tasks, then this problem may take care of itself by 6/17 when iPhone 3.0 comes out.

J.


All times are GMT -8. The time now is 01:58 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.