[GSoC 2017] Calendar Application
Hello I'm Akshay (IRC/Trac: akshay, GitHub: AkshayAgarwal007) from Kolkata, India. I would be working on developing a native Calendar Application for Haiku as a part of Google Summer of Code 2017. My mentors for the project are Scott McCreary and Kacper Kasper. I am very excited for this project.
Why a Calendar Application? Isn’t there already one?
A Calendar application is a must have application for any operating system and would be beneficial for end users as well as developers. Haiku doesn’t have a calendar application yet. There are a few existing 3rd party Calendar apps out there, but none are close to a simple and elegant Calendar app that an end user would like to use, with all the necessary features a modern Calendar app should have.
Features the Calendar app would have
I reviewed a bunch of Calendar apps on other platforms and came up with a subset of necessary features to be implemented:
- Create, modify and synchronise events.
- Set event reminders.
- Display Day, Month Calendar views.
- Set event color.
- All day long events, recurring events.
- Google Calendar integration.
- A minimal look with intuitive UI design.
These are the features that I plan to work upon after GSoC:
- Support for alternate calendars.
- Categorize events.
- Search for events.
- Week, Year View.
- Timeline view for a single day/week.
Google Calendar Integration
This is one of the most important feature the Calendar app would have. It is a must have so that the users can get their events synchronised between devices and other platforms they use. Since almost all the calendar apps have a Google Calendar integration, this would be the best way to achieve event synchronisation.
A Google Calendar API client would be written using Haiku APIs and would be integrated into the application.
These are some tentative designs for the Calendar application.
- I would be coming up with a final design for this, incorporating all the options required for supporting recurring events and an event color picker.
- All day long events would be pinned to the top.
- Right click on an event will open a context menu with three options (View, Modify, Delete)
- View will open the entire event details in read only mode. Modify and Delete options would also be available inside View mode.
- Using the calendar widget in the side panel, user can navigate through months. Buttons to navigate one month at a time can be replaced by a dropdown to simply select month+year for user’s ease.
- Clicking on a particular day in month view will show events of that day in side panel.
- Again the buttons to navigate one month/year at a time can be replaced by a dropdown to simply select month+year for user’s ease.
I would be finalising the user interface design in the upcoming week and suggestions from you all would be highly valuable for the same.
I plan to use the following icons in the application (icons be Michele Frau [Zumi] are really cool):
- Main Application icon:
- Add Event toolbar icon:
- I would be needing a Calendar toolbar icon similar to one in the wireframes.
Apart from this I would also be working on to improve date/time classes in Haiku as required for the application.
- [GSoC 2017] Porting Swift to Haiku - Week #1 / #2
- [GSoC 2017] Preferences GUI Refactoring - Weekly Report 1
- [GSoC 2017: Harfbuzz] Week #1 #2 of Community Bond
- [GSoC 2017 - BTRFS Write Supports] Week #2
- [GSoC 2017] 3D Hardware Acceleration - Weekly Report 1
- [GSoC 2017] First two weeks of Community Bonding
- [GSoC 2017] Porting the Swift Programming Language to Haiku
- [GSOC 2017] Tcp optimization and fine tuning
- [GSoC 2017] Adding write supports for Btrfs
- [GSoC 2017] Calendar Application