GithubHelp home page GithubHelp logo

ark-builders / ark-shelf Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 1.0 295 KB

ARK Shelf is where you put your bookmarks during your web surfing. Android version.

License: MIT License

Kotlin 100.00%
android bookmark-manager bookmarks bookmarks-manager internet kotlin web links offline offline-capable offline-first organizer save

ark-shelf's Introduction

ARK Shelf: Reliable Bookmark Keeper by ARK Builders

Don't lose important links in endless chats and browser tabs - whether it's vital information, intriguing content, or something you plan to view later. ARK Shelf is perfect for work and study, keeping all your links in one convenient place, just like a bookshelf.

Easy and Flexible Keeper

Share a link from any app - be it a browser or a messenger - and it will be saved to your phone's memory. This is especially convenient if you use different browsers on the same device. Open a previously saved link in any browser or share it with friends, without the need to wait for it to load.

Our app is light, fast, and has an ultra-simple user interface.

Sync and Backup

Easily transfer your links to a second device, like a tablet, using third-party apps such as Syncthing or Google Drive. The app stores your links as plain files in a folder of your choice.

Enhanced Privacy

Your data stays only on your devices. The only time the app goes into internet is when it grabs previews. We respect your privacy and do not collect any personal data.

Completely autonomous

Even without an internet connection, you can save a link or transfer data to a computer via a cable.

And also, coming soon:

  • Sorting links using tags for even better organization. Both manual and automatic, based on link domains.

  • Desktop version with built-in synchronization will allow you to continue working on another device without data loss.

  • Downloading pages for offline viewing of important pages.

ARK Shelf โ€” a simple, yet powerful tool for saving and organizing your links. Download today and discover how we can simplify your life on the Internet.

Download APK Buy Me A Coffee

ark-shelf's People

Contributors

kirillt avatar mdrlzy avatar pgpathan22 avatar tuancoltech avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

hhio618

ark-shelf's Issues

After adding a link using Share intent the app must close

Suppose, a user is sharing some link from web browser in ARK Shelf.

Right now, the link is previewed to the user, then the user clicks [save] button and empty input box is presented to her. The user must be brought back to web browser, so she could continue surfing.

Also, after a while, app instances pile up in background. Maybe we should limit amount of instances to just 1.

List of stored links

When the app is launched normally (not using Share intent) it should display all links stored in the configured folder.
The links should be organized as list, where each row has:

  1. Preview and title of the link.
  2. Shorted versions of its description and URL.
  3. Buttons:
    a. [open] which opens the link in a browser.
    b. [share] which sends the link to destination of choice.
    c. [copy] which copies the link into copy/paste buffer.

If a row is clicked, the description should unfold and preview should become larger.

Preview/thumbnail idea can be used, the same as in ARK Navigator.

"Link to Web" resource kind

It should be possible to work with URLs using the app.
This allows a user to use our app as bookmarks keeper.

  1. Sharing a link from external apps must result in saving the link into one of user's folders.
  2. Links should be represented as separate entities in resources grid and gallery view.
  3. Opening any link must be possible with Firefox or Chrome.
  4. Opening specific links should be possible with specialized apps (e.g. YouTube, MeetUp).

Open questions:

  • Storage format. The easiest way is to save every URL into HTML file.
    Batching links into one file-database per root/favorite might be more efficient, especially for indexing.

  • Reading of Firefox/Chrome export files (XML).
    Should we convert those files into our format or just adapt to them?

Automatically extract Domain tags

Implementing a tag extraction mechanism based on the domain of a link could significantly improve user experience. For instance, if a user saves links like https://youtube.com/watch?v=123 or https://youtube.com/watch?v=qwe, the system could automatically label the links using youtube tag.

We could initially implement this feature within the application, transitioning it into the library later.

Similar issues in Navigator:

Delete a link

User must be able to remove any link from the list and the corresponding file from the folder.

Basic links saving

ARK Shelf must be able to save URLs into a folder (should be able to set default folder in settings).

The format is flexible. It can be JSON containing URL, description and maybe other metadata.

The easiest way to enable previews for stored links is to download image using OGP and store it into ZIP archive together with the JSON. Later, when the library will be ready, the app will be able to generate previews directly into necessary folder. Right now, it is supposed to extract the image from ZIP during indexing and saving it as preview (this is sub-optimal due to duplication, but fine for Proof-of-Concept).

ARK Shelf must be able to add link manually by pressing some button or receive sharing intent with URL. Dialogue should be displayed with default description and folder which are possible to be modified by user. Folder picker might be taken from ARK Retouch or from ARK Navigator (we should consider separating folder picker into re-usable repo).

ARK Navigator should be able to process saved files (see #37).

Notify user about existence of pasted URL

User should get input box highlighted when they paste URL which is already among saved links. Attempt to save such a link should result in an error message, or edit dialog spawned with older version of the link.

Possible duplicates in the list of links

  1. Add link to an empty folder.
  2. Duplicate the link file in the folder.
  3. Reload the app.
  4. List shows the same link twice.

The app should filter links with the same Id.

Valid URLs cause "Invalid URL" message

Maybe the error comes from OGP.
vlcsnap-2022-04-18-21h01m09s919
The link on the screenshot is https://www.aviascanner.ru/.
Even if we can't load preview for a link, it must be possible to be saved.

Crash reporting

This setting must be configurable in Settings screen.

Default values for the preference:

  • debug builds: enabled by default
  • release builds: disabled, but can be enabled

Also, would be great to implement manual sending of current log.

Since, we have same feature in Navigator (see ARK-Builders/ARK-Navigator@cf38b61 and ARK-Builders/ARK-Navigator#78), it would be great to extract common functionality into tiny lib. We would inject such a lib into all of our apps.

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.