Mastering Calendars & Contacts - The Sovereign Computing Show (SOV002)

Tuesday, January 28, 2025

Ready to break free from big tech's grip on your digital life? In this episode of the Sovereign Computing Show, Jordan Bravo and Stephen DeLorme delve into the essential first steps of reclaiming your privacy by managing your own calendars and contacts. They explore various self-sovereign options, from using Proton's encrypted services to setting up Nextcloud and lightweight WebDAV servers. Learn how to seamlessly integrate these tools with your mobile and desktop devices, ensuring your sensitive personal data stays under your control. Don't miss this essential guide to taking the next steps in your sovereign computing journey.

Chapters

  • 00:00 Introduction to the Sovereign Computing Show
  • 00:16 Sponsorship and Community at ATL BitLab
  • 01:20 Today's Topic: Calendars and Contacts
  • 05:59 Proton: A Secure Alternative
  • 16:13 Exploring WebDAV and Open Standards
  • 20:16 NextCloud: The Open Source Productivity Suite
  • 24:31 Data Breaches and Company Size
  • 25:15 Setting Up and Using NextCloud
  • 25:59 Syncing Calendars and Contacts
  • 30:19 Understanding Calendar and Contact Formats
  • 34:50 Public Calendars with GitHub
  • 39:41 Self-Hosting NextCloud and Alternatives
  • 42:49 Cross-Platform Syncing Solutions
  • 46:13 Wrapping Up and Final Thoughts

Links

Transcript

[00:00:00]

Jordan Bravo: Welcome to the Sovereign Computing Show, presented by ATL BitLab. I'm Jordan Bravo, and this is a podcast where we teach you how to take back control of your devices. Sovereign Computing means you own your technology, not the other way around.

Stephen DeLorme: This episode is sponsored by ATL BitLab. ATL BitLab is Atlanta's freedom tech hacker space. We have co working desks, conference rooms, event space, maker tools, and tons of coffee. There is a very active community here in the lab. Every Wednesday night is Bitcoin night here in Atlanta. We also have meetups for cyber security, artificial intelligence, decentralized identity, product design, and more.

We offer day passes and nomad passes for people who need to use the lab only occasionally, as well as memberships for people who plan to use the lab more regularly, such as myself. One of the best things about having a BitLab membership isn't the amenities, it's the people. Surrounding yourself with a community helps you learn faster and helps you build better.

[00:01:00] Your creativity becomes amplified when you work in this space, that's what I think at least. If you're interested in becoming a member or supporting this space, please visit us at atlbitlab. com. That's A T L B I T L A B dot com. Alright, on to our show.

Jordan Bravo: I'm Jordan Bravo, and this is the Sovereign Computing Show. I'm here today with Stephen DeLorme.

Stephen DeLorme: Yo, what up?

Jordan Bravo: And today we're going to be talking about calendars and contacts, which It does not sound like the sexiest and most exciting of topics, but it's incredibly important because we don't think about it, but our calendars and contacts just automatically sync for us because typically we're using something like Google if we're, we have an Android phone or if we have an iPhone, we're, we're using iOS and it's syncing to iCloud or maybe Microsoft.

We have Outlook, email, and that's all syncing automatically as well. [00:02:00] So if you were to want to start your sovereign computing journey and move off of one of these services, the first thing you're going to have to answer in order to keep your tech life going is how are you going to sync your calendars and contacts?

And this is again, something that's most people don't think about, but it's incredibly important. So that's why we're going to talk about it in this episode. And we're going to talk about the different options and see what's out there and give us some different ways you can go about it, some ranging a little bit harder, some, some you can use third party services that make it easier but we'll get into the pros and cons of all of that.

Stephen DeLorme: Sweet. Yeah. I mean, and just to kind of I don't know, re pipe from the last episode. It's like, like you were telling people you don't have to like go full on, hosting your own Linux server going over mesh net in the woods with you know, everything like that, just overnight, you can be a little bit more sovereign by kind of replacing chunks of your tech [00:03:00] stack one at a time as you feel comfortable.

So we'll tackle one of these tech chunks today.

Jordan Bravo: Absolutely. Great point. It's all about doing it incrementally in small digestible chunks.

Stephen DeLorme: So calendars, contacts. So contacts would include a lot of stuff like calendars. I just think of like, okay, that's stuff like Google Calendar, Microsoft Outlook Calendar, all of, I mean, I think those are like the top two.

I can't, oh, I guess Apple Calendar. Those would be the main ones that people use. Then for contacts, that would be like Outlook Contacts, Google Contacts, and then. I guess your Android phone contacts and Apple phone contacts and any other like big services I'm missing there or use cases?

Jordan Bravo: I think those pretty much corner the market.

Stephen DeLorme: Yeah. And so like if you're on Android, I guess your, your Gmail contacts and [00:04:00] your phone device contacts might actually be one in the same. Yeah. So those would be like one in the same and the same thing. Where it gets a little bit different is if you're an iPhone user, then your Apple contacts and like your, you know, Gmail contacts might not be the same.

