Skip to content

Brainstorming & Research

ava-mc edited this page Nov 29, 2022 · 11 revisions

Brainstorming & Research

21/11/22

Mystery posters app

Ideas

22/11/22

_Feedback moment_1 See feedback page for details.

Researching and brainstorming

Feedback moment 2 See feedback page for details.

Further research

  • web AR vs native AR
    • https://rockpaperreality.com/insights/web-ar/why-web-based-ar-outperforms-apps/.
      • Browsers now allow Web AR to use the camera, gyroscope, magnetometer, and accelerometer of devices, giving developers the tools needed to produce creative experiences.
      • key differences
        • app:
          • more features available
          • better-quality computer vision that ARKit and ARCore
          • better performance (more memory)
          • con: user needs to download the app
          • con: needs to be compatible with multiple devices & operating systems
        • web
          • accessible through QR code or link
            • greater reach/engagement
          • reaches more mobile devices
          • less power
          • instant accessibility across multiple devices and platforms.
    • https://rockpaperreality.com/insights/web-ar/is-webar-better-than-ar-apps/
      • web
        • via NFC tag, QR, link
        • Due to the constraints on hardware and network resources, WebAR experiences are generally slightly shorter and less detailed than traditional AR app experiences. For most use cases, however, WebAR more than compensates due to its accessibility on all smartphones. For extremely detailed scenes, however, one may prefer to develop a more expensive AR app.

→ these 2 articles were written by company that uses WebAR to create AR experiences, so they might be less positive about AR apps

28/11/22

Brainstorming about the functionalities that I want

  • Scan a card/poster
    • Need camera access/permissions
  • Create new content for a card or poster
    • some text
    • some (3D) figures/animations?
    • AR
  • Send card to someone
    • notifications
  • Receive/open card
    • Saved cards that people sent to them

Comparing Progressive Web Apps with Apps

  • camera access

    • PWA
      • permissions on iOS
  • sending card

    • PWA:
      • via link/QR code
    • App: need an account already? need to download the app already
  • notifications

    • PWA
      • https://binarapps.com/push-notifications-in-pwa-everything-you-need-to-know/ (4/2/22)
        • Service Worker:
          • JS file that runs separately from the main browser thread
          • Notifications API and Push API
          • Service Workers and HTTPS, as web push notifications can only be implemented on HTTPS enabled domains to prevent potential malicious attacks.
          • push notifications on iOS?
            • in practice, no official support for push notifications from Apple
            • work around
              • requires application ID to be registered with the Apple Developer Portal with the approval of the relevant service
              • via Apple Wallet
              • not simple or practical
    • PWA push notifications for iOS
  • saving cards

    • if just a link or QR, what if they lose it?
  • create card

    • add text
    • choose from figures (3D)
    • add pictures from your phone?
  • offline access

  • AR

  • PWA vs App

    • https://www.teknicks.com/blog/pwa-progressive-web-app-vs-native-apps-which-is-better/
      • PWA:
        • pro:
          • cheaper to develop
          • only one version (responsive)
          • update and deploy changes without needing approval
          • more control over SEO
          • more secure than normal websites (https)
          • don’t require installation
          • can add pwa to homescreen
          • pwa can be shared with others via url
          • can be used offline when downloaded to homescreen (via service workers)
        • con
          • people trust security of links less
          • more latency and battery use
          • some restrictions to accessing your device features (especially iOS)
      • App
        • con:
          • need different version for different devices
          • needs updates to maintain in each app store (updates need to be approved by app store)
          • need to submit to different stores
          • app needs to be easy to notice in app store (imagery, reviews, name, keywords)
          • a lot of commitment to download an app
          • uses local phone memory
          • user needs to update app as well
        • pro
          • requirements of app stores increases your reliability
          • web stores can promote your app
          • people trust security of apps more, as they need to pass app store requirements
          • hardware can deliver better experience
          • faster
          • more powerful
          • can leverage platform specific tools/ take advantage of operating system features
          • offline usage
          • geofencing → combined with push notifications, can give real time updates
          • faster loading time (does not depend on browser or internet connection, but on operating system of phone)
          • credibility
          • low latency
          • better at exploiting device features like geofencing, sensor detection, and more.

