panna: (Default)
panna ([personal profile] panna) wrote in [site community profile] dw_dev2010-03-25 12:55 pm
Entry tags:

Calendar functionality (GSOC 2010)

Hello!

I'll very shortly introduce myself here, just not to be out of the blue :P :
I'm Ania, a Computer Science student from Gdynia, Poland who would like to participate in this year's Google Summer of Code (GSOC). 

And - yes!- the point:
I'd be pleased to create a tool that would be useful for DreamWidth Members: a calendar - on-line time organizer. ( http://wiki.dwscoalition.org/notes/Summer_of_code#Calendar_Functionality )

I would do as much as I can to create a practical, intuitive and configurable tool that could meet Your expectations, therefore I'd be very thankful for any requests, suggestions, advice.
 
Below I attach an outline of the calendar functionality. It bases on the requirements from Dreamwidth GSOC ideas page and the research I conducted among my family and friends about the functionality that they look for in this kind of utilities or they think this tools lack of: 
 
 
I TECHNICAL FEATURES
 
1. Synchronization handling (proposition below is a open list of possible options): 
a. iCalendar format (RFC2445) - used e.g. in Google calendar
b. CSV format
 
2. Exporting calendar to printable format
 
 
II USER FEATURES
 
 3. Multiple calendars
- Calendars may share information with each other
 
4. Events
a. Relating events to categories
  b. Support for recurring events
- Choice of recur period
c. Possibility to set a note
d. Possibility to assign file, etc
e. Possibility to assign to persons, groups...
 
5. Group events
a. Group events - possibility to create events shown in group members calendars
b. Event invitations
 
6. Notifications (highlighting on calendar, pop-ups, email)
a. Reminder of incoming events
b. Reminding of past - not done events
 
7. Reconfigurability and personalization
a. User's ability to control calendar's visibility (public, private, among group)
b. Calendar features personalization
c. Configurable time zone
d. Configurable calendars days (e.g. Mon-Fri), hours, …
e. Configurable design
 
8. Design
a. Skin personalization
b. Coloring events depending on it's category, priority
c. Highlighting events that are of a high priority, are already delayed, etc...
d. Pinning images in the background of an event/day/… view
 
9. Searching
a. Pick a data/month/year and search through the portal for specified by User data, events
b. Displaying history concerning specific category, person meet, etc
 
10. Others
a. Todo notes -> events to place in time in the future
b. Events -> todo notes  -possibility to "unschedule" an event
 
 
III WORTH CONSIDERATION
 
11. Interesting fields to look at
a. Weather calendar
- Displaying background views for e.g. future week weather
- Retrieving data from web service
 
b. Sms notification about important events
- Possible only for particular phone operators
 
c. Integration with MS Outlook



Once again - I'd be very thankful for any comment, suggestion or criticism and for your attitude to this subject. I'm looking very forward to this.

Thanks!
cesy: "Cesy" - An old-fashioned quill and ink (Default)

[personal profile] cesy 2010-03-25 12:11 pm (UTC)(link)
How would group calendar events interact with communities or custom access groups?
cesy: "Cesy" - An old-fashioned quill and ink (Default)

Re: Group calendar events

[personal profile] cesy 2010-03-25 01:31 pm (UTC)(link)
So you'd be able to invite everyone in a comm to an event, or invite an on-fly-list, or a custom access group that you have set up? Or would each community have a calendar, and members would see community events on their calendar?

If every calendar has a list of people with defined rights, would this be updated automatically if you give someone new permissions in the community (e.g. posting access) or would it be separate? Would "editing the calendar" be a new level between posting access and moderator?

Would it be easy to allow all your access list to see your calendar but no-one else, or all of a custom access group but no-one else, and have it update automatically when that access group changes?
cesy: "Cesy" - An old-fashioned quill and ink (Default)

Re: Group calendar events

[personal profile] cesy 2010-03-26 07:42 am (UTC)(link)
No problem, and thanks for clarifying :) This sounds good.
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

Re: Group calendar events

[staff profile] denise 2010-03-26 07:54 am (UTC)(link)
This looks very well thought out -- I'm really impressed by the effort you've put into this so far! Taking the time to draw pictures is always appreciated. :)

I think that the best way to handle these security questions would be an option at the time of creating the calendar -- I like what Google Docs does, where you can have a public document or an invite-only document. Maybe we could make it so that calendars were public (and listed, linked off the profile, like right next to tags and memories), access-locked (listed linked off the profile, visible to all people on your access list), custom group locked (listed linked off the profile, visible to all people in a custom group), or invite-only (not listed linked off the profile, viewable only through the invite link until you become a 'member' of that calendar) -- making invites essentially an access group without having to form an actual access group.

I particularly like your attitude on options. There's a careful balance between making something have enough options to be useful, and making something have too many options and be confusing!

