Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Is there a powerful open-source Google Calendar replacement?
219 points by kfrzcode on March 31, 2017 | hide | past | favorite | 101 comments
I realize calendars are not a simple tool to build well, but for such a basic standby of time management, I strive for a better, developer friendly, open source calendar system. Like what Atom did for text editors, to bring a powerful, well built basic toolset ready for modular extensibility and can run anywhere Node can.

(I use emacs, but you get my drift).

I would love to work on a project like this, if anyone is hiring or already pushing code to an open source repo I haven't found.

I have a 98% coverage of my time for the past two years and it's all in Google Calendar. I suspect there are many out there with dense calendars that would love to hack around in a friendlier environment.

Please advise.

Peace love and prosperity to the world.




We have a prototype at Nylas which is pretty awesome, but haven't had the time to really finish it. (Focus is important!)

Calendar apps are deceptively hard. Very tricky UI problems alongside super complicated data transformations you need to do across a fragmented ecosystem of ICS/etc. Making something "just work" takes an incredible amount of focused time from an entire engineering team.

But here's a peek anyway if you're curious: https://www.dropbox.com/s/j1ry3qar45ozj7m/nylas-calendar.png...

PS: we are hiring ;) feel free to ping me directly


I used to use nylas and I loved it, but the neverending upgrade to premium emails were bonkers. I still get the emails long after I've stopped using it and asked for them to stop on. ON EVERY SINGLE ACCOUNT I USED WITH NYLAS! The same email for every account. Accounts I'm fairly sure I never gave permission to be emailed at. I loved your product but tell your marketing/sales people to calm down, it drove this customer away.


Same here. Please nylas, stop the god damn spam.


Similarly, I've only added my email account to the desktop app (which should only act as a email client), and somehow they grabbed my email account and start spamming me.


Here's a blog post we wrote on RRULEs that just highlights one part of why calendars are hard: https://nylas.com/blog/rrules/


There's a book called "Dreaming in Code" which actually details how hard this problem was for a real project that ultimately failed. Good book for anyone who wants to read an account of a writer who followed an entire software team through the lifecycle of a product.


I'll second this recommendation. For a shorter take on it, Joel Spolsky's review of the book[^1] is a nice read.

[^1]: https://www.joelonsoftware.com/2007/01/21/the-big-picture/


If you do any serious calendar development, you should join CalConnect. This is where all the calendaring guys meet, work on the related RFCs (CalDAV, iCalendar) and do interoperability testing: https://www.calconnect.org Absolutely worth it.


Calendaring gals too.


The link to the rrule.js demo is broken; it has moved here: https://jakubroztocil.github.io/rrule/


Dates are one of those "way way harder than you think they are" topics.


I just started with with RRULEs using pg_rrule in postgres. How do you guys handle overrides and exceptions in your schema for the sync engine?


there's a lot interesting possibilities for you can handle this. for our sync engine at sunsama we've tried a few different approaches.

currently, we store the "parent" recurring event as one document. then we store exception events as standalone one off calendar events that link back to the parent recurring event. unfortunately, we have to maintain two different types of exploded versions of recurring events (to handle notes on an instance).

eventually, we added a bunch of extra fields to the parent event like a pointer to the next upcoming instance of this event and denormalized full list of exceptions so that we can more easily handle application logic like sending out reminders, and letting you use arrows to navigate b/w instance s of recurring events.

so far with this approach of separating out the parents and children we've run into very few problems.


I think DAViCal also used to process RRULEs directly within PostgreSQL, may be worth a look: https://gitlab.com/davical-project/davical


I would really prefer that you guys went away. Nothing you do is any good and the incessant spam I received for ever daring to try you out was completely unacceptable, as was the time it took to stop that spam after deleting my account.


This looks like a Sunrise replacement and that's awesome. How can I get notified when it's ready?


Is Nylas open source? The OP was looking for an open source alternative. It is not clear from you website whether Nylas is open source or not?


Their clients are.

However, you would gonna need their sync-engine[0] on your own servers in order to avoid contacting Nylas servers. From what I understand, it's kind of a cloud API that makes some sense out of emailing protocols.

