Aller au contenu principal

· 2 minutes de lecture

Joplin is partnering with a French government institution to bring you innovative new features! We will work on accessibility, voice typing, HTR and add Rocketbook integration. Today we'll present the planned HTR integration:

Currently, Joplin’s OCR (Optical Character Recognition) feature is designed to recognise printed text, which works great for scanning documents with standard fonts. However, we’re looking to expand this functionality to support handwritten text recognition (HTR), which would be beneficial to handle scanned, handwritten documents, as well as for the upcoming Rocketbook integration.

Handwritten text recognition is complex task, requiring significant processing power and large machine learning models. Because of this, we plan to implement HTR via a server, possibly integrated with Joplin Cloud or Joplin Server. The beauty of this approach is that handwritten text recognition is a rapidly evolving field, so we can continuously improve the server-side model. This means that every Joplin app can benefit from these updates without needing to redeploy or update the app itself.

For the Rocketbook integration, this integration will make a significant difference. Right now, your handwritten documents would be scanned as images, but with HTR, Joplin will be able to recognise the actual text you’ve written. Not only will your handwritten notes become searchable, but you’ll also be able to copy and paste the text into other documents.

HTR illustration


Discuss on the forum

· 2 minutes de lecture

Joplin is partnering with a French government institution to bring you innovative new features! We will work on accessibility, voice typing, HTR and add Rocketbook integration. Today we'll present the planned Rocketbook integration:

Rocketbook is a popular brand of smart notebooks designed to make note-taking more efficient and sustainable. These notebooks feature special erasable pages that you can write on with specific pens and then wipe clean with a damp cloth. What makes Rocketbook even more appealing is its ability to scan and upload your notes to cloud services for easy storage and sharing.

We plan to create an integration between Rocketbook and Joplin, designed to make the note-taking process even smoother. While Rocketbook typically works through its own official app, we plan to integrate it directly into Joplin without relying on third-party apps or APIs. This means that you can enjoy the benefits of Rocketbook’s smart features while using Joplin as your primary note-taking platform.

The great thing about this integration is that it’s not limited to just Rocketbook. As long as the smart notebook uses QR codes to identify pages, the same functionality will work. This means you can use Joplin with a wide variety of smart notebooks, making it a versatile tool for all your note-taking needs.

With this integration, we’re making it easier than ever to combine the power of smart notebooks with the flexibility of Joplin’s open-source platform. Whether you're using Rocketbook or another smart notebook, Joplin will be ready to help you organise and access your notes in the cloud!

Rocketbook notebook


Discuss on the forum

· 2 minutes de lecture

We're always looking for ways to make Joplin better for everyone, and one of the key steps in improving accessibility is implementing the Web Content Accessibility Guidelines (WCAG 2). These guidelines help ensure that our app is usable for all users, including those with disabilities, while also enhancing the overall user experience for everyone.

To get started with WCAG 2 support, we’ll run an accessibility audit with a tool such as Web Accessibility Evaluation Tools (WAVE). This will help us spot any accessibility issues in the app that we need to address.

Once the audit is complete, we'll take action on the issues we find. Here's a look at some of the things we'll focus on:

  • Making content easier to perceive: We’ll make sure there are text alternatives for non-text content, provide captions for multimedia, and check that colour contrast is strong enough for easy reading.
  • Improving operability: Every feature will be accessible through the keyboard, ensuring that users who can't rely on a mouse can still navigate easily.
  • Enhancing comprehension: We’ll ensure that the text is readable, the layout is predictable, and input assistance is available for those who need it.

We’ll also use ARIA standards and test for compatibility with assistive technologies to make sure everything works well with tools like screen readers.

To ensure we're on the right track, we’ll invite users with disabilities to test the app and help us identify any remaining barriers. Accessibility is something we’ll keep working on, so we'll continue testing, refining, and making improvements to ensure Joplin stays accessible to everyone. It’s a journey, and we’re committed to making the experience better for all our users.

WCAG 2 logo


Discuss on the forum

· 2 minutes de lecture

Joplin is partnering with a French government institution to bring you innovative new features! We will work on accessibility, voice typing, HTR and add Rocketbook integration. Today we'll present the planned improvements to voice typing:

Right now, voice input works pretty well, but there’s one thing that still needs improvement: punctuation. Our current system is accurate, but it doesn’t pick up on things like commas or periods, which can make spoken text harder to understand. That’s why we’re looking into other voice recognition engines that can handle punctuation better while keeping the accuracy we need.

