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.

Casper TFG 2009-06-12 12:12 PM

[QUOTE=JohnJ80;61101]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.[/QUOTE]

Wow...

Here's to NOT having to

a) jump through endless hoops to get what we need working

b) run all our private data (and whole life) through Google to get what we need working

Down with the cloud - boo, hiss... :mad:

I am moving to iPhone BECAUSE of Omnifocus... please please make it do as much as possible so I don't have to re-enter that nightmare sync hall of mirrors again.. (Blackberry - pocket sync / missing sync - duplicate calendar entries and address book data...:eek:)

JohnJ80 2009-06-12 08:51 PM

A complicated explanation for the fact that an appt entered on any one of my laptop, google calendar or my iphone is all wirelessly synced within 5 minutes to all the others - and that is very cool.

If only - and hopefully - apple allows tasks with alerts to be supported through an api on the iphone. then all this will probably work well for alerts from omnifocus.

J.

ptone 2009-06-22 01:05 PM

One idea for using push notifications for things like due soon badge counts:

Just use a combo of the device, client, and task IDs in the notice.

Desktop OF pushes a skeleton of due items to Omni server, omniserver monitors this database and fires notices to the iPhone. Only UUID strings are ever sent over the wire - means no privacy issues.

Not sure whether the push notice can contain arbitrary strings that are available to the app next time it launches so it can reconcile badge count from internal DB with the increments made by push service.

-Preston

TheMaJa 2009-06-24 10:47 PM

[QUOTE=ptone;61560]One idea for using push notifications for things like due soon badge counts
[/QUOTE]

Count me in!

If you just update the icon badge counter via push notifications - which is sufficient for me (and many others I assume) - you don't need to store private task data on your servers, only the due dates. And only because the iPod touch users aren't always online is no reason to keep back this important feature for iPhone users.

I expect some sort of notification system from a "professional-grade personal task management" software. Push notifications are made for situations like this.

Ken Case 2009-06-30 01:00 PM

We absolutely do want notifications in OmniFocus, we just want them to be time-based rather than push-based (so they'll work when offline).

To that end, we've implemented calendar-based notifications for the next OmniFocus release for those who are syncing via MobileMe or WebDAV.

whpalmer4 2009-06-30 01:51 PM

[QUOTE=Ken Case;62031]...for those who are syncing via MobileMe or WebDAV.[/QUOTE]

Interesting...what makes it not work for those syncing via Bonjour? (Not affected, but curious)

Casper TFG 2009-06-30 02:48 PM

[QUOTE=Ken Case;62031]We absolutely do want notifications in OmniFocus, we just want them to be time-based rather than push-based (so they'll work when offline).

To that end, we've implemented calendar-based notifications for the next OmniFocus release for those who are syncing via MobileMe or WebDAV.[/QUOTE]

Will I be OK with Microsoft exchange syncing my Ical / Contacts and IMAP email accounts?

I am thinking of using that as it (microsoft exchange) is built into my IMAP email service - and I believe it will make my email far zippier (like Blackberry fast..) as compared with the rather pedestrian Mobile Me email delivery speed (am I crazy to think this?)

I am so keen on local geo alerts!!! - 100 yards from a hardware store? Get a pushed alert that you wanted to buy some nails! Come on! That would be amazing wouldn't it?

Ken Case 2009-06-30 04:48 PM

[QUOTE=whpalmer4;62034]Interesting...what makes it not work for those syncing via Bonjour? (Not affected, but curious)[/QUOTE]

The iPhone's calendar app doesn't have a notion of syncing a calendar from a Bonjour server.

Ken Case 2009-06-30 04:50 PM

[QUOTE=Casper TFG;62037]Will I be OK with Microsoft exchange syncing my Ical / Contacts and IMAP email accounts?[/QUOTE]

You'll just need to be syncing OmniFocus to a WebDAV server of some sort (MobileMe or otherwise). It doesn't matter where you sync the rest of your calendars or store your e-mail.

[QUOTE]I am so keen on local geo alerts!!! - 100 yards from a hardware store? Get a pushed alert that you wanted to buy some nails! Come on! That would be amazing wouldn't it?[/QUOTE]

I agree! We started asking asking Apple for this capability when we first wrote OmniFocus for iPhone over a year ago. Hopefully they'll get to it at some point; they certainly did give us a lot of other great features in 3.0!

gopi 2009-07-01 12:44 PM

While it does pose some privacy issues, and it's not exactly supported, etc. etc...

The "Find my iPhone" system on MobileMe looks imminently hackable. It's simple AJAX-based code running in your own browser. I'd be surprised if somebody hasn't already written a scriptable version of it that lets your server know where you are.

Run that server side, 15 minute locate interval. When the server notices you are near the hardware store, you can push "You're near the hardware store, you have 16 items to get there" notifications...

If a developer such as myself were interested in hacking this together, I'm wondering:
1. Is there an official way for me to dig into the OF data file? I've obviously looked at it a few times in the past, but not in too much depth. Is reverse engineering the bits that I need the best thing to do, or is there a possibility of some official library-style access tool?

1a. For a different project...if I want to modify OF data, is there a way to do this cleanly? I sync with MobileMe WebDav right now. I haven't looked seriously into the sync system that you're using; if the answer is to reverse engineer stuff, I'm fine with that. I just don't want to break anything, or reverse engineer it the day before the new version changes it all. (I have a few ideas for smart / context aware list stuff that I want to play around with. So my back-end would sometimes re-arrange my lists and stuff for me.)

2. On the iPhone, is there a URI registered that I can use to load OF into a specific place?

If I did the push notification scheme I'm talking about, I would add a helper app to the iPhone which popped up OF push notifications. When you hit "view", my app would load up, look at the context that had generated the notification, then open up this URI and start up OF at the right place.

(I'm an iPhone developer; I've got a prototype app doing push already)

Thanks,

gopi.

cshumate 2009-07-02 06:14 PM

[QUOTE=Brian;60467][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'll work when offline).

To that end, we've implemented calendar-based notifications for the next OmniFocus release for those who are syncing via MobileMe or WebDAV.[/QUOTE]

Can you explain how this calendar-based notification would work for MobileMe users?

gravescp 2009-07-07 11:38 PM

Linking to calendar
 
Ok, so I saw your announcement about adding notifications to the calendar app on the phone for offline notifications. I was looking for a timeline for this feature. I would love to use prowl, but laptop cannot be left on to run the growl notifications.

Any info would be great :-)

***sorry just saw this in the sticky about push will wait for your response there***

Brian 2009-07-08 05:00 PM

Happy to help, cshumate! The first post in this thread has been updated with some additional information on how the alerts will work.

dave256 2009-07-10 05:15 AM

Are the calendar based notifications in iPhone v1.5.1 that just came out. I don't see them so I'm guessing the original post meant next major release (i.e., 1.6 or 2.0) - is that correct?

shinfu 2009-07-12 09:54 AM

Hi, there's an app called NotifyMe that's has Push Notifications. I didn't buy it but it seems to work with a count via web. Maybe the solution it's to develope a web app so you'll have push notifications and if you don't have your mac ay work you can still working with OF. Two problems solved with one solution.

I really need push for my stuff. I'm using the script for iCal. It ok but no perfect.

I hope, as always, you'll find the best solution, I'm a great fan of Omnigroup's apps.

Brian 2009-07-22 03:01 PM

Locking, renaming and un-stickying this thread in an effort to reduce potential for confusion about where to post with questions about the new feature.

Updated first post in this thread with link to the new sticky on how to configure calendar notifications in OmniFocus for iPhone 1.5.2.


All times are GMT -8. The time now is 05:58 AM.

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