I don't actually know a lot of people who just use Apple Mail, actually. There's a lot of iPhone users, but none of them are using Apple Mail, I feel like.

Jordan Bravo: Yeah. Yeah. Well one thing I want to point out is that what we're not going to talk about today is email itself. Using self sovereign email is a big topic and we're going to cover it in another episode, but people might not realize that your contacts and your calendar data are actually separate from your email.

Now they might get intermingled because you have two different syncing services going on. For example, if I'm on an iPhone. And I also happen to use Gmail on my iPhone. If I have a Gmail account, I'm actually syncing to two different places. I'm gonna [00:05:00] have my, my Apple contacts, my, my phone contacts are gonna be syncing to my iCloud account.

And then my Gmail email contacts, they, some of them might be syncing to my iCloud account as well if I'm keeping them in the, in the address book. But it's also gonna be syncing to my Gmail account because. Gmail, by default, syncs your email contacts. Got it. So, we won't be talk, covering the email itself part of it today, but we will be talking about those contacts and the calendars.

Stephen DeLorme: Where do we begin? What what's the, what's the, the easiest way to, to get your contacts and calendars off of these big platforms?

Jordan Bravo: So, I would say the easiest way is to use a third party that is Not completely self sovereign in terms of having full control over your own data, but it's a much better option than the typical out of the box experience like we've just talked about with the big tech options.

[00:06:00] And so what I'm going to point to right now is proton. Proton has a whole suite. You've probably heard of proton mail, but they also do. They have a drive service, and so Proton is, is not a sponsor or anything like that.

Stephen DeLorme: I wish they were.

Jordan Bravo: Yeah, yeah. It'd be great to get a sponsor from them. But, they, I'm just recommending them because they are, they have great UX, and they they do everything for you.

You don't need to host your own server. And so, simply by using their calendar and their contacts and stuff. You're going to get a much more private way of syncing across your devices because they use end to end encryption so they don't have access to your data and and it's not, you're not tied into a single service like Google or Apple or Microsoft.

Stephen DeLorme: Yeah. And so like, and of course I pull up the, the mail screen [00:07:00] you know, right when you said, we're not going to be talking about mail, but. Just they don't, you know, really talk too much on their website about contacts specifically. We, we're looking at a, the Proton website for anyone who's just listening to this.

But it's kind of, I mean, I love Proton. I've been using them for years. It's very, like, integrated into the mail service. So, yeah, I think, like, one of the advantages to the, the, the Proton, like, just for, for contacts specifically is that Ahem. Yeah, it's all encrypted. I mean, their business model is that they're, they're, you know, they have a, you know, a decent free plan, but they really kind of want you to upgrade to one of the paid plans so that, you know, you have your messaging limits and all that removed, and they actually have a business model that's not around selling your data.

On like other services. I, so I mean, I definitely like the, the UX of the Proton Contacts is really great. One, I guess, complaint I had, not complaint, I just, it works [00:08:00] really good for what it is. But, it is one of those things where I feel like I can't use it outside of the Proton ecosystem. Not that there's any like, gating or anything around it.

It's just that like, I can use it within Proton Mail and within Proton Calendar. But. I, you know, I can't really like say, like, use it I can't really like pull it up on my phone and like use it within my phone contacts unless there's a feature I don't know about.

Jordan Bravo: Interesting. I wasn't aware of that.

So it sounds like due to their client side encryption, they, they don't, it can't transparently interface with your phone's contacts.

Stephen DeLorme: Yeah. Unless, unless there's something I'm not aware of. Like, unless it, like, maybe there's like a Proton contacts app or something. Like, I actually run Proton Mail and Proton Calendar.

I run Proton everything on the phone, practically. But I don't think yeah, Proton Bridge, I think, is for getting to using it [00:09:00] with different email clients. That's what we're looking at here on the screen. Yeah, so it's not like there's not a way I know of on my, like, iPhone to just be like Oh, I'm going to open up like how you can open up the Apple Contacts app.

I can't just like open up the Proton Contacts and like dial somebody's phone number. Actually, let me try it right now. Let me see if I go open ProtonMail, if I find somebody with a contact in ProtonMail, can I tap it and just pull up their phone number? I'm kind of curious. This is probably boring to someone who's just listening, but,

Jordan Bravo: oh, that would be good to know.

Stephen DeLorme: Yeah, I'm curious. Just like. But, I mean, I don't mean to do this to like, to crap on Proton, they're really great, it's just we have to understand the limitations of some of these things. You know, I actually don't know if I can access the contacts directly here on the phone.

Like there's not like a, at least what I can see, there's not like just like a way to like, pull up. [00:10:00] Oh, oh, wait I, I can't just like pull up a list of contacts on this device. At least not in this app. So, yeah, it's really, really good. I would say I think the Proton contacts are like really great replacement if you're If you are like using, talking like strictly about email contacts, like not like all my friends and family that I knew the text and all this kind of stuff.

If you're just talking about like. I have a database of like a thousand professional contacts that have accumulated over the past ten years or whatever that I email from time to time. I want that encrypted and, you know, I want to be in control of that data.

