Task:PIM

This page started as a consequence of this ITt thread: [http://www.internettablettalk.com/forums/showthread.php?t=24654 Did you say PIM? Come here please].


 * Vote on current enhancement requests or open new ones at http://bugs.maemo.org
 * Summarize more complex proposals here or in new wiki pages.
 * Link to good and bad ideas, projects, examples out there.

This exercise is as useful to Nokia as to the own community and 3rd party developers in seeing what are the great ideas and points of most interest. And the names able to move them forward. Think visionary. Think Harmattan. Squeeze your brains showing that you are getting it so right.

General needs
In trying to move outside the PIM-trap, please list here the things you want to do with your tablet related to managing your daily life. Who knows, maybe there are better ways of doing "PIM" besides of the regular Calendar+Todo+Addresses approach.


 * Knowing where I need to be today
 * Knowing where I need to be next
 * Knowing where I was last friday at four


 * Knowing when I have free time next week / month
 * Knowing if I'm free tomorrow at six


 * Knowing the context of my events (work, studying, hobbies, friends)


 * Seeing all the times I've been to place X or met person Y
 * Having the device notify me if it notices that I'm running late or forgetting something (GPS, location awareness?)


 * Using the data from my previous calendar when migrating to tablets
 * Browsing my events on my computer and cell phone. I should have all the contacts from my cell and computer on the tablet, and changes should be updated elsewhere automatically.


 * Making notes quick
 * Finding my notes later easily
 * Classifying my notes (work, school, misc.)


 * Initiating a phone call to my friend from my tablet

naranek


 * Getting related information I'm not actively looking for as a side effect:
 * Postal addresses show up in map application as POIs (get people-related info when I'm not in "Contacts")
 * Instant messaging application highlights contacts with birthdays (get time-related info when I'm not in "Calendar") ossi1967 12:52, 31 October 2008 (UTC)

Let's not forget there's a context outside Maemo - Ovi.com, the user's dektop etc. - Regardless of the necessity to "think outside the box", do we have a common understanding that when we say PIM, it means at least Calendar+Todo+Addresses+Notes+Syncing? ossi1967 09:17, 31 October 2008 (UTC)

Personally only use the calendar from the usual PIM software, so I hope others can chime in on the needs that the other software fills. We certainly shouldn't limit ourselves to anything at this point. (I also have trouble staying logged in so I'm writing anonymously. Sorry about that.) naranek

General/shared features
SIMPLE views for the UI dialogs. most of the time as a user I do not require all these things, yes we need them there, but an option to dumb down or remove the extra stuff would be really important to me.
 * for instance, most todo items for me simply need a description, once they are on the list I know they need doing

--lcuk 22:25, 30 October 2008 (UTC)

The GTD philosophy is to collect simply and easily, and process later. A quick entry option would be wise - or a tabbed interface like mCalendar or Pimlico Dates.- boxofsnoo

Allow items to be tagged with more than one tag and allow filtering on multiple tags.
 * So, a contact may work for Company X, be alumnus of school Y and be a part of SIG A. I would like to be able to assign tags "X", "Y", and "SIG A" and later filter on any of these tags to find all my contacts who work for "X" and were once in "Y" etc.

-- cyta

Some things aren't essential but really help. For example, a context-sensitive zoom... for example, in Pocket Informant, you tap on a day in the month grid and that day grows to take most of the grid space, and everything else squashes down to minimum size.

Palm's newer address books did this too, as you scrolled through the names with the hardware keys, the currently selected one was double the height, and had much bigger fonts.

I can see how this could extend also to the todo list, too --boxofsnoo 01:38, 31 October 2008 (UTC)

the current app manager kindof does this --lcuk 19:47, 2 November 2008 (UTC)

Calendar

 * 1) * Calendar function with iCal support - import/export functions
 * 2) * Multiple calendars (ie. work, home, hobbies, school..)
 * 3) * Interaction (or import from) with Web enabled calendars - namely Google, Zoho Planner, 30 Boxes
 * 4) * Integrate Calendar with Addressbook component - for easy inter communication between apps
 * 5) ** Automatically import anniversairies and birthdays from addressbook oponent and calculate (current age e.g.) - asys3
 * 6) *** Do we want to "import" as in "import once" or do we want to automatically have birthdays/anniversaries displayed in calendar if option checked? I'd prefer the automatic way. ossi1967 12:37, 31 October 2008 (UTC)
 * 7) * Interact Calendar with Web Browser - so as to enable opening a web link from a Calendar event directly
 * 8) * Allow generic and open format of Calendar data - so that it can be used by 3rd party apps as well (i.e. sqlite)
 * 9) * Synching
 * 10) ** Support syncml to synchronize dates to mobile phone and a server pim database (e.g. funambol, evolution) - asys3
 * 11) ** Support CalDAV - boxofsnoo
 * 12) ** Support synching over bluetooth and wlan - asys3
 * 13) * Interaction with email program - allow to open a mail with a specific date attached - asys3
 * 14) ** Better yet, copy the mail body into the notes field of the event. - boxofsnoo
 * 15) * Monthly grid view
 * 16) ** Multi-day events - boxofsnoo
 * 17) ** Multiple calendars - boxofsnoo
 * 18) ** Quick-glance task identification - icons? - boxofsnoo
 * 19) * Integrate to-do items into schedule - items with no date should show up on 'today' - boxofsnoo
 * 20) ** wouldn't that get very messy quickly? have options for the display [ ] events [ ] tasks [ ] mails ... ? --lcuk 22:40, 30 October 2008 (UTC)
 * 21) *** most PIM apps on, say, Palm do this already. The options are typically to hide undated, or only show tasks that are pending. Mails are completely unnecessary, if it's a task that's mailed, it will typically already be converted into one or the other. - boxofsnoo
 * 22) * Repeating events - vre
 * 23) ** Repeating options similar as in GPE or in Date Book for PalmOS (check Garnet VM)
 * 24) ** An event can be changed so that all occurences change accordingly
 * 25) ** An event can be removed from the middle of repeat
 * 26) ** Events can be removed for a period, or for all future events from the selected day
 * 27) ** An individual event's time/date can be adjusted so that the other occurences does not change (decoupling)
 * 28) ** An individual event can be renamed without changing the rest of the occurences (decoupling)

