This page started as a consequence of this ITt thread: 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.


[edit] 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


  • 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

[edit] Desired Features

[edit] 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)

[edit] Calendar

    • Calendar function with iCal support - import/export functions
    • Multiple calendars (ie. work, home, hobbies, school..)
    • Interaction (or import from) with Web enabled calendars - namely Google, Zoho Planner, 30 Boxes
    • Integrate Calendar with Addressbook component - for easy inter communication between apps
      • Automatically import anniversairies and birthdays from addressbook oponent and calculate (current age e.g.) - asys3
        • 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)
    • Interact Calendar with Web Browser - so as to enable opening a web link from a Calendar event directly
    • Allow generic and open format of Calendar data - so that it can be used by 3rd party apps as well (i.e. sqlite)
    • Synching
      • Support syncml to synchronize dates to mobile phone and a server pim database (e.g. funambol, evolution) - asys3
      • Support CalDAV - boxofsnoo
      • Support synching over bluetooth and wlan - asys3
      • Support synching with OpenSync to allow syncing with widest range of other applications (including kdepim and evolution) - gcobb
      • Support direct syncing with Outlook (over BT, USB, WiFi) -- it may be evil but it is by far the dominant requirement for anyone in business - gcobb
    • Interaction with email program - allow to open a mail with a specific date attached - asys3
      • Better yet, copy the mail body into the notes field of the event. - boxofsnoo
      • And send and receive meeting requests (iCalendar format) by email, with Accept, Decline, Tentative responses - gcobb
    • Monthly grid view
    • Integrate to-do items into schedule - items with no date should show up on 'today' - boxofsnoo
      • wouldn't that get very messy quickly? have options for the display [ ] events [ ] tasks [ ] mails ... ? --lcuk 22:40, 30 October 2008 (UTC)
        • 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
    • Repeating events - vre
      • Repeating options similar as in GPE or in Date Book for PalmOS (check Garnet VM)
      • An event can be changed so that all occurences change accordingly
      • An event can be removed from the middle of repeat
      • Events can be removed for a period, or for all future events from the selected day
      • An individual event's time/date can be adjusted so that the other occurences does not change (decoupling)
      • An individual event can be renamed without changing the rest of the occurences (decoupling)
    • Alarms should integrate with the alarm daemon (allow alarms to wake up device when off, etc.) --davidgro 11:10, 10 February 2009 (UTC)
    • Types of repeating events - tor (copied from an ITT posting about Palm repeating events)
      • Daily until..
      • Every week (on day)
      • Every other week (on day)
      • Every month (on day)
      • Every year (on date)
      • Every N day(s) until date (or forever)
      • Every N week(s) until date (or forever), on e.g. Thursday
      • Every N month(s) until date (or forever), e.g. the 27th of that month
      • Every N month(s) until date (or forever), e.g. the 4th Thursday of that month
      • Every N year(s), until date (or forever), e.g. November 27th every year
    • Good support for timezones, including plane journeys that start and end in different timezones. At least the back end and iCal import/export should handle them correctly, preserving timezone information if and when it exists. (matthew_exon - this stuff has caused me enough trouble I've resorted to writing this to work around it.) Use cases:
      • I work in Sydney. A colleague in San Francisco invites me (with an iCal file) to a weekly conference call at 09:00 every Wednesday, SF time. When daylight savings switches in either SF or Sydney, the appointment adjusts accordingly, so that it's always 09:00 SF time. For bonus points, calendar gives me an extra warning whenever any timezone I have appointments in has an upcoming daylight savings change. "Daylight savings starts in the USA on Sunday. The following appointments will be an hour earlier: (shows my American appointments)". Then, a couple of weeks later, "Daylight savings ends in New South Wales on Sunday. The following appointments will be an hour earlier: (also shows my American appointments)".
      • I've booked a flight from Auckland, New Zealand, to Los Angeles. It leaves on Monday at 17:30 New Zealand time, and arrives at 11:45 the same day LA time. Notice that it arrives before it leaves - the UI shouldn't barf at this! I want to email this appointment to a friend as an iCal file so that he can pick me up at the airport.
      • I work in London, but I'll be in New York for three days from next Tuesday. I schedule an automatic timezone change for 13:00 that day. There's a time difference of 5 hours, so next Tuesday is shown as having 29 hours, with the hours 08:00 to 13:00 appearing twice. For the three days I'm in New York, the calendar shows New York time, for the days before and after London time. That way I can, right now, add appointments in both London and New York, without having to calculate timezone offsets in my head every time.
        • Is it really necessary for Tuesday to be shown as having 29 hours? It would seem better just to have the UI allow you to change the time zone as required. Having 29 hours in the same day due to a transit raises many issues that might not be worth the development cost of dealing with (even dealing with daylight savings time adjustments correctly raises so many issues that most calendaring applications do not deal with it correctly, or even at all). Consider this:
          • Taking a trip to just the other side of the date line may result in arriving the day before you leave. This cannot be dealt with using a longer or shorter day alone (although it could be dealt with by two duplicated short days, however the SYD-LAX case could also be dealt with by a single duplicated short day)
          • In a multi-day view there should be some synchronisation between the times on the multi-day view. I have yet to see a published calendaring application that does this correctly for the daylight savings case. Doing so for a time zone change due to travel would result in a lot of extra blank space on the screen.
          • How would you propose to deal with recurring appointments intersecting the transition? (This is a problem for daylight savings transitions too, but would be worse in this case).
          • Having said all that this is not impossible. It could be mostly dealt with by including an internal (to the application) time zone that has additional adjustments (although going backwards a day could not be), but see below.
          • Consider an East Coast business person with the trip set out below. You have four transitions in the one day (including the daylight savings to standard time transition in the morning). Reading the single day view is somewhat of a challenge because there are multiple duplicate time spans, and some of them do not occur on the hour, requiring additional horizontal lines to mark the time zone transition. The days before and after need multiple transition periods (in a multi-day view) where a gap is displayed in the day (so as to attempt to line up "correctly" with this day).
            • On the day that daylight savings ends, start in New York City at 6:00am (ExT) on UA7660.
            • Arrive in Chicago at 11:05am (CxT).
            • Conduct a meeting at the airport from 12:00pm to 1:00pm. Yes, it is Sunday, but our business person is an orthodox Jew, so his Sabbath was the day before and conducting business on a Sunday seems a perfectly natural thing for him to do.
            • Leave Chicago at 2:46pm on UA220.
            • Arrive in Denver at 4:24pm (MxT).
            • Conduct a meeting at the airport from 5:00pm to 5:30pm.
            • Leave Denver at 6:05pm on UA498
            • Arrive in LA at 7:32pm (PxT)
            • (Amazingly, on this day, all the flights depart and arrive precisely on time).

[edit] Address Book

    • import/export functions
    • Integration with the Calendar component - allow for cross application interaction
    • Import/export from web Contact apps - namely Google Contact, Yahoo Address Book etc.
    • Allow user added fields (e.g. 4 mobile phone numbers if needed, 2 URLs for office/private website) - asys3
    • Either allow multiple format masks for fields like phone numbers or do not enforce a format on them.
      • (E.g. "US" formatted phone numbers just look wrong in other countries) - cyta
      • Agreed, most of the best contact apps do not enforce formats. - boxofsnoo
      • 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)
    • Integrate with Maemo email client - so as to allow selection/adding to and from the addressbook and email client together
    • Allow active web links from any contact information to interact with Web browser.
    • Allow generic and open format of Calendar data - so that it can be used by 3rd party apps as well
      • should be VCARD - look for best suitable VCARD definition - asys3
      • That would be vCard 3.0, specified in RFC 2425 and RFC 2426. But this is for import/export, not for the application data - gcobb
    • Synching
      • Support syncml to synchronize contacts to mobile phone and a server pim database (e.g. funambol, evolution) - asys3
      • Support synching over bluetooth and wlan - asys3
      • Support synching with OpenSync to allow syncing with widest range of other applications (including kdepim and evolution) - gcobb
      • Support direct syncing with Outlook (over BT, USB, WiFi) -- it may be evil but it is by far the dominant requirement for anyone in business - gcobb
    • Avoid the "first name / last name" thing. Where am I supposed to put the middle name? What about when my contact is a business name? And it causes lots of confusion for Chinese names where the family name is the first name. Better to just have a single "Name" field.