Jordan Bravo: I'm curious. Does, in that context, can you add fields for other data like phone numbers, address, that kind of thing?

Stephen DeLorme: Yeah, yeah, yeah. You sure can. Like I mean, I'm trying to pull it up on my phone right here. Well, actually, maybe we could just like look it up [00:11:00] right here and see like proton contacts. I'm going to search for this real quick and see if we can pull up an image reference. Oh, wait, wait, wait, wait.

Here's a nice little website thing from them.

Yeah, so, I mean, they have like the features you would expect from like Gmail or Outlook. Like, you know, you see here in this picture, we've got the, the person's name the email, the phone number, the address. If memory serves, you can also add some, like, arbitrary fields and stuff like that, like more than one phone number and all of that.

So, it's pretty, it's pretty handy. Okay. And it definitely works really good in the web interface.

Jordan Bravo: I'd be curious

how it would work user experience wise if you, let's say on your phone, you were using Proton and you decided I'm not going to use the built in contacts book because I don't want it to sync to Apple or Google.

I just want to use Proton to sync all my contacts. I wonder if you can like. [00:12:00] Click on or tap on the phone number of somebody and it'll open that up a, a phone call to them, or, you know, how that would work?

Stephen DeLorme: I bet it would because I don't know how many of my contacts have phone numbers in them, so I don't know if I could do it, but I, I am sure that it would open the phone number, but it would be a little weird to have to go to your mail app to find your contacts.

Mm-hmm . So it'd be really great as if Proton had like a contacts app. Yeah, that would be dope. And hey, you know, they actually, they have a pretty good track record of adding new apps over the years. Like, I remember when it was just ProtonMail and then, you know, then they added like Calendar and Drive and VPN and all that.

So they've been steadily kind of increasing their product scope. Maybe we talk about Calendar a little bit. Since we also mentioned that, like

Jordan Bravo: yeah, as a user of Proton Calendar. What's your opinion or review of their product?

Stephen DeLorme: I, I love it, but it definitely, it has issues, but I do use it every single day.

Like we use it for [00:13:00] ATL BitLab, for, like, managing, yeah, like, you know, like company mail and, and calendar and all that. I would say Just in terms of feeling like a pretty good, like it has the kind of like UI that you would expect from a modern calendar app. For anyone listening, I'm pulling up the Proton Calendar, you know website right now and they have a nice little picture.

This is exactly what I see in my calendar app. Just like, you know, you can put a name, a date, choose time zones, location, add participants. If you do add type in like people's names, it'll pull it from your Proton contacts list. So all of their like encrypted apps are interoperable. So yeah, all of that works really great.

I think that it works pretty beautifully Proton user to Proton user. One annoying kind of issue that I've noticed is when people send me invites from Gmail. To my Proton [00:14:00] mail account and I accept it and it goes to my Proton calendar. Oh, it's been so annoying. Like, like let's say somebody updates. So it all works perfectly good.

Somebody makes a repeating event. It repeats across my Proton calendar. What, what kind of sucks is when they go and they edit the event, like they change the time. And then it'll create like a duplicate event on my calendar. So I'll have like two events instead of one. Or if they like cancel the event, like let's say they wanna say like, okay, it's repeating indefinitely into the future.

And then one day they edit the event and they say, okay, stop repeating it. So you would expect for all of the events in the past to remain on your calendar and all of the events in the future to stop repeating, right? That works for everybody, like in the Gmail ecosystem. But in my Proton calendar, it'll like, just keep repeating indefinitely.

Like, you can't kill it. And I've also noticed things where I make repeating events sometimes on [00:15:00] Proton calendar. And like, nine times out of ten it works when I invite somebody to a repeating event. But I've also had issues where somebody on Gmail could not see the repeating event. Like, it just didn't show up on their calendar past the first one.

So, there's some interoperability. concerns I have with the kind of like repeating events between vanilla and encrypted calendars, but I think it's a solvable challenge. These are one of the things that like when you start taking back your privacy and all of that, you sometimes break the, you know, the ease of use with the outside world.

But having said that, that kind of annoyance with repeating events. For your average calendar event, it works and I love it and I'd recommend it.

Jordan Bravo: Cool. Why don't we talk about some other options now? So with Proton, and it sounds like they have a pretty good suite of tools right now. Hopefully it'll continue to get better.

They're still fairly young [00:16:00] compared with these other companies that we've been using for years. So there's a good chance that they'll, Start having a, a contacts app, dedicated contacts app, and it'll be interoperable with the rest of your stuff. The, the next option we're gonna look at is taking advantage of an open standard called WebDav.

That's WebDavAV. And

Stephen DeLorme: what a name.

Jordan Bravo: Yeah. Yeah. We, WebDavev is a, it's a protocol or a, or a specification and. Here on the Sovereign Computing Show, one of the recurring themes that we're going to hit a lot is open specifications and open standards, because we would much rather be using something that can be a protocol, which is a language that can be spoken by anybody, and from company to company or service to service, it's interoperable.

