1 00:00:00,000 --> 00:00:03,380 Welcome back to the Deep Dive. Before we jump in, we want to give a massive thank 2 00:00:03,380 --> 00:00:06,000 you to the supporter of this Deep Dive, SafeServer. 3 00:00:06,000 --> 00:00:10,020 If you're looking for robust solutions for hosting software, or maybe you need a 4 00:00:10,020 --> 00:00:15,000 partner to support your digital transformation, SafeServer is there for you. 5 00:00:15,000 --> 00:00:20,000 You can find out more at www.safeserver.de. 6 00:00:20,000 --> 00:00:24,260 Alright, today we are tackling a topic that really, it affects every single person 7 00:00:24,260 --> 00:00:29,000 listening. How we manage our time, our tasks, our lives. 8 00:00:29,000 --> 00:00:30,000 It really does. 9 00:00:30,000 --> 00:00:34,390 We're diving into an open source project with a, let's say a memorable name. It's 10 00:00:34,390 --> 00:00:37,000 called Manage My Damn Life, or MMDL for short. 11 00:00:37,000 --> 00:00:38,000 Right. 12 00:00:38,000 --> 00:00:42,170 And our mission today is to give you a really clear, not overwhelming idea of what 13 00:00:42,170 --> 00:00:46,290 this tool is, how it works, and why it's part of this bigger shift in controlling 14 00:00:46,290 --> 00:00:47,000 your own data. 15 00:00:47,000 --> 00:00:50,150 It's a perfect example of this whole self-hosting movement. For years we've just 16 00:00:50,150 --> 00:00:54,380 handed over our most critical data, our meetings, our deadlines to these big 17 00:00:54,380 --> 00:00:56,000 proprietary platforms. 18 00:00:56,000 --> 00:00:57,000 Just handed it over without a thought? 19 00:00:57,000 --> 00:01:02,630 Exactly. And MMDL is part of a movement to reclaim that. But to really get it, we 20 00:01:02,630 --> 00:01:08,730 need to unpack three key ideas. What a front end is, what self-hosted actually 21 00:01:08,730 --> 00:01:12,000 means, and this crucial protocol, CallDave. 22 00:01:12,000 --> 00:01:16,530 Okay, let's start there. The official definition in our sources says, MMDL is a 23 00:01:16,530 --> 00:01:21,670 self-hosted front end for managing CallDave tasks and calendars. So let's break 24 00:01:21,670 --> 00:01:24,000 that down. First up, self-hosted. 25 00:01:24,000 --> 00:01:27,430 Self-hosted basically means you are in charge. You run the software on your own 26 00:01:27,430 --> 00:01:28,000 server. 27 00:01:28,000 --> 00:01:30,000 So not in someone else's cloud. 28 00:01:30,000 --> 00:01:33,000 Precisely. It could be a little computer in your house, a virtual server you ran, 29 00:01:33,000 --> 00:01:37,850 or an infrastructure solution from a partner like SafeServer. The point is, no 30 00:01:37,850 --> 00:01:41,000 third-party company is holding your to-do list hostage. 31 00:01:41,000 --> 00:01:44,000 So the security, the availability, it's all in your hands. 32 00:01:44,000 --> 00:01:45,000 It is. 33 00:01:45,000 --> 00:01:47,520 But you mentioned it's a front end. That makes it sound like it's only half of the 34 00:01:47,520 --> 00:01:48,000 puzzle. 35 00:01:48,000 --> 00:01:51,200 That's a great way to put it. MMDL is the user interface. It's the part you see and 36 00:01:51,200 --> 00:01:52,000 interact with. 37 00:01:52,000 --> 00:01:53,000 The pretty part. 38 00:01:53,000 --> 00:01:57,000 The pretty part, yeah. But the data itself, your actual appointments and tasks, 39 00:01:57,000 --> 00:02:01,660 that lives on a separate server, which we call the backend. MMDL just connects to 40 00:02:01,660 --> 00:02:02,000 it. 41 00:02:02,000 --> 00:02:06,000 And that connection, that's where CallDAVU comes in. It's the language that lets 42 00:02:06,000 --> 00:02:08,000 the front end talk to any backend, 43 00:02:08,000 --> 00:02:10,000 whether it's NextCloud, ByCall, whatever. 44 00:02:10,000 --> 00:02:15,000 Yes, exactly. CallDAVU is this open, standardized internet protocol. 45 00:02:15,000 --> 00:02:19,000 And it's so important for two reasons. First, because it's open, anyone can build 46 00:02:19,000 --> 00:02:21,000 software that speaks this language. 47 00:02:21,000 --> 00:02:23,000 It creates a level playing field. 48 00:02:23,000 --> 00:02:24,000 You know, operability. 49 00:02:24,000 --> 00:02:28,440 Right. And second, it uses these standardized formats. You'll see them called VTOD 50 00:02:28,440 --> 00:02:32,000 for tasks and VVENT for calendar events. 51 00:02:32,000 --> 00:02:37,330 Okay, hold on. VTOD event. Why should the average person listening care about those 52 00:02:37,330 --> 00:02:38,000 acronyms? 53 00:02:38,000 --> 00:02:41,500 Well, think of them as standardized digital envelopes. If you send your task in a 54 00:02:41,500 --> 00:02:44,000 proprietary format, it's locked in. 55 00:02:44,000 --> 00:02:49,330 But VTODO, that envelope has everything. The due date, the status, the recurrence 56 00:02:49,330 --> 00:02:53,000 rules, all in a format that everyone on the planet agrees on. 57 00:02:53,000 --> 00:02:56,000 So if you ever want to move your data, you just pick up your envelopes and go. 58 00:02:56,000 --> 00:02:57,000 Nothing gets lost. 59 00:02:57,000 --> 00:03:02,000 You got it. It guarantees portability. And that is the ultimate form of control. 60 00:03:02,000 --> 00:03:09,060 Which brings us back to the MMDL project itself. It's open source, GPL 3.0 license. 61 00:03:09,060 --> 00:03:10,000 What's actually under the hood? 62 00:03:10,000 --> 00:03:14,860 It's built on a pretty modern stack, React and Next.js. But my favorite detail from 63 00:03:14,860 --> 00:03:20,500 the sources is that the developers cheerfully admit some of it is pure spaghetti 64 00:03:20,500 --> 00:03:21,000 code. 65 00:03:21,000 --> 00:03:26,330 Huh. Okay, I love the honesty. But if we're trying to be well informed here, what 66 00:03:26,330 --> 00:03:30,000 does calling your own project spaghetti code really imply for a user? 67 00:03:30,000 --> 00:03:34,000 It implies it's a work in progress. It's a big friendly warning sign that says beta. 68 00:03:34,000 --> 00:03:35,000 Right. 69 00:03:35,000 --> 00:03:39,080 In open source, that usually means the code might be a bit disorganized, maybe hard 70 00:03:39,080 --> 00:03:43,000 for new people to jump in and fix things without breaking something else. 71 00:03:43,000 --> 00:03:45,640 It's a signal to be careful if you're using it for, you know, mission critical 72 00:03:45,640 --> 00:03:46,000 stuff. 73 00:03:46,000 --> 00:03:49,050 That's a really important insight. It's not just a funny line. It's a statement 74 00:03:49,050 --> 00:03:50,000 about risk. 75 00:03:50,000 --> 00:03:53,990 Okay, let's get to the features. What can MMDL do right now to actually manage a 76 00:03:53,990 --> 00:03:55,000 complex life? 77 00:03:55,000 --> 00:03:59,220 Its real strength is in how well it supports VTODL. It handles all the key things 78 00:03:59,220 --> 00:04:03,000 you'd expect. Due dates, status, descriptions, recurrence. 79 00:04:03,000 --> 00:04:08,330 But the killer features are really two things. It's support for subtasks, and it's 80 00:04:08,330 --> 00:04:10,000 different ways of looking at your data. 81 00:04:10,000 --> 00:04:14,000 Let's talk about subtasks. Why is that such a game changer? A lot of simple apps 82 00:04:14,000 --> 00:04:15,000 just skip that. 83 00:04:15,000 --> 00:04:21,730 Because real projects aren't just one item. A task like plan vacation isn't a task. 84 00:04:21,730 --> 00:04:23,000 It's a project. 85 00:04:23,000 --> 00:04:26,000 Sure, you've got a book flights, reserve a hotel. 86 00:04:26,000 --> 00:04:31,330 Exactly. You need to break it down. Book flights, reserve hotel, create itinerary. 87 00:04:31,330 --> 00:04:35,710 MMDL support for that kind of hierarchy means it's not just a to-do list, it's a 88 00:04:35,710 --> 00:04:38,000 proper project management tool. 89 00:04:38,000 --> 00:04:40,600 And it's designed to handle that complexity across different parts of your life, 90 00:04:40,600 --> 00:04:41,000 right? 91 00:04:41,000 --> 00:04:45,530 It is. It supports multiple CalDAV accounts. So you can have your work calendar on 92 00:04:45,530 --> 00:04:48,610 one server and your personal family task is on another and see them all in one 93 00:04:48,610 --> 00:04:49,000 place. 94 00:04:49,000 --> 00:04:50,000 Without mixing them up. 95 00:04:50,000 --> 00:04:54,150 Right. And it also supports multiple user accounts on the same installation. So a 96 00:04:54,150 --> 00:04:57,000 small team or a family could all use it from one server. 97 00:04:57,000 --> 00:05:01,880 Okay. Now the viewing options. Our sources say you can see tasks as a list, on a 98 00:05:01,880 --> 00:05:06,790 calendar, or in a Gantt view. That Gantt view seems like a huge feature for an open 99 00:05:06,790 --> 00:05:08,000 source project like this. 100 00:05:08,000 --> 00:05:13,330 It absolutely is. A Gantt chart is a staple of professional project management. It's 101 00:05:13,330 --> 00:05:17,000 that horizontal bar chart that shows you a project schedule over time. 102 00:05:17,000 --> 00:05:21,340 So you can actually see how your tasks overlap. Yes. You can instantly visualize 103 00:05:21,340 --> 00:05:25,530 your timeline, see where the bottlenecks are, and understand which tasks depend on 104 00:05:25,530 --> 00:05:26,000 others. 105 00:05:26,000 --> 00:05:30,880 For planning anything complex, it's a massive productivity boost. That sounds like 106 00:05:30,880 --> 00:05:36,000 it's aimed squarely at project managers, consultants, people juggling a lot. 107 00:05:36,000 --> 00:05:41,230 But the developers also say the interface is, and I quote, responsive-ish, and it's 108 00:05:41,230 --> 00:05:46,000 a desktop-first project. Isn't that a big limitation in a mobile-first world? 109 00:05:46,000 --> 00:05:49,000 It's a trade-off. I think it's probably a smart one for a small team. How so? 110 00:05:49,000 --> 00:05:54,520 Well, trying to manage a complex con chart or nested subtasks on a tiny phone 111 00:05:54,520 --> 00:05:57,000 screen is difficult to do well. 112 00:05:57,000 --> 00:06:00,470 By focusing on the desktop, they're perfecting the power user experience where 113 00:06:00,470 --> 00:06:02,000 these features really matter. 114 00:06:02,000 --> 00:06:06,450 And they know other mobile apps already exist for Cal Day. Exactly. There are 115 00:06:06,450 --> 00:06:08,000 already good mobile clients. 116 00:06:08,000 --> 00:06:12,620 MMDL is filling a gap in the ecosystem for a really robust desktop-centric hub. 117 00:06:12,620 --> 00:06:16,000 They're choosing depth over being everywhere at once. 118 00:06:16,000 --> 00:06:19,000 That makes a lot of sense. Okay, let's talk about connecting to it. 119 00:06:19,000 --> 00:06:22,810 We know it works with Nextcloud and Bycall, but there's a big authentication issue 120 00:06:22,810 --> 00:06:24,000 we have to talk about. 121 00:06:24,000 --> 00:06:28,530 That's right. This is critical for users to understand. Currently, MMDL only 122 00:06:28,530 --> 00:06:31,000 supports basic authentication. 123 00:06:31,000 --> 00:06:36,360 Whoa, hold on. Basic Auth. Isn't that just sending your username and password with, 124 00:06:36,360 --> 00:06:38,000 like, every request? 125 00:06:38,000 --> 00:06:42,000 For calendars and tasks, that seems like a pretty significant security risk. 126 00:06:42,000 --> 00:06:45,380 It is. You've just put your finger on the biggest challenge for an early-stage 127 00:06:45,380 --> 00:06:46,000 project. 128 00:06:46,000 --> 00:06:49,000 So why not prioritize something more modern, like OA Youth? 129 00:06:49,000 --> 00:06:53,000 Because OA Youth is really, really complex to implement correctly. 130 00:06:53,000 --> 00:06:57,620 Basic Auth is much simpler, and it let them get the core functionality of the task 131 00:06:57,620 --> 00:07:00,000 management up and running much faster. 132 00:07:00,000 --> 00:07:02,000 It's probably the clearest sign of its beta status. 133 00:07:02,000 --> 00:07:06,000 The features are there, but the security hardening is still on the to-do list. 134 00:07:06,000 --> 00:07:10,190 So the user is trading top-tier security for early access to these advanced 135 00:07:10,190 --> 00:07:11,000 features. 136 00:07:11,000 --> 00:07:14,000 That is the reality of using beta open-source software, yes. 137 00:07:14,000 --> 00:07:17,000 Which is why the official status is still beta. 138 00:07:17,000 --> 00:07:20,640 We've strongly advised anyone using it with real data to be cautious, keep good 139 00:07:20,640 --> 00:07:23,000 backups, and understand that it's still evolving. 140 00:07:23,000 --> 00:07:26,000 But the community interest is there. The numbers are pretty good. 141 00:07:26,000 --> 00:07:32,000 Over 452 stars on GitHub, 28 forks, a core group of eight contributors. 142 00:07:32,000 --> 00:07:35,000 It shows a healthy, active project that's moving forward. 143 00:07:35,000 --> 00:07:40,000 The last release mentioned was v.8.1 in September of 2025. 144 00:07:40,000 --> 00:07:41,000 So let's look at where it's going. 145 00:07:41,000 --> 00:07:45,390 The roadmap seems to focus on usability and, maybe more importantly, really 146 00:07:45,390 --> 00:07:47,000 sticking to open standards. 147 00:07:47,000 --> 00:07:49,000 And that commitment to standards is absolutely key. 148 00:07:49,000 --> 00:07:53,820 The first big item on their roadmap is full support for all the fields for VTODO 149 00:07:53,820 --> 00:07:57,000 and Vient, as described in RFC 5545. 150 00:07:57,000 --> 00:08:01,620 OK, RFC 5545. In practical terms, what does full support for a standard like that 151 00:08:01,620 --> 00:08:03,000 actually give a user? 152 00:08:03,000 --> 00:08:07,000 It means reliability. RFC 5545 is the Bible for calendar data. 153 00:08:07,000 --> 00:08:11,000 Full support means it can handle all the tricky edge cases, like complex time zones 154 00:08:11,000 --> 00:08:12,000 or weird recurring events. 155 00:08:12,000 --> 00:08:14,000 You mean like the third Tuesday of every other month? 156 00:08:14,000 --> 00:08:19,320 Exactly. A system that only partially supports the RFC will probably mess that up, 157 00:08:19,320 --> 00:08:22,000 especially if you cross a daylight saving boundary. 158 00:08:22,000 --> 00:08:25,380 Full compliance means your data will be bulletproof and work with any other 159 00:08:25,380 --> 00:08:27,000 compliance server on the planet. 160 00:08:27,000 --> 00:08:32,000 So that's long-term reliability. What about more immediate user experience fixes? 161 00:08:32,000 --> 00:08:36,390 They're focusing there, too. They're planning more flexible ways to view and filter 162 00:08:36,390 --> 00:08:40,000 tasks. And a big one, drag and drop capability. 163 00:08:40,000 --> 00:08:41,000 That's essential. 164 00:08:41,000 --> 00:08:45,000 It really is. And finally, the ability to create external plug-ins. 165 00:08:45,000 --> 00:08:48,480 That opens the door for the community to build all sorts of integrations with other 166 00:08:48,480 --> 00:08:49,000 tools. 167 00:08:49,000 --> 00:08:53,990 So if you connect all those dots, it really looks like MMDL is aiming to be a true 168 00:08:53,990 --> 00:08:57,000 alternative to the big commercial products. 169 00:08:57,000 --> 00:09:01,000 But with that core advantage of you, the user, keeping control of the data. 170 00:09:01,000 --> 00:09:05,450 That's it exactly. MMDL is a bridge. It's using a modern framework to give you a 171 00:09:05,450 --> 00:09:07,000 great desktop experience, 172 00:09:07,000 --> 00:09:11,000 connecting to established backends like Nextcloud and offering power user features 173 00:09:11,000 --> 00:09:14,000 like GotCharts, all while keeping your data sovereign. 174 00:09:14,000 --> 00:09:20,060 And that leads us to our final thought for you. MMDL wants to manage your damn life, 175 00:09:20,060 --> 00:09:22,000 the most important time-sensitive data you have. 176 00:09:22,000 --> 00:09:26,530 So given the trade-offs we talked about, the powerful features versus the current 177 00:09:26,530 --> 00:09:29,000 security limitations, think about this. 178 00:09:29,000 --> 00:09:33,460 What level of transparency and what degree of control would you demand from the 179 00:09:33,460 --> 00:09:36,000 software that handles your most important daily tasks? 180 00:09:36,000 --> 00:09:39,640 That's a powerful question. It really gets to the heart of what self-hosting is all 181 00:09:39,640 --> 00:09:40,000 about. 182 00:09:40,000 --> 00:09:44,270 It does. And as always, a huge thanks to you for joining us on this deep dive, and 183 00:09:44,270 --> 00:09:47,000 a final thank you to our supporter, SafeServer. 184 00:09:47,000 --> 00:09:50,150 They're there to help with hosting robust software and supporting your digital 185 00:09:50,150 --> 00:09:51,000 transformation. 186 00:09:51,000 --> 00:09:56,000 You can find more information at www.safeserver.de. We'll see you next time.