Live data from Hacker News

Owning my own data, part 1: Integrating a self-hosted calendar solution

emilygorcenski.com

41–50 of 157 posts

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#41

I have Outlook (at work) and Google Calendar (at home) and synchronising them through HTTP is completely unreliable. They seem to mess the time zone all the time, sometimes they publish in UTC, sometimes not, with the consequence of having meeting always at the wrong time. I really don't understand how these 2 major providers cannot fix what seems to me such a basic feature. If using my own system would solve it, I'd…

They have little financial incentive to solve it because it helps with lock in.

Also, alot of companies actually prohibit syncing between personal and work due to data leakage issues.

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#42
You have way more advanced needs than I have for a calendar, but I've also been thinking of using a self-hosted solution. The realization for this came when I started noticing all kinds of appointments by email came with a notification attached to add the event to your calendar. I'm talking Gmail here, and I suppose my smartphone was going to add it to my standard Android calendar or something (I didn't try). Then I realized I didn't even like the UI/UX of my standard Android calendar.

I only need to manually add some appointments per week (not even every day, I'm a lucky guy) and realized I do not even need a grid layout for my calendar.

Having worked with times and dates in my favorite programming language already, I feel confident I can make something simple based on the standard default classes.

Even running something as simple and important as a calendar through third-party apps has started feeling very strange the last years.

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#43
post #38

I have a self hosted calendar solution. It was $15 at Staples, and it hangs in my kitchen. It wasn't a complete out of the box solution, though, I had to do a little work to customize it. I placed a pen cup with a few pens in it on the counter near the calendar to ensure it is always easy to modify.

How does it handle notifications? How do you access it remotely? How do you share it for common events with others? Comparing a paper calendar to a digital one is like comparing a Nokia 3310 to a modern smartphone. Yes, technically both are "a phone" but that's roughly where the similarities end.

How do you access it remotely?

Set up a webcam stream of the calendar

How do you share it for common events with others?

Share the webcam link or ring them up on the telephone if we are (jokingly) going traditional.

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#44
post #27

I honestly prefer a pen and paper planner and just manually migrating my contacts over. Meanwhile, my personal gmail is 99.9% contacts I have no intention to ever speaking to again.

Begging the question why not delete the contacts? I've been thinking about it: certainly most of the numbers in my contacts list are probably invalid by now. But there's definitely a delta of finality to going "oh there's like 10 people I will ever call and that number is only going to go down... "

I suppose it's the same as those who keep 100's of deserted discord servers open.

FOMO? That odd chance you may need that contact.

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#45
There is no need for CalDAV, you can actually use the subscription feature of ics calendars!

At Qbix, we build software for communities to collaboratively manage various things, and that includes events. For example, here are three sites we built, all different:

1) https://yang2020.app for Andrew Yang's 2020 campaign and Yang Gangs - to help people collectively organize and knock on doors, etc.

2) https://new.freetalklive.com for a libertarian show that pulls their episodes into the site, and let people watch and discuss them

3) https://gba.community for their annucal conferences in Washington DC - all the speakers, events, etc.

We've long ago implemented integrations with people's devices (phones, computers). You can add contacts to your address book using .vcf files, and they can even contain thumbnails. They don't need to include people's phone numbers, they can include their IDs on your site, and URLs to contact them.

Similarly, we have a button to subscribe to calendars, and it even works on MacOS. Imagine each user having a calendar appear on their phone. The subscription will pull new events into the calendar, update and remove old ones. About the only downside is that the OS usually suppresses any VALERT info that we place there, so you can't place alerts on these events. But you can have location, directions, etc. You can have a URL for group rides. We've built it all!

For both contacts and events, what you really want is access control - some people can see some things, others can see other things. If you paid for an event, you can see the location and time, for instance. You can maybe see the speakers, etc.

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#46

I know I will probably get pushback over this, but CalDAV sucks . People say that it's great and that it's easy; yet if that were true there would be way more self-hosted CalDAV solutions out there and they would be far more ergonomic than what's available. I was not impressed with Radicale. Because there's really only one calendar file I wanted to serve to myself, I tried implementing my own CalDAV server just for t…

I worked on the CalDAV client that’s in every Apple product. I agree, the protocol sucks. But we also had a ton of trouble handling Exchange and Google’s non-compliant CalDAV server, which all the users blamed us for. Now that I work at Google I can see that gCal apps use an entirely different protocol.

Would be nice if you use your experience and financial stability of a Google job in order to build a better open-source protocol. Just like when ZX2C4 decided he's fed up with OpenVPN and went to create Wireguard this might be your moment to shine.

IMO the quality of software is only pushed forward by motivated individuals with the right skillset.

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#47
Another route is to go serverless and use DecSync. Thunderbird (or Evolution) will sync with the Android app (F-Droid available) and your Cal, your Cards, and tasks, and even RSS will be replicated on the other peers.

https://github.com/39aldo39/DecSync

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#49
post #46

Earlier quoted context omitted.

I worked on the CalDAV client that’s in every Apple product. I agree, the protocol sucks. But we also had a ton of trouble handling Exchange and Google’s non-compliant CalDAV server, which all the users blamed us for. Now that I work at Google I can see that gCal apps use an entirely different protocol.

Would be nice if you use your experience and financial stability of a Google job in order to build a better open-source protocol. Just like when ZX2C4 decided he's fed up with OpenVPN and went to create Wireguard this might be your moment to shine. IMO the quality of software is only pushed forward by motivated individuals with the right skillset.

It was 14 years ago, I’ve forgotten everything by now.

To be honest if I were to do that today, I’d vibe-code it by writing a strong set of tests against the protocol rfc, then a client against the tests. The client would be low level and have higher level interfaces in various languages.

Re: Owning my own data, part 1: Integrating a self-hosted calendar solution

#50
A nitpick. The two managed docker volumes created (at the very bottom) are not used by the container and only serve to cause confusion to the reader.

  services:
    baikal:
      image: ckulka/baikal:0.9.5
      restart: always
      ports:
        - "XXXX:80"
      volumes:
        - /mnt/baikal/data:/var/www/baikal/config
        - /mnt/baikal/data:/var/www/baikal/Specific

  volumes:
    config:
    data:
Post reply on HN