Grants:Programs/Wikimedia Community Fund/Rapid Fund/Colored maps (ID: 23732189)
Applicant details
[edit]- Main Wikimedia username. (required)
Sophivorus
- Organization
N/A
- If you are a group or organization leader, board member, president, executive director, or staff member at any Wikimedia group, affiliate, or Wikimedia Foundation, you are required to self-identify and present all roles. (required)
N/A
- Describe all relevant roles with the name of the group or organization and description of the role. (required)
Main proposal
[edit]- 1. State the title of your proposal. This will also be the Meta-Wiki page title.
Colored maps
- 2. and 3. Proposed start and end dates for the proposal.
2026-04-03 - 2026-05-31
- 4. What is your tech project about, and how do you plan to build the product?
Include the following points in your answer:
- Project goal and problem you solve
- Product strategy or project roadmap
- Technical approach (infrastructure, tech stack, key tools and services)
- Integrations or dependencies (if any)
Colored maps (aka choropleth maps) are ubiquitous throughout Wikipedia and beyond.[1] However, until now, they are produced using external tools and then uploaded to Commons. This process is slow and inefficient, because updating a map requires re-generating and re-uploading the file, which may be difficult if the original author is gone or if the source file is lost. Furthermore, when a map is changed, the change is not reflected in the edit history of the articles using the map.
To solve this problem, me and a group of users developed a Lua module (Module:ChoroplethMap) and the corresponding user-facing template, that generates colored maps directly. It only requires the user to specify what countries or areas to color, in what colors, etc, and it will generate the desired SVG, and any changes to those parameters will be recorded in the edit history.
The module and template is already being used in the English [2] and Spanish Wikipedias [3] and was well received.[4] However, with the excitement came an increasing number of issues and requests that have become too much to tackle as a volunteer. Thus, I request this grant to implement some if not all of the ideas:
- Add support for a new and better syntax [5] [6]
- Display small countries as circles [7]
- Think and implement some convention or solution for countries with disputed borders [8]
- Add support for automatic, localized legends, as well as custom legends [9]
- Add support for thumbnail-style for the maps [9]
- Think and implement some solution to enlarge the maps [10]
- Add maps for some countries, for example Spain, United States, Argentina and Uruguay [11]
- Deploy the map in other top wikis (fr, pt, it, de) and document it
- Use the map in a few high-visibility articles per wiki, to spread awareness
If the grant is approved, I will likely create a Phabricator project for the module (I have the necessary rights) and track progress there, to keep discussion centralized in a more software-oriented environment. I will link to the Phabricator tasks from the relevant sections in the talk pages and from the source code of the Lua module, to keep track of what parts of the code relate to what bugs/requests.
Testing will be done using the standard Lua modules for testing. I already created test cases for the Spanish Wikipedia [12] and I will create similar test cases for the English Wikipedia, and expand them.
[1] [1]
[2] [2]
[3] [3]
[4] [4]
[5] [5]
[6] https://es.wikipedia.org/wiki/Módulo_discusión:ChoroplethMap#Nueva_propuesta_de_sintaxis
[7] [6]
[8] [7]
[9] https://es.wikipedia.org/wiki/Módulo_discusión:ChoroplethMap#Roadmap_para_el_modulo
[10] https://es.wikipedia.org/wiki/Módulo_discusión:ChoroplethMap#Mapa_ampliable
[11] https://es.wikipedia.org/wiki/Plantilla_discusión:Mapa#Subregiones
[12] [8]
- 5. What is the expected impact of your project, and how will you measure success?
Include the following points in your answer:
- Milestones and progress tracking
- Project impact and success metrics
The first milestone will be implementing all the feature requests (and fixing bug reports). The second milestone will be deploying the module and associated template (with documentation) in some new wikis (fr, it, pt, de). The third milestone will be actually using the template in a few high-visibility articles of each wiki, to spread awareness among editors.
Correspondingly, success can be measured by the number of features implemented (and bugs resolved), the number of wikis with the module and template available by the end of the project, and the number of high-visibility articles with the new choropleth maps by the end of the project. Further success can be measured by any extra wikis that spontaneously decide to import the module and template, and articles that spontaneously decide to adopt the new choropleth maps.
- 6. Who is your target audience, and how have you confirmed there is demand for this project? How did you engage with the Wikimedia community?
Include the following points in your answer:
- Project demand and target audience description
- Links to interaction(s) with Wikimedia community
- Evidence from community consultation such as the [Community Wishlist]
This project actually started with the request of an editor in a hackathon organized by Wikimedians of Uruguay. The user expressed the problems and limitations with the current situation with choropleth maps, and I pointed out that it should be possible to code a solution using the SVG functionality very recently made available in Lua.[1] So a small group of developers and interested users assembled and we coded the first version of this module in the Spanish Wikipedia. After the event, we continued collaborating online, improving the module and finding the first real-world use cases.
Some weeks later I imported the module to the English Wikipedia and shared it at the Village Pump. The proposal was well received (I even got a Brilliant Idea Barnstar) [2] and new ideas started pouring in.
I have now shared this project proposal at the talk pages of the English and Spanish modules.[3][4]
[1] [9]
[2] [10]
[3] [11]
[4] https://es.wikipedia.org/wiki/Módulo_discusión:ChoroplethMap#Grant
- 7. How will your team predict and manage potential user security and privacy risks, and what risks do you currently see?
Include the following points in your answer:
- The level of in-house or consulted security and privacy expertise you will have available to you during delivery of this project
- How your development, testing, and deployment processes mitigate the introduction of unnecessary security or privacy risks
Since the software is a standard Lua module, I anticipate no special security or privacy risks. They're all mitigated and handled by MediaWiki itself, like any other Lua module.
- 8. Who is on your team, and what is your experience?
Include the following points in your answer:
- Your experience as a developer, relevant past projects
- Wikimedia SUL (developer), Gerrit, Github, Gitlab or other relevant public account handles
- Other team members, their roles and expertise
Felipe Schenone (User:Sophivorus) - Main developer of the Module:ChoroplethMap. Felipe has been a Wikipedia editor since 2009 and a freelance web developer specialized in MediaWiki (the software of Wikipedia) for 10+ years, developing tools, extensions, skins and scripts for a wide variety of wikis, including Wikimedia wikis.
- 9. How will the project be maintained long-term?
Include the long-term maintenance plan with maintainer(s) in your answer. If you expect the long-term maintenance to incur expenses, please list those and the plan for long-term expense coverage.
For the short-run and mid-run, I'll be the main maintainer, just like with other modules, templates and tools I developed or helped develop in the past. Other users may jump in to help with the load, as it has actually happened to me before (for example with Module:Excerpt and the Proveit gadget).
As to the long-run, the module's idea and implementation are actually quite simple, and it is coded in Lua and embedded in Wikipedia itself, so it doesn't depend on any third-party dependencies, custom backend, special permissions, or any other shenaningans. It is as simple as it gets, so it is likely to live on as long as Lua is a part of Wikipedia.
- 10. Under what license will your code be released, and how will you ensure the product is well documented?
Include the following points in your answer:
- Code license and compatibility with Wikimedia projects
- Documentation plan
Code will be released under the CC-BY-SA-4.0 license.
Documentation will be developed in all the languages where I deploy the module (en, es, fr, it, pt, de) and made available in the relevant module and template pages:
- 11. Will your project depend on or contribute to third-party tools or services?
No
- 12. Is there anything else you’d like to share about your project? (optional)
Budget
[edit]- 13. Upload your budget for this proposal or indicate the link to it. (required)
- 14. and 15. What is the amount you are requesting for this proposal? Please provide the amount in your local currency. (required)
7013311 ARS
- 16. Convert the amount requested into USD using the Oanda converter. This is done only to help you assess the USD equivalent of the requested amount. Your request should be between 500 - 5,000 USD.
5000 USD
- We/I have read the Application Privacy Statement, WMF Friendly Space Policy and Universal Code of Conduct.
Yes
Endorsements and Feedback
[edit]Please add endorsements and feedback to the grant discussion page only. Endorsements added here will be removed automatically.
Community members are invited to share meaningful feedback on the proposal and include reasons why they endorse the proposal. Consider the following:
- Stating why the proposal is important for the communities involved and why they think the strategies chosen will achieve the results that are expected.
- Highlighting any aspects they think are particularly well developed: for instance, the strategies and activities proposed, the levels of community engagement, outreach to underrepresented groups, addressing knowledge gaps, partnerships, the overall budget and learning and evaluation section of the proposal, etc.
- Highlighting if the proposal focuses on any interesting research, learning or innovation, etc. Also if it builds on learning from past proposals developed by the individual or organization, or other Wikimedia communities.
- Analyzing if the proposal is going to contribute in any way to important developments around specific Wikimedia projects or Movement Strategy.
- Analysing if the proposal is coherent in terms of the objectives, strategies, budget, and expected results (metrics).
This is an automatically generated Meta-Wiki page. The page was copied from Fluxx, the web service of Wikimedia Foundation Funds, where the user has submitted their application. Please do not make any changes to this page because all changes will be removed after the next update. Use the discussion page for your feedback. The page was created by CR-FluxxBot.