Improving voice input like this isn’t just about convenience – it’s about making our app more accessible to everyone. For people with visual impairments, being able to use voice input means they don’t have to rely on typing. Those with motor difficulties can control the app without needing to use their hands. And for users with dyslexia or other learning challenges, voice input can be much easier and more natural than typing out words.

We’re excited to experiment with this new feature, knowing it could make a real difference for people who rely on voice technology to get things done.


Discuss on the forum

· 5 minutes de lecture

Desktop application

Trash folder

Joplin now support a trash folder - any deleted notes or notebooks will be moved to that folder. You can also choose to have these notes permanently deleted after a number of days.

Support for the trash folder has a somewhat long history in Joplin since it's an obvious and important feature to add, yet it can be particularly tricky once you start realising how many parts of the app it's going to impact.

Many attempts have been made over time: my first attempt was based on the note history feature. Indeed since this feature already saves versions of notes, it seems to make sense to use it for the trash feature, and indeed the note history feature was designed for this originally. However that approach turned to be needlessly complicated and after modifying hundreds of files just for this, the idea was dropped.

The next one was based on using a special "trash" tag - deleted notes would have this tag attached to them and would appear in a special "trash" folder. This approach also had many issues probably the main one being that notebooks can't be tagged, which means we would have to add support for tagged notebooks and that in itself would also be a massive change.

Various, ideas, were also attempted using plugins, by creating a special "trash folder", but in the end no such plugin was ever created, probably due to limitations of the plugin API.

In the end, turned out that this old idea of adding a "deleted" property to each note and notebook was the easiest approach. With this it was simpler to get to a working solution relatively quickly, and then it was a matter of ensuring that deleted notes don't appear where they shouldn't, such as search results, etc.

Joplin Cloud multi-factor authentication

Multi-factor authentication (MFA), also known as two-factor authentication (2FA) is a security process that requires you to provide two or more verification factors to gain access to a system or account. It typically includes something you know (password), something you have (security token), and something you are (biometric verification).