What we don't want to do is be Sucked into a walled garden in a [00:17:00] proprietary closed system that relies on a single company's single point of failure. And then when we want to try to get our data out, either we can't, period, or we can, you know, they make some nominal noises about allowing you to export your data, but it's a pain in the butt.

It's hard to interoperate with others. So we really prefer, when we can, to be most sovereign with our computing. We want to be using open standards because that allows multiple competing sources, whether it's some dev, crack dev in his basement, you know, creating some app bot from scratch, or some company that's building on open source, it allows all these different implementations to be built out.

And then we can choose which one works best for us.

Stephen DeLorme: And you know that this WebDAV thing is a, you know, tried and true, trusted, open source standard because look at this website. I mean, for anybody listening, we're looking at the webdav. org. This like, looks like it was built in 1997. [00:18:00] You got just a wall of Black Times New Roman text on a white background.

There's a repeating background texture. Look, they got links to like, RFCs and shit. These guys are OG. Like down here, I'm honestly kind of surprised that there's not a you know W3C or, or a W, yeah, an under construction badge or a W3C certified HTML 4. 01 compliant badge. You know, proof that it's using you know, standard compliant HTML.

But regardless, point is, it's been around for a long time. So it, it, it must work if it's, it's, you know, people are still using it.

Jordan Bravo: Yeah. And so since it's an open standard, there's a lot of different apps that implement it, including the big guys. So you can, you can interoperate with your Gmail, with your Google contacts and calendar using webDAV.

And there's actually two different sub WebDAV is like the [00:19:00] overarching specification and there's two subspecifications. One is called CardDAV, C A R D, DAV.

Stephen DeLorme: Is it cadaver?

Jordan Bravo: No. Those are, I think those are

implementations.

Stephen DeLorme: Oh, okay. Sorry.

Jordan Bravo: So CardDAV is going to be for contacts. I guess card, like a business card.

Ah, I see. And then CalDAV, C A L, DAV. That's for calendar, as you might guess. And so these are two different specifications that are widely used. So that's, that's what we're interested in because we're talking about today, calendars and contacts. And so we're going to talk about how you can use apps that use this standard to interoperate and sync your contacts and your calendars.

Stephen DeLorme: Nice. And there's other DAVs, I guess, too. Like it's just, DAV is distributed authoring and versioning. So there's CardDav is for contacts, CalDav is for calendars. And there's like other types of just,

Jordan Bravo: There are, I don't know off the top of my [00:20:00] head, but WebDav in general I'm not sure if there's a specific name for the one I'm thinking of, but it is for files.

So you can use this, this standard can also be used by apps that allow you to sync your files, kind of like a Dropbox or a Google drive type of thing. Interesting. And so the, the biggest app out there that uses this is going to be NextCloud. And NextCloud is something you're going to hear come up as a topic again and again in Sovereign Computing, because this is a great resource and it does so many things.

So if you're not familiar with NexCloud, NexCloud is a open source version of all the productivity suite that you would typically expect from Google, Apple, Microsoft. So this is not a single company, well NexCloud is a company that develops the software, but it's free and open source and anybody can host it.

without cost. Nextcloud, the company, they make their money [00:21:00] by doing it by setting up hosted instances for businesses and enterprises. In fact, they're huge in Europe, where there's a lot of stricter compliance rules around privacy and GDPR. Nextcloud is based out of Germany. And like, I know that a large portion of the German government uses Nextcloud for all of their infrastructure.

And so same with several other European countries. They, they're going to be, they're, they're the kind of software that they have. It replaces things like Google drive or Microsoft 365. They have a full office suite. They have chat, they have front end for email client, they have a file server.

So like all of your, you know, the way normally Google Drive or Dropbox or your iCloud photos and everything gets synced, Nextcloud does all of that stuff. But the one we're talking about today specifically is the calendar and the contact sync. And [00:22:00] if you are using Nextcloud, you get that free out of the box.

You create an account just like you would in Gmail, but this is gonna be hosted on either a service that you are hosting yourself on your home server or in a VPS somewhere, or you're gonna be paying one of these companies that specialize in hosting Nextcloud for you. And that's actually not a bad If you are not ready to put the time and effort into self hosting yourself, you can do something that's incrementally better than being on one of these big tech platforms, which is you can find a company that again, specializes in NextCloud and they will host it for you.

And this is a lot better than being in the giant honeypot that is Google, Apple, and Microsoft.

Stephen DeLorme: And so I guess, well, let's think about that though. So if I get another company to host the next club for me, what would be the like advantage you know, if I'm just having somebody else [00:23:00] hosted for me, I'm just playing kind of devil's advocate here, what would be the advantage?

being on some small Nextcloud host versus being with Google.

Jordan Bravo: Well, the advantage is one, you can have, you can have it be fully encrypted so that they cannot read any of your data.

Stephen DeLorme: Oh, Nextcloud is end to end encrypted?

Jordan Bravo: Yeah.

Stephen DeLorme: Oh, I did not know that.

Jordan Bravo: It is You can choose to have it not be end to end encrypted.

