Feature request (various things)

Pleco is fantastic but I would love it to also have those two features:
1/ A 'Use All' for the 'Ambiguous entries' option when importing cards. It would import all the entries for a character.
2/ 'Chars + Tones' in the 'Show' option for tests. It would color the characters and/or show the tone numbers.
Thanks!
 

mikelove

皇帝
Staff member
1) That's already been added for 4.0, the current database format doesn't support linking a card to more than one dictionary entry at a time but the new one does.

2) Makes sense, thanks.
 
It´d be awesome if we could have keyboard shortcuts for the several buttons (choices in multipla-choice tests, next card, etc.). This way would be easier using BT keyboard or pleco in android emulators for windows
Thx
 
My shufa teacher took a look at Pleco in class the other day as we were studying cursive and semi-cursive character forms. His first comment was "Why don't they use really good character models from the best calligraphers?"
I know that the vast majority of users access Pleco for definitions and contexts in language use, but as I thought more about this I thought it would be good to ask you. The cursive and semi-cursive forms given for characters (under "Alternate Fonts") seem rudimentary and rather hastily drawn. Would you ever consider supplying better models in future Pleco?
 

mikelove

皇帝
Staff member
Possibly, but I don't know if there'd be enough money there - we haven't really made much money even on the current alternate fonts feature, and we'd need to make considerably more to pay for a bunch of high-quality calligraphy work.
 
