u/Acceptable_Ad_4425

Free, open source notes project

Hello everyone! I wanted to share a project I’ve been working on. For a while I’ve been working on a react native mobile handwritten notes engine that I open sources about a month ago.

I had originally written it for a paid app that I spent a lot of time working on, but after reading a lot of Reddit conversations and thinking about my own experiences, I realized a lot of people are looking for no-bloat, cheap/free note taking apps.

Hence, I used my engine to make “OpenNotes”. It’s not perfect, there are some kinks I have to work out with wrapping my engine better, and of course continuing to improve the engine as a performant engine is sooo hard to build, but I think it is quite solid, especially considering it’s open source, free, and has a clear route to improvement since the focus is not to add bloat features or get sidetracked from creating a really good core note taking experience.

Also, the engine supports iOS and android so I’m working on getting the android app published too.

If anyone wants to try the first version of the app it’s here:

https://apps.apple.com/app/opennotes-notes-pdf-markup/id6771224004

And if anyone wants to contribute, check out, or try the engine or app source, they’re here:

Engine: https://github.com/mathnotes-app/mobile-ink
App: https://github.com/mathnotes-app/OpenNotes

u/Acceptable_Ad_4425 — 1 day ago

Question about Benchmarking Performance

Hello anyone, I'm sorry if this is a stupid question in this space, but I'm working on on a mobile notes canvas/engine and am trying to experiment with using Skia w/ Ganesh to render my strokes when I had been using SkSurface w/ raster strokes.

My question is what is the best way to benchmark performance when testing different stacks like this? To me I cannot notice too much of a difference in terms of feel, but I feel like there should be a way to systematically measure latency, memory stability, etc.

I know that I can look at instrumentation w/ xcode, but are there any other standard workflows in graphics programming besides manually inspecting the recordings?

reddit.com
u/Acceptable_Ad_4425 — 11 days ago

Feedback and thoughts on inifinite notes canvas package

Hello everyone! After about a year I'm very excited to get my most difficult and frustrating project to a point where I'm finally confident to open-source.

Basically I wanted to build a notes app but there was no high-performance drawing canvas package at all. Everything was a small toy canvas but nothing near Notability/Goodnotes level.

This has been very difficult to build, and I have to solved all sorts of issues with native rendering, pencil latency, eraser behavior, page virtualization, preview caching, memory stability, feature-completeness, page interactivity, etc. There are some more examples in the repo if you want to check it out. Of course, it can still be improved as this is a very difficult project!

Right now you can write hundreds of pages of notes/drawings with solid performance, and there are advanced features like snap-to-shape, several tools, custom and pdf backgrounds, smooth scrolling and zooming, primitives for figure, image, and text inserts, lasso select, and more.

I would love for this to eventually be a community effort to build something currently only a few closed-source apps have perfected.

The package is iOS + React Native first right now. There is an example app in the repo that you can run to test it out. Here are the links to the GitHub and npm package.

I would love it if anyone has any feedback, or wants to contribute, especially if you have ever worked on anything similar and understand the pain that comes with working on it😭!

GitHub: https://github.com/mathnotes-app/mobile-ink

npm: www.npmjs.com/package/@mathnotes/mobile-ink

u/Acceptable_Ad_4425 — 14 days ago
▲ 2 r/software+1 crossposts

Open Source Mobile Notes Engine

Hello everyone! After about a year I'm very excited to get my most difficult and frustrating project to a point where I'm finally confident to open-source.

It is a high-performance drawing canvas for React Native. I started this because there is not a viable open-source option for a mobile notes implementation.

There are some very small demo canvasses, but if you want to get anywhere near Notability/GoodNotes-level interaction, there are all sorts of issues with native rendering, pencil latency, eraser behavior, page virtualization, preview caching, memory stability, feature-completeness, page interactivity, etc. that none of those repos address.

Thus, the goal of this project is to make something that can support real notes-app workload features and also implements them without the JS completely stalling or native memory growing forever. I would love for this to eventually be a community effort to build something currently only a few closed-source apps have perfected.

The package is iOS + React Native first right now. I actually do have some Android code but have not tested it enough to release it yet.

I would love it if anyone has any feedback, or wants to contribute m, especially if you have ever worked on anything similar and understand the pain that comes with working on it😭!

github.com
u/Acceptable_Ad_4425 — 8 days ago