Giter Site home page Giter Site logo

deckerst / aves Goto Github PK

View Code? Open in Web Editor NEW
2.3K 27.0 91.0 287.02 MB

Aves is a gallery and metadata explorer app, built for Android with Flutter.

License: BSD 3-Clause "New" or "Revised" License

Dart 74.20% Shell 0.24% Kotlin 17.52% Batchfile 0.04% Java 7.99%
gallery flutter android xmp svg tiff exif metadata geotiff gdepth

aves's Introduction

Aves logo

Aves

Version badge Build badge

Aves is a gallery and metadata explorer app. It is built for Android, with Flutter.

Get it on Google Play Get it on IzzyOnDroid Get it on F-Droid Get it on GitHub

Compare versions

Features

Aves can handle all sorts of images and videos, including your typical JPEGs and MP4s, but also more exotic things like multi-page TIFFs, SVGs, old AVIs and more!

It scans your media collection to identify motion photos, panoramas (aka photo spheres), 360° videos, as well as GeoTIFF files.

Navigation and search is an important part of Aves. The goal is for users to easily flow from albums to photos to tags to maps, etc.

Aves integrates with Android (from KitKat to Android 14, including Android TV) with features such as widgets, app shortcuts, screen saver and global search handling. It also works as a media viewer and picker.

Screenshots

Collection screenshot Image screenshot Stats screenshot Info (basic) screenshot Info (metadata) screenshot Countries screenshot

Changelog

The list of changes for past and future releases is available here.

Permissions

Aves requires a few permissions to do its job:

  • read contents of shared storage: the app only accesses media files, and modifying them requires explicit access grants from the user,
  • read locations from media collection: necessary to display the media coordinates, and to group them by country (via reverse geocoding),
  • have network access: necessary for the map view, and most likely for precise reverse geocoding too,
  • view network connections: checking for connection states allows Aves to gracefully degrade features that depend on internet.

Contributing

Issues

Bug reports and feature requests are welcome, but read the guidelines first. If you have questions, check out the discussions.

Code

At this stage this project does not accept PRs.

Translations

Translations are powered by Weblate and the effort of wonderfully generous volunteers. Translation status

If you want to translate this app in your language and share the result, there is a guide.

Donations

Some users have expressed the wish to financially support the project. Thanks! ❤️

Donate with PayPal Donate using Liberapay

Project Setup

Before running or building the app, update the dependencies for the desired flavor:

# scripts/apply_flavor_play.sh

To build the project, create a file named <app dir>/android/key.properties. It should contain a reference to a keystore for app signing, and other necessary credentials. See key_template.properties for the expected keys.

To run the app:

# ./flutterw run -t lib/main_play.dart --flavor play

aves's People

Contributors

deckerst avatar glemco avatar hisubway avatar izzysoft avatar mefinity avatar metezd avatar n-berenice avatar p1gp1g avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aves's Issues

Support multipage TIFF

Same display concept as #6, but images are within one entry, not gathered from multiple entries.

Cover images for folders

Make it possible to select a cover for a folder instead of using the first image in the folder.

Animation bug

The thumbnail zoom out animation is sometimes applied to multiple images.

Animation bug:

TRIM_20210209_175353.mp4

Redesign album name and count

The current design makes it both hard to read the text and see the cover image behind the text.

Current view:
test1

Example of a possible alternative view:
test2

Autoplay videos/GIFs

Make it possible to autoplay a video/GIF when it is opened. Currently the user has to click on the video/GIF and press play.

fdroid version

Add the app to fdroid.

I assume that the app is currently in early stage and therefore not added, but ultimately the app should be added to fdroid.

Selecting images

Make it possible to select an image by long pressing it. Currently, long pressing does nothing.

UPDATE: It seems to work now. I do not know why it did not work earlier. I will take note if it fails again.

Hide unnecessary info

Make it possible to hide the info at the bottom (filename, date, resolution) when viewing an image/video.

Map view

Display filtered collection on map in fullscreen.

Photo editor

Add a basic photo editor with support for:

  • Cropping (free form, 1:1, 16:9, device ratio)
  • Rotating (I recomment just one button that rotates 90 degrees. Can be pressed multiple times to rotate 180 or 270 degrees)
  • Annotating (drawing lines of varying thickness and color, writing text)
  • Blurring part of an image to protect privacy sensitive info.

Examples:
Radial blur:
screen-0

Inverted radial blur:
screen-4

Inverted rectangular blur:
unnamed

Hiding shortcuts in hamburger menu

It would be nice if it was possible to hide some of the shortcuts in the hamburger menu. For example, I personally do not need the tags, countries and favorites shortcuts.

Restart required to refresh

The app needs to be restarted to detect changes to images/GIFs/videos. However, I believe android supports an implementation in which such changes can be communicated to gallery apps without a restart or manual refresh.

Selecting folders

Make it possible to select folders. This can be useful, for example, when trying to delete multiple folders.

Disable timeline view

Make it possible to disable the timeline view that seperates the photos based on month and year. The result should be an uninterupted, continuous grid of images.

Hide private folder

Make it possible to hide folders for privacy reasons. One method of doing this is by adding a .nomedia file to the folder. This causes android to ignore the folder in all gallery apps. (The .nomedia file could be deleted manually by the user to unhide the folder in case there is a problem with the app/the app is uninstalled).

Popup window location

When for example deleting a file, a popup window appears to ask the user for confirmation. This windows is centered on the screen, which makes it difficult to reach. I suggest moving the window to the bottom.