To me, the next two giant steps would be:
  1. Extend the search in a databasey / filtery kind of way. For example: Search some term, then search for something within these search results only. More regular expressions. This is partly covered by the "Full-text filtering" (search_term#filter_term) search type, but not completely (I think). For instance, if I want to search for 能 and only list those entries containing 不, I’d type 能#不, but that shows all entries 能 and 不 as search results (as if I had searched for 能 and 不 separately). It would also be useful to provide a possibility to only search within definitions OR examples within search results.
  2. Make Pleco available for x64 platforms. While it is super useful as it is, it would gain incredibly as a professional tool for translators if it were available for desktops, because if you use it professionally, you don’t want to switch between phone and computer all the time, and you want to be able to look things up quickly, efficiently and without having to fumble around with a little touch screen and on-screen keyboard. Smartphones are just not professional in that context, 而已. (It is still possible to "cheat" your way around by using e.g. Arc Welder, but this is buggy on some systems and hogs a lot of CPU performance.)
A few more ideas, less important, but still nice to have:
  1. A way to completely disable all sound / playback in Pleco. Previously, it was possible to separately uninstall all audio files, and in combination with unsetting the tts-engines, this would work, but not anymore. Or just give an option to remove all audio buttons.
  2. For those who use flashcards a lot: an automated, encrypted online backup of the flashcard database on your servers. I’m not familiar with your formats, but that shouldn’t take too much bandwith nor storage (compared to dictionary downloads). This could also be extended to backup settings.
  3. Some way to help with subtitles in videos or lyrics (is that already possible using the floating on-screen thingy in Android?)
  4. For beginners: a game-based reader with different storylines depending on user decisions (rpg style). I’ve seen this implemented on a website once and thought it was a really good idea, but I can’t seem to find it or think of the name right now.
 
Last edited:
Extend the search in a databasey / filtery kind of way. For example: Search some term, then search for something within these search results only, or in the example sentences which belong to the search results only. More regular expressions. And provide good documentation for that.
I’m actually very happy with the way it works now. The “databasey” function would be neat, but the only way I can see it working is by adding an additional “clear search” button to for general search. More regex functionality would also be cool but I believe complex regexes are non-trivial to implement and can come with a significant computational overhead if the user isn’t careful.

Make Pleco available for x64 platforms.
Seconded, but I fear that probably also involves quite a bit of work to port. I seem to recall Mike stating somewhere that for this reason, he’s counting more on emulator support.

For those who use flashcards a lot: offer an automated, encrypted online backup of the flashcard database on your servers. I’m not familiar with your formats, but that shouldn’t take too much bandwith nor storage (compared to dictionary downloads). This could also be extended to backup settings.
I believe the problem here is less bandwidth or server space itself, but rather the issue of offering reliable access for users both in- and outside of the PRC Great Firewall. Since a lot of foreign hosting services seem to be blocked in China, I believe Pleco currently offers alternative downloads from a Chinese site. Which is fine for one-time downloads: If there are some shenanigans with hosting, Pleco can just find a different server and tell users to get their updates from there in the future. Worst case scenario is people not being able to download installers and dictionary files for a short while – which most (existing) users have to do only infrequently anyway. With flashcard hosting on the other hand the situation is different because suddenly users have to access the server on a very regular basis – probably multiple times a day if you want to keep other devices (say on your desktop computer) synchronised. If that server becomes inaccessible, we’re looking at a whole feature – which the user potentially paid money for – becoming unusable until Pleco can find a replacement. And then there’s the problem of synchronisation with non-Chinese servers as well, which I’m not entirely sure how problematic that would be (with a lot of bundled user data we could be looking at significant filesizes and in my experience data transfer between China and the outside world can be slow at times).

But maybe these problems can be circumvented by making it easier for the user to use their own cloud servers for synchronisation? Basically just an automated "export – synchronise with custom link – import" workflow? This way, Pleco would not be responsible for the servers and all the hassle that comes with them.
 
@Abun Thanks for your reply. Sorry, I have edited my post without having seen your answer first. You make valid points, though.

The regex functionality could be well documented and optional (an on/off switch in the settings?) to prevent users from being scared away.

Android emulators: I’m on Linux and I recently tried to run Pleco in Anbox to no avail (and it’s only distributed via Snap anyway, so if you don’t want to use that, bad luck). I haven’t tried GenyMotion, but I’d be surprised if it worked. Not sure about the emulator situation in Windows / MacOS, though.

The cloud-based database backup would just be useful (considering how I felt when I accidentally lost mine years ago. The GFW might pose a problem. Maybe in this case, China would 打開窗戶,讓新鮮空氣和蒼蠅一起進來 and whitelist the server, since it would be more fresh air than flies. ;)
 

mikelove

皇帝
Staff member
Extend the search in a databasey / filtery kind of way. For example: Search some term, then search for something within these search results only. More regular expressions. This is partly covered by the "Full-text filtering" (search_term#filter_term) search type, but not completely (I think). For instance, if I want to search for 能 and only list those entries containing 不, I’d type 能#不, but that shows all entries 能 and 不 as search results (as if I had searched for 能 and 不 separately). It would also be useful to provide a possibility to only search within definitions OR examples within search results.
We're actually just wrapping up that part of the redesign this week (we hope). Much more comprehensive filters are supported - you can certainly merge a headword search for 能 and a full-text search for 不, for example - and the existing systems are a lot more flexible (full text search for multiple words not as a phrase, e.g.). We've also sped up a lot of stuff, for example flashcard merging is now done via a very efficient hash table and so there's no longer a long wait if you want to have results in flashcards at the top of the list. (that also helps in other places, for example the importer now checks for dictionary merges / duplicate cards *before* it starts and gives you a list of them in advance so you can check / decide what to do with them all at once rather than waiting and getting prompted over and over again as it runs)

We've also added regex support, via ICU (which we hook into in all sorts of places), but regexes are currently only supported for filtering, not for search; scanning regex search is too slow, and fast indexed regexes are theoretically possible but take a ton of storage space for the index (basically you have to index not only every word but every n-gram within a word); plus, they require a custom regex engine, and we don't know of any of them that are open-source and written in a language that we can use offline on iOS. Maybe something we can consider someday if the other improvements in 4.0 expand our market / get more people interested in using Pleco as a general-purpose Giant Awesome Mobile Text Database, but not realistic in the near term.

Make Pleco available for x64 platforms. While it is super useful as it is, it would gain incredibly as a professional tool for translators if it were available for desktops, because if you use it professionally, you don’t want to switch between phone and computer all the time, and you want to be able to look things up quickly, efficiently and without having to fumble around with a little touch screen and on-screen keyboard. Smartphones are just not professional in that context, 而已. (It is still possible to "cheat" your way around by using e.g. Arc Welder, but this is buggy on some systems and hogs a lot of CPU performance.)
That should be possible on macOS as of this fall, thanks to Apple's "Project Marzipan", but we're not currently planning to port to PCs. However, if we see an explosion of new sales via that Mac app we certainly might reconsider that (perhaps with a Kickstarter to fund a large % of the development costs) - we're actually making a lot of progress towards reducing the amount of Pleco code that lives outside of our cross-platform C engine, for example we've turned the settings/configuration screen system into just a dumb wrapper that calls into C-land for all of its complicated processing (and thus could be ported to any new platform in just a few days). And we've switched to HTML internally for text display, so on a desktop where we're not concerned about performance or battery life we could simply dump that into a web view rather than having our own highly-optimized custom text field control.

A way to completely disable all sound / playback in Pleco. Previously, it was possible to separately uninstall all audio files, and in combination with unsetting the tts-engines, this would work, but not anymore. Or just give an option to remove all audio buttons.
There's a checkbox for that in Settings / Audio now ("Hide Headword Audio").

For those who use flashcards a lot: an automated, encrypted online backup of the flashcard database on your servers. I’m not familiar with your formats, but that shouldn’t take too much bandwith nor storage (compared to dictionary downloads). This could also be extended to backup settings.
Would take quite a bit, actually, particularly in 4.0. I don't currently think it would be realistic without some sort of subscription fee, and since all iOS and many Android users already have free automatic cloud backup via their OEM or Google, I'm not sure if there's enough of a market for it. (honestly, an OEM solution will almost always be more efficient than one private to a specific app, because it can back up everything at once to the same server and at a time when your device is plugged in / on WiFi / etc, and given Android's very aggressive recent moves to tamp down on background services I'm not sure how much longer it'll even be possible to do your own automated cloud backups; it's not possible on iOS now)

Automated *sync* would be more useful, and actually also take up less bandwidth, so that's more likely to happen at some point, but a lot more work to get there.

Some way to help with subtitles in videos or lyrics (is that already possible using the floating on-screen thingy in Android?)
Only possible if the video service you're streaming from doesn't block you from screen recording while you're using it (but most do). Just in general I'm a little reluctant to invest time into subtitles because the world is moving towards aggressively-DRMed streaming video services and we don't have a reliable way to extract them from those.

For beginners: a game-based reader with different storylines depending on user decisions (rpg style). I’ve seen this implemented on a website once and thought it was a really good idea, but I can’t seem to find it or think of the name right now.
That'd be fun, but it doesn't really need to live inside Pleco and I generally try to avoid getting distracted by projects like that :)

I believe the problem here is less bandwidth or server space itself, but rather the issue of offering reliable access for users both in- and outside of the PRC Great Firewall.
It prevents us from using a third party cloud storage service, certainly, but it's actually not that hard for little old Pleco to get a server working well inside of China; we'd just host it in Hong Kong, as we do with our file mirror now. We don't seem to be big or controversial enough to attract any GFW attention. As far as syncing between data centers, I don't think we'd bother - your account would live in one particular data center, if you ever wanted to move it you'd discontinue your account there and start one at a different data center and reupload your database to that; in this lovely modern world where everybody supports serverless computing, we could offer service in a bunch of data centers without stressing about unused capacity.
 
Android emulators: I’m on Linux and I recently tried to run Pleco in Anbox to no avail (and it’s only distributed via Snap anyway, so if you don’t want to use that, bad luck). I haven’t tried GenyMotion, but I’d be surprised if it worked.
As a fellow Linux user I hear you ;) But I can fully understand that from an economic point of view, we are not the most important of target groups. Tbh I haven’t experimented with emulators yet. So far the possible increase in convenience with Pleco (and that’s pretty much all I’d need it for) wasn’t worth the hassle for me. I hear it works ok in Windows-based emulators though, so maybe going Meta and using Wine is an option?

