SharedImages Screen grabs Main Features Private & self-owned social media Users store their images in their own cloud storage (Dropbox or Google Drive

Last update: Feb 10, 2022

SharedImages

Screen grabs

Main Features

Private & self-owned social media

Users store their images in their own cloud storage (Dropbox or Google Drive), and safely share those images with invited others. Facebook users can be invited.

Private discussion threads per image

Conversations about the images are also stored in user cloud storage. And users that can access the images can access the discussion threads.

Development status

On the Apple App Store as Neebla. This app uses the SyncServerII backend.

Building this project

Straight out of the box, this project will not build cleanly. See these instructions.

GitHub

https://github.com/crspybits/SharedImages
Comments
  • 1. Crashes lately

    1. Rod-- when he was zooming in on an image
    2. Dany-- when he was downloading images when the app was installed on a new device
    3. Natasha-- IIRC, when she was looking at the discussion for an image.

    Need to upload the dSyms's for the app to Crashlytics and get the crash reports.

    Reviewed by crspybits at 2018-10-02 15:19
  • 2. Enable access to images if network is offline, app starts, and you were previously signed-in.

    RE: https://github.com/crspybits/SharedImages/issues/10

    Currently, if you:

    1. were signed in,
    2. you close (i.e., kill) the app,
    3. lose network connectivity (e.g., go into airplane mode),
    4. relaunch the app. THEN: You will no longer have access to your images. You should have access to them.
    Reviewed by crspybits at 2017-09-10 00:52
  • 3. An error occurred

    Coming back into the fg, SharedImages said "an error occurred". Then pull down refresh didn’t work. No spinner. No icon indicating lack of downloads.

    Looking into the app log file shows:

    11:35:01.896 VERBOSE Log.msg():79 - 2019-01-18 18:35:01 +0000: sendRequestTo: serverURL: https://syncserver.cprince.com/Index/ [sendRequestTo(_:method:dataToUpload:timeoutIntervalForRequest:completion:) in ServerNetworking.swift, line 168] 11:35:03.233 VERBOSE Log.msg():79 - 2019-01-18 18:35:03 +0000: type: userDefaults; name: AppBadge.askedUserAboutBadges; initialValue: Optional(0); initialValueType: Optional [init(name:initialValue:persistType:) in SMPersistVars.swift, line 43] 11:35:03.234 VERBOSE Log.msg():79 - 2019-01-18 18:35:03 +0000: name: AppBadge.askedUserAboutBadges; Optional(1); type: Optional [cachedOrArchivedValue in SMPersistVars.swift, line 164] 11:35:03.343 VERBOSE Log.msg():79 - 2019-01-18 18:35:03 +0000: GoogleSignIn: Trying autoSignIn... [networkChangedState(networkIsOnline:) in GoogleSignIn.swift, line 169] 11:35:03.452 ERROR Log.error():88 - 2019-01-18 18:35:03 +0000: Server error occurred: otherError(SyncServer.SyncServerError.non200StatusCode(401)) [syncServerErrorOccurred(error:) in SyncController.swift, line 532] 11:35:03.639 VERBOSE Log.msg():79 - 2019-01-18 18:35:0

    On the server, it looks like these are the corresponding log messages: [2019-01-18T18:35:02.710Z] [VERBOSE] [HTTPServerRequest.swift:331 parsingCompleted()] HTTP request forwarded for=67.173.253.36, 172.31.17.108; proto=https; by=172.17.0.1; [2019-01-18T18:35:03.209Z] [INFO] [ServerSetup.swift:83 credentials] REQUEST RECEIVED: /Index

    Reviewed by crspybits at 2019-01-19 02:49
  • 4. Problems with sync or sticky sign in?

    I just accepted a sharing invite from Bushrod, and on a refresh on the albums screen, I didn't see the new album. Had to restart the app. Possible sticky sign in issue?

    This kind of thing seems to be happening a lot for me lately. I try to refresh, but see no sign of activity. No positive result, and no indication of a lack of download available (on a specific album screen).

    I need some way to diagnose/debug this. Perhaps some new alerts for just my build?

    Also-- not sure if this is the same thing, When there is a Cloud Download icon in the upper right, often I can't clear it by downloading in the album. Or maybe the sync is just taking a while? They cleared now.

    Reviewed by crspybits at 2018-10-14 15:13
  • 5. The discussion progress indicator now seems to go away too quickly

    On a first download of all images/discussion threads, the progress indicator goes away but the spinner is still spinner and images still seem to be downloading. For maybe up to 10 images?

    Reviewed by crspybits at 2018-02-14 01:40
  • 6. Progress indication when downloading images

    Currently, when downloading a large number of images (e.g., when first installing the app, and sharing images with someone who has a lot of images), there is no in-progress indication aside from the spinner. It would be good to have a UI indication somehow relating a) the number of images that are being downloaded and b) the number that have already been downloaded.

    Reviewed by crspybits at 2017-08-06 23:43
  • 7. More offline testing

    Dany L. encountered some problems when first getting going with the app. Part of that seemed to be crashes related to being offline. Being offline should not cause the app to crash. This needs more testing.

    Reviewed by crspybits at 2017-08-06 21:53
  • 8. Filters

    It would useful to be able to show only images that have unread discussion items. Later, filters will include images with specific labels-- e.g., "cats".

    Reviewed by crspybits at 2018-05-21 01:30
  • 9. Lots of "Synchronization error"s.

    When Dany installed v0.14.1, and refreshed-- he got a bazillion of these (say a dozen or so) alert messages. Why is that?

    At a minimum, I should inhibit display of a bunch of these somehow. E.g., only display one in a time interval.

    Reviewed by crspybits at 2018-04-24 14:37
  • 10. Badges on initial download

    Should I just leave the badges in place for a first time download? Or perhaps if I'm going to do that they should just be entirely hidden. What may be distracting is that the badges are there initially and then removed.

    Reviewed by crspybits at 2018-02-14 01:49
  • 11. UI issues for discussion threads

    1. How to enable access/viewing of a discussion thread per image? E.g., what user action should let them see the discussion thread for an image?
    2. How to show, within the app, that a discussion thread on a particular image has new content that a particular user has not yet seen? Should this be synced across devices?
    3. How to alert the user, outside of app, that there is new discussion thread content?
    Reviewed by crspybits at 2018-01-27 21:21
  • 12. Gmail: album sharing link doesn't work

    When you use the Gmail app on iOS, and receive an invitation to join a new album, the current sharing link is not tappable. I did try to put this in as an anchor tag in HTML, but this does not work.

    This seems to be a known issue with Gmail: See https://stackoverflow.com/questions/46046341/how-to-activate-the-deep-link-from-the-iphone-gmail-app-to-my-custom-iphone-app?rq=1 https://stackoverflow.com/questions/23575553/ios-deep-linking-is-stripped-out-in-gmail

    One possible solution to use Universal Links with iOS: https://developer.apple.com/ios/universal-links/

    This does require some non-trivial setup, however. For example, you have to host an association file on your own web domain and that must use https: https://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains

    Since this web domain will be exposed in emails, it should be specific to the app. So, using universal links would require setting up SSL for an app specific domain. All because of an apparent issue in Gmail. Yark.

    And it seems there may be problems with universal inks with Gmail in any event: https://stackoverflow.com/questions/39245852/ios-universal-links-not-working-from-gmail-app

    It does look like some hacking might work around this: https://msol.io/blog/tech/sending-links-with-custom-url-schemes-through-email/

    It is also possible to use services like branch.io

    Reviewed by crspybits at 2019-04-07 03:33
  • 13. Improving album sharing feature

    1. Accept sharing invitation, existing account, doesn't refresh Albums screen: https://github.com/crspybits/SharedImages/issues/151

    2. Make a sharing modal to improve sharing facilities: a) Number of people allowed to receive/accept invitation b) Permissions: read; read & change; read, change & invite c) Allow social acceptance-- inviter will host files d) help information on concept of sharing

    3. Sharing email should include a link to download Neebla

    4. Should show duration of expiry of sharing invite link(s) in the email

    Reviewed by crspybits at 2019-03-27 01:19
  • 14. Failures to register for push notifications

    The scenario looks like this:

    1. I've been installing dev versions of Neebla to my iPhone, which give (expectedly) failures registering for PN's-- because they're connecting to the prod server, and this will try to use the wrong certificate. 2)I install a production (app store) version of Neebla, and I get (unexpected) failures to register for PN's. This happens when the app launches and first goes to the Albums screen.
    2. When I look at the logs in the server, I see a failure of authorization.

    I think what's going on here is that: a) the cached auth token has been evicted on the server b) the auth token, on launch, is being refreshed c) but there is a race condition on getting the new auth token (through Google's SDK in the iOS app) and landing on the Albums screen-- and the new auth token doesn't get sent to the server.

    HOWEVER, when I kill the app and and retry, several times, I still get the problem with registering for PN's. Perhaps I didn't let the app sit long enough to get the new auth token?

    Reviewed by crspybits at 2019-03-22 15:54
  • 15. Double DoneUploads in server logs

    At the same time when https://github.com/crspybits/SharedImages/issues/158 arose, I was looking into the log files and saw a "double" DoneUploads from Rod. The second one failed due to a master version update. i.e., the master version sent to the server was incorrect. It had no actual uploads being committed-- i.e., the prior DoneUploads actually succeeded.

    Additional oddly, it seemed that the two DoneUploads were separated by 10 minutes.

    I'm putting this as a SharedImages issue because it seems like a client issue, though actually perhaps an iOS client issue, rather than a server issue.

    Reviewed by crspybits at 2019-02-19 01:38
  • 16. While app is downloading, switching app to background and coming back to foreground stops the download.

    To reproduce:

    1. Delete the app
    2. Re-install & sign in
    3. Download a larger album
    4. During the download, put the app into the background for a period of time. E.g., 1 minute.
    5. Bring back to foreground.
    6. Observe that the download doesn't continue.
    Reviewed by crspybits at 2018-12-28 16:02