So, for example, if you're hosting it yourself and you don't want to deal with the extra processing overhead, or maybe you just want insight into all the files and everything, you can leave it unencrypted. But it also has end to end encryption. The, the other advantage is that even though companies like Google, Apple, Microsoft, even though they have huge budgets with tons of engineers and security engineers that are They're constantly trying to prevent attacks.

They are always going to lose in the end because they're the world's biggest honeypots. So if you're a hacker, you're not going after [00:24:00] Joe Schmo company that's hosting a couple people's Nextclouds. You're going after Google. You're going after Microsoft. You're going after Apple. And despite their best efforts, they get hacked multiple times every year.

Sometimes it's plastered all over the news, sometimes it flies under the radar, but it's constantly happening. So it's, it's it's actually safer. Maybe it's a little counterintuitive, but it's actually safer to be on one of these smaller hosts.

Stephen DeLorme: Hmm. Interesting. I mean, do we know that for a fact?

Like the, I mean, these smaller hosts just don't have to deal with these kinds of things.

Jordan Bravo: I mean, you can look at data. I read a, a research paper, which unfortunately I don't have pulled up in front of me, but I can maybe put it in the show notes, but it was just looking at the number of what's the word vulnerabilities, cracks breaches.

That's the word I'm looking for. The number of data breaches based on size of the company. [00:25:00] And it was basically a one to one, not a one to one, but it was basically a positive correlation.

Stephen DeLorme: Wow. Okay. Interesting. Yeah. I mean, I guess it makes sense. It's like the bigger, it's probably harder to get in for the larger company, but once you get in, there's more, more that you can do there.

So I actually, I, I didn't realize I, it's been a long time since I tried to set up NextCloud. I didn't realize that it even had an encryption. So that's really good. So, I mean, that's like, It's kind of like you're taking on the, if you put it on your own server, you're taking on the responsibility of being kind of like your own proton mail.

But you know, if you just pay somebody else, I mean, I guess if it's, if it's end to end encrypted, then that makes it easier. So what does it look like in terms of if I do say put calendar, Let's say I have a Nextcloud running. I pay one of these services and I'm using it and encrypt it on their platform.

What are my next steps in terms of using the calendar, using the contacts list?

Jordan Bravo: What's really [00:26:00] cool about being an open standard like CardDev and CalDev that we talked about is that our phones and computers already know how to speak this language. So your contacts list on your phone and your calendar on your phone and on your computer.

You just put in the URL of the, of the server, and there's like a specific link that you're going to copy and paste. But when you're setting up a new calendar, let's say on your phone, you're going to go into your calendar, your new calendar, and it's, one of the options is going to be a URL box, and you're just going to paste it in there.

It'll ask you to sign in with your username and password, and then it syncs right to your native phone calendar or computer calendar. And it's the exact same thing with your contacts as well. So, you go into your contacts you know, currently, out of the box, you're probably going to be doing Google or Apple, but instead of you doing that, where you're signing in with your Google or Apple account, You're signing in with your Nextcloud credentials and [00:27:00] it just it's immediately syncs it and it feels very native because it's using your phone's native calendar or your phone's native contacts.

And so you get that full experience that We don't quite have with Proton yet because they're, the limitation of them being encrypted in that separate app.

Stephen DeLorme: So I guess the, I guess, so yeah, I mean, I know there's like default, like the, I could go to Apple mail or like the, just whatever stock Android calendar app.

I could put in like the link to the, my next cloud, like WebDAV endpoint or CalDAV endpoint and log in and get the access to the calendar. I guess if I was using encrypted next cloud, I wouldn't be able to do that. Right now saying it's a problem. Just pointing, just trying to understand how it works. So like if I'm using the encrypted Cal dev, can I still Sync the, the calendar to the phone.

Jordan Bravo: Yes, because you are logging in with your credentials, which is what [00:28:00] decrypts it on your phone.

Stephen DeLorme: Oh, interesting. Okay. Okay. Oh, wow. I didn't realize that that's, it was that powerful.

Jordan Bravo: Now, if you're using iPhone. It, it's going to be ready to go out of the box in the iPhone calendar and the iPhone contacts.

Stephen DeLorme: Yeah.

Jordan Bravo: However, if you are using Android, you need to download an open source app called DAVX5. That's D A V like WebDavAV and then the letter X and then the number five. And what that does is it allows your, your calendar and your contacts on your Android It tells them where to look to sync to your Nextcloud.

So you would just, you would add it, you would create a new account and log in with your Nextcloud info, and then you're, you're good to go. And they even have a provider specific login for Nextcloud that it just makes it a little bit easier, so you don't have to put in like any fancy settings.

Stephen DeLorme: Okay, and [00:29:00] so so on, so you're saying on iOS, I can just it kind of natively knows how to get the, the calendar and contacts from.

Nextcloud if I provide it with the right URL and credentials, and then for Android, I would install DAVx5 and then I would be able to see, see the stuff in my Nextcloud populated on my stock calendar and contacts apps.

Jordan Bravo: That's exactly right.

Stephen DeLorme: That's pretty cool.

Jordan Bravo: And I would, as somebody who's been using this I just want to express how delightful the user experience is.

