index.html (7160B)
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><title>We Need More Apps Based on TXT Formats – Fedor_Vinogradov</title> 5 <meta name="description" content="I prefer matrix over anything."> 6 7 <meta name="viewport" content="width=device-width, initial-scale=1"> 8 <meta charset="UTF-8"/> 9 10 11 12 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" integrity="sha512-Kc323vGBEqzTmouAECnVceyQqyqdsSiqLQISBL29aUW4U/M7pSPA/gEUZQqv1cwx4OnYxTxve5UMg5GT6L4JJg==" crossorigin="anonymous" referrerpolicy="no-referrer" /> 13 14 15 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/academicons/1.9.4/css/academicons.min.css" integrity="sha512-IW0nhlW5MgNydsXJO40En2EoCkTTjZhI3yuODrZIc8cQ4h1XcF53PsqDHa09NqnkXuIe0Oiyyj171BqZFwISBw==" crossorigin="anonymous" referrerpolicy="no-referrer" /> 16 17 18 <link rel="stylesheet" href="http://localhost:1313/css/palettes/nord-dark.css"> 19 <link rel="stylesheet" href="http://localhost:1313/css/risotto.css"> 20 <link rel="stylesheet" href="http://localhost:1313/css/custom.css"> 21 22 23 24 25 26 27 28 29 30 31 </head> 32 33 <body> 34 <div class="page"> 35 36 <header class="page__header"><nav class="page__nav main-nav"> 37 <ul> 38 <li class="nomarker"><h1 class="page__logo"><a href="http://localhost:1313/" class="page__logo-inner">Fedor_Vinogradov</a></h1></li> 39 40 41 <li class="main-nav__item"><a class="nav-main-item" href="http://localhost:1313/projects/" title="">Projects</a></li> 42 43 <li class="main-nav__item"><a class="nav-main-item" href="http://localhost:1313/posts/" title="">Posts</a></li> 44 45 </ul> 46 </nav> 47 48 </header> 49 50 <section class="page__body"> 51 <header class="content__header"> 52 <h1>We Need More Apps Based on TXT Formats</h1> 53 </header> 54 <div class="content__body"> 55 <p>A few weeks ago, I decided to make a synced calendar system to organise my events and tasks. My main requirement is to make sure that the app on my phone, laptop and tablet are open sour ce and allow to share the same tasks synced together. This should quite a simple task no? Aft er all, calendars are a very common way to store your tasks. I soon discovered the ics format , which I found good enough for my usecase. But… how do you sync it?</p> 56 <h2 id="what-are-they">What are They</h2> 57 <p>Designed to be used with GNU utils, txt formats present a truly universal way to manage your reminders and tasks. I’m referring mainly to <a href="https://github.com/todotxt/todo.txt">todo.txt</a> since its the most popular one out there. Bellow is an official diagram that shows the way the format works but I would still recommend to quickly read the documentation in order to grasp it fully.</p> 58 <p><strong>todo.txt:</strong></p> 59 <p><img src="/images/todoTxtFormat.png" alt="todo.txt"></p> 60 <h2 id="why-use-them">Why Use Them</h2> 61 <p>These text formats provide a simple yet powerful storage backend for productivity apps. Let me explain why:</p> 62 <p><strong>1. Extreme portability:</strong> everything is in a single file. You can sync this file between devices and then parse them any way you want.</p> 63 <p><strong>2. Completely open format:</strong> its a single txt file, I don’t think more explanation is needed.</p> 64 <p><strong>3. Virtually infinite extensibility:</strong> todo.txt allows for “special keyvalue tags” which can be represent any possible value related to the todo task, for example a due date, time or even a timer. In the image above, you can see one created for the due date (<code>due:2016-05-30</code>) but it can be absolutely anything you want. This allows the format to have an unlimited amount of ways you can organize and save your todos.</p> 65 <h2 id="txt-formats-are-perfect-storage-backends-for-productivity-applications">Txt Formats Are Perfect Storage Backends For Productivity Applications</h2> 66 <p>They are not designed or intended to be used as a backend, but due to their simplicity, it can be easily implemented.</p> 67 <p>There are a number of apps that already do it, personally I use <a href="https://github.com/ransome1/sleek">sleek</a> and <a href="https://github.com/tmaegel/ntodotxt">ntodotxt</a>, which both do exactly what im describing in this post but there is an enormous market gab for apps like this.</p> 68 <p>The best part is that <strong>any feature</strong> can be implemented and not ruin the experience for any other app using the same file. You can make any sort of keyvalue tag, link it to a functionality, and then have it completely ignored by other apps, therefore not breaking them.</p> 69 <p>Sleek has a pomodoro timer as one of the easy to set options: <code>pm:15</code></p> 70 <p><img src="/images/sleekTodoTaskExample.png" alt="example of a sleek todo task"></p> 71 <p>Ntodotxt still shows the tag, but doesn’t display it in the same nice way:</p> 72 <p><img src="/images/ntodoTxtTaskExample.png" alt="example of a ntodotxt todo task"></p> 73 <h2 id="conclusion">Conclusion</h2> 74 <p>Stop making and using bloated proprietary todo apps, make them transparent, flexible and shareable.</p> 75 76 </div> 77 <footer class="content__footer"></footer> 78 79 </section> 80 81 <section class="page__aside"> 82 <div class="aside__about"> 83 <div class="aside__about"> 84 85 86 <h1 class="about__title">My Socials</h1> 87 <p class="about__description">I prefer matrix over anything.</p> 88 </div> 89 90 91 <ul class="aside__social-links"> 92 93 <li> 94 <a href="" rel="me" aria-label="SourceHut" title="SourceHut"><i class="fa-regular fa-circle" aria-hidden="true"></i></a> 95 </li> 96 97 <li> 98 <a href="https://matrix.to/#/@fedorvin:matrix.org" rel="me" aria-label="Matrix" title="Matrix"><i class="fa-regular fa-comment" aria-hidden="true"></i></a> 99 </li> 100 101 <li> 102 <a href="/index.xml" rel="me" aria-label="RSS" title="RSS"><i class="fa-solid fa-rss" aria-hidden="true"></i></a> 103 </li> 104 105 <li> 106 <a href="mailto:vino-f@pm.me" rel="me" aria-label="Email" title="Email"><i class="fa-regular fa-envelope" aria-hidden="true"></i></a> 107 </li> 108 109 <li> 110 <a href="https://linkedin.com/in/fedor-vinogradov-b4454219a" rel="me" aria-label="LinkedIn" title="LinkedIn"><i class="fa-brands fa-linkedin-in" aria-hidden="true"></i></a> 111 </li> 112 113 </ul> 114 <hr> 115 <div class="aside__content"> 116 <p>A guide for how i make all of my documents</p> 117 118 <p> 119 120 2025-04-07 121 </p> 122 123 124 125 126 127 <nav id="TableOfContents"> 128 <ul> 129 <li><a href="#what-are-they">What are They</a></li> 130 <li><a href="#why-use-them">Why Use Them</a></li> 131 <li><a href="#txt-formats-are-perfect-storage-backends-for-productivity-applications">Txt Formats Are Perfect Storage Backends For Productivity Applications</a></li> 132 <li><a href="#conclusion">Conclusion</a></li> 133 </ul> 134 </nav> 135 136 </section> 137 138 <footer class="page__footer"> 139 <p class="copyright"></p> 140 </footer> 141 142 </div> 143 </body> 144 145 </html>