[edit] ToDo List

    • Items should have start date, deadline, priority, tags as well as description and completed (and completion date).
    • Should optionally be finger-friendly (especially relevant for to-do lists)
    • Subtasks/Projects - a 'hierarchical todo list', can include tick-box items, amount-completed for subtasks, and/or just headings (see prozect)
    • Integration with sites like ToodleDo or RememberTheMilk.
    • Recurring tasks
    • Categorized/tagged filtered view
    • 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...")
    • Make tasks visible in calendar too, start date to deadline (similar to no time event in PalmOs date book)
    • After completing: hide or show as done (this could be adjustable view from a menu)
    • Multiple lists (home, work, hobbies) - basically a tag also.. but tied with calendar and addressbook and their separate groupings
    • 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")
    • Synching
      • Support synching with OpenSync to allow syncing with widest range of other applications (including kdepim and evolution) - gcobb
      • Support direct syncing with Outlook (over BT, USB, WiFi) -- it may be evil but it is by far the dominant requirement for anyone in business - gcobb

[edit] 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)
  • Pay special attention to the way instant messaging Contacts are handled after a sync: Today it may happen that people from my XMPP roaster will end up as new contacts after a sync even though they already have a full entry (with phone number, postal address etc.) in the EDS database... The PIM framework needs a way to keep track of changes on both ends, instant messaging and sync interface, and at least try to re-apply roaster data to the correct contacts even after a full "overwrite from server"-sync. ossi1967 10:21, 24 November 2008 (UTC)
  • Strongly recommend adopting OpenSync as the sync tool: it either already handles or intends to handle the issues above (which are really very tough) -- no point in duplicating work - gcobb
  • Easy, single-button sync with paired mobile phone - gcobb

