iPhone Feature Requests

Thanks for the quick responses, Mike!

I had missed the fact that the icon that looks like a little suitcase with an arrow in it opens up the pasteboard with whatever was selected... (I had previously been highlighting, copying the text, backing out of the document, manually selecting "pasteboard reader", getting the definition, backing out of that, going back into the document, manually find my place in the document, and continue reading... naturally I didn't get very far with this method...)

I'll have to say that reading a DOCX file in this method is not too bad, actually. Of course, it'd be easier to just tap a word and get a definition, but highlighting a selection and pressing a button is only a little bit longer... (Of course, with my fat fingers trying to work on an iPhone 4s screen, highlighting a word becomes a non-trivial challenge...)

Now the only thing I need is some ability to mark the last page that I had been reading, and I'm all set! :)


Actually, I've been playing around with the settings to figure out why the txt reader doesn't feel the same as reading a DOCX file... it's not a font question, since as far as I can tell iOS all renders them in the same font...

The first issue was the font size... the default on TXT file was a lot larger by default, which made it feel like I can only see a third or a quarter of a page (which really distracts me for some reason). There's a setting to change that, fair enough.
The second issue was the side margins... for some reason having blank space on the sides (which is technically taking up space which could show more characters) makes the text easier to read... Maybe it's psychological and makes me think it's more like an actual book... or maybe it's actually more soothing on the eyes... There's a setting for that too (seems like Pleco has a setting for nearly everything, if you know what to look for). This is just a toggle instead of an adjustable width, but that seems to be good enough for my liking.
So now the only real thing the TXT file can't do is formatting stuff... (even the simple stuff like page breaks or creating chapters...) This is more a limitation of the format itself instead of a Pleco problem.

Actually, about the only thing I'd want at this point (aside from the font options, of course) is some sort of "zoom" capability on TXT files. The ability to change the font size is nice, but sometimes I just want to quickly zoom in on a section to get a better look at the complicated characters... If we consider the font size plus margin sets the width of the pretend page, then a pinch-to-zoom wouldn't need to change that formatting but instead just change how much is displayed on the screen at one time (Like how pinch-to-zoom works in the PDF or DOCX reader)
 

mikelove

皇帝
Staff member
WangYuHong said:
I had missed the fact that the icon that looks like a little suitcase with an arrow in it opens up the pasteboard with whatever was selected... (I had previously been highlighting, copying the text, backing out of the document, manually selecting "pasteboard reader", getting the definition, backing out of that, going back into the document, manually find my place in the document, and continue reading... naturally I didn't get very far with this method...)

Ah, yes, that's an important step - otherwise it does indeed get to be a bit of a hassle. There's also a settings option to automatically trigger that button on the popup "Copy" command if you prefer not having to reach down to the bottom of the screen (mainly important on iPad).

WangYuHong said:
Now the only thing I need is some ability to mark the last page that I had been reading, and I'm all set! :)

Sadly not possible for DOC files since Apple gives us zero control over their rendering - their doc viewer is a black box as far as our app is concerned.

WangYuHong said:
The first issue was the font size... the default on TXT file was a lot larger by default, which made it feel like I can only see a third or a quarter of a page (which really distracts me for some reason). There's a setting to change that, fair enough.

Yeah, there's a tricky balance between making it easy to tap on characters and putting a decent amount of text on the page.

WangYuHong said:
The second issue was the side margins... for some reason having blank space on the sides (which is technically taking up space which could show more characters) makes the text easier to read... Maybe it's psychological and makes me think it's more like an actual book... or maybe it's actually more soothing on the eyes... There's a setting for that too (seems like Pleco has a setting for nearly everything, if you know what to look for). This is just a toggle instead of an adjustable width, but that seems to be good enough for my liking.

Indeed - that one we leave off by default since we figure we're already showing so little text due to the largish font size, but a lot of people seem to like the feel better with it on.

WangYuHong said:
So now the only real thing the TXT file can't do is formatting stuff... (even the simple stuff like page breaks or creating chapters...) This is more a limitation of the format itself instead of a Pleco problem.

Quite right, thankfully it's easy to address once we support EPUB. Which is really just a matter of extending our existing Web Reader system to support an extra catalog file that organizes and manages a bunch of little web pages - an EPUB is basically just a .zip archive with an HTML file for each book chapter, but we need to parse that catalog to know how the chapters are ordered. Though FWIW, if you simply change a non-DRMed EPUB file's extension to .zip, you can extract the individual HTML files inside of it and open them in Pleco.

WangYuHong said:
Actually, about the only thing I'd want at this point (aside from the font options, of course) is some sort of "zoom" capability on TXT files. The ability to change the font size is nice, but sometimes I just want to quickly zoom in on a section to get a better look at the complicated characters... If we consider the font size plus margin sets the width of the pretend page, then a pinch-to-zoom wouldn't need to change that formatting but instead just change how much is displayed on the screen at one time (Like how pinch-to-zoom works in the PDF or DOCX reader)

Certainly a possibility, but I'm a little hesitant to add that gesture because I keep thinking we may find some other thing we want to do on a two-finger tap in a reader file - start reading it out loud, e.g., or toggle between continuous and page scrolling. I don't know if zooming in the reader is likely to be widely-used enough to give it that very easy gesture, even though it's used for the same thing in a lot of other apps.
 

mikelove

皇帝
Staff member
pprendeville said:
Possible in future to filter dictionary results by noun, verb, adj etc?

Easy to code, but hard to come up with a good UI for - we really don't have a lot of room for more toolbar buttons, particularly not during dictionary searches.
 

doctorj

Member
Some features I would like to see: (I am not sure which of these have been suggested previously).

When looking up a word in the dictionary:
- Some indication of how common a character or word is used.
- An indicator to say if it is already in one of your flashcards lists (and preferably which category).
- An option to undo adding a flashcard (e.g. you clicked add by mistake, or you added it to the wrong category). The plus turning into a minus if the entry has been added to a flashcard set would work easily enough.

Finally, when searching it would be great to be able to limit a search according to part of speech or vocabularly type e.g. noun, or Medical.

Thanks
 

mikelove

皇帝
Staff member
Thanks!

doctorj said:
- Some indication of how common a character or word is used.

Already available for characters via the Character Info "Details" screen (tap on a character, tap on the 字 button, tap "Add New Field" and add frequency). For words, we have yet to find a list that we're confident enough to use for anything other than search result ordering (and we're not even all that confident in it for that) - it's really hard to get an accurate picture of which words are being commonly used in (for example) spoken Chinese, the language is evolving too rapidly, and the difficulties of text segmentation in written Chinese only make matters worse.

doctorj said:
- An indicator to say if it is already in one of your flashcards lists (and preferably which category).
- An option to undo adding a flashcard (e.g. you clicked add by mistake, or you added it to the wrong category). The plus turning into a minus if the entry has been added to a flashcard set would work easily enough.

These two are both coming in 2.3 - we've already added the necessary cross-platform code for them, just a matter of hooking them up to our new user interface.

doctorj said:
Finally, when searching it would be great to be able to limit a search according to part of speech or vocabularly type e.g. noun, or Medical.

That one was actually just mentioned in the previous post - not difficult to implement, but tricky to fit into our user interface without cluttering the already very cluttered search screen.
 
So, I finished my first book using only the Pleco Document Reader on my iPhone 4s.
The experience was a lot smoother than I expected.
I ended up just using the TXT file, since having a bookmark and being able to quickly open up to the place I left of turned out to be a lot more useful than the pretty formatting I made up in the PDF file... That, and looking up words became a lot easier (too easy, actually).

The only real gripe I have is that the screen is too small... Can't wait for the iPad 3 to come out so I can upgrade to a real book-sized screen! (Well, that's my excuse anyway for why I *need* to purchase an iPad...)


