Comments (6)
I see one problem with having third-party apps try to mark updates. How do they know which entry to update? They would need to communicate one of the following:
- Our internal Item ID and type
- The MAL item ID and type
- The exact name of the item and type
The first option won't really work without some already-established connection where the notifying application has matched the item. The second option is more realistic, but if the application is already aware of the MAL ID, it would have enough code to just do the update itself. I can only see the third option being really used, but name matching is tricky and for any non-match, we'd have to ask the user to select the correct item, negating the benefit of having an intent-based update from a third-party application.
Abstracting the code for internal use is good, but I just can't think of a clean method for third parties to use us for updates without a bunch of difficulty.
from atarashii.
I wouldn't call title mismatches a negation of benefit.
Having the user involved in the update process isn't the end of the world. Third-party apps implementing the intent API with Atarashii! could certainly pass through the title and type of the item they wish to update, with Atarashii! notifying the user if automatic updating fails. Whether Atarashii! or the third-party app stores the mapping between the failed text match and what the user ultimately selects, that information could be reused for future, fully automated updates.
Given that the third requirement in @AnimaSA's list was for there to be communication back to the calling application anyway, that response could include the mapping ultimately selected by the user, and the third-party app could then pass the mapped value instead on future calls to Atarashii!.
from atarashii.
What dgw brought was my initial thinking was this. The app could fire off the title and type in an intent, Atarashii would then handle it if we have a match, or fire up a dialog for the user to select the appropriate match. If the latter happens, we can store what the app called us with in a local mappings database and automate future requests with that specific term. Storing the mappings ourselves had the additional benefit of continuing to work if the user switches reading apps but sources the same site (name+type would be the same) and the integrating app wouldn't have to do any extra work.
Its tricky, and I'm not entirely sure how useful having an open intent API for 3rd parties will be (will developers actually make use of it?), but most of the heavy lifting will be done when overhauling our internal system, so adding a public one shouldn't be too much more work.
from atarashii.
Can't edit on mobile, so double posting.
Ideally, all a dev would have to do would be something like:
new Intent().putExtra("title", "asdf").putExtra("type", "manga")
And send it. Psuedocode, but that's the gist of it. Atarashii should handle the rest.
from atarashii.
An advantage of sending the mal item id to the app is that it would keep atarashii up to date. A second advantage would be not having to give my password to multiple apps. I trust Tachiyomi, but I don't necessarily trust other apps that might add this ability.
from atarashii.
We actually have noticed that there are some apps out there which are collecting passwords and usernames.
This enchantment will require some investigation about security issues and the best way to handle it for Devs
from atarashii.
Related Issues (20)
- Retrofit, apache & support library HOT 2
- AniList profile crash
- Add other title support again
- manga list not sorting
- Display broadcast on in anime detailview
- Side menu lag and performance issues HOT 1
- Minor problem with weird build numbers HOT 2
- Crash on Settings Scroll when language is "Portuguese Portugal" HOT 2
- Removed records are saved in the DB
- Cover image don't load when large version isn't available HOT 2
- Settings: Auto-synchronisation misunderstanding HOT 2
- [MAL] Display Anime/Manga tabs only if user has both lists. HOT 7
- YouTube & external links support
- Opening and ending songs HOT 2
- Open links in app HOT 4
- Tags not supported HOT 7
- Automatic profile update instead of timer? HOT 3
- More metadata on mangas HOT 1
- More search filtering HOT 5
- Archive project? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from atarashii.