[edit] 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 suite 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 10:14, 1 November 2008 (UTC)

A team of UI designers from University of Michigan are sharing mock-ups and a Flash page describing the interface of a fictious application called Maemo Organizer. It'd be great if they could collaborate with one of the projects hereunder or developers interested in an organizer/PIM application. If you are currently designing such application consider to look at these mock-ups and the Flash page for inspiration --allnameswereout 13:31, 2 December 2008 (UTC)

[edit] 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)

[edit] 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

[edit] Pimlico Dates


[edit] Good

  • Synchronisation via syncevolution is possible and works well

[edit] Bad

  • Seems like its no longer actively developed for Maemo
  • Dreadful interface. Not intuitive.
  • Seems to switch appointments to other times randomly after tipping on an entry with the stylus.
  • No alarms.

[edit] Pimlico Tasks


[edit] Good

  • Simple order is probably good enough for most people
  • Entering tasks are drop dead simple

[edit] Bad

  • Has a bit of strange UI artifacts when attempting to modify a task
  • Does not go full screen in Maemo
  • Does not support alarms w/ task dates

[edit] Pimlico Contact


[edit] 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

[edit] Bad

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

[edit] GPE Calendar


[edit] 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

[edit] 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 occurrences, and delete removes current or current and all future, no other options
  • When entering a new event, end date(+time) does not automatically update when start date(+time) changes
  • When entering a new event it takes much more work to change time and date than for example on Date Book on PalmOS (check GarnetVM)
  • No snooze function on the alarm
  • No quick way to turn off the alarm when your tablets display is locked.

[edit] GPE To-do list

[edit] Good

  • Categories
  • Ability to purge completed tasks

[edit] 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

[edit] GPE Contacts

[edit] Good

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

[edit] 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

[edit] mCalendar


[edit] Good

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

[edit] Bad

  • Grid views missing
This seems to be fixed in last version (kup)
  • 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
  • Only What is synced from Google calendar, missing Where and Description

[edit] slapd

Small but fully featured addressbook engine

[edit] kdepimpi


[edit] Good

  • kdepimpi is a mature, very stable, working application under X11, Windows, and the Sharp Zaurus (OpenZaurus, ARM architecture)
  • the .deb packaged version of kdepimpi compiled for OESF installs and runs very, very well on the N810 (models with soft keyboards will probably not work as the package is not Hildonized). The libqt3 package is required.
  • the package currently meets about 90% of the Desired Features
  • the current port of kopi (the calendar/to-do list) is usable on a daily basis for simple uses for people very familiar with the program on other platforms and is a good proof-of-concept
  • the kopi calendar can be synchronized with a google calendar, via the PreSycn preferences setting to use "wget" to download the ICS version of the google calendar, and through GCALDaemon to upload the calendar back to google.
  • the source code and overall package status are of enough quality that even someone with my (z2n) limited development expertise was able to do the basic port to Maemo. I estimate that a fully Hildonized port to Maemo would not be difficult for a skilled developer.

[edit] Bad

  • the Maemo port far from complete and is not currently usable for novices...the GUI is lacking menus and icons, making navigation difficult at best
  • only the kopi (calendar/to-do) application has been ported
  • the installation procedure is not ready for general use (requires dpkg -i --force-depends, manual ldconfig, etc.)
  • the current installation doesn't provide desktop launcher (menu entries)
  • Does not work with a soft keyboard for n800 users
  • The battery seems to run down quickly if kdepimpi is left running
  • Most of the dialogs are too large for the screen so controls are off the bottom of the screen.
  • The menu takes up screen space because the app is not hildonized.
  • There is no full screen mode.
  • Cannot type anything requiring the "Fn" key (or "Chr" key) into the edit boxes.

[edit] 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.

[edit] 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

[edit] 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?)
  • Ugly interface. Has that windows 3.1 feel about it.

[edit] SyncEvolution


[edit] 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

[edit] Bad

  • Command line only, need to edit config files
  • No direct syncing (desktop to tablet)
  • No sync of GPE calendar entries

[edit] Gene Cash

Chinook/Diablo version at https://garage.maemo.org/projects/genecash-pim

[edit] Good

  • can sync from ical (eg google) although only about 90%
  • has an agenda where the next month's dates are shown
  • can choose to show day/week/month/year
  • has recurring apointments although not of the "3rd weekend in July" variety
  • uses Maemo alarm and alarms happen even if calendar not loaded
  • exports to iCal

[edit] Bad

  • Agenda can have a single appointment repeated
  • tightly integrated with his ToDo app so that it fires up ToDo if that's not running when you create a new appointment
  • not finger friendly - buttons too small
  • updates take a long time, with little user feedback

[edit] Seqretary


[edit] Good

  • Actively being developed
  • Designed for Maemo on Nokia Internet Tablets
  • Calendaring, scheduling and alarms
  • Voice recording suitable for making notes and taking dictation

[edit] Bad

  • Still under development
  • Contact management, task management, and synchronisation not yet implemented

[edit] Other links

[edit] Unsorted