These days I work for a company operating in the "library space", but this application is my hobby project and as such isn't affiliated with my employer.
To be honest, I simply wanted to have a play to learn how a Safari App Extension would work. The development documentation is a bit light and I needed a real project to truly learn stuff. When I came across the rather useful Unpaywall API and their Google Chrome & Firefox extension, I was a bit sad that it wasn't available for Safari. I quickly realized that I could build a super simple clone and make it available for free... Free is the right price, as the extension itself doesn't do much and all the magic comes from the excellent unpaywall.org service.
I created the iOS App, since I felt a bit sorry that all the Open Access goodness was for desktop users only and just like with the Safari App Extension, I wanted to learn how a Safari Action Extension and Share Extension should be programmed. It's fun to learn new things...
I created a document with test cases and their expected outcome, every release is tested against that document. You can access it here...
macOS: English & German
iOS: English & German
Please contact me, if you would like to help translate the app into more languages
macOS: Privacy is really important and the extension ask for some really "wild" permissions. So let me try and explain what the app actually does:
macOS: v1.2 you will be able to highlight text within a website and then use the context sensitive menu to start an Open Access search in:
macOS: v1.7 - we now also support core.ac.uk Discovery Search
macOS: v1.8 - we now support sending a request to the author via OpenAccessButton.org
iOS: The design of the Safari Share / Action Extension makes it less "problematic", but still I would want you to know what happens:
iOS: v1.5 - you have the ability to enable several settings, to support Bookmarks, iCloud Syncing & Sharing of statistics, here is what you need to know
iOS: v1.8 - we added support for core.ac.uk Discovery
iOS: v2019.10 - Support for OpenAccessButton.org Article Requests & improved settings
iOS: v2019.12 - CORE REcommender
Unpaywall.org covers > 23 million Open Access documents [25 December 2018], but there obviously are many more. The App will also check core.ac.uk Discovery and thus will have covered most sources available. Lastly, if you enable it, you can use OpenAccessButton.org to ask the author to make their work avaialble by posting it online in a legal and copyright compliant way.
Maybe your document just isn't known, yet? Try searching BASE, core.ac.uk, DOAJ or Google Scholar, or speak to your library's info desk. Library staff are oustanding at finding content and if there is no Open Access, they might be able to help you with an Inter Library Loan for less than what the publisher is asking for.
Another option is that the extension could not extract a DOI on the page. I am trying to
be quick and nimble and thus look for certain meta-tags on the page,
rather than look at all the content with a regular expression.
macOS Users: If you are ever in doubt, open the Developer Console (⌥+⌘+i) - I "print" a few bits there quite clearly :)
Sometimes you are at an Open Access location, but unpaywall.org reports a different location. Open Access is great, but often has more than one place to access a document.
Sometimes the code that follows the link gets to one place and stops and then "sees" two different domains, for example "linkinghub.elsevier.com" vs "www.sciencedirect.com"
Unpaywall.org is fast, but the code that follows all the redirects to determine, whether we are at the "final" location, depends on your internet speed and the number of redirects and the speed at which those servers respond.
You really shouldn't trust anyone on the internet. If you know how to read a little JS
and Swift, please review the macOS code on
GitHub - it ain't
rocket science! You probably will want to check on these two files first:
The source code for the iOS app can be found here
Safari App Extensions and iOS Apps are pretty great and have a lot of solid features to protect your privacy, but in the end you need to decide, whether you wish to trust the extension or not. At the time of writing nothing in the code actively logs you or your browsing behavior. To make it obvious the extension does stuff, the toolbar icon will change, while the extension is active. The iOS App makes even fewer calls.
For the macOS App, one of the things the app does is keep a counter of how many Open Access versions it found - or rather how often the orange button was injected. This is done locally and I don't get that info, even though I would love to have it ;) It is a simple text file named count.txt and you can find it in ~/Library/Group\ Containers/_MY_TEAM_ID.otzshare/Library/Caches
For iOS similar values (OA Searches, OA Found, core.ac.uk PDF, Number Bookmarks) are kept on device and if you opt in to do so, will be shared with me once a month. The values themselves are integers which are useful to understand which area of the app needs further development.
The data I collect was designed to be useful to you the user. What's the value of the app, how many Open Access Documents did you find. How many Open Access Searches did you conduct? How many core.ac.uk PDFs did you view? It isn't meant to track you.
Without any data and pretty much without feedback, it has been hard to know what to focus on in development. I thus decided to ask you for your opt in to get some of these values. If you don't opt in, nothing is shared. If you do opt in, only these integers are shared, along with a UUID (unique ID). However that unique id is unique to you and my app and not your phone, thus I won't ever be able to sell the data or know who you are. Even if I wanted to sell the data, all I have is a few integers.
Some really solid advice for anything on the internet is: follow the money. If you don't pay for something, you are likely the product.
Otzberg is the name of the "mountain" overlooking the village in which I live. When I lived in the US I started the habit of using this as my screen name on various services. When the opportunity arose I licensed otzberg.net and the rest is history. Wikipedia has a pretty extensive article in German and English, check it out :)
With any questions, you can reach me at:
Am Hergert 1
oahelper [at] otzberg.net