Because. It operates exactly like it did back when I used to use Gmail for my contacts and calendar and stuff, and yet it's completely self sovereign. No third party company is control of, in control of my data, and if you think about, calendar is a very private piece of data that we're just kind of outsourcing to, You know, these big tech companies that don't deserve our trust, they tell you who you're going to see, what you're going to be [00:30:00] doing, where you're going to be, when you're going to be.

This is really private info. And if anybody. they would feel extremely creepy So, it's a great feeling to know that the data is in your own hands, when it comes to you calendars and contacts, and it's also in an open format, so I think we should talk about, the format that it's saved and we talked about how the WebDAV protocol is an open protocol for communication for transferring, but we haven't, and versioning, but we haven't talked about the format that it's saved in.

So let's say you've done this and you're syncing via NextCloud or another WebDAV server of some sort, and let's say you want to export it to another device or you want to back it up on a separate, File that you keep on a hard drive or for whatever reason you're gonna when you export from your calendar It's gonna be a dot ICS file.

That's I believe it's internet calendar Something but that's that's also an open protocol or open [00:31:00] standard and so if you this is Mac this or Apple rather this is Google.

Stephen DeLorme: Mm-hmm .

Jordan Bravo: Everybody uses this. So and the other calendar, or the other format that's open for calendar is iCal ICAL. And it's the same thing.

It's instead of contacts, excuse me, I misspoke. So I think V card is the, I for

contacts.

Stephen DeLorme: For contacts.

So iCal and ICS believe are actually the same thing.

Jordan Bravo: Yes,

Stephen DeLorme: ICS is the file extension, but iCal is like the name of the spec. Or something like that and I actually I learned this when I was setting up the ATL BitLab calendar.

I I did not realize that iCal, I always thought iCal files were named because of like the Apple app iCal, but it actually like predates the all the Apple stuff.

Jordan Bravo: Yeah.

Stephen DeLorme: I did not know or it predates Apple like when they were kind of going through their lowercase i fetish or whatever. It predates all of that.

So I don't know. It's just a weird coincidence.

Jordan Bravo: Yeah. I, I used to think it was an Apple thing as well, [00:32:00] but it turns out the I stands for internet, which I think a little bit of history. I think that's also what the I and I pod and all, all the I stuff stands for, but that just became like an Apple brand.

But, but really I think it was meant to, meant to stand for internet.

Stephen DeLorme: It's an internet pod.

Jordan Bravo: Yeah. Internet pod.

Okay.

Huh. It's an internet phone. An internet pad. Okay.

Yeah. So thank you for, for correcting that info there. It is I, ICS is, is the file extension for iCal. And then when it comes to contacts, I believe it's called vCard.

Stephen DeLorme: Yeah. Yeah.

Jordan Bravo: And I think the con that the file extension is VCF. Yep. Virtual contact file. So if you're ever exporting it, if you export your con your contacts, you're going to see a dot VCF, and if you export your calendar, you're going to see a dot ICS.

Stephen DeLorme: I remember the first time I got a VCF file attached in an email.

I was like, what the heck is this? [00:33:00] There was like a thing for a while. It was like real trendy for a while. And like. For like business people to like automatically like include their VCF as like an attachment in every single email.

Jordan Bravo: I think I remember that. That was back when you would have like a mime type error and like this is like when Outlook was all the rage and you know, you have your encrypted mime type and yeah.

Stephen DeLorme: It's like, hey guys, I'm like sending you a business card with every email or something like that. I guess it felt cool or something. I don't know. I don't know why people did it. It's like, it's like you're emailing me. I know what your email is, but whatever. I digress.

Jordan Bravo: Maybe the modern equivalent is a QR code.

Stephen DeLorme: Yeah, yeah, yeah. Like here's a QR code on the computer. Scan this to to go to our website when you're already on the computer.

Jordan Bravo: Yeah.

Yeah. Sweet. I had no idea Nextcloud was This powerful these days. I I don't know. I just, my experience with it was just [00:34:00] running it on a server once and using it through the stock browser interface and all of that.

So I'd never actually tried hooking it up to like the calendar and the contacts apps and all that. It's pretty cool.

Yeah.

And it supports a feature you might have not thought of, but it supports invites and responses. So yeah. That, that wasn't always the case. That's like a whole separate thing that had to be implemented.

And so you can set that up so that you, if you have it, especially if you have an email address attached to it, then if you send me a calendar invite, then I can respond and accept it or reject it. And if I accept it, for example, it's going to say my email address and you can configure that as well.

Stephen DeLorme: Yeah. Did wait, is that part of the, the Card Dev spec invites responses and all that kind of stuff?

Jordan Bravo: I, I believe it's part of the Cal Dev spec.

Stephen DeLorme: The Cal Dev spec, sorry, that's what I meant. Actually, this might be a fun, like, little segue into, like, just get, digging into the calendar spec a little bit.

This isn't really, like, [00:35:00] actionable in terms of, like, hey, I want to, like, put my whole life on this calendar, but for public calendars, this is kind of an interesting use case. So this is we have a calendar here for ATL BitLab for all the events. And let's see, I think it's just calendars, the URL.