Address Book

 * 1) * import/export functions
 * 2) * Integration with the Calendar component - allow for cross application interaction
 * 3) * Import/export from web Contact apps - namely Google Contact, Yahoo Address Book etc.
 * 4) * Allow user added fields (e.g. 4 mobile phone numbers if needed, 2 URLs for office/private website) - asys3
 * 5) * Either allow multiple format masks for fields like phone numbers or do not enforce a format on them.
 * 6) ** (E.g. "US" formatted phone numbers just look wrong in other countries) - cyta
 * 7) ** Agreed, most of the best contact apps do not enforce formats. - boxofsnoo
 * 8) ** Still: Assuming that voice call applications will access the data, we face the following problem: Synced data ends up on or, more likely, comes from the cell phone. A lot of people follow the carriers' advice and use the international prefix there. (like "+431555123" for the number 555123 in vienna (01), austria (0043).) VoIP-carriers sometimes don't handle this well and expect 0+area code+number instead or 00+country code+area code+number for international calls. This is most annoying and currently prevents dialling directly from the address book. One possible solution would be to have each voice call application handle this. The other would be to offer a call to the PIM-database for such applications to retrieve "+"-prefixed numbers in a user-defined way, like: "replace +43 with 0". Having this boring part centralized in the PIM-framework could even make it more powerful: in combination with a geolocation-API, the rules could depend on where I am. (if I'm abroad, replace +43 with 0043) - nobody would do something like this for only 1 voip application, so it'd be cool to have it in the PIM. ossi1967 19:02, 1 November 2008 (UTC)
 * 9) * Integrate with Maemo email client - so as to allow selection/adding to and from the addressbook and email client together
 * 10) * Allow active web links from any contact information to interact with Web browser.
 * 11) * Allow generic and open format of Calendar data - so that it can be used by 3rd party apps as well
 * 12) ** should be VCARD - look for best suitable VCARD definition - asys3
 * 13) * Synching
 * 14) ** Support syncml to synchronize contacts to mobile phone and a server pim database (e.g. funambol, evolution) - asys3
 * 15) ** Support synching over bluetooth and wlan - asys3

