- 1. Summary of 2022
- 2. 2023 roadmap
- 2.1. From NLnet support
- 2.1.1. Migration to the WebExtension to manifest v3 (MV3)
- 2.1.2. Modularization: MVC refactoring (JS library/module)
- 2.1.3. Android version: via a Kotlin wrapper with Geckoview
- 2.1.4. Finish the new source form: managing HTML and JSON source responses
- 2.1.5. New fetching cases: need-cookies and need-token sources
- 2.1.6. Qualification of approximate sources to 'one word' sources
- 2.2. From Nouvelle-Aquitaine support
- 2.3. Presence at the JdLL 2023
- 2.4. New intern
- 2.1. From NLnet support
- 3. Meta-Press.es needs user feedback
1. Summary of 2022
Let’s start with some statistics.
7 big versions (for 14 releases, including bug fix and source maintainance versions) of Meta-Press.es have been published in 2022 and 12 communications were pushed on this official website.
301 commits were made by 3 people (thank you : Baignoirphe and Matthieu Rakotojaona) using 14 merge-requests on Framagit. This represents roughly a third of the 1088 commits of the project so far. So it looks like 2022 was a good year for Meta-Press.es.
The last release is counting 675 sources and it’s roughly twice the number it was in late 2021.
The main new features of the year were :
-
the child mode to limit in one click the features of Meta-Press.es to child compatible sources
-
the user feedback button to report a problem with a source
-
the source creation form, to easily add a new source without any programmer knowledge (currently limited to RSS sources only, like most of the WordPress based sources)
-
Exports now possible in CSV format also
-
New source list and cherry-pick source selections
But big reworks and under-the-surface improvement were also performed :
-
the translations are now made via WebLate (new strings to come soon)
-
the general purpose news are now fetched from RSS feeds (instead of the source main web page) and is now displayed with illustrations when available in the feed
-
Meta-Press.es uses
Intl.DisplayNames
for the name of languages or countries andIntl.DateTimeFormat
for month numbers -
creation of a dedicated source testing page (testing all sources in one click)
-
some end-to-end (Selenium) testing to avoid regressions in releases (WIP)
2. 2023 roadmap
2.1. From NLnet support
Meta-Press.es secured a third round of support from the NGI0 initiative of the European Commission, via the NLnet.
This support is again of 20k€ and is agreed for the following targets.
2.1.1. Migration to the WebExtension to manifest v3 (MV3)
"manifest v3" is an evolution of how WebExtensions have to be architectured. It introduces new concepts and removing others. Some of them are core-concepts requiring special attention and potentially big efforts and refactoring to keep an existing WebExtension working. "MV3" was due on Chromium-based browser for January 2023 but might be delayed until June.
2.1.2. Modularization: MVC refactoring (JS library/module)
Meta-Press.es has grown from 1000 to 5000 lines of code and was made as a monolithic application. A model-view-controller refactoring would allow to distribute the core independently as a JavaScript library to help reuse of it in new contexts.
As a proof of concept of the MVC refactoring a NodeJS command line interface for Meta-Press.es core library will allow to perform searches without a web browser, directly from a terminal.
2.1.3. Android version: via a Kotlin wrapper with Geckoview
There are 1000x more users of Android world-wide than users of Firefox WebExtensions. Allowing Meta-Press.es distribution through Android apps channel must increase the user base. This 1st step will produce an empty shell to inject Meta-Press.es into Android.
Then Meta-Press.es will be ran with full feature set in the empty shell, and the resulting "app" will be registered for distribution to Android users via F-Droid.org and Google Play.
2.1.4. Finish the new source form: managing HTML and JSON source responses
Meta-Press.es is open to user contribution of sources since it’s version 1.0 but contributions was only achievable to computer-science enabled people. To open this up to more users a new approach have been put in place with a semi-automatic dynamic form to simplify the task as much as possible. A 1st version of this form has already been released but it was limited to sources providing results via an RSS feed (like WordPress does). This step will allow to handle the general case (HTML responses from sources) and also JSON responses.
2.1.5. New fetching cases: need-cookies and need-token sources
With GDPR enforcement a growing number of sources started to require cookies (or other tokens) to deliver results. This implies a preliminary request to fetch the token before sending the regular search. This target will add this possibility to Meta-Press.es via a new entry in the source-scraping definition API and its documentation.
2.1.6. Qualification of approximate sources to 'one word' sources
This is another modification of the source-scraping definition API to add a post-treatment for certain sources to handle a curation of their false positive results (for the sources exposing search-keywords in result excerpts).
2.2. From Nouvelle-Aquitaine support
The french administrative region Nouvelle Aquitaine also have a free software support program called NAOS (Nouvelle-Aquitaine Open Source).
After some long and complicated administrative work (over many years) a support of 49k€ have been granted to the company Acoeuro to work on Meta-Press.es.
This funding will allow to build a business around Meta-Press.es in order to achieve self sustainability of the project.
2.2.1. Vigipress.com
The economical activity will be bared by the coming Vigipress.com web platform, that will offer paid hosting of press-reviews (private or public) with a good integration between Meta-Press.es exports and Vigipress imports. This web platform will also provide a web version of Meta-Press.es (breaking out from WebExtension corner) and other valuable services like email notifications for new search results or customer-branded PDF exports of press-reviews…
This new platform will be hosted with the help of Globenet.org, a venerable old french web hosting association which already announced this partnership.
2.3. Presence at the JdLL 2023
I applied to hold 2 conferences during the next JdLL event, the 1st and 2nd of April 2023.
I’ll be pleased to present the following subjects.
2.3.1. European funding of free software : 3 years of support to Meta-Press.es
Discover how easy it can be to get supported via the NLnet (with comparison between NLnet and the french administration).
2.3.2. Web scrapping : lesson learnt after the integration of 675 sources in Meta-Press.es
It should have been 675 newspapers (I mean : similar to each others), it was an ode to human creativity…
It should have been simple, but the server is responding JSONP, the content-type is lying like a DrHouse patient, there is a redirection in the middle and the charset, guess what, it’s not UTF-8 … T_T
Best-of what humanity is really doing over the web in 64 countries and 71 languages !
2.4. New intern
Who would have bet on the fact that so many interns would have reach Pougne-Hérisson (a small countryside place of less than 300 inhabitants) to work on the state of the art of Google News decentralized alternative ?
Soon this spring Olivier VILLAVERDE will come by Meta-Press.es headquarters in Deux-Sèvres.
3. Meta-Press.es needs user feedback
Since merely one year that the source feedback button appeared in Meta-Press.es interface, no one ever tried to report anything. The only signal I got was me testing the feature (again and again) to be sure that it works.
As you can see the Meta-Press.es project is going very well, but I would mitigate this observation as the current main weakness is lacking users. Despite more than one download a day, the user statistics from Mozilla remain at near to 700 users on the good days since two years.
So we’re loosing a lot of users after their download, they try the tool but don’t keep it.
If you ever tried Meta-Press.es but got disappointed by something please send me an email to detail what was not at the level of your expectations (and might be improved).
The address is : contact@ <project-name>