That should be possible on macOS as of this fall, thanks to Apple's "Project Marzipan", but we're not currently planning to port to PCs. However, if we see an explosion of new sales via that Mac app we certainly might reconsider that (perhaps with a Kickstarter to fund a large % of the development costs) - we're actually making a lot of progress towards reducing the amount of Pleco code that lives outside of our cross-platform C engine, for example we've turned the settings/configuration screen system into just a dumb wrapper that calls into C-land for all of its complicated processing (and thus could be ported to any new platform in just a few days). And we've switched to HTML internally for text display, so on a desktop where we're not concerned about performance or battery life we could simply dump that into a web view rather than having our own highly-optimized custom text field control.
Awesome, that sounds great! So let’s hope that the cliché of Mac users’ deep pockets is true then :D

I don't currently think it would be realistic without some sort of subscription fee, and since all iOS and many Android users already have free automatic cloud backup via their OEM or Google
Google is almost certainly blocked though, isn’t it? Or do they exempt certain services?

given Android's very aggressive recent moves to tamp down on background services I'm not sure how much longer it'll even be possible to do your own automated cloud backups; it's not possible on iOS now
Does it have to be a background service? Maybe syncing would only be started while the app is open, or even by explicitly tapping a button like in Anki (or would that still need a background service behind the scenes to keep the connection open in case the user closes the app before it’s done? I’m afraid I’m not all that familiar with how mobile OS’es work in the background).
 

mikelove

皇帝
Staff member
Google is almost certainly blocked though, isn’t it? Or do they exempt certain services?
It is, but I believe most of the Chinese OEMs offer their own backup services (with varying degrees of quality). And you're probably going to need either a non-Google Android fork or a VPN anyway to productively use an Android phone in China.

Does it have to be a background service? Maybe syncing would only be started while the app is open, or even by explicitly tapping a button like in Anki (or would that still need a background service behind the scenes to keep the connection open in case the user closes the app before it’s done? I’m afraid I’m not all that familiar with how mobile OS’es work in the background).
It would still need a background service to continue backing up while the app was in the background, yes. Until recently Google was fairly chill about this, but now they've gotten much stricter, and OEMs have gleefully stepped in to build upon Google's work with their own crappy half-backed 'battery saver' features that terminate things willy-nilly and are next to impossible to reliably shut off, so I don't believe it's feasible to build a background backup service in an Android app that would actually work well enough for people to rely on it; we could follow all of Google's background service guidelines perfectly and then some stupid new MIUI update would ship with a new battery saver feature that absolutely refused to let our backup agent keep running in the background no matter what we did.
 
Top