And so this is the page right here. And it's like, so here's the URL to the iCal file right here. And if you go here, it actually goes to a a file. It's hosted an iCal file. It's on GitHub and it is a dot iCal thing, but I think dot ICS works. I think it's the same thing. And this is really just the spec right here.

So, for anyone who's listening, I've got an iCal file pulled up on screen that's linked from the ATL BitLab website, and it shows all of the, like, events that take place in the hackerspace. And you know, it's like, it's, it's, it's a, you know, pretty boring thing to look at, but you start to see just how simple these things are.

It's not really It's actually a lot simpler than it thinks. So it says like, begin calendar, blah, blah, [00:36:00] blah. And it has some kind of metadata about like the time zone. And then it's like, begin the event. And then, you know, it has like the name of the event, the description. Some like it has like a Unix timestamp for when it begins and when it ends and all of that.

And that's basically that. So how do we, so that, that's like what it looks like. And the way that we actually make this work. is, we actually have a repo on GitHub, and so now I'm going to a GitHub repo, and we have issues on here and, you know, so I'll pull this, this one up here, it's like, okay, here's the, the holiday party, and we have an issue that has, like, the UTC time, the duration, and the location, like, listed in the formatter of the event And then inside of this repo it, it basically calls a GitHub action here and this GitHub action it's a workflow, it's like a YAML file that just invokes some automated actions here.

And so credit goes to Christoph Ono and Johns Beharry [00:37:00] from the, the Bitcoin design community. They actually originally created this script. So in my YAML file, you can see a link here to the, the repo GBKS GitHub events calendar and inside of this repo is basically just like a little piece of JavaScript.

And what it does is it you know, a GitHub action fires off every single time. I have it rigged up at least in this YAML file so that every time somebody makes an issue that has the event label on it It will you know, fire fire off this GitHub action. The GitHub action will search for.

Christoph's GitHub repository, it'll pull in the people, like it'll kick fire off the little JavaScript file inside there, the little JavaScript file, all it does is it like scans for all the events on this GitHub repo. It looks for like, it basically just goes through and processes them, it converts all of the data inside of them into a calendar event.

So this structured data, like UTC time, duration, location, it uses that to create the VCAL or the, yeah, the ICAL event. And [00:38:00] because, like, all the iCal is, it's just, it's just data in a different format. So, it's just converting it into this text format. And then it just kind of, this script, it just kind of spits it out into an iCal file and saves it to another branch on the GitHub repository.

So it makes it so that you can actually have a public calendar that, you know, instead of having it on like Google or something like that and, and, you know, having to worry about that, you can, it's kind of like just having like a version controlled calendar in a way on your GitHub repository, so anyone with a GitHub account can do it.

So it's just another way of doing it, it just goes to show how powerful these open specs are, because now that we have an iCal file on the GitHub, You can anybody can, like, whether they're using Google Calendar or Proton Calendar or whatever calendar, Next Cloud Calendar, they can link to the ATL BitLab calendar and pull in all those events.

But the, the events can all be managed in a kind of open source context. So, I'm not saying [00:39:00] everybody should go off and like build their own GitHub. You know calendar that's like kind of like nerd shit right there But like just pointing out that like because of these these specs are open it grants you the flexibility to interact with these protocols in a wide variety of ways whether you want to kind of roll your own GitHub action script or If you just want to use something off the shelf like next cloud or proton

Jordan Bravo: and if If anyone wants to subscribe to the BitLab calendar, what's the easiest way for them to do that?

Stephen DeLorme: You just go to atlbitlab. com slash calendar. And and then there's like some instructions right there. There's like a link to the calendar file there.

Jordan Bravo: All right. Two more things I want to cover before we finish up here today. One is I want to point out that if somebody's interested in self hosting NextCloud.

That one of the easiest ways to get started with that is start nine start OS is for those who aren't [00:40:00] aware, it's a operating system meant for servers and it's entirely run through a GUI, meaning you don't need any command line skills or sysadmin or software engineering know how in order to host this start nine is not a sponsor of the show, but they are an incredible,

Stephen DeLorme: I wish they were,

Jordan Bravo: yeah, yeah, maybe, but They are an incredible resource for anybody that wants to get into self hosting because they make it easy.

Their whole mission is to make it so grandma can host, right? That quote unquote grandma can self host. And anybody can do it. You can buy plug and play devices from them or you can just DIY it on your own hardware and download the operating system for free. But I highly recommend it if that's what somebody's interested in doing.

Of course, if you are a more technical person. person and you know how to host your own server, then there is one other option I wanted to put out there. So Nextcloud, it has the whole shebang. It has [00:41:00] WebDAV, it has file transfers and all that stuff. But if you are the kind of person who knows how to self host something, and you maybe just want that calendar and, and contact syncing without the overhead of maybe an entire Nextcloud installation, There are other WebDavev servers out there.

There's a couple of really lightweight ones. There's one called SabreDAV, and that's at sabre.io. S A B R E dot io. And that that's a, a standalone app that that has webDAV, CalDAV, and CarDAV. And then the other option is let's see here. There's a GitHub repo called.