Google-Blogger-iOS-App - Using Google Blogger API to build an iOS app like Medium

Google Blogger iOS App Using Google Blogger API to build an iOS app like Medium!

May 16, 2022
A simple self-development challenge application that aimed to learn

Movie List Challenge A simple self-development challenge application that aimed to learn "The Composable Architecture" basics and build a reactive str

Oct 30, 2021
30 mini Swift Apps for self-study
30 mini Swift Apps for self-study

Swift 30 Projects Contents This repo is updated with Swift 5 and compatible with iPhone X: Simple UIKit components UIScrollView, UITableView, UICollec

Jun 22, 2022
Docker images for Swift on Raspberry Pi and other ARM devices from balena's base images.

Swift on Balena Welcome to Swift on Balena – a set of Docker images for Swift on Raspberry Pi and other ARM devices. These images are based on balena'

May 24, 2022
A Swift wrapper around the CoreSymbolication private framework on macOS.

CoreSymbolication provides a very powerful system for looking up and extracting symbolic information from mach-o executables, dyld shared caches, and dSYMs.

Nov 9, 2021
PhoneGap / Cordova Social Sharing plugin

PhoneGap / Cordova Social Sharing plugin Every now and then kind folks ask me how they can give me all their money. So if you want to contribute to my

Oct 21, 2021
Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

