Difference of apps created in `apps.twitter.com` and those created through Fabric - api

What is the difference between apps created in apps.twitter.com and those created with Fabric IDE plugin?

Mike from Fabric here.
Apps added via the Fabric plugin are given permissions to use certain parts of the API, such as those that Digits rely on or Twitter Kit, when developers start using those parts of Fabric instead of needing to manually request permissions.
Other things, such as automatically pulling in your app's icon to display when using Twitter or Digits works instead of needing to manually upload them.

Related

Install an App in unpublished theme in shopify store

I want to install some Apps in my unpublished theme (development theme) without impacting published (live) theme.
I have searched in google but couldn't find any solution. If anybody have done this type of task then please help me. Thanks in advance!
If the app provides an option for choosing a theme then yes you can, but otherwhise you can't.
Most APPs now install scripts that inject some content. Those scripts are tied directly to the live theme and if there is no option to choose a specific theme you can't change that functionality.
So you don't have a lot of options, if the APPs are not paid you can create a separate dev store where you can do your testing or styling and transfer the theme to the live store once you are done. But if the APPs are paid you will need to communicate with your client that there is a chance that the app may modify some of the current theme functionality and this may be visible on the live site.
The different apps are as follow:
Has an option for choosing a theme
Modify the theme files directly
Includes a script that will inject content and functionality to the front-end
Mash up of the above
Have in mind that all of the above indicates that these apps will modify the front-end in some way, there are APPs that extend the back-end and doesn't modify the front-end.

Where to store PWA app data on OneDrive not to be accessible by user?

I want to write a PWA app (to run on Android and Windows 10) working with user's files and photos on OneDrive. I need to store some metadata and I prefer those to be inaccessible to the user.
What are my options?
OneDrive approot special folder is normal folder visible to the user.
I do not want to store the data locally on the device, as I want the app to be run on multiple devices.
I cannot use Windows 10 UWP roaming app data, as they would sync between Windows 10 devices, but not to Android devices.
I do not want to store the data at the PWA's backend, as it would need creating an extra user account. I want the user to log in to their MS Account to access their OneDrive, and to create another account for storing metadata. I prefer the app to be 100% client side.
Are there any other options I missed? I would prefer creating some hidden folder on OneDrive accessible by the app, but by the user. OneDrive does not seem to have such functionality, at least if I read it's API docs properly.
Depending on your exact use case you may want to check out Microsoft Graph:
https://developer.microsoft.com/en-us/graph
Microsoft Graph is an cross-device experiences platform and available for nearly all platforms. Within the Microsoft Graph you can use Activities to share metadata between different devices: https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/api-reference/v1.0/resources/project_rome_overview.md
There is also an demo project on Github of an PWA with usage of the Microsoft Graph:
https://github.com/boyofgreen/MSGraphPWA

What is a progressive web app in layman's terms?

