Git Product home page Git Product logo

photostack's Introduction

photostack's People

Contributors

corbindavenport 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

photostack's Issues

Import photos from ZIP file

Not sure how feasible this is, but it would be nice for pictures downloaded from Google Photos and other similar services.

Tutorials

On first visit, a pop-up should appear giving basic instructions on how to use the app, with text for both desktop and mobile layouts.

Export images without ZIP

Some browsers block multiple downloads, so there needs to be a warning that the export won't work.

Image conversion

Add option to export final images as every file type supported by HTML Canvas, with a quality slider for JPG images (there's a slider Bootstrap element).

There may be JS libraries for exporting to non-native file formats too. WebP would be nice.

Reduce size of image preview

To speed up performance, the image preview on the main editor page should be downscaled before adding watermarks and applying other effects.

Exporter v2

For simplicity's sake, all of PhotoStack's image processing (importing/exporting photos, mainly) is currently done in Data URL format. Images should be processed in Blob format instead, to reduce memory usage and increase performance.

Interface V2

An updated UI is being worked on in the dev branch.

Goals for desktop:

  • Three-column UI on wide screens, on both editor and watermark pages
  • Updated preview that doesn't require vertical scrolling, even for tall images

Goals for mobile:

  • Move export and import buttons to bottom toolbar
  • Move image preview to floating window when the preview is scrolled past (maybe possible with position: sticky?)

Goals for both:

  • Replace all alert() and prompt() messages with Bootstrap modals, to avoid breakage when the user's browser is set to block all JavaScript alerts
  • Progress bar for multi-file imports that blocks interaction
  • Basic tutorial mode
  • Installation prompts on PWA-capable browsers
  • Button in first page of export popup to send notification when export is completed
  • More visible donate links
  • Maintain compatibility with older browsers/Internet Explorer

Add simple keyboard shortcuts

Maybe "i" for import, "e" for export, and so on. There also needs to be a help dialog with a list of the shortcuts.

Image resizing

Add option to resize image to a certain maximum width/height.

Create API for other applications

Example endpoint, where the images are URLs converted into URI components:

https://photostack.app/v1/?import=img1.jpg,img2.png

Stuff that needs to happen:

  • Create documentation for API, with links to sample usage
  • Keep all redirecting/JS code in the single page
  • Minify page for quick access
  • Determine if it would be possible to support data URLs, if not, then implement data URL blocker
  • Add API page to service worker so it works offline

Watermarking support

  • UI should be similar to Lightroom's watermark tool
  • Ability to save and export watermarks (probably as JSON file, with image as base64 data?)
  • Maybe have watermark management in separate page, and only have a drop-down select on the main page

Create companion browser extension

One nice use for a browser extension would be to add PhotoStack functionality to the Lightroom web app.

When selecting multiple images in the album view of the Lightroom web app, the DIV element containing the photos have a .selected class. The first child DIV of the selected DIV has a background image with a URL like this:

https://lightroom.adobe.com/v2c/catalogs/ABC/revisions/XZY

By covering the URL into this format, you get the full-quality edited image rendered as a JPEG:

https://dl.lightroom.adobe.com/catalogs/ABC/assets/XYZ

With this method, it wouldn't be too hard to add a 'Open in PhotoStack' button to the multi-select bar:

image

Another potential use for a browser extension companion could be adding an 'Open in Photostack' menu item when right-clicking on images on any page.

Settings import/export

All app settings should be able to be exported to a file, for importing on another device/browser. The settings file should contain any saved watermarks, probably as Data URLs.

Import images using Web Share API v2

https://github.com/WICG/web-share-target/blob/master/docs/explainer.md

PhotoStack should act as a target for URLs, then run the existing Import from URL function. There would need to be additional client-side logic to check if the file is actually an image (MIME type?). If possible, the check should be added to the existing URL import feature, so it will improve both URL and Web Share imports.

Beyond that, PhotoStack should act as a receiver for images, if possible.

Images imported from Dropbox are saved to local cache

Add page to offline cache: https://dl.dropboxusercontent.com/1/view/qu97tup2p1onhi0/Memes/beep%20beep%20uber%20here.jpg sw.js:28:17
Loaded image URL: https://dl.dropboxusercontent.com/1/view/qu97tup2p1onhi0/Memes/beep%20beep%20uber%20here.jpg editor.js:177:21
Add page to offline cache: https://dl.dropboxusercontent.com/1/view/bcnl24s5dw0ba23/Memes/Birdbath%20dog.jpg sw.js:28:17
Loaded image URL: https://dl.dropboxusercontent.com/1/view/bcnl24s5dw0ba23/Memes/Birdbath%20dog.jpg editor.js:177:21

Dark mode

There should be a dark mode switch somewhere, as well as support for the CSS dark mode attribute. The app can switch to this Bootstrap theme when dark mode is activated: https://bootswatch.com/darkly/

Add Install button to landing page

The index page should be an information page, with a button at the top for launching the web app (which could be moved to /app or /editor.html?).

The landing page should showcase features, highlight how PhotoStack is open-source, and include links to donate.

Import image from tweet

It would be neat if pasting a tweet link in the Import URL box would pull images from the tweet. We could also use a regex to pull the full-resolution orig file.

The best solution might be to pull the source code using CORS Anywhere and look for <img> tags.

Watermark file improvements

  • Allow importing more than one .json file at once
  • Read each value in the .json file to localStorage (with error handling), instead of just copying the entire file
  • Allow importing .json files from Dropbox, with multi-select

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.