May 22, 2022
Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Страницы доступны на sparrowcode.io/en & sparrowcode.io/ru Как добавить свое приложение Добавьте элемент в json /ru/apps/apps.json. Если ваше приложен

May 22, 2022
This project is an application that lets users learn about the missions and astronauts that formed NASA’s Apollo space program.

This project is an application that lets users learn about the missions and astronauts that formed NASA’s Apollo space program.

Nov 10, 2021
KnockToReact is an iOS library written in Swift and Objective-C that brings an exclusive feature to interact with users just by receiving and recognizing "knocks" in the device.

KnockToReact is an iOS library written in Swift and Objective-C that brings an exclusive feature to interact with users just by receiving and recognizing "knocks" in the device.

Feb 10, 2022
Pendo captures product usage data, gathers user feedback, and lets you communicate in-app to onboard, educate, and guide users to value

Pendo SDK for IOS The Pendo Mobile SDK is a code-less, retro-active analytics collector across all of your app's versions. The SDK also allows present

Jun 15, 2022
Custom MacBook login screen and pam modules using multipeer connectivity and usb hardware checks with iOS app for sign in.

Custom MacBook login screen and pam modules using multipeer connectivity and usb hardware checks with iOS app for sign in.

Apr 17, 2022
How to develop an iOS 14 application with SwiftUI 2.0 framework. How to create an Onboarding Screen with Page Tab View

Ama-Fruits USER INTERFACE AND USER EXPERIENCE APP DESIGN How to develop an iOS 14 application with SwiftUI 2.0 framework. How to create an Onboarding

Dec 11, 2021
OnBoardSwiftUI-Food - Food App Onboarding screen made with SwiftUI
OnBoardSwiftUI-Food - Food App Onboarding screen made with SwiftUI

OnBoardSwiftUI-Food Food App Onboarding screen made with SwiftUI. App Details Lo

Apr 20, 2022
Windows 10/11 lock screen replica
Windows 10/11 lock screen replica

Diary ?? Windows 10/11 lock screen replica Preview Installation Add this repository to your package manager: TBD Install Diary Compatibility iPhone, i

Jun 14, 2022
Flutter package for detecting NSFW images and videos using native implementation

Flutter NSFW 1- Download, tflite modle and put it in assets folder 2 - Add the path of the tfliet to pubspec.yaml 3 - Read the file using path_provide

May 31, 2022
An iOS app/Safari extension to automagically redirect AMP links to their normal counterpart. Comes with a trusty dog.

Amplosion ⚡️ Amplosion is an iOS 15 and greater app that automagically redirects AMP links to their normal counterpart. AMP links can be super annoyin

Jun 17, 2022
Use this template as a starting point for any Swift 5 module that you want other people to include in their projects

Swift 5 Module Template Use this template as a starting point for any Swift 5 mo

Dec 28, 2021
LinkedLog is a Xcode plugin that includes a Xcode PCH header file template that adds the macros `LLog` and `LLogF` and parses their output to link from the console to the corresponding file and line.
LinkedLog is a Xcode plugin that includes a Xcode PCH header file template that adds the macros `LLog` and `LLogF` and parses their output to link from the console to the corresponding file and line.

LinkedLog Xcode Plugin LinkedLog is a Xcode plugin that includes a Xcode PCH file template that adds the macros LLog and LLogF. The LLog macro will wo

Feb 23, 2021