linwooddev / butterfly Goto Github PK
View Code? Open in Web Editor NEW๐จ Powerful, minimalistic, cross-platform, opensource note-taking app
Home Page: https://butterfly.linwood.dev
License: GNU Affero General Public License v3.0
๐จ Powerful, minimalistic, cross-platform, opensource note-taking app
Home Page: https://butterfly.linwood.dev
License: GNU Affero General Public License v3.0
No response
First of all, thanks for the awesome app and design specially being multy platform.
I use the app on my android, and(want to) use the app on my (future) touchscreen linux tablet.
It would be awesome if I can synch the app between my devices without clicking export and go to directory every time.
Some automated, or one touch syncing with clouds (for example next cloud) would be awesome.
Discussion in #87
No response
If you want to select an image, an error appears
1.0.0.rc.6-1.1.0
Web
No response
No response
For new Butterfly users it may be not obvious that it is a vector graphics editor. In particular, eraser tool (at least the way it works now) is less recommended way to delete content.
It may be helpful to show tutorial-esque message hinting users that objects can be selected and deleted in view mode.
In future there can be advanced feature of automatically detecting that users wants to delete scene object based on the use of eraser tool, to prompt conversion of that action to actual deletion of scene object.
Maybe eraser tool's primary function should actually be modification and removal of scene objects, not adding separately selectable eraser strokes.
Current implementation of eraser tool may actually be a special pen mode instead.
No response
Expected: it zooms in, enlarging content that is positioned where fingers are.
Actual: in zooms in, enlarging content at top left corner.
Zooming in using toolbar button instead of gesture also zooms in against corner instead of center.
Version: 1.0.0-rc.1 from F-Droid.
2.0.0-rc.0 (Latest snapshot)
Android
No response
It works fine when the window is scaled to it's default size, but when full screen is triggered, the "Open" option doesn't show any notes.
1.0.0
Linux
No response
No response
Butterly seems to feature import and export feature. Exporting shows two options: data and image. I assume data is Butterfly-private file format; width and height input for image suggest that it is rendered version of the image.
It would be beneficial to also support SVG export and import. Obviously, not all SVG features are expected to be supported (at first at least), but I would expect it to handle its own svg exports.
No response
Yes, there are multiple apps which use other programs as a solution for their annotating problems.
for example Bookstack, Dokuwiki, etc.
It would be awesome, if we could embed Butterfly inside other programs (wiki's in particular).
embed mode is very interesting feature, which allows developers connect one app to another app. It benefits users in order to make them able to enjoy both worlds of two app.
If we can have embed mode of Butterfly, in order to use it (specially in wikis) it would add so much value to Butterfly and wiki.
Personally I use Dokuwiki, and mobile app does not have any note taking ability.
list of self hosted wikis
No response
README and F-Droid page starts with "Change the world", which is rather vague. Changelog suggests that it is somehow graphics related. "The data is saves in json fils" suggests that this graphics is vector graphics.
#16 even expected it to be some notes app.
There are a lot of notes and simple raster draw apps for Android, but vector graphics editors (even simple ones) are rare, especially open source ones.
I suggest to fix app description to position Butterfly as vector graphics editor for web and Android explicitly.
P.S.
"The paper has an infinite size, ..."
With zoom levels capped between 25% and 500%, this infinity is rather finite.
2.0.0-rc.0 (Latest snapshot)
Android
No response
No response
See https://pub.dev/packages/window_manager#setfullscreen
No response
Expected: Visible path follows finger.
Actual: A straight line segment is drawn from some arbitrary point to the touching point, then it the path goes on normally.
Pressing undo button, then drawing the path again makes correct path.
Version: 1.0.0-rc.1 from F-Droid.
2.0.0-rc.0 (Latest snapshot)
Android
No response
You can't do anything when using the label painter.
1.2.1
Web
No response
No response
To add more functionality, we need multi gestures.
For example for the hand tool:
No response
No response
Adding flatpak support helps people to use the app in their favorite distro. AppImage is good, but flatpak seems better :)
No response
It is tricky to find out what is this app about without too many clicks.
Here is my scenario:
Expected:
Version: 1.0.0-rc.1 from F-Droid.
2.0.0-rc.0 (Latest snapshot)
Android
No response
Expected:
It zooms using current viewport center as pivot point. Zooming back in after zooming out results in no change to viewport.
Actual:
Pivot point is inconsistent: it switches to top left corner at some point in zooming out. Zooming back in results in a different viewport position where the drawing may be out of visibility.
build from cebe815 , devel branch
Android
No response
https://docs.butterfly.linwood.dev/downloads
Are there any stores the app should be published on?
No response
No response
Baking the image helps to keep performance on a view with many lines.
Some potential problems:
No response
When system Android UI is switched to gesture navigation it lacks virtual button panel at the bottom. But screen edges become significant and interactions with then become reserved for Android system actions, such as "pressing" the back "button".
Butterfly hovewer reacts to those gestures too as if they were usual user input. It may result in extra strokes being added to document just before exiting Butterfly app (using "back" gesture).
In case of text entry tool being active, it results in inability to exit Butterfly app using the gesture (see video in #47).
build from cebe815 , devel branch
Android
No response
No response
Currently the transformation is not very fluent. We need some animation!
see https://api.flutter.dev/flutter/widgets/InteractiveViewer-class.html
No response
Add animations and presentation support for elements.
No response
Expected:
It returns to the main view, revealing the newly added text.
Actual:
It shows another text input dialogue. Cancelling it returns to the main view, typing text there adds another text element to the scene.
built from cebe815 , devel branch
Android
No response
No response
Add zoom sensitivity for:
No response
N/A
Currently if I past bulk text it will all display on a single line, unless there are carat return lines in the copied text. Then it will show on a second or more lines, centered below the top line. It would be very helpful to have the ability to click-and-drag a box that the text will word wrap inside of.
No response
Declare areas to export them separtly.
Add boundaries for texts #97
No response
Expected:
Version number (simple for release, beta or release candidate versions, with a Git commit number for dev versions) is displayed.
Actual:
Only static info is displayed.
butterfly.linwood.dev
Web
No response
Seems like you need to be precise when tapping to select a brush stroke.
I expect single short taps in selection mode to always select some nearby object, even if user does not manage to tap precisely.
Selection of text object is especially poor and often fails even when zoomed in and repeatedly tried to the position where letter is obviously displayed.
Selected objects are expected to be highlighted somehow (e.g. using frame or some animation).
Tapping where multiple objects may be selected should lead to a mode where you can explicitly choose the object.
Version: 1.0.0-rc.1 from F-Droid.
2.0.0-rc.0 (Latest snapshot)
Android
No response
No response
Reimplement bloc to allow redo/undo
No response
Expected: new stroke segments appears where the mouse cursor is positioned
Actual: zoom is misaligned (#19), resets back when mouse is moved (like in #21), and a spike is added to the current stroke. Unlike #20, this additional segment is a part of project and stays so after refreshing.
dev deployment
Web
No response
Expected: zoom level stays the same. Default brush size depends on current zoom level.
Actual: zoom level resets to 100.00.
Version: 1.0.0-rc.1 from F-Droid.
2.0.0-rc.0 (Latest snapshot)
Android
No response
Expected: drawing is suppressed while zooming or panning using two fingers and only changes content when single finger touches the screen.
Actual: It zooms out, but also paints a lot of zigzagging line segments.
Those extra lines seem not to be considered as part of the project and tend to disappear when continuing editing.
Version: 1.0.0-rc.1 from F-Droid.
2.0.0-rc.0 (Latest snapshot)
Android
No response
If you have a large project with many pictures, the projects loads long
Remove resizing on every load of the project.
Important before the first stable is released!
https://semantic-release.gitbook.io/semantic-release/
We should start with semantic to have these advantages:
No response
No response
Move the editing of the text in the label in the view.
No response
Expected: one of the events zooms in, the other zooms out
Actual: scrolling both up and down zoom in.
I don't know what version is in use. Just what's deployed on the public site right now.
2.0.0-rc.1 (Latest snapshot)
Web
No response
How do you expect people to discover your app when you don't tell us what it is? Marketing!
I had to come to the github just to see that it's a notes app, and I know nothing beyond 1) notes app, 2) stores data locally, and 3) customizable. You should put at least a sentence or two in the readme talking about what it is :-)
2.0.0-beta.0 (Latest release)
Android
No response
No response
Brush editor should have a mode where stroke width automatically scales with current zoom level, allowing users to zoom in, draw some fine details, zoom out, add big, bold strokes, etc.
It may be just a checkbox or some slider (where value 0.0 means no scaling and value 1.0 means immediately visible size of a stroke stays constant).
Zooming while continuing to draw the same stroke should not change width mid-stroke.
No response
#20 is said to be resolved. Yet it still see it on Android, even with the recent commit:
Expected:
It zooms in/out using first (actively drawing) finger as pivot point if second finger is moved. It scrolls the canvas around if both fingers are moved (such as after finishing the temporary zoom/pan mode it would continue drawing the stroke without any long straight segments).
Actual:
It removes already drawn part, then starts drawing a zigzag line between fingers.
Note:
Filling area between fingers (using a proper closed curve, not a zigzagging line) can be a special, distinct touchscreen-exclusive drawing tool.
build from cebe815, devel branch
Android
No response
Consistency is very important in large projects.
It can happen, that a user is working on an idea on the desktop, and wanted to continue working on it on mobile, or tablet later in the week.
To have a server, where can save the data, and users can call it later would be good idea.
connecting Butterfly to a server side application, which can be hosted on our own computer severs, and we can connect to our accounts from Mobile app/ Web app or desktop app.
something like Nextcloud
which we can have different instances but all show our own data.
No response
No response
No response
It fails.
If only panning or zooming using toolbar buttons were used (not using gesture) then it continues to work.
Version: 1.0.0-rc.1 from F-Droid.
2.0.0-rc.0 (Latest snapshot)
Android
No response
No response
Add a store to provide user made images/areas to download
Currently not possible because of missing server structure
No response
Both Android and Web version of Butterfly seem to allow to input only one line of text at a time.
This seems too limiting.
No response
No response
Add a functionality to change the location and file name if file is opened.
No response
No response
https://stackoverflow.com/questions/60019684/use-gradient-with-paint-object-in-flutter-canvas
No response
No response
It would be nice to have layers to toggle visibility, mass delete and limit selection of objects more easily.
Similarly, bundling objects in groups to be movable/deletable together would also help.
I expect these feature to be more important then e.g. animation (#11), but less important than fixing bugs, UX/UI issues and improving performance for scenes with many objects.
No response
FAILURE: Build failed with an exception.
* Where:
Build file '/home/vagrant/build/dev.linwood.butterfly/app/android/app/build.gradle' line: 38
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not get unknown property 'ndkVersion' for extension 'flutter' of type FlutterExtension.
Could you please take a look? Thanks!
1.3.0-alpha.1
Android
No response
No response
Add pdf import using the insert dialog
https://pub.dev/documentation/printing/latest/printing/PdfRaster/asImage.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.