I have been a dev for some years now, but I can't wrap my head around what exactly is a PWA.
For example, if an app runs on a mobile phone it is a native app. I can point to it and tell people that "look it is a native app."
In a similar sense, what is a PWA? Where does it run? Which app can I point to and tell that it is a PWA?
From what I have read on the web I feel that a PWA is a website that has modern technologies and gives a "native app like" experience to the user.
Is my understanding correct?
All in all, it is a website that has native-like experience?
If so how does a user separate a normal website form a PWA?
The concept of the progressive web app (PWA) was approached by Google in late 2015. They are basically web applications (Website) but have look and feel like other native mobile apps. The progressive web app enabled websites can offer functionalities such as working offline, push notifications, and device hardware access.
Benefits of the progressive web app:
1. Smaller and Faster:
The progressive web apps are much smaller in size than native apps. They don’t even need to install. That’s they are not wasting disc space and load very fast.
2. Responsive Interface:
Progressive web app (PWA) supported web pages are capable to fit in every screen sizes automatically. It could be a smartphone, tablet, desktop or laptop.
3. No Updates Required:
Most of the mobile apps need regular weekly updates. Like the normal website, progressive web apps (PWA) are always loaded latest updated version whenever the user interaction happens and no App or Play Store approval required.
4. Cost Effective:
Native mobile apps need to be developed for both Android and iOS devices separately and their development cost is very high. On the other hand, progressive web apps are had the same features but the fraction of the prior price.
5. SEO Advantage:
Progressive web apps are discoverable by search engines and load super-fast. Just like other websites, their links are sharable too. This, in other words, gives good user experience and result in SEO rank boost.
6. Offline capabilities:
Due to the support of service worker API, PWAs are accessible in offline or low internet connections.
7. Security:
PWAs are delivered over HTTPS connection and secure user-data over each interaction.
8. Push Notifications:
By the support of push notifications, PWAs can interact easily with the users and provide a really amazing user experience.
9. Bypass the app stores:
PWAs don’t need the App store or Google play store support. Their updated version can be directly loaded from the web server without the requirement of app store approval. On the other hand, native apps need days of approval if any new update required. There are possibilities of getting rejected or banned.
10. Zero installation:
During browsing, progressive web app gets its own icon on phones and tablets, just like a mobile application, but without the need to go through the tedious and slow App Store installation process.
Disadvantages of the progressive web app:
1. Less access to system features:
Currently, Progressive Web Apps have limited access to native system features than native apps. Also, all browsers are not supporting its full features but maybe in near future, it will be the new standard of development.
2. More Android – Less Apple’s iOS:
progressive web apps are currently, most supported by Android devices. Apple’s iOS is only partially supporting.
3. No review standard:
progressive web apps don’t need any kind of review system which is applicable for native apps from the app store. It may make the process faster but lack of promotional benefits from the app store.
Progressive web app checklist:
The checklist for the progressive web app is extensive. I have described its main few items here.
1. HTTPS
2. Web app manifest - manifest.json
3. Service worker
4. Responsive design
5. App icon
6. First load fast even on 3G
Conclusions:
There are huge possibilities offered for the progressive web app. Although there are lots of features and browser adaptability expected in near future. But, whatever already exists in the market is enough to show a strong mobile presence.
Visit the video blog: https://www.youtube.com/watch?v=NVXP-RzA0Eo
A PWA is a website with certain progressive features, most notably the ability to load offline or in areas with spotty connection, load quickly, display push notifications, and have other native app qualities. The benefits of a PWA is that they run on any browsers (since they're a normal website, if the browser doesn't support PWAs then the user gets a normal website experience), even desktop browsers. On mobile devices, the user will often get prompted to install the web app to the home screen, which happens almost instantaneously and uses barely any data since the website is already loaded. This allows for way more "downloads" than a native app, leading to higher engagement. For another brief overview of what a PWA, Google has some great articles about them.
Technically speaking, a PWA is a website that has two things: a web app manifest file and a service worker.
A manifest is a JSON file (usually called manifest.json) with some information about the progressive web app. It contains information similar to what you would include with a native app. It has the name, the short name for display on home screens, icons, orientation, etc. A web app manifest can be used on any site (even non-PWAs) to give the browser more information and allow the site to create a shortcut on the user's homescreen, but it's required for a PWA. You can read more about it over on the Google Developer's site.
A service worker is a JavaScript file that can be installed by the browser to do certain tasks. This file will be run in the background of the site and can do things like caching resources, intercepting network requests (to do stuff like return data from the cache), receiving push notifications, background synchronization, etc. When a user first visits your site this JS file gets installed and starts running. This is the file that allows for things like offline functionality. You can read more about service workers on the Google Developer's site as well.
Roughly speaking PWA is a web app that has native feeling and can be installed to the users' home screen and can start & work offline with an optional sync to server when Internet connection gets available.
To be considered a Progressive Web App, your app must be:
Progressive - Work for every user, regardless of browser choice,
because they are built with progressive enhancement as a core tenet.
Responsive - Fit any form factor, desktop, mobile, tablet, or whatever
is next.
Connectivity independent - Enhanced with service workers to work
offline or on low quality networks.
App-like - Use the app-shell model to provide app-style navigation and
interactions.
Fresh - Always up-to-date thanks to the service worker update process.
Safe - Served via HTTPS to prevent snooping and ensure content has not
been tampered with.
Discoverable - Are identifiable as “applications” thanks to W3C
manifests and service worker registration scope allowing search
engines to find them.
Re-engageable - Make re-engagement easy through features like push
notifications.
Installable - Allow users to “keep” apps they find most useful on
their home screen without the hassle of an app store.
Linkable - Easily share via URL and not require complex installation.
I think PWA is quite a broad term. I say broad because there are many ways of developing and distributing a PWA. In Layman's terms a Progressive Web App is a 'web site' that is effectively used/displayed like a native app. I believe an example of this would be something like phonegap? where phonegap built an app 'surrounding/scaffolding' and displayed a webpage with some custom CSS over the top. (Editorial Note: Phonegap is not related to progressive web apps. Phonegap creates actual, native applications. Wrapping a website in a native application is very different from progressive web apps.)
Most recently though I've been working on a lot of react only based website which I believe is the closest to PWA you can get at the moment (especially for IOS who only support minimal feature to encourage you to build native apps for their app store).
But yea it's basically an app like app that's not an app; rendering from a web page :thumbsup:
Progressive Web Apps (PWAs) are web apps that follow a set of guidelines
Starts fast, stays fast
Performance plays a significant role in the success of any online experience, because high performing sites engage and retain users better than poorly performing ones. Sites should focus on optimizing for user-centric performance metrics.
Works in any browser
Users can use any browser they choose to access your web app before it's installed.
Responsive to any screen size
Users can use your PWA on any screen size and all of the content is available at any viewport size.
Provides a custom offline page
When users are offline, keeping them in your PWA provides a more seamless experience than dropping back to the default browser offline page.
Is installable
Users who install or add apps to their device tend to engage with those apps more.
For more details see What makes a good Progressive Web App?

