Grants:Project/Daty: a delightful Wikibase frontend that makes editing a breeze
Note: We are seeking volunteers for user testing of the prototypes, please add your username in the bottom under volunteer testers if you are interested in dedicating 10 minutes to help us.
Project idea
editWhat is the problem you're trying to solve?
editWhat problem are you trying to solve by doing this project? This problem should be small enough that you expect it to be completely or mostly resolved by the end of this project.
Remember to review the tutorial for tips on how to answer this question.
Daty, the GTK+ Wikidata editor mantained by Pellegrino Prevete since 2018, allows users to browse and edit Wikidata with a native application from a desktop environment, a GNU/Linux tablet or smartphone.
With the first three months of development funded by Wikimedia CH, a stable version was never released, so despite the work done being adequate, the application is not on par with the features of the Wikidata Vue desktop UI (merge and adding new statements are not implemented).
The application runs on GNU/Linux (distributed through Flathub) and Windows, but it can be built to run on Mac OS and (in a lite version atm) on web browsers as on most mobile operating systems.
The focus of the application was on simplicity, ease of access and sticking to GNOME Human Interface Guidelines.
As of today (15 Mar 2021), the application counts 600 downloads on Flathub and possibly even more on Windows.
Many of the issues in the Wikidata Desktop Vue UI the application was developed for are still here today. Among the others, development was focused on:
- not wasting screen space;
- being able to properly access giant items on any device;
- reducing the amount of users' repeated actions in typical tasks;
- lowering the barrier for new users contributing.
The aim of this grant is then:
- engage more users from our "long tail" of 128.000 users;
- to secure enough funds to release a stable version of the application;
- further develop a unified experience to Wikidata (building the application on all the platforms it can support);
- feedback mechanism;
- introduce popular features (the ones Wikidata users wish for every year or so) in a steady way;
- further integrating the application into GNOME desktop (notifications, search provider, credentials, data re-usage);
- create a prototype for both a desktop and a mobile application more focused on statements instead of entities;
- deliver a working prototype after 5 design sprints during 5 weeks and present a working prototype of both the desktop and mobile version on August 1 2021.
- setup an easy to use plugin system to let users extend application functionalities (eventually);
Our main focus is that the prototype is accessible, has an high degree of usefulness and include behavioral design patterns to make it a delightful experience.
What is your solution to this problem?
editFor the problem you identified in the previous section, briefly describe your how you would like to address this problem.
We recognize that there are many ways to solve a problem. We’d like to understand why you chose this particular solution, and why you think it is worth pursuing.
Remember to review the tutorial for tips on how to answer this question.
We intend to complete the development of Daty as programmed in 2018, add new features based on user requests, findings from polls and data gathered through the application.
In particular, we would like to extend Daty from being mainly an entity editor to become a search-based statement editor, while retaining the old functionality for advanced/complete/classic entity editing.
Requirement for the above is design sprints being successful; by that we mean them to be:
- completed in time;
- features have to be clearly beneficial to users and feasible to be implemented in the context this grant;
- propose an easy to use plugin system to let users extend application functionalities.
We also plan to add support for multimedia files, dates, coordinates and lexemes, switching to WikibaseIntegrator as backend, while re-using resources and code from other GNOME projects.
Further, WikibaseIntegrator support will allow us to merge statements from different wikibase instances, making all of the information available for a certain entity shown in a single page, with beneficial impact on future Wikibase-based projects.
Such a requirement has been suggested by GNOME developers to eventually recognize the application as first party (as GNOME Data): further integration would then give us the chance to push Wikidata as a pre-enabled search provider on many GNU/Linux distributions.
In the final phase of the grant, we plan to start publicity initiatives to increase awareness of Daty in the general public.
Project goals
editWhat are your goals for this project? Your goals should describe the top two or three benefits that will come out of your project. These should be benefits to the Wikimedia projects or Wikimedia communities. They should not be benefits to you individually.
Remember to review the tutorial for tips on how to answer this question.
- Enable Wikidatians to have a fast and reasonably feature complete alternative to the Wikidata Vue UI.
- Continuing to increase the number of Wikidata contributors (in particular among the long tail) and useful statements uploaded to Wikidata:
- our main focus group for the mobile view is people 20-30 years old searching for facts in a hurry who are new to Wikidata and who added 0 statements before to Wikidata and don't really know what a statement or entity is;
- our main focus group for the desktop application is seasoned editors who are not in a hurry, add > 10 statements a month to Wikidata in the last 6 months, use Windows and are 40-60 years old.
Project impact
editHow will you know if you have met your goals?
editFor each of your goals, we’d like you to answer the following questions:
- During your project, what will you do to achieve this goal? (These are your outputs.)
- Once your project is over, how will it continue to positively impact the Wikimedia community or projects? (These are your outcomes.)
For each of your answers, think about how you will capture this information. Will you capture it with a survey? With a story? Will you measure it with a number? Remember, if you plan to measure a number, you will need to set a numeric target in your proposal (i.e. 45 people, 10 articles, 100 scanned documents).
Remember to review the tutorial for tips on how to answer this question.
- All tasks completed, web version available on a website, final deliverable available for download on Flathub, Wikidata website, Mac app store, Google Play Store.
- 50% code coverage (the percentage of code which is covered by automated tests). This metric is a predictor of app stability in future releases, as failing tests provide early warning of issues with new code. It will be measured after completion of the grant via Fosshub reports.
- Crash rate of <0.5%. This metric is an indicator of app stability, and will be measured via data obtained from user tests 2 weeks after the final version is released to production.
- Open bug issues on Gitlab reduced by 50% from the start of the grant.
- >2,000 active installs 3 months after first release This would be measured querying history pages and checking the number of users who made an edit on the website through the app from grant start date;
Do you have any goals around participation or content?
editAre any of your goals related to increasing participation within the Wikimedia movement, or increasing/improving the content on Wikimedia projects? If so, we ask that you look through these three metrics, and include any that are relevant to your project. Please set a numeric target against the metrics, if applicable.
- 100.000 edits made using Daty measured from grant start date until 6 months after first release;
- Edits quality We will check if the user inserted more statements than usual when using the application.
- [Optional: Depends on application being recognized as first party] Being shipped by default on major GNU/Linux distributions - this will be measured after the grant.
Project plan
editActivities
editTell us how you'll carry out your project. What will you and other organizers spend your time doing? What will you have done at the end of your project? How will you follow-up with people that are involved with your project?
What will you and other organizers spend your time doing?
editWe will be spending our time on:
- Design phase with Design Sprints 2.0 where 2 prototypes are incrementally improved based on user testing.
- Development of the features chiseled out during the design sprints
- Testing - both manual testing and writing of unit tests
- Publishing releases on Flathub/various stores/repositories
- Communicating with users on a regular basis to obtain feedback and bug reports
- Fixing any issues with releases
- Supporting and fostering volunteer code contributors
- Outreach and socializing project
What will you have done at the end of your project?
editWe will have:
- Daty as a working Wikidata frontend that is on par with the features of the Vue UI:
- Adding and editing all types of statements on items and lexemes
- Overview of items and lexemes
- First Wikidata frontend with a type-to-search that filters what is displayed when browsing items
Additionally we would like to explore these ways forward during the design sprints:
- We would like to present an overview instead of cluttering the screen with details (and rely on scrolling) if users want it
- Integrations:
- We would like to integrate Wikidata Lexeme Forms to enable easy adding and editing lexemes if users want it
- We would like to link to Ordia and present the translations of items like Ordia does if users want it
- We would like to help advanced users edit multiple statements/generate QuickStatement batches if users want it.
Stability and code quality improvements
editWe intend to continue supporting and polishing the app by:
- Finishing implementing 2018 proposed features
- Actively working on all bugs reported and reducing open bug issues
- Increasing code coverage by writing tests, so that in the future there will be early warning of issues with new code
New users in the target demographics
editWe will try our best to design the application so that it's captivating among the target demographics.
We will set up standard design tests with volunteers from inside and outside the projects.
Desktop integration
editWe will be able to:
- search for single entities (to the very least) directly from GNOME Shell overview (system's unified search interface);
- share data provided by the application to other applications for better integration (i.e. in en:GNOME Files, retrieving information about a file from Wikidata);
- display user notifications from Wikimedia projects in system tray;
- leverage system facilities for accessibility.
New Design
edit- Based on the results of the Design Sprints, we will start implementing the demo in code. We will update the project plan with the detailed technical activities along the way.
Outreach and publicity
editThese tasks will be undertaken at the end of the grant to increase public interest and awareness of the app.
Community engagement
editHow will you let others in your community know about your project? Why are you targeting a specific audience? How will you engage the community you’re aiming to serve at various points during your project? Community input and participation helps make projects successful.
Throughout the grant, we will continue our usual user feedback cycle, and will engage with users and volunteer contributors on an ongoing basis through these media:
- GNOME GitLab - Our source code is publicly available on GNOME Gitlab, and anyone is welcomed to fork and contribute to our repository. Also, most of our new features/improvements and details of their implementation are discussed publicly on Gitlab.
- Mailing lists and village pump - After major releases, I will usually post on the wikitech-l, mobile-l, and wikidata-l mailing lists, as well as on the Wikidata project chat.
- WikidataApp Telegram group - chatting and discussing about Wikidata frontends;
- On-wiki discussion page.
- Google groups forum - TBD.
- Social media -
- Hangouts - TBD.
- Blog - Screenshots and details of major releases are posted here.
- Mentorship - If becomes possible, we could mentor GSoC/Outreachy students.
Budget
editHow you will use the funds you are requesting? List bullet points for each expense. (You can create a table later if needed.) Don’t forget to include a total amount, and update this amount in the Probox at the top of your page too!
Budget is for 12 months, to pay grantee salaries.
Grantee | Role | Job description | Commitment | Person-weeks | Rates | Cost |
---|---|---|---|---|---|---|
Pellegrino |
|
|
25 hrs/week | 52 weeks | 72 USD/hr (60€/hr) | 86400 USD |
Dennis |
|
|
25 hrs/week | 52 weeks | 72 USD/hr (60€/hr) | 86400 USD |
Total | 172800 USD |
Get involved
editParticipants
editPlease use this section to tell us more about who is working on this project. For each member of the team, please describe any project-related skills, experience, or other background you have that might help contribute to making this idea a success.
Grantees
edit- Pellegrino Prevete (User: Ogoorcs, Website: tallero). I have been the author/project lead/maintainer of the Daty app since its inception in late 2018.
- Dennis Priskorn - (User: so9q), Website: github). I'm a student of software engineering with a user experience focus in the Mid Sweden University. I have created a few free software Wikidata tools in Python (see my profile in Github).
Advisors
editCommunity
editAlhassan Mohammed Awal (talk) 08:49, 11 April 2021 (UTC) I will like to be a community member. I am a member of Dagbani wikipedia incubator user group and a regular contributor to its activities. I will do same here to the best of my ability. Alhassan Mohammed Awal (talk) 08:49, 11 April 2021 (UTC)
WMF
editVolunteers
editSign up here if you like :) Will like to be a volunteer. Alhassan Mohammed Awal (talk) 08:45, 11 April 2021 (UTC)
Community notification
editYou are responsible for notifying relevant communities of your proposal, so that they can help you! Depending on your project, notification may be most appropriate on a Village Pump, talk page, mailing list, etc.--> Please paste links below to where relevant communities have been notified of your proposal, and to any other relevant community discussions. Need notification tips?
- We will post wherever we can, all the times we can, to the largest possible audience.
History:
edit- 2021-03-16 GTK matrix/irc room
- 2021-03-16 GNOME OS matrix/irc room
- 2021-03-16 Ubports chat
- 2021-03-16 Italian Wikipedia telegram group
- 2021-03-16 Italian Wikipedia OT telegram group
- 2021-03-16 Wikidata Telegram chat.
Endorsements
editDo you think this project should be selected for a Project Grant? Please add your name and rationale for endorsing this project below! (Other constructive feedback is welcome on the discussion page).
- Daty looks like a promising project and a great idea to improve the use of WikiData Lemure Saltante (talk) 06:40, 16 March 2021 (UTC)
- As a tester of the first version I hope to see it completed --Sabas88 (talk) 18:29, 16 March 2021 (UTC)
Support I completely trust User:Ogoorcs's IT abilities in developing a software that respects users' freedoms. Let's make Daty a Wikidata interface plus steroids. --Valerio Bozzolan (talk) 17:19, 19 March 2021 (UTC)- Oppose I strongly oppose the 172800 USD budget request and I strongly suggest to shoot lower. This tool is useful for a minority of people who still wants to install a client-side free software to do something more efficiently (from their - and mine - perspective) and that's why this project deserves to take off but it does not need a full-time intervention of two senior developers for 25hours*52weeks = 1300hours = 162days of full-time serious-business work from senior developers (while they are not: at least one of them self-declared a «student of software engineering» here on Meta-wiki). Tune your budget to request a boost of 2.000 USD / 10.000 USD / 20.000 USD to a single lead developer, in that order of magnitude, to give breath to this side project without overdoing. If you want to overdo, I would like your commitment to be used to boost other projects. I already said these things directly in private months ago so no one should be surprised about my position. About this last thing: please don't try to cheat me by using my consent and introducing big numbers after my +1. I'll take it as a team oversight rather than an attempt to rip me off so I trust it will never happen again. --Valerio Bozzolan (talk) 05:58, 11 May 2021 (UTC)
- Anyway I offer myself as technical volunteer to supervise the work done. I see that a "volunteer" is needed. --Valerio Bozzolan (talk) 06:52, 11 May 2021 (UTC)
- Oppose I strongly oppose the 172800 USD budget request and I strongly suggest to shoot lower. This tool is useful for a minority of people who still wants to install a client-side free software to do something more efficiently (from their - and mine - perspective) and that's why this project deserves to take off but it does not need a full-time intervention of two senior developers for 25hours*52weeks = 1300hours = 162days of full-time serious-business work from senior developers (while they are not: at least one of them self-declared a «student of software engineering» here on Meta-wiki). Tune your budget to request a boost of 2.000 USD / 10.000 USD / 20.000 USD to a single lead developer, in that order of magnitude, to give breath to this side project without overdoing. If you want to overdo, I would like your commitment to be used to boost other projects. I already said these things directly in private months ago so no one should be surprised about my position. About this last thing: please don't try to cheat me by using my consent and introducing big numbers after my +1. I'll take it as a team oversight rather than an attempt to rip me off so I trust it will never happen again. --Valerio Bozzolan (talk) 05:58, 11 May 2021 (UTC)
- Support I reckon that we need a better UI Ruthven (msg) 19:52, 30 March 2021 (UTC)
- Support I hope to see the project completed.Alhassan Mohammed Awal (talk) 08:37, 11 April 2021 (UTC)