Forum

  • If you are new to these Forums, please take a moment to register using the fields above.
Announcement Announcement Module
Collapse
No announcement yet.
Calendar application for GTD on Symbian S60/Nokia E71 Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Calendar application for GTD on Symbian S60/Nokia E71

    When I bought my new Nokia E71 last week I was very disappointed with the calendar and task functionality. Since then I have tried and fallen in love with an excellent piece of software from SBSH Software.

    http://www.sbsh.net/products/symbian_s60/calendar

    It costs $19,95 and replaces the built-in calendar and tasks applications. Since it uses the same database as the built-in calendar and tasks applications it does not affect the sync process, whether with a PC or wirelessly with an exchange server (I use the latter).

    Compared the built in applications it provides a much better overview of both the calendars and the tasks. It is very customizable, for example you can adjust font size to include more on the screen and according to the sharpness of your eyesight . It can also group tasks according to category (action), assign custom category colors in the calendar for day-specific tasks.

    It does not handle projects though, but when I am on the go I really don't need that, I just want to keep track of my tasks and where I am supposed to do them (i.e. the outlook category/GTD action).

    The only major functions that I miss to fully "mobilize" my GTD system on the E71 are category synchronization and to be able to have undated task (as I understand it this comes from a quirk in the built-in nokia database that assigns all undated tasks to today’s date) with category synchronization the most important by far. The GTD reviews I would not want to do on my smartphone anyway, so I don't think there is a need for all the functionality provided in the GTD outlook plugin.

    Unfortunately there is no application available that synchronizes categories to the symbian platform (at least none I have found, so please let me know if you find one). But SBSH has provided a workaround. In their application you can assign a code to each category, and by starting your task subjects with that code it automatically assigns the task/appointment to the category representing that code.

    Here is how to do it. Say you have an outlook task with "Call roy about the support question" in the task subject field, categorized as "@Calls". Manually add "[c]" before the task name so that it becomes "[c] Call Roy about the support question". Then create an "@Calls" category in the SBSH calendar, and assign it the code "c" (by marking the category and selecting "goosync" -> "set"). Do the same for the rest of your outlook task/SBSH categories and they will be synced. The only thing you will have to remember is to always start off your task/appointment descriptions with the brackets and the appropriate code (e.g. "[c]") and they will be categorized correctly on your phone. To save time you can of course limit yourself to the actions you really use when you are on the go, like in my case @Calls and @Errand.

    I have emailed with SBSH about a solution to the manual step and they seem responsive so I hope that they soon will solve that also.

    Hope this helps make you even more efficient.

    Regards,
    Tommy Arvinell

    p.s. I do not work for the vendor of this product; I am just very impressed by it.

  • #2
    Macro to automate categories

    Hi again,

    I have made a macro to automate the abovementioned manual step in outlook. For each task, it takes the first two characters of the outlook category and automatically enters it at the beginning of the task subject. A task with action "@Calls" will thus start with "[@C]". Then jus enter the corresponding codes in the above calendar applications and the categories will work.

    Sub CleanTasksForPapyrus()

    Dim objNS As Outlook.NameSpace
    Dim OldTaskItem As Object
    Dim TaskItem As Object
    Dim TskCat As String * 3
    Dim OldSubject As String * 3

    Set objNS = Application.GetNamespace("MAPI")
    Set objTasksFolder = objNS.GetDefaultFolder(olFolderTasks)

    For Each TaskItem In objTasksFolder.Items
    TskCat = "[" & TaskItem.Categories
    OldSubject = TaskItem.Subject
    If Not OldSubject = TskCat Then
    TaskItem.Subject = TskCat & "] " & TaskItem.Subject
    TaskItem.save
    End If
    Next TaskItem

    Regards,
    Tommy Arvinell

    Comment


    • #3
      Oh, I really hope this works Tommy.

      I've been looking for something, anything, to sync categories between gcal, outlook, and my Nokia e61i for months. The lack of category support in the Symbian operating system is the single biggest failing as far as I am concerned.

      It is all the more puzzling that it hasn't been introduced when you consider that the EPOC operating system on the old Psion machines, which evolved into Symbian, did a beautiful job of category sync'ng.

      So thanks for this. I'm going to upgrade my Goosync account to try this out. I already had a registered copy of Papyrus (calendar) but that version didn't include this neat work around and I had not realized that the program had been updated.

      But one thing . . . would it be possible for you to outline what I must do with the macro code you wrote in order to have it in Outlook? I've used Outlook for years but never had to touch anything to do with macros and I am at a loss.

      And I am just wondering, do you have any technique for dealing with undated tasks always being dumped into today's date in Papyrus?

      Thanks for posting this --- if it all works it will be a huge step forward because I just about live out of my phone.


      Rick Grant
      International Strategic Communications and Media Relations
      Calgary Canada
      www.rickgrant.com

      Comment


      • #4
        Step-by-step instructions for the outlook macro

        Sure, here's how to do it:

        A) Create the macro

        1) Go to outlook and open the visual basic editor. (tools --> Macro --> Visual basic editor)
        2) Select "ThisOutlookSession" in the left hand navigation pane
        3) Copy the macro below and paste it into the large window on the right. I have updated the macro below to accommodate for when you change categories from one to another (the old version just added the new category in front of the old one, the new version first deletes the old version).
        4) Save the "VBA project" you just created (top left in the Visual basic editor) and close the Visual basic editor.

        B) Assign the macro to a button in outlook

        5) In outlook, right-click an empty space between your toolbars, select "Customize in the menu". In the Customize dialog box, click the Commands tab. In the left hand side of the window, select "macros". Now your newly created macro should show in the right hand side window.
        6) Drag and drop your macro to any free space on the outlook toolbar space (where you just right-clicked). That creates a button you use to start the macro.

        C) Select symbol for your new button

        7) With the Customize dialog box open, right-click the toolbar button, check "Default Style" (button image only, no text). If you want to pich another button image do so under "change button image".

        Cheers,
        Tommy

        ---UPDATED MACRO CODE --------------------
        Sub CleanTasksForPapyrus()

        Dim objNS As Outlook.NameSpace
        Dim OldTaskItem As Object
        Dim TaskItem As Object

        Dim TskCat As String * 3
        Dim OldSubject As String * 3

        Dim OldSubjectShort As String * 1


        Set objNS = Application.GetNamespace("MAPI")
        Set objTasksFolder = objNS.GetDefaultFolder(olFolderTasks)

        'Loop through all tasks
        For Each TaskItem In objTasksFolder.Items
        TskCat = "[" & TaskItem.Categories
        OldSubject = TaskItem.Subject
        'Check if category code is ok
        If Not OldSubject = TskCat Then
        OldSubjectShort = TaskItem.Subject
        'Remove old category code
        If OldSubjectShort = "[" Then
        TaskItem.Subject = Right(TaskItem.Subject, Len(TaskItem.Subject) - 5)
        End If
        'Add new category code
        TaskItem.Subject = TskCat & "] " & TaskItem.Subject
        TaskItem.save
        End If

        Next TaskItem

        End Sub

        Comment


        • #5
          Thanks for that. Wonderfully clear instructions. I've learned a lot.


          Rick Grant
          International Strategic Communications and Media Relations
          Calgary Canada
          www.rickgrant.com

          Comment


          • #6
            Category sync from smartphone to outlook

            I am trying to expand the macro to accommodate automatic category update in outlook when you add new tasks on the smartphone/SBSH calendar.

            The issue concerns the object model for GTD outlook plugin. I have not found a way to call the GTD action objects in outlook plugin. Does anyone have an idea about how to do that?

            Tommy

            Comment


            • #7
              I can't get the macro to work

              As far as I can see I followed your directions exactly (Outlook 2007, current version of SBSH calendar, premium version of Goosync) but I get the following error message when trying to run the macro:

              Compile error: Expected: line number or label or statement or end of statement

              I checked to ensure that my copy and paste was precisely the same and it seems identical. Any idea what I'm doing wrong?

              Thanks very much for posting this macro on the site; I guess the usual penalty for generosity is technical support!

              Comment


              • #8
                Can anyone help us Outlook 2007-proof the macro?

                Hi,
                I have Outlook 2003 so the problem may be that you have Outlook 2007. If any tech-savvy person who reads this has Outlook 2007, can you please help us out to Outlook 2007-proof the macro?
                Regards,
                Tommy

                Comment


                • #9
                  Updated version of the macro

                  Hi again,

                  I have expanded the macro so that it is also possible to create new tasks in papyrys, assign them to a category and have that category transferred to outlook. After sync; run the macro in outlook followed by the "update task actions" command (CTRL+ALT+U).

                  It is not possible to change categories in papyrys for tasks that are alredy created and categorized. To solve this you need to check and compare the time stamps on individual tasks versions in papyrys / outloook to see which was changed last, and that is beyond my macro ability.

                  Tommy
                  ---------------------------------
                  Sub CleanTasksForPapyrus()

                  Dim objNS As Outlook.NameSpace
                  Dim OldTaskItem As Object
                  Dim TaskItem As Object

                  Dim TskCat As String * 3
                  Dim OldSubject As String * 3

                  Dim OldSubjectShort As String * 1

                  Dim MasterActionList As Object
                  Dim StartChar As Integer, EndChar As Integer
                  Dim AllActions As String
                  Dim TaskItemForAllActions As Object

                  Set objNS = Application.GetNamespace("MAPI")
                  Set objTasksFolder = objNS.GetDefaultFolder(olFolderTasks)

                  'Loop through all tasks
                  For Each TaskItem In objTasksFolder.Items
                  TskCat = "[" & TaskItem.Categories
                  OldSubject = TaskItem.Subject

                  'Check if category code is ok
                  If Not OldSubject = TskCat Then

                  'Check if category is not assigned but category code exist and if so, add corresponding category
                  If TaskItem.Categories = "" And Left(TaskItem.Subject, 1) = "[" Then

                  For Each TaskItemForAllActions In objTasksFolder.Items
                  AllActions = AllActions & "," & TaskItemForAllActions.Categories
                  Next TaskItemForAllActions
                  StartChar = InStr(AllActions, Mid(OldSubject, 2, 2))
                  EndChar = InStr(StartChar, AllActions, ",")
                  TaskItem.Categories = Mid(AllActions, StartChar, EndChar - StartChar)

                  Else

                  OldSubjectShort = TaskItem.Subject

                  'Remove old category code
                  If OldSubjectShort = "[" Then
                  TaskItem.Subject = Right(TaskItem.Subject, Len(TaskItem.Subject) - 5)
                  End If

                  'Add new category code
                  TaskItem.Subject = TskCat & "] " & TaskItem.Subject
                  End If
                  TaskItem.save

                  End If

                  Next TaskItem

                  End Sub

                  Comment

                  Working...
                  X