It got me thinking though, about setting up flashcards to review the new words I come across in the books...
(Maybe it's possible to do this already, I just haven't played with all the options yet)

I got in this nasty habit of looking up tons of words while reading... A lot I didn't know, some I knew the characters but not the new word, sometimes I'd know the characters and the word and just look at the pronunciation, and sometimes I knew everything already and just clicked on the word out of habit... Bad habit, I know...

Anyway, what I'm trying to figure out is if there's some way to add flashcards to a category by frequency?
The scenario I'm trying to capture is this:
1. I read a page (or chapter) of a book in the Document Reader
2. When I encounter a word, I click '+' to add it to the flashcard deck
3. Some words that I don't remember occur more frequently in the text (which means they're "more important" at least for that book), so I end up looking them up multiple times
4. At the end of the chapter, I'd like to go into the flashcard program, and tell it to let me review the top X most frequent words in the list (or export them to a new flashcard deck, or something). Kind of a guided way of studying the words... Since these would be new words that I haven't studied before, the actual score (or weight) isn't meaningful yet, and I want some way to focus on things so I don't overwhelm myself with a huge deck of cards all at once.
 

mikelove

皇帝
Staff member
WangYuHong said:
Anyway, what I'm trying to figure out is if there's some way to add flashcards to a category by frequency?
The scenario I'm trying to capture is this:
1. I read a page (or chapter) of a book in the Document Reader
2. When I encounter a word, I click '+' to add it to the flashcard deck
3. Some words that I don't remember occur more frequently in the text (which means they're "more important" at least for that book), so I end up looking them up multiple times
4. At the end of the chapter, I'd like to go into the flashcard program, and tell it to let me review the top X most frequent words in the list (or export them to a new flashcard deck, or something). Kind of a guided way of studying the words... Since these would be new words that I haven't studied before, the actual score (or weight) isn't meaningful yet, and I want some way to focus on things so I don't overwhelm myself with a huge deck of cards all at once.