[0] https://github.com/nylas/sync-engine



Not the OP, but the Nylas mail client is open source.

https://github.com/nylas/nylas-mail


Beautiful, I'm a big fan of Nylas and feel that calendar integration is the last piece for a really nice workflow.


I had been REALLY hoping this might happen. Goodness, even if it's rough I would love love love to use this


I'm actually a little curious as to what sort of workflow others are using for their calendars. Personally, I use a terminal/text based program named khal:

https://lostpackets.de/khal/

to view and edit calendar events and vdirsyncer:

https://vdirsyncer.pimutils.org/en/stable/

to sync this with my email provider, which supports CalDAV and CardDAV. I'm asking about others workflow because this simple setup allows easy access to calendars across multiple devices. Although I don't often do it because I don't have a need, vdirsyncer just dumps the CalDAV events into a folder in text format, so it's pretty easy just to write a shell script to modify, automate, or maintain calendar events. I also like it because it allows me to backup my calendars for record keeping sake.

Now, I don't claim that this setup is for everyone, but are there useful, interesting tricks that this workflow doesn't allow?


I use org mode for my calendar, which is great as it seamlessly integrates my ToDo with my Appointments.

At work we use Google Calendar extensively, which means other people often make appointments for me. To pull in and push items from my schedule.org, I use org-gcal - https://github.com/myuhe/org-gcal.el


This is great, I was looking for something similar when I was in org-gcal mode last year. I'll have to revisit this link


That does indeed look neat. At the same time, there are extensions to CalDAV that codify how to add scheduling to the standard. Namely, RFC 6638:

https://tools.ietf.org/html/rfc6638

Certainly, it's something that I wish khal had. This is why I think I'm missing something. Certainly, dealing with CalDAV is a pain because many programs don't produce standards compliant files. That said, it really just looks like a CalDAV server has a folder with a bunch of text files that contain the calendar information. If I want someone to have view only access to that folder, they have read access. If I want someone to have the ability to add calendar events to my schedule, they have read/write access. The file uploads look like they use WebDAV. Syncing across devices just means syncing to the folder on the server. Exotic calendar tricks can be handled either from a server side script or a client side script followed by a sync. Now, I wish that were easier and I think there's room for improvement especially in developing a language to make it easier to write these scripts. However, is there really something fundamental that this framework doesn't have that these other calendar programs provide?


All my actual calendar data is stored across many calendars: 2 Google calendars, Facebook, Meetup, Victorops and Workplace. I interface with all of them through aCalendar Android app.

https://play.google.com/store/apps/details?id=org.withouthat...


[I am sorry if this is slightly off topic but]