Current implementation:
Screenshot_20211007-192454_Aves

Example of improved UI (firefox):
Screenshot_20211007-192551_Firefox

Moved files not detected

I currently have two gallery apps on my phone, Simple Gallery Pro (from simple mobile tools) and Aves. If I move a file to a different folder using Simple Gallery Pro, these files do not show up in Aves. They are nonexistent in Aves. They are not in the original folder and not the destination folder. I used my file explorer to confirm the pictures were in the destination folder. It seems Aves fails to update the destination folder.

This only happens for some moved files. No matter what I do, these files do not show up in Aves except when I delete and reinstall the app.

Create new folder

Make it possible to create a new folder form the folder overview. After creating a new folder, the user cna copy/move photos to this folder. Currently the user has to create a new folder using a file explorer.

Support burst groups

Gather burst entries under one thumbnail in collection view.
Show other group entries in fullscreen view.

Folder tiles on top of each other in album view (Bug?)

Hello everyone,

Ever since the last update from around 21 hours ago, aves has had a breaking bug (or feature?) for me.

The default view I like to use is the album view, by folder.
I like to see a tile for every folder that contains images/videos.
Now this usually displays correctly on my device, as two columns. Since the last update, the columns now display on top of each other, with tiles stacked on top of each other, and the right half of the display is empty.
This makes it a hassle to select the folders on the bottom of the stack, since only a tiny fraction of the tile is visible.

Not to mention that aves won't scroll all the way to the bottom, making it impossible to click on the very last tile because the android navigation bar is in the way.

I'm honestly not completely certain whether this is a bug or an intentionally implemented feature, since the app is clearly still aware of the existence of the tiles on the bottom layer of the stack, the way that they're displayed just makes them difficult to click on.

I have been using aves for a few months now and it has been absolutely perfect up until now.


Aves 1.4.2, with flutter 2.2.1 (from about)

My device
Pixel 3a (sargo)
Android version 11
Build no. RQ3A.210605.005
Kernel 4.9.248-ga11ff008926d6-ab72664851

I don't know whether any of this info is helpful, but more info certainly couldn't hurt. I'd be happy to provide any more info I have access to if it could help resolve this.

I wanted to attach a screenshot but github won't let me upload it. I'll try again later.

Create / edit / delete XMP tags

Likely with pixymeta-android.
It supports XMP metadata edition in JPEG, GIF, PNG, TIFF.
What about HEIF, WebP and others?

ExifInterface can write metadata to JPEG, PNG, WEBP, DNG (as of v1.3.3).
It can write XMP, but the modified data is not picked up by other tools (ExifTool, metadata-extractor or even the Android media store). The unmodified and modified data coexist.

Remove rounded corners

Rounded corners are becoming increasingly more popular, but provide no benefit to the end user. I suggest making rounded corners optional.

Rounded corners can be seen, for example, in the albums overview.

GIF support

GIFs are currently not supported. My gifs are visible, but are not animated. They are static.

In the buttom left the same icon for videos is shown, but without a duration.

Create / edit / delete GPS coordinates

Create / edit by:

  • entering coordinates
  • copying from other entry
  • picking on map view

Partial edition of EXIF GPS block for images, MP4 metadata for videos. Video metadata edition will be handled separately, cf #105.

Swipe on image

When viewing an image, swiping up will shown more info and swiping down simulates the back button. From my experience, swiping down is used in most android apps to simulate the back button.

I suggest mild gesture customization. It should be possible to choose the prefered action for swiping up and down. I would personally prefer to set both to simulate the back button, because I have never been in a situation in which I very quickly needed to know the properties of my file. I would prefer checking the properties by adding an option "properties" in the 3-dots menu. I think such a gesture shortcut is overkill for a feature that is not used very often by the average user.

Custom quick actions

When viewing an image, some buttons are shown in the top right corner. These currently include favorite, share and the 3-dots menu. Perhaps you could let the user choose which buttons to show?

I personally prefer zero buttons, only the 3-dots menu.

Filter by filetype

It already is possible to filter for videos (from the hamburger menu). However, it would be nice to also be able to only show photos and GIFs as well.

Relocate about section

I suggest moving the about shortcut to the settings. Currently this shortcut is placed in the hamburger menu.

Redesign settings

Redesign the settings to resemble the settings of most other android apps better:

  • Remove underline
  • Do not expand, but move to a new page

Hide scrollbar in albums view

I believe most people do not have that many different albums. On my device, the number of albums do not even fill up the entire album overview screen. However, everytime I touch the screen, the (in my case useless) scrollbar appears on the right side.

Rotate corrupts files

Rotating an image in aves makes the file corrupt. The image cannot be viewed in aves or other gallery apps.

Hamburger menu layout

I suggest moving the "settings" and "about" shortcuts in the hamburger menu to the bottom to create some empty space between the other shortcuts.

Font consistency

Use the same font throughout the app. At the moment, the font in the hamburger menu is different from the font in the headers and timestamps.

I personally find the font in the hamburger menu to be more pleasant. I suggest using that font everywhere.

Remove outline around icons, albums, filters etc.

Some elements in the app have an outline, for example the three visible buttons favorite, share and the 3-dots menu. I believe this gives the app an outdated look. As far as I am aware, no other (modern) app does this.

Sorting albums by name

Albums can be sorted by count, date and name. When sorting by name, the order is not alphabetical.

Fast scroll feedback

Show current group or other significant feedback next to the scroll thumb when scrolling by thumb drag

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.