That's something we've been thinking about - had a few other requests - but we're a bit uncertain how we'd do it. My inclination would be to keep some sort of "lookup count" in a flashcard which gets incremented any time you a) tap on the word on it in dictionary search results, b) stare at the result for it (on an iPad) for more than a second or two, or c) stare at the popup reader listing for it for more than a second or two (this to prevent you from incrementing a bunch of words you just happen to be scrolling past with the -> button). I'd rather not have it tied to + button presses since we're about to make the + button a flashcard status indicator and give it a helpful popup alert when you tap on it with a duplicate card (allowing you to delete it or edit it or update it to use the current dictionary entry). But I'm not sure yet how effective this viewing-based tracking would be as a way of coming up with good words to study - are the words you look up a lot really words you need to learn, or is the mere fact of you looking them up that many times going to teach them to you?
 
mikelove said:
That's something we've been thinking about - had a few other requests - but we're a bit uncertain how we'd do it. My inclination would be to keep some sort of "lookup count" in a flashcard which gets incremented any time you a) tap on the word on it in dictionary search results, b) stare at the result for it (on an iPad) for more than a second or two, or c) stare at the popup reader listing for it for more than a second or two (this to prevent you from incrementing a bunch of words you just happen to be scrolling past with the -> button). I'd rather not have it tied to + button presses since we're about to make the + button a flashcard status indicator and give it a helpful popup alert when you tap on it with a duplicate card (allowing you to delete it or edit it or update it to use the current dictionary entry). But I'm not sure yet how effective this viewing-based tracking would be as a way of coming up with good words to study - are the words you look up a lot really words you need to learn, or is the mere fact of you looking them up that many times going to teach them to you?