ToDo List

 * 1) * Items should have start date, deadline, priority, tags as well as description and completed (and completion date).
 * 2) * Should optionally be finger-friendly (especially relevant for to-do lists)
 * 3) * Subtasks/Projects
 * 4) * Integration with sites like ToodleDo or RememberTheMilk.
 * 5) * Recurring tasks
 * 6) * Categorized/tagged filtered view
 * 7) * Include options for items to fire an alarm not only at a certain time, but also at a certain place ("remind me when I'm at...")
 * 8) * Make tasks visible in calendar too, start date to deadline (similar to no time event in PalmOs date book)
 * 9) * After completing: hide or show as done (this could be adjustable view from a menu)
 * 10) * Multiple lists (home, work, hobbies) - basically a tag also.. but tied with calendar and addressbook and their separate groupings
 * 11) * Should be viewable (and zoomable) by context or tag. Zoom will take the current filtered/grouped level and elevate it to the top or root level, so that nothing else is visible.  Good for focusing on a project, or showing tasks only relevant to a context ("At Office", "Out shopping")

Syncing

 * Sync on a per-profile basis; (Nokia could pre-configure profiles like Ovi)
 * Sync from/to desktop as well as to services on the internet
 * Let user define sync options (refresh from server, overwrite, sync 2 ways....)
 * Maybe central place in settings or in a dedicated sync application to do these settings. "Sync now!" only from applications. (Simpler this way?) ossi1967 12:53, 31 October 2008 (UTC)

User Interface Considerations
There's a choice between the "one application PIM suite" (as Outlook, Evolution) and many smaller applications. I guess on a tablet it makes sense to offer smaller "per-use-case"-applications the way the Pimlico suit currently does. ossi1967 09:51, 31 October 2008 (UTC)

Here is an example of a per-use-case approach. This won't be useable for all use cases of calendar, but for browsing on the move this would be great, because it is also very easy to use with the 4-way navigator. The idea is presenting the calendar as a menu where you navigate toward the information you want. It doesn't require starting a separate program, just start clicking from a calendar button.

Because of Bug 3378 I can't add the images to the wiki, but see the following links to see what I mean. Image 1 Image 2 Image 3 Image 4 Image 5 Image 6 Image 7 I made a quick & dirty demo with the bookmarks. You can try it yourself by downloading and importing this file to bookmarks: I have only filled one day and made paths that lead to it from week, month and year routes so you get the idea. The numbers are there mostly to keep the items in order. This would need a nicer way of going back in the structure, and browsing long lists up and down, but it's just quick & dirty prototyping anyway. naranek 80.221.22.253 10:14, 1 November 2008 (UTC)

Technical Design Considerations
I'd appreciate a design where we concentrate an application framework for data storage and retrieval. This should be the central part of the OS and used by stock applications as well as 3rd party apps. End user applications like "Address Book" and "Calendar" or "Syncing" access this database, but can be changed by the user without loosing data. This way, it's also easier to avoid the "PIM trap" (who coined this phrase?) because there's no need to built the one great PIM application. A map application (instead of Contacts) can show postal addresses as POIs, a IM roaster (instead of Calendar) can highlight people with birthdays today or within one week, ... PIM mashups instead of PIM trap. ossi1967 12:42, 31 October 2008 (UTC)

Status of current PIM apps
Could we list what's good and what's missing in the various current PIMs? Might give us an idea of where to start improving things (especially for those who've not used all of them)

I've started with a few apps I could find, there are doubtless others, please add them (and urls, and change the urls there if there's something better) --Lardman 30 Oct 2008 21:56 UTC

Pimlico Dates
http://www.pimlico-project.org/dates.html