And yes, we would absolutely post an entry asking people what they would want to see in a system like this. Our users are very, very good at giving their opinions. :)
yvi: (Dreamwidth - Developer: winter)

Re: Group calendar events

[personal profile] yvi 2010-03-29 12:53 pm (UTC)(link)
May I just say how impressed I am by this project plan so far? Because I am :)
afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)

Re: Group calendar events

[personal profile] afuna 2010-03-29 02:06 pm (UTC)(link)
Count me as another one who's impressed and excited by what I've seen so far!
northern: "northern" written in gray text across a raven (Default)

[personal profile] northern 2010-03-25 12:44 pm (UTC)(link)
Sounds like a great thing to do! Good luck!
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2010-03-25 01:35 pm (UTC)(link)
This looks like a great start!

The major piece of feedback I have: it would be very good to tie this in to the existing security models we have (access list/custom access groups). That way, people could put events on their calendar that were only visible to people they'd given access to, or create new access groups ("everyone but Denise") and make events visible to those. (That would be particularly useful for, say, planning someone's surprise birthday party.)

In general, DW users are very concerned about privacy and security, which is something to keep in mind as you design things: people want to make sure that things are seen only by the people who they let see them.
msilverstar: (corset)

[personal profile] msilverstar 2010-03-25 05:31 pm (UTC)(link)
+1 - definitely a primary requirement
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2010-03-25 07:51 pm (UTC)(link)
Yeah... and just to break this down very simply, Dreamwidth offers four security levels people can use:

a) Public. This generally allows everybody to see it, even if you're an anonymous user with no account. (I.e., allows logged out usage.)

(Sometimes we have the security level 'Registered Users' which allows anybody who is logged in to see the data. We don't often use this though, so there would have to be a strong argument for including this security level in the calendaring project.)

b) Access Only. Dreamwidth allows you to grant access to other accounts. When something is posted with the Access Only security level, only people to whom you have granted access can see it.

c) Custom Access Groups. The site allows you to create up to 60 groups that you can customize. For example, I have a group that contains only the people I have met in person. I have another group that only includes my family. These access groups can be used to secure content to: I can write a post and say that only the 'My Family' access group can see it.

d) Private. Only the original author can see the content. This is the most restrictive of the access levels.

The four main levels will need to be represented in the calendaring system... i.e., any place that you have the users do something that will make information available online, they should have a choice of who can see that information.

Other than that, this looks like a great start. If you have any questions or anything, let us know!
libitina: Wei Yingluo from Story of Yanxi Palace in full fancy costume holding a gaiwan and sipping tea (Default)

[personal profile] libitina 2010-04-06 12:04 am (UTC)(link)
I haven't commented on this post, but when the call went out to remind people about how few positions there were available this summer, I immediately thought about this proposal.

My calendar is one of the areas where I'm still wibbling over privacy and just how much I want google to know about me, which is why I am hand typing out my scheduling into a dreamwidth post to share, instead of using a google calendar... but if this turns out as easy and awesome as it might, I could be persuaded to let google know when I'll be visiting my grandmother.

I love scheduling.
brownbetty: (Default)

[personal profile] brownbetty 2010-03-25 04:53 pm (UTC)(link)
I have always wanted to be able to track my period on-line using a service that I already am subscribed to, so if events could be set to private or semi-private (using the existing DW WTF groups?) that would be pretty super.
cesy: "Cesy" - An old-fashioned quill and ink (Default)

[personal profile] cesy 2010-03-25 07:32 pm (UTC)(link)
Have you come across MonthlyInfo.com? I've found it very useful for email reminders.
dimitar: Hiking in the Alps (Default)

[personal profile] dimitar 2010-04-04 01:25 am (UTC)(link)
Some support from a fellow GSoC student - this looks totally awesome! Inspiring me to put some more effort in my proposal :)
dimitar: Hiking in the Alps (Default)

[personal profile] dimitar 2010-04-06 06:35 pm (UTC)(link)
Hehe thanks :) Good luck with your proposal btw!
cesy: "Cesy" - An old-fashioned quill and ink (Default)

Re: Functionalities summary

[personal profile] cesy 2010-04-07 11:57 am (UTC)(link)
This community probably is the best place to post things like this, or you can post them in your own journal and link to them from an entry here, to save space on people's reading pages. Posting them in a new entry is probably better than just a comment on an old entry, though, as people won't notice unless they're tracking the entry.

Also, if you have a paid account ($3 for a month) you can edit your comments, which is sometimes useful.
Edited 2010-04-07 11:59 (UTC)
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

Re: Functionalities summary

[staff profile] denise 2010-04-07 07:04 pm (UTC)(link)
What [personal profile] cesy said -- it's best to post a new entry for this, since most people don't check back once something falls off their reading page :)