I'm probably not the best person to ask on good study habits... I'd prefer some sort of action (or maybe a 2-3 second configurable delay would work just as well) after popping up the definition to increment the frequency count. Typically, I highlight a word for one of two main reasons: for a word that I don't really know, or to double-check that the pronunciation or definition is what I expected... In the second case, I wouldn't necessarily want to increment the counter (although other people might argue the fact that I'm looking it up means I'm unsure about something... but I'd like some way in an initial stage to separate out the words I truly don't know from the stuff that I kinda already know).

I guess to add to that, the other reason for having some delay (kinda what you were referring to above) is that sometimes the parser in the reader groups the characters differently depending on character you select... (like, if a series ABCD of characters should really be ABC D, clicking on A gives you ABC, sometimes clicking on B gives you BC and clicking on C gives you CD... I wouldn't want to add those extra words BC and CD when they aren't really related to the actual text)

I've definitely learned some new words just by reading the text... but there was a group that came up semi frequently that just wouldn't stay in my brain for some reason... that's the group of characters that I'd like to somehow be able to capture and review separately.
 

mikelove

皇帝
Staff member
WangYuHong said:
I'm probably not the best person to ask on good study habits... I'd prefer some sort of action (or maybe a 2-3 second configurable delay would work just as well) after popping up the definition to increment the frequency count. Typically, I highlight a word for one of two main reasons: for a word that I don't really know, or to double-check that the pronunciation or definition is what I expected... In the second case, I wouldn't necessarily want to increment the counter (although other people might argue the fact that I'm looking it up means I'm unsure about something... but I'd like some way in an initial stage to separate out the words I truly don't know from the stuff that I kinda already know).

Well I can see the virtue of an action too, it's just difficult to integrate into our UI and unlikely to be understood well by new users - if we silently increment your count every time you look at it, that increases the odds of people actually being able to take advantage of it. Ideally we'd have a way to automatically do this with words you look up a lot even outside of flashcards, but that would get a bit dicey because some people look up words they're not proud of having looked up and want to be able to easily clear their history - if we start silently turning those words into permanent flashcards we're going to have some upset customers :)

WangYuHong said:
I guess to add to that, the other reason for having some delay (kinda what you were referring to above) is that sometimes the parser in the reader groups the characters differently depending on character you select... (like, if a series ABCD of characters should really be ABC D, clicking on A gives you ABC, sometimes clicking on B gives you BC and clicking on C gives you CD... I wouldn't want to add those extra words BC and CD when they aren't really related to the actual text)

Right, the delay increases the likelihood that you're actually interested enough in the word to read its definition. The downside is that sometimes people may find what they need after a quick glance and not leave it up long enough to "stick," so the button approach does have that to recommend it...
 

character

状元
mikelove said:
I'd rather not have it tied to + button presses since we're about to make the + button a flashcard status indicator and give it a helpful popup alert when you tap on it with a duplicate card (allowing you to delete it or edit it or update it to use the current dictionary entry).
Can you just add another option to reset the card's statistics so it comes up as a new card when reviewing flashcards?

For reading in the Document Reader and OCR Still Image, perhaps keep a list of words one has looked up associated with the file/image name? Each word looked up when reading the document goes on the list (perhaps have the ability to sort the list). Have an option to turn that list into flashcards.
 

mikelove

皇帝
Staff member
character said:
Can you just add another option to reset the card's statistics so it comes up as a new card when reviewing flashcards?

I suppose, but it seems like kind of a blunt tool - most people would probably prefer not to have all of that data go away, they just want some sort of a flag to identify that this is a word they want to devote some additional attention to.

character said:
For reading in the Document Reader and OCR Still Image, perhaps keep a list of words one has looked up associated with the file/image name? Each word looked up when reading the document goes on the list (perhaps have the ability to sort the list). Have an option to turn that list into flashcards.

Actually the current plan is to have one general reader-wide history - already implemented on Android, in fact. We may want to consider tagging words in that history with the document that they came from, though that's a little tricky to keep track of if documents move around or are renamed or edited.
 

character

