Productivity with OmniFocus and DEVONthink Pro 2 October 4, 2009
Posted by judismith in Automator, DEVONthink, Email, Interoperability, Macintosh OS X, OmniFocus, Productivity Tools.6 comments
I’ve just spent the weekend tweaking my workflow to deal with the over abundance of information that my job generates. OmniFocus is my key app since that’s where I keep all my tasks.
To complete the picture, I started comparing all of my information managers – Yojimbo, Evernote, DevonThink Pro and even the good old OS X Finder. Then I ran across a brilliant workflow by Rob Trew on the Devon Technologies Forums. As Rob puts it, verbs are maintained in OmniFocus and nouns are kept in DEVONthink Pro. He’s written some very nice AppleScripts to facilitate the workflow between these two apps. One script will create a matching project in DEVONthink for the project in OmniFocus. Another creates an OmniOutliner file in the DEVONthink project as a notes document. There’s another script to archive the project out of OmniFocus and into DEVONthink when its done. I encourage you to read Rob’s post and visit his website.
In working through that process, I discovered that in addition to Rob’s scripts I needed a few other things. My workflow involves scanning documents into DEVONthink since it does optical character recognition, making the resulting PDF searchable. After I scan the document, I need to create a task in OmniFocus to ensure that I don’t forget what I was supposed to do with that document. So I wrote this script that will create an OmniFocus task in the Inbox from a document record.
One other thing I needed to adjust is that I get a lot of information via email. If it is a task, no problem. I can use the OmniFocus clipping service and a new task is created with an attachments and the email text. The problem is when I have a document that I need to store as part of a project in DEVONthink. So I created this Automater Service (works on Snow Leopard, not sure about anything earlier) to grab the attachments from an email and create new records in the DEVONthink Inbox. It will also snag the email text and include that as a comment on the document record in DEVONthink. The Automator Service uses a Run AppleScript Action for the bulk of the work. So you should be able to edit it to your needs.
That pretty much settled it for me – at least for this month.
I’m still holding out for the super automated task manager. Check back. I’ll let you know when I find it. Until then, OmniFocus and DEVONthink Pro with AppleScript come pretty close.
UPDATE: I’ve updated the Automator Service to add the URL for the Mail message to the DEVONthink Pro record so you can get back to the email message that had the attachment. The updated service is found here.
Replacing Exchange Public Folder Functionality with Google Apps September 6, 2009
Posted by judismith in Email, Exchange, Gmail, Google Apps, Interoperability.Tags: Exchange, Gmail, Google Apps, Public Folders
11 comments
One of the problems with ditching Exchange and moving to Google Apps has been the lack of public folder functionality. Public folders are those folders that your Exchange admin would set up where they could give multiple users the right to view content and other users the rights to add and edit content. They are sort of a cheap intranet; at least that’s how we used them.
We successfully migrated 300+ users to Google Apps finishing late this Spring. Part of that required that we solve the lack of public folders. For those public folders where we would just put documents for access, we helped our users migrate to using Google Sites. With sites, users can easily post information or documents. Some of our users also use shared Google Docs for this purpose.
We still had the issue of having multiple users easily access one email account for customer service or other public facing email addresses. We turned to Email Center Pro for a solution that really improves on the public folder paradigm.
The things we like about Email Center Pro:
- Like public folders, there is a many to many relationship between email boxes and users. In other words, users can be assigned to multiple mailboxes and multiple users can be assigned to the same mailbox.
- The user interface is a very nice dashboard that has
- A drop down list of all the users mailboxes,
- A list of all the other users that are currently logged into that mailbox,
- The ability to save searches,
- Recent activity log,
- Account usage,
- The message inbox, and
- a customizable graph of mailbox activity that is exportable to CSV for further analysis.
- Plus there are about 15 more widgets that are available to add.
- Emails can be assigned for response to ensure that no emails are missed or forgotten and that they only get responded to one time.
- The Email Center Pro inbox can send you an alert when email arrives so you don’t have to keep checking.
- You can create and use templates for common responses, ensuring that communications are consistent and saving time.
- Create notes for other team members
- You can create a link from the email to a case in your case system. In our case we use Salesforce. This works nicely when you need to update the case with information from the email thread.
So, we didn’t solve all the problems with just Google. But that’s the great thing about Software as a Service (SaaS) solutions, they understand that complimentary functionality and seamless integration is the name of the game. All-in-all, with the public folder functionality replaced and improved, the transition to Google Apps went very well. We are very happy with the choice and the many new features that Google and Email Center Pro have added to our email handling.
Use Google and Exchange Calendars in the Same Domain July 20, 2008
Posted by judismith in Calendar, Exchange, Google Apps, Interoperability.Tags: Calendar, Exchange, Google Apps, Sync
2 comments
I can hear you asking already, “Why would you want to do that?”
Well, the problem is if you use shared calendaring and you want to migrate your organization off of Exchange on to Google Apps, everyone has to get moved over to Google Apps at the same time, and in one weekend. Not too bad if we’re talking about 10 people. If we’re talking about 600 people or thousands of people, that’s another story. If you have a fairly large organization like mine – that’s not going to happen. Well, while maybe technically it could happen… there’s that whole human side of the equation. You have to roll out training. And then there’s fear of the unknown. You have to help people see that they can do the same things they used to do, just better and faster. Of course we all know that Google rocks, but as far as everyone else is concerned, we’re just the geeks and our opinion on matters such as these is not to be trusted. So we have to find a way to get some internal champions who aren’t techies. Unless you want to create a riot and send productivity into the toilet for the next couple of weeks or months (not recommended if you want to keep working), you have to do the migration gradually. That means at least for a while you’ll have users on both systems.
Generally, everything works fine across two different systems – email, tasks, instant messaging, and so on, even with Microsoft® involved. The folks in Redmond have give the occasional nod to adhering to some standards. Even sending appointments between the two systems generally works – if only because Google took the effort to make it work. But shared calendaring – seeing the free/busy information, now that’s the issue. If you are on Exchange and I’m on Google Calendar, you can’t see my schedule and I can’t see yours. If we’re in the same organization, we’ve just moved back to the dark ages. I’m calling you to see if your schedule works with mine to get a meeting – OK, well maybe we’d be using IM, so we’re not quite back to the dark ages. This folks, is a show stopper.
Enter Google Calendar Connectors! If you have a premiere Google Apps account (or an Educational/Non-profit account) and at least Exchange 2003, you’re in luck. Over at Google Code, you’ll find the Google Calendar Connectors project. You’ll also need a Windows 2003 server with .NET 2.0 to run the Connectors.
From the Google Code Project website:
This open source project is a developer and partner release and is not targeted for direct customer or end-user installation. The Google Calendar Connectors represent a set of tools and should not be considered native functionality of Google Apps Premier Edition.
* Google Calendar Connector Web Service: This connector allows users in Google Calendar to see free/busy information for users who maintain their calendars in Exchange. It is a .NET web service that takes requests sent from the browser with Google Calendar and returns free/busy obtained from a Microsoft Exchange 2003 server.
* Google Calendar Connector Sync Service: This connector allows users of Microsoft Exchange to see free/busy information for users who maintain their calendars in Google Calendar. It is a Windows Service that periodically queries the Google Calendar GData API to get updated free/busy information and publishes this information as free/busy information in Exchange.
* Google Calendar Connector Plug-in: This connector allows users of Microsoft Exchange to see free/busy information for users who maintain their calendars in Google Calendar. This product is an Exchange plug-in that adapts Exchange requests for Calendar free/busy information into a request to the Google Calendar GData API. This has the advantage over the Sync Service of not needing to poll Google Calendar and the free/busy information is more current. However, installation requires modifications to the Exchange server environment, which some customers are not comfortable with.
We have the Connectors up and running in our organization. It took a little work to get them going, but once up, we are happily co-existing on two systems.
Now, with Google, I can potentially share my free/busy information with the world. If a vendor wants to schedule an appointment, they can just check my Google calendar. Of course, if your calendar is like mine, good luck with finding the “free” part of that free/busy information.
One other thing I forgot to mention, there is a little foo that needs to happen in order to have Exchange happily share a domain. For those users who you migrate to Google Apps, you need to set up Exchange so that it will forward their emails to another server when it see that they don’t have an email address in AD. Normally, if someone in the organization sends an email to someone else in the domain, Exchange assumes that Active Directory is the only place to look for the email address. If the email address doesn’t exist in AD, Exchange normally assumes it doesn’t exist anywhere and send the appropriate error message. A little work has to be done to teach Exchange how to share nicely.
With that hurdle overcome, I’m back to thinking about what we’d be missing if we moved off of Exchange and whether we really can use Google Apps as an Exchange/Sharepoint/Blackberry Server replacement. See my initial thoughts on that in may post on Google Apps as a Viable Replacement for Exchange.
Microsoft’s death grip on the desktop just got a lot weaker.
Hear from the Readers – How Do You Do Mac Calendaring May 9, 2008
Posted by judismith in Exchange, Interoperability, Macintosh OS X.Tags: Calendar, Entourage, Exchange, iCal, Mac
1 comment so far
With the recent non-event of the release of Entourage 2008, we haven’t seen much of an improvement in the Mac calendar landscape. Apple has released the iCal Server as part of Leopard Server. But Outlook doesn’t work with the iCalendar standard.
So I’d like to hear from all of you Mac users that work in a mixed environment. How do you deal with calendaring?
Exchange Support Coming to the iPhone? December 21, 2007
Posted by judismith in Exchange, Interoperability, iPhone.Tags: Exchange, iPhone
add a comment
User cash7c3 over on modmyifone noticed this very interesting job posting on Apple’s website:
| Requisition Number | 3161520 |
| Job title | iPhone Windows Outlook/Exchange QA Eng |
| Location | Santa Clara Valley |
| Country | United States |
| City | Cupertino |
| State/Province | California |
| Job type | Full Time |
| Job description | The iPhone Quality team is looking for a motivated, highly-technical Exchange test/sync engineer with excellent problem solving and communication skills. You will join a dynamic team responsible for qualifying the latest iPhone products. Your focus will be testing Exchange and Outlook functionality with Apple’s innovative new phone. The successful candidate will complete both documented and adhoc testing to ensure high quality releases.Required Experience: * BS in Computer Science or equivalent experience * Firm knowledge of Exchange 2003/2007 including configuration and troubleshooting * Ability to investigate and debug difficult problems on Windows * Creative thinker and problem solver * A passion for user-focused design & high quality technology * Comfortable and adaptable in a fast-paced and informal environment * Thorough knowledge of the Windows operating systems Preferred Experience: |
Still No iCal-Exchange Sync September 13, 2007
Posted by judismith in Exchange, GroupCal, Interoperability, snerdware.41 comments
Occasionally I revisit my quest to have my Exchange calendar accessible on my Mac. This past week was one of those times. I spent a lot of time with Google looking for any decent solution. No Luck.
I revisited GroupCal. I downloaded the latest version, and in the process of installing went through all the gyrations of the uninstall/reinstall process necessitated by an OS upgrade – including completely resetting Sync Services. I backed up iCal and created a new, blank calendar. With great fear and trepidation, clicked the sync button. After about 30 minutes, the sync was complete. Yep, you guessed it. There were appointments missing from iCal and worse yet, there were appointments that were deleted from my Exchange calendar.
I continued my search by looking for some way to use Google Calendar as an intermediary. Not much luck there. I did find a Ruby script that had managed to download appointments from Exchange into an .ics file which can then be imported into iCal. That just seemed like too much work. I do get some perverse sense of comfort in knowing that Google Calendar can’t sync directly with Exchange either.
Finally, I was looking for a way to use WebDAV to get at the Calendar information. As usual, Microsoft has a non-standard implementation of WebDAV that is poorly documented. I did manage to find a great bog entry on Microsoft’s WebDAV implementation that includes a link to some MS WebDAV documentation which you can find here.
BUT, Outlook 2007 has the ability to publish a calendar. So I published my calendar by using the service at iCal Exchange. With iCal Excahnge you can publish any of your calendars that are in the iCalendar format. Another nice feature of iCal Exchange is that you can keep your calendar private. To see your Outlook Calendar in iCal, subscribe to you nely published calendar with the URL that iCalendar Exchange generates. The downside to this is your published calendar only gets updated when Outlook is open.One bit of very good news is that Exchange 2007 now provides a web services API. This should make accessing and integrating with Exchange much easier. Of course with Microsoft, one can probably suspect that the Exchange Web Services API does not completely follow standards. We are about to deploy Exchange 2007, so I will be investigating futher.
If you find a solution, please let us know.
Manage Your Tasks at Remember the Milk with Quicksilver September 2, 2007
Posted by judismith in Interoperability, Macintosh OS X, Quicksilver, Remember the Milk.4 comments
Remember the Milk is a deceptively simple web application that lets you manage tasks. The power lies in the ability to manage my tasks from where ever I am. I can add tasks from my Blackberry with a simple SMS or email. I can create a task by forwarding an email to RTM. I can access all of my lists on my Blackberry with a mobile interface. Now by combining Twitter and Quicksilver – the ultimate Mac productivity tool – I can send a task right from Quicksilver with a few key strokes.
The blog at Baron VC links to a script called “tweet”. Unfortunately the instructions for using the script on the Baron VC blog are lacking some details to get the script working correctly.
Set Up Twitter
To use the script you will need to get and set up your Twitter account. Then you will need to add RTM as a friend to your Twitter account. Click the “follow” button near the top of the page.
Connect with RTM
Once your Twitter account is set up, you will need to set up the RTM Twitter Service. RTM will generate a character sequence that will validate your account for use with Twitter. You can go to your twitter page to send a direct message with the number from RTM.
Keychain Access to Your Twitter Account
Once that is done, if you don’t already have an entry for your Twitter account in your Keychain, you will want to manually add one by opening Keychain Access and adding a new password item. The name should be http://twitter.com. Fill out the user name and password with your twitter username and password and save it.
Get the Script
Download the script from Baron VC or copy and paste it from the blog of its originator, codahale. Put the script into the ~\Library\Application Support\Quicksilver\Actions folder. If the folder doesn’t exist, create it. Quit and restart Quicksilver (Cmd+Ctrl+Q).
Sending Tasks from Quicksilver
To send direct messages to Twitter from Quicksilver, activate Quicksilver, press the period key. Type d rtm and then your task information. Hit the Tab key and type as much of “Tweet” as you need to until tweet.scpt pops up in Quicksilver. Press Enter and your task is on its way to your RTM Inbox.
There is much more that can be done with Twitter and direct messages. See the instructions at the RTM Twitter Service page.
Of iTunes, Audible, and Podcasts September 1, 2006
Posted by judismith in Interoperability, iPod, iTunes, Macintosh OS X.2 comments
Audible.com is this really cool service that lets you purchase and download audio books as well as some subscription material. Since I have an hour commute each way to work, Audible, my iPod and of course my indispensable DLO Transpod, help me make that time productive. Hey it’s better than yacking on the cell phone.
Anyway, I got my new iPod Video, 30GB and wanted to try out Audible content. I got an offer for a free month. One of the things that I subscribed to was the NY Times Audio Edition. I read the Wall Street Journal but don’t have time for the Times. So iPod and Audible on my way to work was my answer.
I subscribed to the NY Time Audio edition at Audible, and then clicked the “Podcast It” button which boasts one-click integration with iTunes. I checked in iTunes and sure enough it was there.
Then the trouble starts. I try to sync my iPod. I get the error mesaage: “Some of the Audible files in the iTunes music library were not copied to the iPod because this iPod may only contain content from two Audible accounts.” No problem. I only have one. Try again. Still no dice. I look on Audible, there is a laundry list of things to do if you get that message that ranged from restarting your computer to restoring your iPod to factory defaults. I tried them all. No luck.
Then, by dumb luck after I downloaded the audio to my desktop and tried to drag it over to the iPod (which didn’t work) I double clicked on the file. Up came the prompt to authorize my computer for the Audible account. Now everything works as expected. Of course, if your computer isn’t authorized you would expect a message that tells you that, not one that tells you that you are trying to sync with too many accounts.
One last note: as I returned to the Audible help pages today, I found this message:
** NOTE FOR FIRST TIME PODCASTERS **
If you are trying to transfer a newly podcasted Audible subscription to your iPod for the first time, and receive this error message, please read the following:
You must play the file in iTunes, by double clicking on it, before you try transferring it. This will force iTunes to prompt you for your Audible Username & Password and create an activation for your Audible account.
There is a bug in the current version of iTunes and it unfortunately fails to prompt you to create this activation when you attempt the transfer. Once you have activated your account, you will not have to do this again and you will be able to transfer without any difficulty. We have informed Apple of this bug and they are working to resolve this issue in the next release.
Exchange Tasks – Done! (Well almost) August 12, 2006
Posted by judismith in Exchange, GroupCal, Interoperability, Macintosh OS X, snerdware, tasks.add a comment
As with anything, if its a good idea, in the Mac community someone is either working on it or its already done. Such is the case with syncing my tasks with Exchange and iCal. There is some great by a group called Snerdware. They have two products that are especially interesting, GroupCal and AddressX. GroupCal syncs your Exchange calendar and tasks to the calendar of your choice in iCal. AddressX syncs the Exchange Global Address Book with Apple’s Address Book.I just installed both programs this evening and gave them a test spin. GroupCal read my exchange account even though I am external to my network (requires Outlook Web Access). All of my calendar events came across flawlessly. My tasks were a bit quirkier. There were many tasks that were duplicated. I’m not sure why that was, but it was easy enough to clean up. AddressX worked flawlessly and quickly. It downloaded approximately 900 entries from the global address book in under a minute.The unfortunate thing about iCal and GroupCal, and this may be a limitation of the iCal specification, is that my task categories won’t come across. What would have been nice would be to map different task categories to different iCal calendars. I’ll have to put in a request to the folks at Snerdware.However, probably the most important thing is done. I have my Exchange tasks, and they are in any widget that uses iCal. I personally use DoBeDo.Harmony approaches.
The Travails of Entourage Tasks and Exchange in a Dashboard Widget July 30, 2006
Posted by judismith in Calendar, Exchange, GroupCal, Interoperability, Macintosh OS X, snerdware.12 comments
OK, here’s my complaint. I use a Mac. Well that’s not really my complaint. My complaint is about how Microsoft doesn’t play well with others. What else is new? I love using my Mac, even though I program for Windows. Of course my organization has Exchange as its collaboration server. As a manager I use the Task functionality of Exchange to track what I need to talk to each of my direct reports about at our weekly one-on-one sessions. This is convenient for a number of reasons not the least of which is that my assistant can take my notes and update the tasks for me.In order for me to use tasks in this fashion they need three characteristics: they must have 1) Description or the text for the task, 2) a due date, and 3) a category. I use the due date to make sure I am not overwhelming my people by constantly asking about the same topic. When I talk about a topic, I usually reschedule it out a couple of weeks or more depending on the urgency. That way I don’t forget about the item, but I’m also not nagging about it either. I use the person’s name as the category. The category is useful so I can print off a list for each person and have it on hand for our meeting.So, on the Mac, I use Entourage. All-in-all Entourage is OK, but the task functionality is seriously lacking when compared to Outlook. While Entourage uses WebDAV to connect to the Exchange server, it didn’t include the task functionality of Exchange, but implemented its own with some annoying quirks – like the fact that it takes 7 or so clicks to create a task as opposed to the nice task creation bar with one-click simplicity in Outlook. More importantly, Entourage doesn’t sync tasks with Exchange so my assistant wouldn’t be able to see the tasks I have in Entourage or any changes.With my background in programming I set out to find a solution. Strangely enough Microsoft doesn’t make APIs public for Entourage like they do for Outlook. So I began to think of other approaches. I determined that it really wasn’t necessary for me to have my tasks in Exchange as long as I could have the structure that I wanted and it was easy for me to maintain. I began looking at Dashboard Widgets. There are surprisingly few and none with all three features that I need.So I began thinking of a way to make my own widget that would read the Entourage tasks. Entourage recently has added support for Mac OS X Sync Services so it can Sync with iCal. This seemed like a simple enough approach. However, the problem is with iCal and the weird schema that Apple uses.Instead of taking a normal approach to Calendars and Tasks, Apple was “Thinking Different”. It seems to me that the concept of having tasks tied to multiple calendars as a way of categorizing them is rather non-standard. This normally wouldn’t be a problem except when it comes to syncing different applications. In this case Entourage only has one calendar and iCal doesn’t have the concept of categories for tasks. You can see the problem. So Entourage implemented the Apple sync schema and puts all the tasks in one iCal calendar. The Apple sync schema doesn’t have a place for task categories and Entourage doesn’t know what to do with multiple calendars. Scratch that idea. Still, a better implementation could have been done that would have created multiple calendars in iCal from the list of categories in Entourage, but the Entourage team took the easy way (for them) out.The next thing that I began to look into is accessing my tasks through a widget in Exchange directly. This would be the ideal solution. Imagine the harmony as I work on my Dashboard and my assistant works in Outlook! As I said previously, Entourage uses WebDAV to access information on Exchange. WebDAV is an extension to the http protocol and uses the XMLRequest/Response mechanism. Hmmmm, this seems like an ideal task for Ajax and JavaScript. But not so fast.Yes, leave it to Microsoft to implement a non-standard version of WebDAV. So far, all of the examples that I can find of Accessing Exchange with JavaScript requires the instantiation of an ActiveXObject(“Microsoft.XMLHTTP”). As we Mac users all know for other Microsoft applications, there is no ActiveX on a Mac. Then all of the documentation points out that standard methods of accessing entities in WebDAV don’t necessarily work in Exchange. Why should this be different than any other time?Another and more curious issue seems to be that very little attention is being paid to WebDAV in the midst of all of the Ajax hype. This doesn’t seem to make a lot of sense. WebDAV seems to be an ideal compliment or even an essential part of Web 2.0.I did find an example of accessing Exchange’s WebDAV through the use of PHP and it doesn’t seem to use the ActiveX object. Troy Wolf has all the scripts and a number of examples on his website. There is also an interesting JavaScript from Apple that they use to access iDisks via WebDAV that can be found here. Another thing that looked really promising is the Tibet framework. It seems to provide an incredible amount of functionality. But I could not find anywhere to download a copy – or even buy one for that matter.For now I’m turning the task of creating the JavaScript that doesn’t require an ActiveX object to a friend of mine who loves these kinds of challenges. Hopefully we will have a really useful tool for Mac uses stuck with Exchange in the near future.