Oh god, talk about good timing. I just got a literal headache spending the last hour searching for a good cross-platform calendar AND todo app that would work on my Mac, and perhaps on Android (although that's bonus). And ideally I'd like to have integration with Trello, so I can schedule my work tasks into the day.

That would be the bee's knees, and improve my productivity noticeably. But alas, such magical software does not exist yet. This is probably the wrong thread as I would pay top dollar for such an app.

The problem with all todo and calendar apps is that nobody has managed to successfully combine the two. A calendar to list only events is of very limited utility if you need a separate app to remind you your todos and tasks for the day.

Yeah, I've tried Fantastical, Todoist, Informant, BusyCal, and a plethora others, but none seem to fit nicely into the workflow of somebody that needs to keep track of their personal and work life without being too strict in their methods.

So for now I'll make do with the basic Calendar app on my OSes, and pen and paper to jot down my reminders as soon as they pop to my mind.


I'm actually making exactly what you're looking for: https://moo.do

It does to-do lists, calendar, and email all in one. The only caveat is it only supports Google Calendar and Gmail so far.

Let me know if this solves your problem or if there's anything I can do to make it better for you.


Not the GP and not quite what I'm looking for (I live in a terminal as much as possible, and on my phone as little ) ... However that looks like a kick-ass product. I hope it works out for you.


Now that Microsoft has finally integrated at least some of the good parts of Sunrise into Outlook (which I've historically hated, but this is enough to make me give it a look, especially on my phone), I expect they'll be doing the same with Wunderlist for ToDo integration. If, by some miracle, they also manage to integrate great contact management in with the new LinkedIn, they'd really have something... (Aside: They'd have to undo the recent brain damage to LinkedIn first - the value of LI was it's contact info, not the feeds - the last damn thing I want and need is another Facebook-like vanity stream - there are reasons I refuse to do Facebook...)


>Oh god, talk about good timing. I just got a literal headache spending the last hour searching for a good cross-platform calendar AND todo app that would work on my Mac, and perhaps on Android (although that's bonus). And ideally I'd like to have integration with Trello, so I can schedule my work tasks into the day.

I've been looking for the same, and now I use OneNote for note taking and to do lists. You can easily make kanban boards, you can link tasks to emails or notes in OneNote with more information, and tasks show up in your calendar or tasks in Outlook.


>You can easily make kanban boards

How do you do that? I use OneNote for notes and todos, but I didn't realize you could make a kanban board out of it.


I just create a text box for each column, then copy paste a task to move from one to another. It isn't as nice as a visual UI where you can drag and drop, but as a whole this solution works better.


> I would pay top dollar for such an app.

since you're willing to pay for it, contact http://www.oppsdaily.com/ to be featured there...


I ended up setting up a Nextcloud server. It has a calendar service that suits my needs, coming from Google calendar. It is open source, and the nextcloud platform is basically built to be extensible, but I don't know how developer friendly is the calendar app itself. Check it out though!


Agreed. Important to point out that Nextcloud (and most other calendar implementations) is actually a client and a server. The server half is just a standard CalDAV[0] server, same as Google or Apple or anyone else would host. The client is a web app with a similar feel to Google's calendar web app.

[0] https://en.wikipedia.org/wiki/CalDAV


The details for nextcloud's calendar app is here. https://github.com/nextcloud/calendar/blob/master/README.md

I'm a huge nextcloud fan.


I was recently forced into being a power Google calendar user. A new job demanded me to use it, previously I added maybe 2 events / year. Now I have to schedule a whole class's daily activity.

My brief experience was a total disaster, it's one of Google's horrible products, I sadly have to live with. I rarely hit my desk with my fist but it has happened. I'd be really really happy if any alternative would exist, I don't even care about not being open source.


Could you elaborate why google calendar is horrible for you?


Every time I prepare a travel itinerary across multiple timezones via Google Calendar I'm reminded of my feeling that it was written as a front-end for a database of calendar items, not as a tool for busy people to organise their lives. It is basically impossible to input an arrangement of items that usefully and quickly illustrates where I need to be and when.

A simple example is that here I sit in Hong Kong, and my upcoming flight from San Francisco to Melbourne (which departs at 00:50 PDT) is showing as departing at 17:50 HKT, which is true but useless. That's the hallmark of a system designed with the data structures in mind first. With (too many) clicks I can change it to display in PST, but now my diary for today in Hong Kong is wrongly displayed.

To some extent this is a flaw in iCalendar's data model, but it's not insoluble, if you start with the right perspective i.e. user stories. So my general complaint is that this kind of "data first" rather than "utility first" design pervades the Google Calendar application.

(Don't even get me started on the "world clock" extension, it's just garbage).

Judging by the listing of optional extensions in the "Labs" section, Google Calendar has languished with little serious development since 2009. The main utility to me these days is that it can aggregate multiple calendars, including subscriptions to external feeds, and then pass on that aggregation to mobile clients.

So I think it's another dying Google product, one that was misconceived in the first place, and I too am interested in alternatives. However calendaring is hard and none of the alternatives I've considered to date were actually better; all limited or flawed in other showstopping ways. So Google Calendar remains the least crap of my options.


We (FastMail) have a solution to this. You can view the calendar in "floating time", in which we display every even in the event's own time zone. So you can see your Hong Kong events as they will be in Hong Kong, but your San Francisco flight will be shown at 00:50.


Hey I didn't know FM were having a go at calendaring. Can you make calendars as slick as you did webmail? I hope so! I tried it out, I think you're on the right track; I could even switch over today, despite some minor features missing (e.g. some views, split TZ start/end). I'll also say, don't be afraid to move beyond the standard paradigms to implement user stories. Calendaring has sucked for years, and reimplementing Google Calendar simply with fewer interface defects would leave a world of needs going begging.


I've used FastMail calendering for several years now, I've got to say I've never had a single issue with it, accepting links / invites from other people on gmail etc... all works perfectly and events sync and update not only quickly, but reliably. I've (been forced to) used O365 for work for years and that shows a stark contrast where events go missing, have incorrect timezones from people in not just the same timezone but same organisation, disconnection issues, many year old appointments popping up at random etc... I've never had any of that with FastMail's calendering - just the way it should be. However I know that this Ask HN is about open-source calendering and FM is a hosted solution. The biggest issue I've personally had with most of the available CalDAV web interfaces I've seen / tried is that they tend to be written in PHP and while I don't want to hate on languages and it's not that simple, PHP isn't something I want to add to my existing web-stack of Ruby and Python which while both far from perfect feel more modern to host / deploy.


I love Fastmail's timezone handling. Hands-down best I have ever used. Thank you!


- I can't do simple things, like quickly adding somebody to an event without clicking the full event view.

- I can't easily create an event spanning over more than a month. Don't bother visualizing it easily.

- Displaying multiple calendars is a mess even with the event merging (45degree stripes turned on) (Event Merge for Google Calendar™)

- I was needed to install "Google Calendar Guests Modify Event Default" (Enables 'Guests can modify event' setting for google calendar by default, when creating a new event.)

- If I create an event I can't simply add myself and accept it

- Event view is boring, lots of things I don't care about. That view looks like a relic from the pre-design era of Google

- Setting up a repeating event is a pain, if I made a mistake god help me. Once I broke something and I had to manually delete two months of repeating events one by one because the repeating nature was somehow gone

- Exceptions are not handled well

- Show me as Available / Busy is dangerous. Should be more hidden, I messed up my coworkers calendar and she got overbooked. I still don't get why would I create an event and mark myself "available". I guess there are use cases, but for me it's pointless

- UI dialogs are inconsistent

There are probably many more, but I felt real pain during these. I even tried Google voice assistant, which was pretty useless for real work.

I then pulled up this video of Apple's vision of the future: https://www.youtube.com/watch?v=JIE8xk6Rl1w and cried a little that we are still very far from this. Even calendaring is a pain in the ass.


Thank you for this -- there are a lot of pain points I completely agree with here. Repeating events being one of them.

Events view sucks. I don't think the visual information should be equal if I have a list of things to accomplish in a day that are "time locked" or "time sensitive" or "time orthogonal."

Integrating actual RescueTime data into gcal to provide automation of capturing activity would be an interesting angle if I wanted to hack together a solution for that problem.

RE: Apple -- iCal was honestly the best calendar I've ever used, it was just beautiful. Then I cleaned my soul and installed debian, and haven't looked back.


> Setting up a repeating event is a pain, if I made a mistake god help me. Once I broke something and I had to manually delete two months of repeating events one by one because the repeating nature was somehow gone

I eventually gave up and used Google Apps Script to fing and update events which lost their repeating affinity when I accessed my calendar from multiple clients.

Another one: if you have a shared calendar that you want to invite to a meeting (but you don't own the shared calendar), …? This was for the orgs office hours calendar, where copying the event onto the shared calendar means remembering to update it every time we switched rooms or times (as copies naturally wouldn't update if the source changes).

The Google Product Support pages send a strong, consistent message: "we don't care what you think and we don't fix things we can't see the personal use for ourselves"; hallmarks of deeply user-hostile products.


I might be missing something but it sounds like your workflow is full of edge cases and unusual requirements. There's some valid criticisms in there for sure but I wouldn't expect most products to address many of these.


Don't blame the user for Gcal's inconsistent and hard-to-internalize mental model.

Try not to give reasons to discard someone's feedback, and instead identify the core issues which, if addressed, would benefit multiple users.

It doesn't matter how many people are stymied by poor behaviours, if they are the ones making recommendations to their contacts or businesses on what support could tracts to sign…


Consider that statistically if there's any one person having a problem using software run at that acale, a significant number are likely exist with the same problem without speaking up about it.

That's where the opportunity is.

On a related note keeping the same thing in mind with software that you're building is a very powerful tool: "it works for me/on my machine" is great, but it discounts the possibility that if one user is seeing a bug or usability issur, chances are that that others are too - and not talking about it.


1. Multiple google accounts and being told I'm logged into the wrong one when I follow a link from an email.

2. Google wants me to use their web-based calendar instead of my desktop one.

Synchronising multiple calendars is a pain in the ass: I want people at each company I work for to be able to see whether I am free, but I hate filling my calendar six times. I've got some applescript that helps me using the Mac calendar, but it feels like the two companies I do that are google-apps based always break randomly and require some random touchups.

3. Timezones. I travel very often and I want to see my daily-diary with the local team, but there's no easy way to say "this week in EST"


Oh god #1 100%

Very few Google services, I think, are reminded that people can be signed into multiple accounts simultaneously during the design phase.


Google drive/docs is the worst offender here. Not only do they not automatically determine which account you want, but they force you to sign out of your google account to access a second non-G-suite account's calendar.


1, 2 and 2.5 are all huge pain points for me. I have three Google accounts and just resort to keeping about 16 calendars on one account.


Since we are talking about calendars, I will ask a mildly related calendar server question. Is there a solution out there that would allow me to automatically prefix events in calendars that are shared with me? For example, I see my girlfriend's calendar with an event called "Work". I don't want to think it applies to me, so I would like to see it as "Princess Peach: Work". Can I do this without hacking an existing CalDAV server to use as an intermediary?

I did try a script that takes a URL to an iCal file and adds the desired prefix, then spits out a new iCal file. Alas Google Calendar has a years old issue where it has no way to force it to pull updates to iCal files with any reasonable frequency. And of course I want the solution to work on phones as well as desktop browsers so a Chrome extension is not a solution.

Bonus points for a solution that would let me munge event names arbitrarily according to regex rules, and to combine multiple shared calendars into one.


The default Google Calendar does this on Android and Web. It allows you to assign different colours to the calendars you have.

So my work is blue, my personal is green, my wife is purple.


I wish that worked except there are not enough distinguishing colors to mark up all the calendars I have. Also iOS calendar doesn't do that.


Quite recently Kin has been open-sourced (see http://blog.kin.today/post/156970937113/kin-is-now-open-sour...).

Have a look at the client (https://github.com/KinToday/kin-web-client) and the server (https://github.com/KinToday/kin-api-server) on GitHub. It's definitely inspired by Sunrise, but might be a suitable replacement for Google Calendar.

Even better: Contributors get the hosted version of Kin (2€/month; 20€/year) for free.


I lately started thinking about a calendar system and a bit experimenting.

Mainly I want a continuous calendar. Just a table of weeks. My thought is to tie calendar with e-mail (what a novel idea) and todo list. I would like to enter new events just writing down with some kind of simple language and auto-completion. I feel that most calendars have too much friction comparing to paper calendar.

Todos should jump to the next day until they are done or deadline is met.

I would like to tie it with e-mail so I could pin the e-mail to specific day or to a todo item as described in previous paragraph. It would be a calendar first and e-mail second.

I wanted at first have it running as a server on a tablet that I would stick to the fridge. It would only need a thin proxy, but thanks to Let's Encrypt it would run with end to end encryption. Also running SMTP server on a tablet. But it is a bit too complicated to do at first.


Check out org-mode. Handles todos, scheduling tasks, timers, you can link directly to a file or an email (not a copy, but a link emacs follows into your mail reader, such as mu4e/gnus/wanderlust, for that specific email). It will auto generate an agenda from multiple todo files spread across your filesystem.

http://orgmode.org/worg/org-tutorials/orgtutorial_dto.html

There are some mobile apps but I've never used them.


org-mode is great and I use it to write longer, unorganized sorts of things. It was amazing to have a place I could keep track of my time to the minute, extend if I wanted to do basically anything, etc. I missed the visualized nature, however, as I found the visual feedback to be imperative to my taste.


calfw can integrate with org. I mostly use the integration as a way point for gcal sync, but even if the integration isn't exactly what you want, adding a new source to calfw is very easy


Check out https://moo.do. It's a to-do list, outliner, calendar, and email all in one. It sounds like it would work well for what you're looking for. If not, let me know and I'll try to make it better for your use case.


Thanks. It looks promising. I will check it out.

One specific use case that I have in mind is to stick a tablet with a calendar to the fridge. It should be a shared calendar between me and my wife. I'm wondering how can I achieve that.

From what I see I could create a group calendar in Google Calendar. Then probably me and my wife could have separate moo.do accounts and put things on this group calendar. On our phones it would be easy. But question is how to deal with it on a shared tablet.

Or we could have one account with all our e-mail accounts and share a calendar this way.

One thing that is beyond scope of moo.do is to have an alias per contact. Maybe not for all contacts, but for most services. I know I can kinda emulate this with gmail's address+whatever@gmail.com. There are few problems with it. '+' sign is considered invalid by dumber services that I may have no choice of avoiding. Also it requires exposing main address - removing of postfix is easy. I could dedicate account for this and never use the address without a postfix, tagging anything that came to the main address as a spam.

So it can work, but is a bit tedious, because it is not automated. I would like to have a separate pool for addresses. I then can create a new address/"slot" for a contact. I could use it for some service and if I would ever resign from this service I would remove the address. And if I would ever receive spam on one of the assigned addresses I would know which service is not trustworthy. That would also make it easier to prepare filters.


> better, developer friendly, open source calendar system

Just curious what about Google Calendar isn't developer-friendly? I've found it pretty easy to use the Apps Script Calendar service:

https://developers.google.com/apps-script/reference/calendar...


1. I can't run it locally, or on my own servers to keep my data to myself. Not that this is everyone's concern but it's one I'm thinking of. API access is great, but I'd love to self-host data. In fact, that's becoming more of a priority, security is in the zeitgeist etc.

2. I'd like to create hyper-specific views or add calendar layers/groups (As a PM, I want a report, or calendar view, of all time spent on client tasks but not meetings, etc. ).

3. As a User I'd like to track habits I'm trying to manage/modify/track (ie. runs, food intake, smoking cessation, bedtimes, pages read/week).

4. As a Freelancer I want to integrate time trackers like Rescuetime and Harvest. (this I could actually do with GCal but my question isn't "what can I do with Gcal," rather an exploration of "why isn't there a great alternative and what can we do about it"

I don't want to sign up for Yet Another App Account, I have a dashboard for my life and that's it. I've been thinking about a "continuous integration/dashboard" for awhile.

The Quantified Self (https://trends.google.com/trends/explore?q=quantified%20self) movement hasn't picked up any steam, however, I still see the value in capturing data about our daily actions and then using that data.

I've learned a lot from my meticulous time tracking, and it's not perfect. Maybe this is time to explore a side project!


https://sogo.nu/ has been working pretty well as a CalDAV server and web UI for the last 5-6 years for me...


Thank you, I haven't used SoGo in quite some time (v1) nice to see they've come along.


Sogo on cloudron works great


Here are two projects to look at:

Citadel, (http://www.citadel.org) -- A lot of features, but the UI is somewhat dated. It would be interesting to see a revival.

OpenXchange, (https://www.open-xchange.com) -- Commercial project with an open source core. Much nicer UI, I'd be worried about long term support if/when the original company stops developing it.


A while back i wanted to write my own calendar to support custom recurrence rules, as well as the usual ones you always get. Custom rules would include things like calculation of Easter and other holidays and events that move about like moon phases.

So the idea was to build a translator that turns something like iCal into a "program". and if you're a hacker, you can write directly in this program :-)

I chose LUA for this because it's compact and sufficient for this requirement.

The other thing i wanted is to be able to write a date and/or a time as words on the end of any event and have the calendar figure it out for. There are so many times that i want to specify, for example, a relative event.

I might extend a cloud payment for 6 months. so i type cloud XYZ expires, 1 day before 6 months from today.

and things like: Radisson Hotel, May 27th at 2pm for 3 nights.

Also then terms like "Easter" and "xmas" can be part of the word parser. And stuff just like "beer friday with Pete."

One thing i still need to do is have it set up recurrences automatically for stuff like "Dave's Birthday, next Friday". So it puts in in the calendar, and adds annual recurrence automatically. would be nice.

I'm thinking of open sourcing what i have.




Do you mean the Lightning add-on[0] that is now bundled with Thunderbird [1]? I don't know if it's available as a stand-alone app. I use Thunderbird but not Lightning.

[0]https://addons.mozilla.org/thunderbird/addon/lightning/

[1]https://support.mozilla.org/t5/Calendar/Integration-into-Thu...


I use Radicale [0] CalDAV server and Lightning addon for Thunderbird - works great!

[0] http://radicale.org/


I've previously written a calendar app for attorneys that was an add-on to Outlook and I recently had an idea for a new type of calendar interface. Time is continuous, so instead of a square grid, a circle would better represent time measurement. Think of the wheel in Wheel of Fortune. There is a circle with squares around the edge. Initially, there are 12 squares with each square representing one month. Inside each square is the name of the month, with the year labelled in the middle of the circle.

In a touch interface, you could vertically swipe the circle and it would spin so you could select your month. If you spun it one complete circle, you would iterate the year, forward or backwards. Double-tap the month, or two finger swipe outwards, and the circle becomes the days of the month, with the day of the week and the number date inside each square, with the name of the month in the middle of the circle. Vertically swipe the circle one complete turn, and you go to the next month. Expand the circle again and you have hours of the day. Two-finger pinch to back out to a higher level.

You could put a symbol or different color to denote existence of an event. If the event is double tapped, the key information appears in the center of the circle, or you could two-finger swipe the event so it took up the whole screen.

In a phone size interface, you would only have to show the center of the circle, and an arc portion of the circle, say 100 degrees on the right side of the circle, like between 1 o'clock and 5 o'clock.

I see that there are some round calendar apps out there, but I don't think anyone has this sort of interactivity. However, I really haven't looked at this idea too closely.


Our R&D institute used HORDE [1] back then. However, I was always on the lookout for something that resembles Google Calendar in functionality and usability (and possibly even looks). The same can be said for GMail and its Google Task integration.

[1] https://www.horde.org/apps/groupware


Have you looked into this? https://fullcalendar.io/


"Disclaimer: FullCalendar is great for displaying events, but it isn't a complete solution for event content-management. Beyond dragging an event to a different time/day, you cannot change an event's name or other associated data. It is up to you to add this functionality through FullCalendar's event hooks."


That is not at all hard to achieve



Sadly the Android version kinda sucks. I spent around 1h trying to get it to sync. Constant crashes don't help. There is a newer version but apparently without any sync capabilities


Not on Node but I use Radicale (http://radicale.org/) which runs on Python. Works well for me and have it synced across multiple Macs and iPhones.


I know it's not necessarily something you can build on but we use teamup (teamup.com). Set up properly for our needs, it's pretty awesome. It integrates with other tools like slack, etc. Hope that helps.


The GNOME project has a standalone calendar cleverly named 'Calendar' [https://wiki.gnome.org/Apps/Calendar] and mail-calendar application called Evolution [https://help.gnome.org/users/evolution/stable/.] Both are open-source and free (as in beer).


im intrigued to see much interest in calendars! im also crazy about calendars and ive always wanted to put practically everything i do in a calendar but google or ical doesnt cut it for me.

so ive started on shalendar.com recently as my personal/work calendar to do exactly that. its sole focus being simplicity, sharing, and integrations to other services like instagram, jira, etc. its functional and making good progress, i expect to push out more features in the next few weeks.


The landing page looks great - I'm curious to try it. A short demo/screenshot/about page might be nice, to give potential users a taste of what the app can do.


98% is some serious coverage of your calendar. Here's an example of someone else who does some serious documentation of their time via Sunsama currently. Thought you might find that interesting: https://workfutures.io/journaling-calendar-centric-work-mana...


Thanks for the link! There was a week where I wasn't able to do any tracking, though I do have some paper notes with journal entries for the day, so there's a mundane log of my life in existence. I want to make it more useful.


does sunsama expose interfaces/apis that could be manipulated externally?



zimbra - fully open source GPLv2

mail/contact/cal/task/briefcase

http://zimbra.org https://github.com/zimbra


What are some examples of things you'd build on top if you had this system?


* Minute or even second-based granularity. Why? We live in a world where a minute can have a hundred events.

* NL History lookups, ie. "Where was I on my fourteenth birthday?" or whatever. It'd be cool to integrate things like calorie tracking, exercise, that kind of stuff. A true personal database.

* Travel days and in general travel time is hard to track, because flights/cabs/busses get delayed, I'm not thinking about my calendar as much, etc. It ends up being a block that says "travel time" or something and that's fine but an interesting exercise is, how can we improve the efficacy of tracking actual time? This is more brainstorming than fully fleshed concept.

* Habit tracking. Time-based reminders with a method to verify "I did this," like BeeMinder + RescueTime combined. This is it's entire subset of problems to ponder but definitely I want to see this in a centralized calendar because visualization is key for me.

* Robust task management. I want to hover over or click on a cal entry and see the Jira/Trello card with any relevant source code links and exactly what I have to accomplish. Ramit Sethi talks about this -- he uses GCal to do this exact thing, and I think it's a brilliant idea. Unfortunately it's lost in two or three clicks down the rabbit hole. If I am using a centralized "dashboard" type calendar like I envision, this is like a concierge for my to-dos.

* To expand on above, I'd love to see a way to set hard goals and have a smart AI to help back-track and build a feasable path to accomplishment. I.e. I'm not a marathon runner in ANY sense of the term, so I set a go to run the Grandma's Marathon in 2019. Based on my current fitness level from RunMapper or w/e app I'm using, compared to my current habits of exercise, and considering maybe my financial and other secondary commitments I may choose to add to this goal, I'd get an autopopulated schedule of "run this many miles at this pace (on this route, if you want) on these days* and eat these macros on these days at least that's just one example but you can imagine more auto-goal-planners.


Just to chime in.... I'd love to get structured data out, from messy calendar free text, with structured or NL querying.

Show me all the appointments I had with Joe Blow in 2016, exported as , for example.


Thought of another use case I'd aim for: Scheduling payments/verifying etc. Any time-based event could be a layer. Maybe a plugin that heatmaps your productivity or revenue or whatever in the background.


One view calendar is not opensourced, but it is very slick. I was hoping someone has an opensource clone

[0] http://www.oneviewcalendar.com/


Evil vim user here. Also a Stanza employee.

What you're describing is exactly the vision for Stanza.

Currently, our product allows users to subscribe to event feeds, much like a YouTube watcher subscribes to YouTube channels. These channels (or StanzaCals) sync with your Google Calendar, iCal, or whichever major calendar platform you use. Right now our main product is an embeddable calendar that lives on sites such as http://www.wowhead.com/, http://www.lakersnation.com/, NFL teams, and many other hot websites.

Right now, we're expanding our product to make discovering events easier and improve personalization. We're built on Node, AWS, MongoDB, Redis, and serve 200M unique impressions per month.

If you have a passion for making a great calendar experience, (eg: the atom of Calendar), we'd love to hear from you.

Drop me a line at matt@stanza.co


The vision for Stanza is "a better, developer friendly, open source calendar system"?


Yes, that's the long term vision. We'd naturally expand into a calendar application.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: