Skip to content

Commit

Permalink
Announcing Dataans (#17)
Browse files Browse the repository at this point in the history
* feat(projects): dataans: improve dataans project page;

* feat(projects): dataans: improve dataans project page;

* feat(posts): announcing dataans: init post;

* feat(posts): announcing dataans: update post;
  • Loading branch information
TheBestTvarynka authored Oct 19, 2024
1 parent 302c728 commit ddd62e4
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 9 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
67 changes: 67 additions & 0 deletions content/posts/announcing-dataans/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
+++
title = "Announcing Dataans v.0.1.0"
date = 2024-10-19
draft = false

[taxonomies]
tags = ["rust", "tool", "project", "tauri", "leptos"]

[extra]
keywords = "Rust, Tauri, Leptos, Note-taking, Markdown"
toc = true
thumbnail = "dataans-thumbnail.png"
+++

# Intro

Around half a year ago, I started my new side project: [`Dataans`](https://github.com/TheBestTvarynka/Dataans). It already has plenty of good features and I think I'm ready to present it to you.

I'd say that it's not ready and missing a lot of functionality, but I remembered the following quote ([Lessons learned in 35 years of making software](https://dev.jimgrey.net/2024/07/03/lessons-learned-in-35-years-of-making-software/)):

> When you deliver work you’re really proud of, you’ve almost certainly done too much and taken too long.
I've been thinking about it for a while and decided to finally publish a first release. Otherwise, it might never happen. I always have something in mind to implement/fix/improve. It is an infinite process.

# Dataans

The Dataans is a desktop app that allows you to take notes in the form of markdown snippets grouped into spaces. Yes, it's another note-taking app, but it has unique features that I miss in all other note-taking apps.

## Motivation

I already have [a post](https://tbt.qkation.com/projects/dataans/) about the motivation and features I lack in other existing note-taking apps. Please, read the [Motivation](https://tbt.qkation.com/projects/dataans/#motivation) section of the article to understand why I decided to write my own app.

## Features

![](./md-note.png)

* Quake (drop-down) mode. The keybinding can be configured.
* Cross-platform.
* All notes are markdown snippets grouped into spaces. The following MD features are supported:
* Italic, bold, strike-through text.
* Quotes.
* Links.
* Headers.
* Tables.
* In-line code and code blocks.
* Pasting images from clipboard.
* Files can be attached to the note.
* Common keybindings for text editing (like `ctrl+k` for creating links).
* The app can be configured using the config file. Color scheme also can be configured.
* Simple note search.
* Many different keybindings to control the application.

Read more detailed in the project Wiki: [Dataans: Wiki](https://github.com/TheBestTvarynka/Dataans/wiki).

## How to try it

Follow this instructions: [github/TheBestTvarynka/Dataans/dataans/README.md](https://github.com/TheBestTvarynka/Dataans/blob/main/dataans/README.md) :stuck_out_tongue_winking_eye: :zany_face:

# References & final note

1. [Dataans: Source code](https://github.com/TheBestTvarynka/Dataans/).
2. [Dataans: Contributing guide](https://github.com/TheBestTvarynka/Dataans/blob/main/doc/CONTRIBUTING.md).
3. [Dataans: Technical decisions explained](https://github.com/TheBestTvarynka/Dataans/blob/main/doc/tech_stack.md).
4. [Dataans: Wiki](https://github.com/TheBestTvarynka/Dataans/wiki).
5. [Lessons learned in 35 years of making software](https://dev.jimgrey.net/2024/07/03/lessons-learned-in-35-years-of-making-software/).

I want to add one thing: **write programs for yourself in your favorite languages**. I'm feeling happy every time I use my app for my needs. Even if your future app will do only one task, then still create it. _No better software than software that does useful work._
Binary file added content/posts/announcing-dataans/md-note.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 12 additions & 9 deletions content/projects/dataans/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
+++
title = "dataans"
description = "Take notes in markdown snippets grouped into spaces."
date = 2024-10-16
date = 2024-10-19
draft = false

[taxonomies]
Expand All @@ -19,36 +19,37 @@ The Dataans is a desktop app that allows you to take notes in the form of markdo

# Motivation

I write notes almost every time I use my computer. Usually, it's small pieces of data/code/docs/links I found during the research or bug fixing. So, I need some place to store them and the ability to find needed pieces of information easily. I used to use a single text file and open it in Notepad or VS Code. After the research, I got the file with almost random symbols:
I write notes almost every time I use my computer. Usually, it's small pieces of data/code/docs/links I found during the research or bug fixing. So, I need some place to store them and the ability to find needed pieces of information easily. I used to use a single text file and open it in `Notepad` or `VS Code`. After the research, I got the file with almost random symbols:

![](./notes-example.png)

Do I need to explain that it isn't convenient and hard to find anything? I needed a better solution. I tried other note-taking apps, but every one of them had flaws I didn't like a lot.
Do I need to explain that it is inconvenient and hard to find anything? I needed a better solution. I tried other note-taking apps, but every one of them had flaws I didn't like a lot.

## What's wrong with existing note-taking apps?

I relate a lot to this blog post ([Why build a messenger app only for sending to yourself?](https://monoline.io/posts/2021/11/11/why-build-a-messenger-app-only-for-sending-to-yourself/)). I quote many key points from it but explain them in my own way and how they relate to me.
I relate a lot to this blog post ([Why build a messenger app only for sending to yourself?](https://monoline.io/posts/2021/11/11/why-build-a-messenger-app-only-for-sending-to-yourself/)). I quote some key points from it but explain them in my own way and how they relate to me.

1. **Too many options**. I don't need so much test editing functionality. I just want to take notes and have simple markup (styling) functionality. Something like [markdown](https://www.markdownguide.org/) or [asciidoc](https://docs.asciidoctor.org/).
2. **Unwanted features**. This echoes the previous point, but I want to draw your attention specifically to the UNWANTED features. For example, I don't need AI to search for info in my notes. I only need a typical search engine. I don't want AI to write notes for me. I can write down my thoughts by myself.
2. **Unwanted features**. This echoes the previous point, but I want to draw your attention specifically to the *UNWANTED* features. For example, I don't need AI to search for info in my notes. I only need a typical search engine. I don't want AI to write notes for me. I can write down my thoughts by myself.
3. **Article-oriented mindset**. People don't think in articles. Many note-taking apps look like you are going to write an article instead of just writing down the idea, thought, or a random piece of data. When I see a blank screen with the cursor, I feel I need to write a document with a defined structure, style, and line of thought. It throws off the thoughts I wanted to write at the beginning.

## Missing features

Despite the listed flaws above, I still have missing features I would like to have in my note-taking app. Some of them may feel weird and illogical to you, but I know what I want :stuck_out_tongue_closed_eyes:.
Despite the listed flaws above, I also have missing features I would like to have in my note-taking app. Some of them may feel weird and illogical to you, but I know what I want :stuck_out_tongue_closed_eyes:.

All note-taking apps I tried lack one or more features listed below. No one contains all of them at once (but if you find such an app, please, tell me about it).

1. **Desktop app**. Yes, you heard it right. In the era of the web, I want a desktop app. Usually, the browser has dozens of opened tabs across multiple windows. It becomes hard to find the tab with notes (even when it's pinned).
2. **Quake (drop-down) mode**. I have used the [Quake](https://github.com/Guake/guake/) terminal since 2019. I like it a lot and the most pleasant feature is a drop-down mode. I set a keybinding to the `F1` key and always have my terminal with me. I would like to have the same ability for my note-taking app because I use it often.
3. **Cross platform**. It should behave the same on _Windows_ and _Linux_. Other platforms may may be supported too, but it's not a requirement for me.
4. **Markdown**. It is simple, easy to learn, and looks good. It contains a perfect set of styling and markup functionality for me.
5. **Grouping** into channels/spaces/folders/or anything like that.

# Solution

These are the two closest apps to what I want:

1. [Telegram](https://telegram.org/). I have plenty of Telegram channels with one subscriber (me) where I save important, useful, and just interesting information. Despite rich Telegram features, you can understand why it isn't suitable.
1. [Telegram](https://telegram.org/). I have plenty of Telegram channels with one subscriber (me) where I save important, useful, and just interesting information. Despite rich Telegram features, I think you can understand why it isn't a solution.
2. [Monoline](https://monoline.io/). It supports MD and has pretty UI, but I would like to organize my notes into groups (like messages are organized in channels in Telegram).

I decided to write my note-taking app after many tries and thoughts. The best part of being a programmer is the ability to do everything I want with the software. It's like a limitless power in the virtual world (unfortunately, *everything has a limit*, but we aren't about that).
Expand Down Expand Up @@ -89,12 +90,14 @@ I wrote a comprehensive explanation of the chosen tech stack. You can read it he

# Moving further

I'm going to continue to improve `Dataans` according to my needs. If someone wants some missing functionality, then create an issue or a discussion, and most likely I'll implement it. Or if you are interested in contributing to this project, then read the [`CONTRIBUTING.md`](https://github.com/TheBestTvarynka/Dataans/blob/main/doc/CONTRIBUTING.md) document.
I'm going to continue to improve `Dataans` according to my needs. If someone wants some missing functionality, then create an [issue](https://github.com/TheBestTvarynka/Dataans/issues/new) or a [discussion](https://github.com/TheBestTvarynka/Dataans/discussions), and most likely I'll implement it. Or if you are interested in contributing to this project, then read the [`CONTRIBUTING.md`](https://github.com/TheBestTvarynka/Dataans/blob/main/doc/CONTRIBUTING.md) document.

# References & final note

1. [Dataans: Source code](https://github.com/TheBestTvarynka/Dataans/).
2. [Dataans: Contributing guide](https://github.com/TheBestTvarynka/Dataans/blob/main/doc/CONTRIBUTING.md).
3. [Dataans: Technical decisions explained](https://github.com/TheBestTvarynka/Dataans/blob/main/doc/tech_stack.md).
4. [Dataans: Wiki](https://github.com/TheBestTvarynka/Dataans/wiki).
5. [Why build a messenger app only for sending to yourself?](https://monoline.io/posts/2021/11/11/why-build-a-messenger-app-only-for-sending-to-yourself/).

I want to add only one thing: **write small programs for yourself in your favorite languages**. I'm feeling happy every time I use my app for my needs. Even if your app will do only one task, then still create it. _No better software than software that does useful work._
I want to add only one thing: **write programs for yourself in your favorite languages**. I'm feeling happy every time I use my app for my needs. Even if your app will do only one task, then still create it. _No better software than software that does useful work._

0 comments on commit ddd62e4

Please sign in to comment.