To better secure your account, Joplin Cloud and all Joplin applications now support MFA. To enable it, go to your Joplin Cloud profile, click on "Enable multi-factor authentication" and follow the instructions. Please note that all your applications will then be disconnected, so you will need to login again (your data of course will remain on the app so you won't have to download it again).

Note list with multiple columns

In this release we add support for multiple columns in the note list. You can display various properties of the notes, as well as sort the notes by these properties. As usual this feature can be controlled and customised by plugins so for example it should be possible to display custom columns, and display custom information including thumbnails.

Plugin API enhancement

The plugin API has received several updates to facilitate easy customisation of the app As mentioned above, it is now possible to customise the new note list. Besides this, we've added support for loading PDFs and creating images from them, which can for example be used to create thumbnails.

Many other small enhancements have been made to the plugin API to help you tailor the app to your needs!

View OCR data

Now when you right-click on an image or PDF you have an option to view the OCR (Optical character recognition) data associated with it. That will allow you for example to easily copy and paste the text.

Plugin support on mobile

As always, most of the above changes also apply to mobile (iOS and Android), for example the trash folder and MFA support.

Additionally the mobile application now adds support for plugins. To enable the feature, go to the settings then to the "Plugins" section. The feature is currently in Beta, in particular it means that some plugins do not work or only partially work. Normally the app should not offer you to install a non-working plugin but that may still happen. In general if you notice any issue with this beta feature please let me us know as we're keen to improve it.

Support for cross-platform plugins in Joplin is great news as it means a lot of new features become available on mobile. As of now, we have checked the following plugins and can confirm that they work on mobile:

Those are just some examples - many more are working!

Full changelogs

This is just an overview of the main features. The full changelogs are available there:


Discuss on the forum

· 5 minutes de lecture

OCR

Optical Character Recognition (OCR) in Joplin enables the transformation of text-containing images into machine-readable text formats. From this version you can enable OCR in the Configuration screen under the "General" section. Once activated, Joplin scans images and PDFs, extracting text data for searchability.

While OCR search is available on both desktop and mobile apps, document scanning is limited to the desktop due to resource demands. For more information head to the OCR official documentation!

Bundled plugins

Joplin will now bundle high quality plugins that we feel will benefit most users. With this version we include the great Backup plugin by JackGruber. This will provide another layer of safety when using Joplin as by default it will automatically backup your notes in a "JoplinBackup" folder in your home directory.

Note that, just like any other plugin, you can change the plugin configuration or even disable it from the settings.

ENEX importer

As usual in recent version, there are plenty of improvements to the Joplin ENEX importer. Besides the various fixes and enhancement to support this format, we've added a few useful features:

Evernote Export files do not include the necessary information to reliably restore the links between notes, so for a long time this feature was not supported by the importer.

Now however Joplin will try to guess what note is linked to what other note based on the note title, which in many cases will give the expected result. But not always - when that happens, and Joplin cannot detect the link target, the application leaves the original Evernote link. That way you can manually restore it yourself or at least find back what the note was linked to.

Import a directory of ENEX files

It is notoriously difficult to export data from Evernote because, among other issues, you can only export one notebook at a time, which is an obvious problems when you have dozens of notebooks. Unfortunately we cannot improve this part of the process since this up to Evernote, however we now make it easier to import all these notebook files by adding support for importing a folder of ENEX files. To use this feature, go to File > Import, and select one of the "ENEX (Directory)" options.

This will process all the ENEX files in that directory and create a notebook in Joplin for each of them.

Beta Markdown editor

This version features further improvements to the new Markdown editor based on CodeMirror 6. The goal eventually is to be able to use the same editor on both the desktop and mobile application (which already uses CodeMirror 6), which will allow a more consistent user experience across devices.

Plugin support has also been improved in this version - plugin authors can now write native CodeMirror 6 extensions using the plugin API. For more information check the documentation on how to create a Markdown plugin!

Another benefit of this new editor is that, in a future version, it will allow us to support plugins on the mobile application since a plugin written for the desktop app will work on mobile too. There are several other advantages that Henry listed in this forum post.

Rich text editor improvements

We continue making improvements to the Rich Text Editor (RTE) in particular to improve interoperability with other applications, such as LibreOffice, Office or web browsers, as well as better handling of copy and paste.

Another notable addition is support for setting colours, which was a frequently asked feature. To use the feature, select it from the "..." button in the toolbar. Note that once applied the colours will work in the Markdown editor too!

See below for the full list of RTE changes:

  • Fixed: Rich text editor: Fix context menu not shown in some cases
  • Improved: Speed up pasting text and images in Rich Text Editor
  • Fixed: Fix drag-and-drop of images and text in the rich text editor
  • Fixed: Fix images with SVG data URLs corrupted in the rich text editor
  • Fixed: Pasting rich text in the RTE sometimes result in invalid markup
  • Fixed: Rich text editor: Fix newline behavior in new notes
  • Improved: Add support for changing text colors in rich text editor
  • Fixed: Fix HTML resource links lost when editing notes in the rich text editor
  • Fixed: Fix code blocks with blank lines break tables in the rich text editor
  • Fixed: Copied and pasted text from Firefox to RTE does not include images
  • Fixed: Pasting rich text in the RTE sometimes result in invalid markup
  • Fixed: Fixed copying and pasting an image from Chrome in RTE

Full changelog

This is just an overview of the main features. The full changelog is available there:


Discuss on the forum

· 2 minutes de lecture

The plugin manifest now supports new properties to better describe and present your plugins on Joplin Plugins website. Those are the icons, categories, screenshots and promo_tile properties.

Icon

This is the icon that will be used in various plugin pages, including in your main plugin page. It will be shown on the main result page too. If not provided, a default icon will be displayed instead.

Category

You can supply one or more category for your plugin - it will be used to filter the plugins on the website.

Screenshots

Again you can provide one or more screenshots to present your plugin on the website.

An example of plugin with icon, category and screenshot

Promo tile

The promo tile is an optional image that is used to display your plugin on the main website page. If no promo tile is supplied, the icon will be used instead.

An example of promo tile

More information

For more information on how to set this plugin metadata, please check the Plugin Manifest documentation


Discuss on the forum

· Une minute de lecture

The next version of Joplin Cloud (and Joplin Server) will include a change that will make synchronisation, in particular when synchronising a new device for the first time, significantly faster. This is achieved by bundling more data with the calls that retrieve notes and other data, thus reducing the number of unnecessary requests.

This change will be applied soon to Joplin Cloud (and Server), and the Joplin mobile, desktop and CLI applications will be able to use it from version 2.14.

In my tests with about 26,000 items, synchronisation was more than twice as fast on Joplin Cloud (22.5 minutes vs 9.5 minutes):

Before

Created local items: 21814. Fetched items: 26591/26591. Completed: 23/12/2023 10:38 (1346s)

real 22m35.810s
user 3m19.182s
sys 1m24.207s

Optimised

Created local items: 21822. Fetched items: 26600/26600. Completed: 23/12/2023 11:48 (571s)

real 9m38.932s
user 1m10.119s
sys 0m38.013s


Discuss on the forum

· 4 minutes de lecture

Desktop

Rich Text Editor improvements

In this update, significant enhancements have been implemented in the Rich Text Editor to enhance user experience. One notable improvement is the ability to seamlessly embed various content within tables, including lists and other tables, which was a frequently requested feature:

The interoperability with other text editors such as Word and Excel has also been improved, in particular when copying and pasting content between these tools and Joplin.

Improved ENEX import

The Evernote Export format, known as ENEX, has always been challenging to support. This is because Evernote frequently changes it, breaking importers, and may also occasionally introduce bugs. At times, their own application struggles to import back files that it has exported, highlighting the volatility of the ENEX format.

After undergoing continuous improvements for seven years, the importer has achieved a relatively stable state. The majority of issues encountered now stem from invalid files generated by Evernote, a result of bugs introduced in recent versions. Despite these challenges, we strive to enhance the import process by employing various heuristics to process the invalid data as effectively as possible.

The list of bug fixes is below:

  • Apply correct size to images imported from ENEX files
  • ENEX files that contain resources with invalid mime types are imported correctly
  • Ensure that ENEX resources with invalid filenames are imported correctly
  • Prevent application from being stuck when importing an invalid ENEX file

New plugins APIs

Note list

We are continuously improving the plugin API to make it as easy as possible to customize the application.

One of the main addition is support note list plugins - it allows any plugins to customise what the list should display each note.

See the Joplin Plugin Note List API and the Note List Demo for more information.

The demo includes three examples of note lists: a fundamental "top to bottom" version, a sophisticated "left to right" variant that additionally displays a note thumbnail, and a demonstration of an interactive note list, allowing direct modification of the note title from the list.

This API was developed based on the feedback we got and we hope it will be useful. We remain open to further input from users and plugin developers regarding any potential missing features and areas for improvement!

Imaging API

The imaging API was created to allow plugin developers to easily load and manipulate images. For now it is possible to load PNG and JPG files, and to resize and crop them.

https://joplinapp.org/api/references/plugin_api/classes/joplinimaging.html

And more

A few more APIs have been added such as one to open dialog to select a file or folder and a way to access the plugin settings from a renderer script.

New beta Markdown editor

This version also features a new Markdown editor based on CodeMirror 6. This change means that we'll be able to use the same editor on both the desktop and mobile application (which already uses CodeMirror 6), which will allow a more consistent user experience across devices.

Another benefit is that, in a future version, it will allow us to support plugins on the mobile application. There are several other advantages that Henry listed in this forum post.

Mobile

Drawing option

In this new version, Henry integrated the js-draw editor to the mobile app. Js-draw is a powerful freehand drawing library which allows you to draw using a pen, touch screen or mouse.

The editor is integrated to the mobile application. On desktop application, you can use the same library and edit your drawings using the Freehand Drawing plugin. We will make this plugin available by default in a future desktop release.

Setting screen

The mobile version also features a redesigned configuration screen. It is now divided into multiple sections with clear titles, and you can also search for settings using the built-in search option.

Full changelog

This is just an overview of the main features. The full changelog is available there:


Discuss on the forum

· 2 minutes de lecture

The majority of Joplin's development is carried out in the public domain. This includes the discussion of issues on GitHub, as well as the submission of pull requests and related discussions. The transparency of these processes allows for collaborative problem-solving and shared insights.

However, there is one aspect that operates behind closed doors, and for good reason: addressing cybersecurity vulnerabilities. It is imperative that these issues remain undisclosed until they have been resolved. Once a solution is implemented, it is usually accompanied by discreet commits and a message in the changelog to signify the progress made.

Typically, the process begins with an email from a security researcher. They provide valuable insights, such as a specially crafted note that triggers a bug, or an API call, along with an explanation of how the application's security can be circumvented. We examine the vulnerability, create a fix, and create automated test units to prevent any accidental reintroduction of the vulnerability in future code updates. An example of such a commit is: 9e90d9016daf79b5414646a93fd369aedb035071

We then share our fix with the researcher for validation. Additionally, we often apply the fix to previous versions of Joplin, depending on the severity of the vulnerability.

The contribution of security researchers in this regard is immeasurable. They employ their ingenuity to identify inventive methods of bypassing existing security measures and often discover subtle flaws in the code that might otherwise go unnoticed.

We would like to express our sincere gratitude to the security researchers who have assisted us throughout the years in identifying and rectifying security vulnerabilities!


Discuss on the forum