Thx so far for the input and appreciation.
@Pau Indeed...some sort of Gamification is possible. However that needs a good plan upfront and appealing design choices. While I can certainly cover the technical side...UX design is honestly not my domain of expertise.
@Dan Glad you raised that question. The usecase I had in mind this far is clearly editing, since I felt always that a native mobile App is a missing part in the Wikibase or Wikidata ecosystem. Aside from all this, my intention was more to start a discussion around this App topic, while providing something to show it is possible and figuring out some pain points. Also an App might give access to new groups of users, which are not so much Desktop focused. However the matter of features is another thing and there a bunch of options, which is strongly coupled to technical decisions in terms of the architecture of the Back- and Frontend. In general I think features should be driven by the community in a structured way (like Jetbrains does it). However I am currently not sure how to proceed, to be honest. Going on alone with that is not an option if that should be published in any form. Simply it costs too much time for one person to maintain, design and improve an App after necessities in life. On the technical side - I worked with Kotlin Multiplatform for quite a while now - including JS and iOS. However WASM - Jetbrains cut the support for that[1], since they developing a new Compiler Backend for it. But from my experience Rust is much better choice to do low level stuff, while Kotlin provides the bindings for the platform and/or high level business logic.[2] Both together really complement each other and it is so much joy to work with both (even if Rust can be sometimes a real pain). Long story short I support any commitment to a Multiplatform approach except Progressive Web Apps[3]. Also you raised the question of an SDK for Wikidata/Wikibase, right? I agree that there should be something like an SDK, which provides certain functionality to an consuming Application regardless of the platform. I already structured my little thing in that way. However that is a different discussion and will need involvement from WMDE I suppose for several reasons.
I hope you all had a good start in the year of the tiger!
Cheers
Matthias
[1] https://kotlinlang.org/docs/roadmap.html [2] I must admit I just saw only one real-world usecase for it, which was Crypto. However if you are looking for an example you can checkout - the Signal repo on Github. They may not use Kotlin KMP now, but it would look very similar to what they do now. [2] PAWs are super hard to integrate with if you want them to replace native Apps. I personally worked with Electron and ReactNative and both are fine as long as do not want something complex. The horror begins if something changes/break/misbehaves you are not in charge of (like battery or memory consumption, since e.g. Electron ships its own browser). The real gamechangers here are SwiftUI, Jetpack Compose or Multiplatform Compose by Jetbrains. (JS/TS already has declarative UI). Without going too much into deep - you can build for any platform thx to KMP with relatively small costs and good maintainable Application, while keeping direct control over the platform. This comes with its own price tag for sure, but that's a different story.
Am 2022-02-05 14:22, schrieb Dan Brickley:
On Thu, 3 Feb 2022 at 13:59, geislemx geislemx@informatik.hu-berlin.de wrote:
Hey all,
I hope this mail finds you well in this trying times. Over the last month I invested some time and put a little project together for personal purpose. Long story short it is a small Wikidata/Wikibase App for Android.
Currently it has similar capabilities to Termbox of the Webfrontend
add a new Item, searching for an Item, editing an Item, etc. The App is build in manner that it should be relatively easy to adapt it for any instances of Wikibase. Everything is written in Kotlin[1] and the data layer is forged in a way to facilitate Kotlin Multiplatform[2] and after turning some screws to support a given platform. This means writing an App for iOS with the
similar capabilities or a Desktop App would be much easier. For myself I do not have a stable access to a Mac, otherwise I would made an iOS App as well right away.
However the user journey is still bumpy, since parts are missing like loading bars and so on. Also the App only allows users to proceed without login. Also multi-language support of the UI is missing and the design needs a lot more love (like bring up a proper color system for theming). Summa summarum please consider it as an early alpha or an very very late prototype.
I made a little screen cast which you can find in the endnotes[3]. If you wish to try it out yourself, you can go ahead[4][5]. But please be aware even if the packages are tightly tested, I have currently only one real device to test it on and emulators do not always tell the truth, so expect app crashes (even there should be none). Also the App is currently hooked against the test instance of Wikidata[6], so anything you do will not propagated to main instance of Wikidata and you will not be able to retrieve data from there.
So why I am writing? Well, I would like to know, if the community has interest in such a thing - an App for Wikidata/Wikibase. Anything else can wait until this question is answered, since it will cost time to
bring it into a publishable state. Please consider this would give the opportunity the obtain access to the sensors of a mobile device like
geolocation, camera, etc and make them usable by Wikibase/Wikidata. If the community sees the value in this little project, I also like to ask for support/if there are people who are willing to embark on this with me. I hope you have a pleasant rest of the day.
Nice work! Hopefully over time there will be lots of apps that use Wikidata. If there's a desire to have one central app, there's the natural question of who it is for - readers or reader-editor-contributors?
The WWW in '90s sadly lost its early built-insupport for html editing, and wikis were a big part of filling this hole. It would be good to see an app that kept editing and contributing as high profile natural actions for all wikidata users, even while trying to hide the more complex aspects that are better suited to computers with keyboards.
So for example of contributor tasks easy enough for mobile use, quickly flagging a typo, or routing an entry to a wikidata project or subcommunity for review, or putting into a personal queue for later attention. Maybe some tasks that exploit recently-viewed-entity history eg flagging duplicates for review? Or integration of mobile-friendly things like podcast and other media content of interest to the wikidata contributing world?
On the technicalities - apparently Kotlin can run on WASM so there might be a path to this code being usable in webbier settings too; desktop browsers and other mobile platforms, PWAs (Progressive Web Apps etc.).
https://blog.jdriven.com/2021/04/Running-Kotlin-in-the-browser-with-Wasm
For example here is Doom running in a VR/XR browser in Oculus, via WASM: https://youtu.be/9zBxWfb1ziU
I am sure there will be interesting things done with Wikidata in VR - eg https://twitter.com/utopiah/status/1106238075095654402?s=21 - so in the interests of avoiding massive scope creep in a single app it might be worth discussing what kind of shared code / libraries / api could help all apps?
Dan
Cheers
Matthias
Endnotes: [1]: https://kotlinlang.org/ [2]: https://kotlinlang.org/docs/multiplatform.html [3]: https://box.hu-berlin.de/d/66b0055734c3485b8d22/ [4]: https://box.hu-berlin.de/f/45c45774cff14c5fad55/?dl=1 [5]: https://www.javatpoint.com/how-to-install-apk-on-android [6]: https://test.wikidata.org/ _______________________________________________ Wikidata mailing list -- wikidata@lists.wikimedia.org To unsubscribe send an email to wikidata-leave@lists.wikimedia.org
Wikidata mailing list -- wikidata@lists.wikimedia.org To unsubscribe send an email to wikidata-leave@lists.wikimedia.org