Mobile app functionality improvements

I've recently been making my own little analysis of the mobile application compared to some of its direct contemporaries to see what areas would be particularly good to make the app feel more usable as a full mobile counterpart rather than the slightly limited use it currently has. I personally use it constantly but mostly as a reader with editing only really done in desperation which then requires touchup later on an actual desktop.

This is going to sound like unfair criticism from somebody who wants the world without considering the cost but the reality is that for me, the basic functionality is there and it does 95% of what I want. This is mostly either icing on the cake or comments from other people as criticism of it seems to be pretty common.

I know that some of these are well documented in various places but the idea was somewhat to combine things as a bit of a summary.
Also please let me know if there is existing functionality for any of the cases here that I've simply missed.

Core Functionality

  • The editor
    • Probably still my largest problem with the mobile version. The beta editor is much better with the hybrid markdown view but it just isn't particularly easy to write markdown without the use of 3rd party keyboards or lots of keyboard configuration. A markdown toolbar would go a long way in making life a lot better here.
    • Personally I would like the option to be able to have options by the way of additional (coloured) syntax highlighting as currently formatting markdown can be a bit hit and miss when the keyboard keeps making 'useful' autocorrections which can lead to tags that look correct but don't get recognised when converted to html
  • Plugin support
    • One problem is that the more notes one writes on desktop using syntax or a style that is needed for specific plugins on the desktop application can lead to notes being a bit of a mess when viewing on mobile. I know there are a lot more challenges surrounding this both technically and logistically that aren't immediately simple to solve.
  • WYSIWYG editor
    • Not something I personally use but I know a lot of people do use this editor on desktop and simply don't want to use Markdown. Obviously a toolbar would be a requirement for this.
  • Commands + goto anything
    • I understand that technically a lot of the functionality of Joplin is present within the mobile app but it just isn't possible to access it, it would be really nice to have access to the command palette (along with the related goto anything).