Branch.io smart banner how detect open or download app

I'd like to use branch smart banner because it can open app if it was installed. But i've understood how it work. I need install ios sdk in my app and use setIdentity?
Alex from Branch.io here: the smart banner actually doesn't require the SDK to be integrated. setIdentity is a completely separate method used for tracking individual users, and isn't used at all for the smart banner.
However, integrating the SDK is definitely the easiest way to get things working, because even without it you would still need to set up a Branch account, configure all your link routing rules in the Branch dashboard, and then enable Universal Links in your app (if it's iOS). Since that is 90% of the SDK set up process, you might as well do the whole thing so you can also take advantage of things like install attribution and analytics!

Adding a Sandboxed app to Login Items

I have read through many questions here about launching my app on login. I have followed this awesome tutorial suggested many times. That tutorial does work. BUT...
The one side affect that comes from using a helper app and registering it using SMLoginItemSetEnabled is that my app does not show up inside the user's Login Items in System Preferences.
There are several apps in the App Store (such as PopClip and Dash) that do what I am trying to do. I just can't figure out how...
UPDATE: I found out from the Dash developer that Dash is actually not sandboxed. He also believes that PopClip is not either. This could explain things... https://alpha.app.net/kapeli/post/3975968
UPDATE #2: I just got confirmation from the PopClip dev that it indeed is not sandboxed as well. https://twitter.com/pilotmoon/status/313746294361427968
With the last 2 updates, I guess the answer is clear. As of today, there is no way to accomplish this with Sandboxed apps.
Hope it's not too late.
In Apple's "Daemons and Services Programming Guide":
Adding Login Items
There are two ways to add a login item: using the Service Management framework, and using a shared file list.
Login items installed using the Service Management framework are not visible in System Preferences and can only be removed by the application that installed them.
Login items installed using a shared file list are visible in System Preferences; users have direct control over them. If you use this API, your login item can be disabled by the user, so any other application that communicates with it it should have reasonable fallback behavior in case the login item is disabled.
In sandboxed environment, only Helper applications can be installed in login items. You need to create one, stored in the Contents/Library/LoginItems folder of the main application.
Then you can used SMLoginItemSetEnabled to set the helper as login item and ask the login item to start the main application.