状元
mikelove said:
I suppose, but it seems like kind of a blunt tool - most people would probably prefer not to have all of that data go away, they just want some sort of a flag to identify that this is a word they want to devote some additional attention to.
OK, take into account this new flag when showing flashcards. I would think the desired result is to see these words more frequently.

Actually the current plan is to have one general reader-wide history - already implemented on Android, in fact.
Great, but now that you have the joy of working in Java all day don't forget those of us with iOS.

May I ask how sales compare between Pleco on iOS and Android at this point?

WRT the document word lists, maybe just reuse/slightly enhance categories/flashcards. If the user wants a word list, he hits a button and creates a flashcard category (or chooses an existing one). Entries get added as flashcards. Perhaps there is a word list view more like the standard dictionary view for the contents of a category while in the document reader/OCR. Let the user choose the category instead of trying to keep track of file moves.
 

mikelove

皇帝
Staff member
character said:
OK, take into account this new flag when showing flashcards. I would think the desired result is to see these words more frequently.

Well ideally that would be customizable too, but we'll see how that works out.

character said:
Great, but now that you have the joy of working in Java all day don't forget those of us with iOS.

May I ask how sales compare between Pleco on iOS and Android at this point?

iOS sales are something like 2-3x those on Android, and we have no expectation that that will change. Features are getting rolled out on Android before iOS not because we like Android better but because Android is a much better environment to test new stuff on: on Android we can distribute betas to unlimited numbers of users, and if we release a new feature in a non-beta release, we can submit updates to Android Market and have them go live instantly (no weeklong wait for a review, no fear of another weeklong wait if you have to submit an urgent bug-fix - you might remember last summer's traditional character crashing fiasco). The fact that we have roughly two orders of magnitude more users on iOS at present also makes it much less of a concern to release a slightly buggy update. So for now, anything new that we want to do with cross-platform code we're much better off rolling out on Android.

The feature lag between iOS and Android should go from months to weeks as of the release of 2.3, though - right now our iOS bug fixes are on a maintenance branch, but as of 2.3 iOS and Android will be running the same cross-platform code. So going forward, the sequence will probably be that we come up with some cool new thing, develop it simultaneously on iOS and Android, release it on Android, continue polishing it on iOS for a week or two, then once we've established everything is OK on Android we submit it to Apple. So iOS ends up less bleeding-edge but better-tested. I'm still holding out hope that Apple will adopt something like their new Gatekeeper system from Mountain Lion on iOS too - give users an option to allow apps that came from outside of App Store but are code-signed by the developer - and if they do then we'd probably start releasing experimental builds simultaneously on both platforms, but absent that this seems like the best approach.

character said:
WRT the document word lists, maybe just reuse/slightly enhance categories/flashcards. If the user wants a word list, he hits a button and creates a flashcard category (or chooses an existing one). Entries get added as flashcards. Perhaps there is a word list view more like the standard dictionary view for the contents of a category while in the document reader/OCR. Let the user choose the category instead of trying to keep track of file moves.

That's more what I'm thinking, yes.
 

mikelove

皇帝
Staff member
sych said:
Please don't forget flashcards sync :)

For that matter, documents sync would be great, too.

That should be coming later in the year - 2.3 is mainly focused on the Dict tab. The database changes needed to support full flashcard sync are massive and we can't justify delaying the release of all of our new dictionaries etc while we finish them.
 

sych

榜眼
mikelove said:
That should be coming later in the year - 2.3 is mainly focused on the Dict tab. The database changes needed to support full flashcard sync are massive and we can't justify delaying the release of all of our new dictionaries etc while we finish them.
No problem, I realise they're not a focus of 2.3, just wanted to make sure you know there's still people (well, me at least!) still really hoping to see this feature.
 

mikelove

皇帝
Staff member
sych said:
No problem, I realise they're not a focus of 2.3, just wanted to make sure you know there's still people (well, me at least!) still really hoping to see this feature.

Oh yes, definitely. We're pondering whether it would be worth having a "dumb" iCloud sync feature in sooner (maybe one of the 2.3.x updates), one that would sync the entire database and force you to choose which modified database to go with if there was a conflict - would be an improvement over what we have now but people would probably be pretty irritated if they went a week without syncing and ended up with a lot of new cards / new reviews on each device and no way to merge them.
 

character

状元
mikelove said:
Oh yes, definitely. We're pondering whether it would be worth having a "dumb" iCloud sync feature in sooner (maybe one of the 2.3.x updates), one that would sync the entire database and force you to choose which modified database to go with if there was a conflict - would be an improvement over what we have now but people would probably be pretty irritated if they went a week without syncing and ended up with a lot of new cards / new reviews on each device and no way to merge them.
It could depend on how it was presented. If you separately back up each device's Pleco database to iCloud and present the user with the option of 'restoring' from the different backups, they might appreciate that ability.

If synching is proving to be a nightmare, have you looked at database transaction journals? Perhaps get the user to choose which device has the canonical database at the start of using iCloud so you have a baseline. Then every instance of Pleco keeps a transaction journal which gets shared through iCloud so you can apply those updates to each database. I imagine there would still be conflicts, but perhaps you could have a some rules about later updates 'winning' to reduce the number of them. I.e. if I delete a card on one device and later test against it on another, the card shouldn't be deleted.
 

mikelove

皇帝
Staff member
character said:
It could depend on how it was presented. If you separately back up each device's Pleco database to iCloud and present the user with the option of 'restoring' from the different backups, they might appreciate that ability.

That's actually not really possible with the way iCloud is implemented - we'd have to hook into Dropbox or something like that instead, and I prefer iCloud for ease-of-login and general future-proofing reasons. Plus it's a more complete solution on the syncing end - we do have to do our own conflict resolution, but iCloud does efficient deltas (and is even optimized to do them correctly for SQLite database blocks) and transparently syncs in the background whenever a device is on WiFi; the former would be very tricky for us to do ourselves and the latter completely impossible.

But given that transparent background syncing, a user with good internet access would find that the flashcard updates made on their iPhone had been silently synced to iCloud and then to their iPad, so that by the time they get home and use their iPad the newest version of the database is already on it. So really the only difference between this "dumb" version of sync and a more intelligent one would be that if they'd done things to flashcards on both devices since the last sync, they'd lose the changes made on one device when they synced them. Which is enough to force us to make this an off-by-default "experimental" feature if we do include it, but it still leaves us with something that quite a lot of users could actually have a relatively smooth experience with, especially if we made some effort to notify them of their sync status (for example, a little box at the top of the Flashcards tab that lists the last sync date, so they can immediately tell if they're out-of-date and risk having their database changes overwritten by those from their other device). We could probably also offer an option to dump the old conflicting database to a backup file, so that later when they had more time they could back up their current database, restore the old one, export any newly-created cards that they hadn't synced, and then switch back to the new file and reimport them. Again, awkward and not a long-term solution, but probably still better than fiddling around with "Share Files."

character said:
If synching is proving to be a nightmare, have you looked at database transaction journals? Perhaps get the user to choose which device has the canonical database at the start of using iCloud so you have a baseline. Then every instance of Pleco keeps a transaction journal which gets shared through iCloud so you can apply those updates to each database. I imagine there would still be conflicts, but perhaps you could have a some rules about later updates 'winning' to reduce the number of them. I.e. if I delete a card on one device and later test against it on another, the card shouldn't be deleted.

Those wouldn't help in the main problem cases, unfortunately - merging the results of two separately conducted tests would require us to go back through and re-generate the new score based on the combined results of those tests regardless of whether we were finding out about them from a journal or from differing records. There are also issues with primary key assignments - if two different devices each add a new flashcard with ID 28761, we have to compare them, determine that they're different, and change the ID of one of them, which means going through a bunch of other tables and finding / modifying that ID.
 
Top