Usability tweaks and QoL changes

  • Increased gesture support
    • Would be nice to include some of the more well known gestures and functionality that goes with them, things like:
      • Swipe from left to bring up Notebook sidebar (on modern devices that burger menu is a long way away when using one hand)
      • Swipe from right to access note properties or open tags
      • (Android) Double-tap->swipe zoom as well as pinch
      • Swipe down to start sync
  • Initial screen
    • Would be nice to choose an option of picking a default notebook, showing the last opened notebook (as it currently does) or showing the notebooks on startup
  • Notebook list
    • Option to collapse or expand all - particularly useful when one has lots of notebooks but screen space is limited
    • Allow full notebook manipulation
  • Notelist
    • Have the ability to expand each item to show a small section of the note body - something which has also been requested a few times on Desktop - but here makes it much easier to distinguish between notes with similar or identical titles without having to keep opening each one in turn
  • Notes
    • Option to select whether notes should open in preview or editor mode first
  • Import/Export
    • It would be nice to be able to import or export markdown when on mobile. Not as a replacement for syncing but sometimes one might simply not have access to Joplin Desktop for a while but still might want to be able to import markdown notes created on another computer or sent as a download without doing a (potentially error prone) copy + paste. Likewise it would be nice to export so that certain notes can be shared (I'm aware that the standard share option is a thing but it really is dependant on what you have installed rather than simply saving the file locally and doesnt (seem to) support multiple notes or notebooks.)
    • Somewhat related to this would be when creating a new note, either by long pressing the app icon or sharing to Joplin (for example selecting multiple images to import as a new note) it would be useful to select the notebook first rather than them just going straight to the last open notebook or at least mark a default notebook (or both)
  • Allow "force sync" related tasks
    • A few times people have managed to get stuck with the only copy of their data on mobile and no obvious way to sync without activating the failsafe. The desktop commands Re-upload local data to sync target and Delete local data and re-download from sync target would likely help with these issues.

Dreaming of the future

  • Mobile 'desktop' support
    • With the popularity of larger formfactor mobile devices such as iPad Pros, Windows Surface and Chromebooks it would be really nice to have an application that fits somewhere between the keyboard + mouse focused desktop application and the more limited touch focused mobile application.
    • There are some devices that support an android "desktop mode" (e.g. Samsung Dex) but there are also rumours this will be supported natively in Android 12 where the more "phone" style UI would again be somewhat limiting given the potential.
    • The ability to run android apps on ChromeOS means it would be a benefit there too
  • Welcome screen/Landing page
    • Somewhat related to the idea of the welcome screen idea but also taking some inspiration from the Evernote "homescreen" approach where it might be nice to have a common landing page that could list only selected (or recent) notebooks, list upcoming todos or have a "quick note" section where you can just start writing and worry about where to put the file later. All of these are designed to reduce the potential number of screen taps for your most common actions.
  • Custom mobile theming support
    • Really more related to having a more consistent desktop theming approach which could be extended out to mobile (e.g. the theme consists of simple tweaks to existing and well defined components which can easily be applied to all systems)
12 Likes

Thanks for the detailed list improvements, we certainly need something like this. So far relatively high on my todo list I have this:

- [ ] Updating mobile app UI
- [ ] Improving mobile app editor

The first one is mostly to do justice to the work that goes into the mobile app on each release. Because of the outdated UI it's perceived as pretty much abandonware from what I read around but of course it's not true. A lot of work goes into it and it's frequently updated with bug fixes and new features, also perhaps some of them aren't very visible. So refreshing the UI would make the app more appealing (and give a better first impression for new users).

Improving the mobile editor is also high priority. For a long time we were stuck with the buggy React Native text editor, but now that Code Mirror 6 works well we can start making improvements, including adding a toolbar.

Plugin support

In theory it can be done since the plugin engine is cross platform, but in practice I'm not sure it will happen because supporting all the plugin views for example would require developing some kind of window manager, and that's probably more work than we have resources for. Developing the mobile plugin runtime itself is tricky but not impossible, it's mostly all the UI stuff around it that would be hard.

Import/Export

The way to do that in mobile is via sharing, so I guess it would be about having multiple options like "Share as PDF", "Share as HTML", etc?

Custom mobile theming support

The mobile app already supports the desktop app themes, or do you mean CSS support?

8 Likes

My biggest gripe with mobile version was that it's very slow. I often want to write something down quickly and with Joplin it's painful at times.

Because of this (but mostly as a learning experience) I am writing a native Android client for Joplin. I just much prefer writing Java & Kotlin over Javascript/RN, plus those skills are much more relevant for my daily job.

5 Likes

You mean slow to start, or slow when writing the note? Because the beta editor should normally be faster, in particular for larger notes.

1 Like

Slow to start. Strangely, I have never been able to see that lag that apparently everyone else is seeing.
Well, I saw it when I literally pasted an entire book (in plain text) into a note but that's not what people were complaining about.

1 Like

In the short term do you reckon it might be possible for a plugin to be marked as 'desktop only' or 'supported on mobile' for plugins that, for example, can alter the rendered output but not require changes to the application layout etc.
I'm mostly thinking stuff like rich markdown, ABC music, codemirror folding, various table formatting plugins, backlinks - stuff where the effect is in editor or in preview only.

I think this would be useful but also would be nice to be able to select entire notebooks to "share" in that sense as well as individual notes.

Yes and no, I was thinking more long term in that if a more unified design system/language can be made for Joplin as a whole where it is far easier to have entire components that are shared between all the applications then a far simpler (for users/creators) theming system can be made for which themes built upon it could then be distributed in much the same way as plugins are, including on mobile.

3 Likes

Great suggestions each and every one! The tiny font size of rendered markdown is getting more and more of a problem the bigger the size of the mobile device is (probably easier to fix than the mouse/touch issues mentioned above).
It would be really great (no matter the size of the screen) if Joplin could react to Apple's dynamic text settings or the system-wide font size settings in Android respectively. The markdown editor does actually - that's why I sometime use it for viewing purposes when rendered markdown is too small for my taste (on an iPad for example). Scrolling in edit mode with the keyboard on the screen is no great fun though...
Thankfully I've had no experience with lagging while editing on iOS/iPad OS so far.

3 Likes

Having the app better handle large screens (better responsive design) and devices with mouse support would be awesome. I use it on my Chromebook sometimes and it is super clunky because it's basically the mobile version but stretched out to a ridiculous width.

2 Likes

:star_struck:

Same thoughts. I'm having Galaxy Tab S7+ and it's a waste for not utilizing such big screen asset.

Another suggestion is to have passcode lock for information sensitive notes/categories on Android. That's gonna extremely helpful.

1 Like

I have a feature request regarding the iOS app, I hope this is the right place. When attaching a pdf, you can click on it and it opens using the native iOS pdf reader that also opens for example in the „files“ app. That pdf reader has the function to annotate. The problem is, that annotation does not save to the Joplin file. Pressing save after annotating only lets me store the pdf as a new one, instead of „syncing back“ if that makes sense. So it would be lovely if there would be a way to annotate pdfs in the app, it seems just a step away!

2 Likes

Really? On my Pixel 5 the app is super fast, both to start and to use. But I don't have many notes, just a few hundreds and almost exclusively text.

In my experience, the most annoying aspect of the app is that I'm always worried that the note I'm editing will generate a conflict. This is because of a mix of reasons (many of them have been discussed here and on GitHub):

  • slow synchronization, so I might start editing the note before the synchronization was finished
  • not fully reliable synchronization. This is the main issue: sometimes Joplin mobile just refuses to synchronize and just seems to go in a loop (yes, I should report a bug for this)
  • lack of UI that clearly shows if the synchronization is happening and was successful without manually opening the side bar
  • no option to always sync a note immediately after editing (on desktop and on mobile), so it might be that I suspended my laptop before the 5-min synchronization was triggered, and so the note I'm editing on mobile is not up to date
  • no background sync, which imo would solve 95% of the conflicts

These points show that there are several possible tweaks to at least improve the issue, which at the moment is a bit frustrating because I feel I cannot fully trust the mobile app.

Here are two more issues that concerns the beta editor (which is awesome btw :heart:):

  1. Using the Nord theme, the cursor is very hard to see.
  2. For some reason, Gboard shows typing suggestions (e.g. for misspelled words) but those are not replaced by default when I touch the space bar (unlike in most apps to write text and send messages). Basically it seems to use the same mode that is used in browsers when typing in the URL bar. Is this the intended behavior or should I file a bug?
1 Like
  • I think Search/Find in the mobile app is one of the weakest points. The main search bar doesn't do iterative search. And more importantly, searching inside a note? I may be missing something, but I can't find a way to do this at all.

  • Adding a new note is a bit of a pain. If I'm already inside the app, clicking "plus" button pops a selection of New Note vs New TODO. This is an interruption- instead how about just open the text editor so I can jot down the idea that popped into my head, with a default of NOTE, and an option to change it to a TODO if desired.

If I'm outside of the app, a one-click icon that starts a new note in a default folder would be great, but I understand that's difficult due to cross platform.

1 Like

Long press on the app icon, select "New note"

Cool thanks! didn't know about that. So it's only a matter of placing this new note in a default notebook instead of the last-viewed notebook. We can change the notebook from the note page - but first we got to remember to do that or we'll never find the new note, and second - the UI for selecting a notebook is too difficult to be used often, with scrolling through a list of all of them.

This is similar to something I identified for when creating a new note from the share menu (like sharing an image to Joplin) although I hadn't considered a default as an option so I'll add it to the text.

Issues with Joplin mobile app:

  1. Recently, I am persistently noticing that when I edit a note, the first time after the app is opened, there's a white screen, and I have to go back to the note preview and then re-enter edit mode to see the text. I'm opted into the editor beta, and this is Joplin 2.6.8.

  2. I would really like an undo buffer and undo button - it is too easy to accidentally select and overwrite text you didn't mean to on mobile, and then it's gone because you can't cancel the note editing process. I even tried closing the app without saving and reopening, but it saved - which is great for correct changes, but not for mistakes. Even if you could cancel editing, you may not want to cancel everything you added or changed, just the last action or two. Note revisions aren't visible on the mobile app, and anyway recent changes before the mistake may not have synced. An undo (and redo) buffer would be ideal.

  3. From the note list, I'd really like swipe towards the right to open the notebooks menu. I feel this would be intuitive and do this multiple times before I then go to click the hamburger menu, perhaps because I use many other apps that have this functionality, e.g. discord. (I see this is listed also in the original post of this thread.)

  1. I had the same issue, but I turned off the editor beta and left it off for some time. When I switched back the issue was gone and I can't reproduce it anymore.

  2. This is an issue with the editor beta, when using the normal editor there is an undo button at the top of the screen, and the redo button will appear after using the undo. It appears that this function is broken with the beta editor.

I do see this pretty frequently but I simply haven't been able to work out repeatable replication steps - it just... happens... sometimes

1 Like

Ah, good to know both of these, thanks!