Bad

 * Seems like its no longer actively developed for Maemo

Pimlico Tasks
http://www.pimlico-project.org/tasks.html

Bad

 * Seems like its no longer actively developed for Maemo

Pimlico Contact
http://www.pimlico-project.org/contacts.html

Good

 * Same database as stock "Contacts" application; works as extended view to postal address and other data stored on the tablet, but not shown normally
 * Part of an already usable workflow that includes syncing with SyncEvolution

Bad

 * Seems like its no longer actively developed for Maemo
 * Bad cosmetics. Looks terrible.

GPE Calendar
http://gpe.handhelds.org/projects/GPE-calendar.shtml

Good
Has :
 * Day view
 * Week view
 * Month view
 * List view

Can publish/retrieve to/from remote iCal servers (eg eGroupware)

Has multiple calendars (eg remote, work, social)

Has reminder service

Can publish/export as iCal

Bad

 * Missing Native sync support
 * No Two-week (or 3-day) grid view
 * No Year view
 * Missing Per task formatting (icons would be nice) --boxofsnoo 21:00, 30 October 2008 (UTC)
 * No options for start/stop of the day, or time increments (15 min, 30 min, 1 hour)
 * No options for non-shaded/combined weekends
 * Slows down to a crawl when there are a lot of events in the database.
 * Editing repeating event changes all occurences and delete removes current or current and all future, no other options
 * When entering an new event, end date(+time) does not automatically update when start date(+time) changes
 * When entering an new event it takes much more work to change time and date that for example on Date Book on PalmOS (check GarnetVM)

Good

 * Categories
 * Ability to purge completed tasks

Bad

 * Buttons are too tiny, even for stylus use
 * No subtasks/projects or tags
 * No start date
 * No integration with calendar (apart from applet)
 * No alarms on due date

Good

 * Quick lookup 3-letter tabs on left
 * Search
 * Categories

Bad

 * Does not integrate with Mail
 * then probably doesn't integrate at all, right? (IM, internet call...) ossi1967 18:44, 31 October 2008 (UTC)


 * First, Last name display is not configurable, sort looks off
 * First, Last name parsing is often wrong. Needs at least 2 separate fields

mCalendar
http://www.khertan.net/mcalendar.php

Good

 * finger friendly
 * in active development
 * desktop integration
 * maemo targeted

Bad

 * Grid views missing
 * Can't deselect an online calendar from sync - all or nothing
 * Can't enter tasks into subcalendars
 * Tied only to Google calendar
 * No iCal import

slapd
Small but fully featured addressbook engine

kdepimpi
https://garage.maemo.org/projects/kdepimpi/
 * For more information please see: http://www.internettablettalk.com/forums/showthread.php?t=15566

osmo
Preliminary port. The 0.2.2 port is compiled with experimental SyncML but does not support some newer features (such as exporting iCal). The 0.2.4 port is compiled without experimental SyncML support.

Good

 * Supports SyncML (experimental)
 * Supports iCal (import & export)
 * Supports birthdays
 * Supports calendar (including day, week, month, year, moon, zodiac details)
 * Supports todo list
 * Supports contacts list
 * Supports notes with encrypted storage using libgringotts
 * Supports libnotify
 * Supports striking out past events, placing accent on deadlines or due events
 * Customizable colours and fonts

Bad

 * While GTK2, not Hildonized nor very touch _finger_ friendly (stylus usage is OK)
 * While has option to invoke 'tinygui' with argument -t or --tinygui this does not work well (on the NIT?)

SyncEvolution
http://www.estamos.de/projects/SyncML/

Good

 * Syncs Contacts and Events via SyncML servers (like ScheduleWorld.com)
 * Result fully integrated with stock applications as well as Pimlico Dates/Contacts
 * Great customization
 * Works well in daily use

Bad

 * Command line only, need to edit config files
 * No direct syncing (desktop to tablet)

Other links

 * http://chandlerproject.org/
 * http://sourceforge.net/projects/osmo-pim --Lardman 1 Nov 2008 10:17 UTC