app: better for complex product that needs increased control of the device, when security is vital, speed and UI, low latency

send it to someone who doesn’t know it

would you trust a random link?

would you download an app just to see this?

FLOW/FEATURE BRAINSTORM

  • Sing up/ Log in
    • how long can you keep logged in on a website vs app?
  • Only need to be logged in when you want to save or send a card/poster?
    • sing in to save/send your creation
  • Create a new card/poster
    • send it to someone
  • sent folder
  • inbox
  • template print out
    • choose color, but a little text
  • scanner
    • when card is recognised → asks which one you want to see
      • saved cards
      • received ones
    • take a snapshot (real picture + AR)
  • favouriting creations
  • push notifications
    • you received a card
    • your card is delivered
  • ppsst someone sent you a secret message
  • a message only you two can see

If you send it to someone who doesn’t know the product yet?

→ better via a link?

Look at it offline

  • camera access/permissions
  • push notifications
  • save creations
  • send creations to someone else
  • view creations and received cards offline
  • sign up
  • staying logged in

Further research

PWA: pros and cons

https://www.d-tt.nl/en/articles/pwa-progressive-web-apps-pros-cons

  • all devices
  • also via computer
  • push notifications only on android
  • can access camera
  • no installation required
  • can be opened directly via URL
  • can be added to phone home screen
  • user always has the most up to date version
  • uses less storage space
  • partial offline usage
  • SEO
  • cheaper

CONS

  • user needs to visit the website itself to be able to save it to home screen (not accessible via app store)
  • fewer functionalities → can’t access contacts, calendar, bluetooth…
  • apple doesn’t support all functionalities yet (e.g. push notifications)
  • lower performance than apps

https://www.adjust.com/blog/native-app-vs-progressive-web-app/

  • PWA
    • pros
      • less storage space
      • loading speed (service workers)
      • unified user experience for all devices
      • lower cost
      • more online visibility
    • cons
      • need to write native wrapper to put PWA on app store, much harder process + need valid proof that you are legal, registered business
      • needs own security certification
      • limited offline capabilities
      • uses more battery power
  • native app
    • pros
      • integration:
        • can interact with other native apps
        • e.g. connect with Facebook
      • can integrate payment processing of app store
      • app store visibility
      • security
        • easier to implement robust security features (app has access to necessary device information)
      • more efficient on battery consumption
    • cons
      • more complex development
      • maintenance
      • not multi platform

Camera access/asking permissions

https://code-boxx.com/javascript-camera-pwa/

  • PWA with camera access that works offline

https://stackoverflow.com/questions/61366147/how-to-store-camera-permission-in-ios-pwa

  • iOS problem with needing to keep reconfirming camera permissions

https://firt.dev/notes/pwa-ios/

https://docs.mendix.com/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/

PWAs have the following limitations on iOS:

  • Push notifications are not supported for PWAs on iOS
  • Offline data is not supported for PWAs on iOS

https://medium.com/arjs/why-web-apps-are-the-future-of-augmented-reality-c503e796a0c5

  • it becomes harder to make people install apps on their phone
  • discoverability for apps is not that good
  • competition for screen time with the big apps
  • people delete apps quickly
  • WebAssembly
  • WebRTC (also iOS?)

https://scandiweb.com/blog/wp-content/uploads/2020/09/pwa-nativeApps_feature-comparison.pdf

https://love2dev.com/pwa/ios/

  • iOS does not support push notifications for PWA

https://web.dev/file-system-access/

https://developer.mozilla.org/en-US/docs/web/api/window/showopenfilepicker#browser_compatibility

  • access file system via web app → limited browser compatibility

AR

https://program-ace.com/blog/augmented-reality-sdk/

Software developer kits (SDK)

  • vuforia (unity)
  • wikitude (apps)
  • ARKit → apple
  • ARCore → google (android), compatible with vuforia
  • ARToolkit → open source, free, image tracking