hacdias/webdav and we're going to put that on the screen and we'll put it in the show notes as well for those of you who are listening. But that is built in Go and it is a another easy to use standalone WebDAV server. [00:42:00] So if you were to. Run this on a VPS or on your home server, you'd be able to connect via any kind of client.

And, and like we mentioned before, that could be your iPhone. It could be your Android phone. It could also be your, your computer, all, all calendars and contacts software has the ability to connect to this.

Stephen DeLorme: Yeah. So this one looks pretty bare bones. So I imagine I would like SSH into a server or something and install this from command line.

And, you know, set up whatever I need to in the config file or whatever for my credentials, and then I would kind of stop using it from there and just go remotely access it over my phone or like, Point, you know, Thunderbird or whatever, you know, calendar client you're using towards this. Is that right?

Jordan Bravo: That's exactly right. Since you brought up Thunderbird, I think we should talk about, we've, we've talked about on mobile, how if you're on iOS, you get it out of the box. And if you're on Android, you're going to use [00:43:00] DAVX5 for syncing. But we should also talk about when we're on desktop and laptop, what, how do we sync there?

You know, what if we want to use CardDAV and CalDAV? So on Mac OS and on Windows, your calendar apps are going to already know how to talk to speak the WebDavev spec. So if you are, you, if you're used to Mac OS in the same way that the iPhone has it out of the box, your Mac book or Mac Mac computer is going to have it out of the box on Mac OS.

Stephen DeLorme: Just the Apple calendar app.

Jordan Bravo: Yeah, exactly. Apple calendar app. Windows, you know, I should, before I say Windows has it, I should double check, but I'm pretty sure that, that like I know, I know Outlook can do it, I'm pretty sure.

Stephen DeLorme: Wow,

it's been so long since I've used Windows, thankfully. And it's probably going to be a long time unless I break down in about a year and build a Windows PC for the purpose of playing Doom the Dark Ages.

But, you know, maybe I can resist it. But I think the [00:44:00] What I remember is Outlook was like a paid app, I feel like. Like, I feel like you always had to pay extra for Outlook. And there was some, like, default thing called, like, Windows Mail that was installed. But I don't know. This was, like, probably two versions of Windows ago, so I'm not sure.

Jordan Bravo: Yeah. I also have not used Windows in quite a while. So, I, you know, maybe the audience can tell us, those of you who are on Windows, have you tried to use CalDAV or CardDAV, and if so, what apps worked for you?

Stephen DeLorme: BoostIn!

Jordan Bravo: Yeah, BoostIn. Is it built into Windows? Are you using some third party client? We would like to know.

Where can people BoostIn?

Stephen DeLorme: Fountain. fm?

Jordan Bravo: Yeah, Fountain. fm. And,

Stephen DeLorme: Sweet, I know how to podcast 2. 0.

Jordan Bravo: Search for ATL BitLab. And you'll be able to send in your boostograms and attach some sats to it and we will read them on the show and we'll take your suggestions and we would love to hear your feedback.

So let us [00:45:00] know there.

Stephen DeLorme: Yeah, but and then and then so that was at Windows. We're not sure. TBD and then Linux.

Jordan Bravo: Linux, so, oh, you know what, I just remembered, Thunderbird is cross platform.

Stephen DeLorme: Yeah, I used to use it on Windows.

Jordan Bravo: So, if you're on Windows, I don't know if it's what built in Windows apps might be able to do it, but Thunderbird certainly works on Windows.

Thunderbird is cross platform, so it works on Windows, Mac, Linux, and even Android. And so Thunderbird has both CardDAV and CalDAV, as well as email, which we're not talking about today, but they certainly implement the, the WebDAV spec. And that's actually, I use, I've played around with two different ones on Linux.

I use Thunderbird and then also in GNOME and KDE, which are the built in the built in calendars for the graphical environments. They, they implement WebDAV, so. If you're on Linux and Mac, for sure, getting it out of the [00:46:00] box, possibly Windows to be determined, we need to do more research on that. And then absolutely Thunderbird is the third party app that you can download on any of those and that implements it as well.

Stephen DeLorme: Sweet.

Jordan Bravo: Well, is there anything else that you would like to cover before we get out of here?

Stephen DeLorme: I think that I don't know, that about covers it. I learned a lot today. I didn't know I could do all that with my contacts on Apple and Android and all that. So yeah, I think that seems like a good, good place to wrap up for the topic of calendars and contacts.

Jordan Bravo: All right. Well, thanks a lot, everyone. Boost in with your questions or suggestions and we will get to them on the next show. Steven, thank you for joining us today. Yeah, thanks for having me. And thank you everyone.

Stephen DeLorme: Catch you later.

Hey, thanks for listening. I hope you enjoyed this episode. If you want to learn more about anything that we discussed, you can look for links in the [00:47:00] show notes that should be in your podcast player, or you can go to atlbitlab. com slash podcast. On a final note, if you found this information useful and you want to help support us, you can always send us a tip in Bitcoin.

Your support really helps us so that we can keep bringing you content like this. All right. Catch you later.