https://www.g2.com/categories/ar-sdk

https://developer.vuforia.com/

https://matthiashamann.work/en/blog/article/ar-frameworks-in-comparison

Making choices

USER JOURNEY

MYSTERY MAIL

  • Receiver

    • person receives mystery post card via mail
    • QR code (and general link + unique code as alternative)
    • goes to site via one of the links
    • gets welcome message that says some mystery mail is waiting for them
    • needs to give permission to access camera
    • instructions on top of camera view to scan the post card
    • scans post card with camera
    • mystery message is shown with AR
    • options
      • take picture with your phone to save the message
      • make account to save online for later
      • send a card back/ create your own card
  • Sender

    • create a card with text and some 3D figurine choices
    • can download (and print) card template if they want to try it out
    • can save concept and edit later on
    • can save
    • can send to a friend
      • enter address
      • enter your own email address to get confirmation
      • make account if they want to save their card
      • can choose physical copy or email digital version (print out or just scan computer screen)

Final conclusion:

As the user journey consists for a big part of users receiving a card, who do not know the product, it is less cumbersome to just scan a code or go to a site.

Maybe in a later stage → use this site as platform to encourage the app (more power for AR and allows for push notifications on iOS)

Only limitations for PWA are notifications, repeated camera permissions (iOS) and staying logged in (but log in is not required for MVP)

→ can opt to just send email to themselves w

PWA: React vs Vue vs Angular

https://www.simicart.com/blog/pwa-frameworks/

https://bsscommerce.com/blog/best-pwa-framework-angular-vue-react/

PWA with React

https://create-react-app.dev/docs/making-a-progressive-web-app/

https://blog.logrocket.com/building-pwa-react/

Service Workers

https://web.dev/learn/pwa/service-workers/

  • can access cached data

PWA with 8th wall → only for paying user

https://www.8thwall.com/docs/web/#progressive-web-apps

https://www.iflexion.com/blog/progressive-web-app-framework

https://www.iflexion.com/blog/progressive-web-app-framework

https://ionicframework.com/docs/react/pwa

AR for the web

Untitled

https://lightit.io/blog/immersive-ar-web-application/

AR.js with three js

https://github.com/pmndrs/react-xr

examples react with web AR

AR.js

https://3sidedcube.com/en-us/ar-js-a-guide-to-developing-an-augmented-reality-web-app/#:~:text=it used for%3F-,AR.,13%2C000 stars on the AR.

Untitled

https://ar-js-org.github.io/AR.js-Docs/image-tracking/

→ allows for image tracking for free!!

https://rokkincat.com/blog/2019-05-28-browser-based-ar/

AR = marker-based (what we need for image tracking)

  • based on THREE.js, Aframe.js, and JSARToolKit5,
  • a bit outdated (deprecated JS syntax)

AR js for react

https://github.com/artcom/react-three-arjs

https://docs.zap.works/universal-ar/react-threejs/

Vue and AR js

https://medium.com/tuitech/elevate-your-web-app-with-augmented-reality-422486ced2d4

Vue XR

https://www.vuexr.com/about

best web ar frameworks

https://www.banuba.com/blog/best-web-ar-platforms-and-tools

zappar

https://zap.works/universal-ar/javascript/

  • only for chrome and safari

https://createwebxr.com/webAR.html

three ar js

https://github.com/google-ar/three.ar.js

webXR

https://github.com/pmndrs/react-xr

https://www.npmjs.com/package/@react-three/xr

react wrapper for AR js

https://github.com/artcom/react-three-arjs

https://www.youtube.com/watch?v=Ew2YDRDGdiY

8th wall → price?

zapworks, 8th wall → all not free

does vuforia have web base AR option?

https://www.youtube.com/watch?v=8-upfseuBL4

via zappar → not free

A-frame vs AR js

https://sites.google.com/view/brown-vr-sw-review-2018/related-technology/webar-comparison-ar-js-vs-a-frame-ar

AR.js : marker based

both: webGL

EasyAR

https://www.easyar.com/webar.html