Suggestions to improve Pocket

I am using Pocket (previously named RIL -Read It Later) and sometimes wish to suggest some improvements for them. Unfortunately they don’t want to have a forum to have such suggestions public( They had it before, but closed it- probably because they are too slow with implementing requested features).

Anyway I will post my emails and feature requests (submit here) to Pocket to increase visibility of my suggestions.

Create User Voice forum

“We monitor Feature Request submissions regularly, so you can trust that yours will be reviewed by our Product Team. ”

To trust that it’s reviewed, user should see, what he/she and other users submitted in the past, have ability to vote and comment on existing suggestings, and see will the feature be implemented and when.

Pocket archive option – keep offline version.

In iPad Pocket when I click tick for article, it moves to Archive, and local copy is not available any more.Sometimes, I’ve read the article and want to put it to archive, but wish to keep local copy for the reference.

It will be good for archive button to have an option – keep offline version.

The option will be in particular useful in case if I clicked tick accidentally.

Pocket Ability to export page/article.

On iPad I want to send some old stored article to a friend. Sometimes the original URL is not available any more. It will be good if share command allow to send the actual file rather than link.
In particular, I am interesting in sending full content to email, to iPad Evernote, and some book reader, e.g uBooks, iBooks,Kindle,KyBooks

Pocket -ability to search by tag

Currently Pocket searches for a pattern within title and URL. It wil be good also search within tags and also to allow to search specifically by tag, e.g tag:myTag.

Pocket to support simple “add URL” functionality.

When I open Pocket on iPad and the last copied to clipboard string was URL, Pocket usually suggests to add it as article. It didn’t prompt me when I wanted to add a particular URL.

I tried to find Add menu to enter/paste URL, but didn’t find it either(I believe, previously it was available). I search for support and found help page telling

The notification bar that appears when Pocket detects a copied URL will only be shown once. Therefore, if you miss it, it will not be shown again

In my case,I think, prompt wasn’t shown because the URL was already added to my list previously.

I appreciate smart logic that try to show Add only when it’s convenient to user.

However Pocket should additionally have Add button to give user control when and what he wants to add.

  An ability to search within article

When reading the article , I often need an ability to search within article.

It is a common requirement for any text reader.

Could you please add it to iOS UI? 

I am normally using not article, but web mode( if it matters).

IOS: option to open link in Safari.

When I select a link in a pocket, 3 options appears-add to pocket, open and copy. Open actually open new page in pocket. As not all pages are opened correctly in Pocket, it will be good to add an option to open link in safari.

Report article menu should ask for details

Report article menu doesn’t allow to specify what the problem is, which makes it quite useless. It should open email form, which allow user to explain the problem.

iPad pocket on slow connection opens blank page

I’ve noticed if I have low wi-fi signal, and try to open some article, blank page is opened and, it seems, app tries to load the article from Internet, even if local cache exists.i have to close the article. 

If I open the same page when wi-fi is completely off, the cached article opens instantly.

Is it a known bug? Can Pocket app have timeout check, and if page is not loaded within e.g.5sec, consider Internet is not available and use local copy instead?

Reply from Pocket:To ensure that Web Views load correctly for you, Pocket will always load the “live” version, not downloaded version, when your device is on a cellular or Wi-Fi connection. I understand this might be inconvenience when you have a low Wi-Fi signal and it’s just coming up blank.  I’ll be happy to submit your suggestion of having a way for the app to have a timeout check and revert to the cache copy. That would certainly improve what’s happening right now!

Stored pages from github have “old version of Safari” warning

Stored pages from github have  warning: “Please note that GitHub no longer supports old versions of Safari. We recommend upgrading to the latest Safari, Google Chrome, or Firefox.” The Pocket viewer should simulate the latest version to avoid such message.

Related previous posts

Pocket Favorites are not available when you off-line 

Using MSBuild Conditional Constructs to run one or other target

I was doing modification of MSBuild target https://github.com/MNF/OctoPack.Precompile/blob/master/Source/OctoPack.Precompile.targets to have different behavior depending on parameter OutDir was specified or not for Msbuild.
Follow to MSDN “MSBuild Conditional Constructs”  I selected  Choose Element and  tried to put it   inside <Target> element
 <Target Name=”foo” />
<Choose>
<When>

<Otherwise>
</Choose>
</Target>
It didn’t work as for Choose Element allowed Parents are only Project, Otherwise, When.
I tried other way to include Target inside Choose/When element, but it is also not allowed, because Target also should be direct child of Project.
I found an implementation in http://stackoverflow.com/questions/30904741/msbuild-now-to-conditionally-use-one-of-two-targets-with-same-name when you set target depends on other targets and each child target has different conditions:
 <Target Name=”foo” DependsOnTargets=”_fooDebug;_fooRelease”/>
    <Target Name=”_fooDebug” Condition=”‘$(Configuration)’ == ‘Debug’ “
Later I found in  http://stackoverflow.com/questions/2284389/how-do-you-stop-msbuild-execution-without-raising-an-error/ that CallTaget elements with condition can be used as well:
 <CallTarget Targets="Exit"
Condition="Special Condition"/>
I beleive that MSDN “MSBuild Conditional Constructs” documentation should provide reference to all such options.

Gmail arbitrary rejects emails with big number of recipients

I was sending information letter to the club subscribers(total 225 emails) using Gmail account. I keep them in 3 mailing lists: 2 with 95 emails and 3rd with remaining(GMail limit recipients to 100 per email). The first list was rejected with the following (not very specific) message.
Delivery to the following recipient failed permanently: email address
Technical details of permanent failure:
Message rejected. See https://support.google.com/mail/answer/69585 for more information.
But the second list with the same size was successful.
Additional annoyance was that “delivery failed” notifications were received slowly within 5 minutes, and initially I didn’t understand which group  (or emails from both groups)  were rejected.
 The simple workaround to split big list in 3 smaller mailing lists one was successful.

Globally replace obsolete NLog.WarnException using regular expression

I’ve updated NLog ver 2.0 to 4.3.5. After this I’ve noticed a compiler warning that 
WarnException(msg,exc) is obsolete and should be replaced by Warn(exc,msg)

It could be globally replaced using regular expressions 

WarnException\((.*),(.*)\);
to 

Warn($2, $1);

See saved regex in https://regex101.com/r/kL8cR4/1

#nlog, #regex

Changes in .psproj do not cause re-build

With PostSharp I  am using .psproj files 
If I did changes in .psproj file,  simple build didn’t recognize that the project has been changed and skipped the project.

 I had to manually Rebuild the project.

The fix is to change build type of the .psproj file from none to ‘content’ ( may be other types also will work)

#build, #postsharp

GMail considered “unsubscribe” at the end of email as spam

I’ve created a new email account @gmail.com to communicate with members of Russian Bards Songs Club . When I sent the first email to 15 people, it was rejected with the message:

Delivery to the following recipient failed permanently:

Technical details of permanent failure:

Message rejected.  See https://support.google.com/mail/answer/69585 for more information.

I’ve sent the same email to a single person and it was successful. I’ve wrote a small program to  vary some details and number of addressees, but the emails were continue to be blocked. I wasn’t able to send the email even to a single recipient. It means that gmail has more strict anti-spam criteria for smtp  clients then for gmail senders.

The email I was trying to send was written in Russian with some words in English and contained a few links. I didn’t know, what else make my email suspicious and submitted a question to Google. But they normally do not respond.

I’ve decided to test smaller emails to identify if particular part of content flags the email as spam. After a few attempts I found, that the trouble caused  the phrase

If you don’t want to receive more emails from us, please reply with the word ‘Unsubscribe’ in the subject.

I’ve seen multiple recommendations to include unsubscribe information in emails to bypass anti-spam filters. It seems that too many spammers started to add such sentences, that Google now consider it as a spam indication.

Maybe  they didn’t like that I have an instruction to unsubscribe via email instead of providing link to website.

For now, I removed the sentence from the email and finally was able to send it.

Update:

Couple weeks later I added a message “If you don’t want to receive emails any more, click on this link”( in Russian), but the actual URL contained the word “unsubscribe”. I’ve sent emails to 3 big groups of people(about 100 each). Two of them were sent successfully, but one was rejected(actually the first one).
I split the failed group in three smaller ones, and tried to send them. They were rejected again.

Additional annoyance was that “delivery failed” notifications were received slowly within 5 minutes, and initially I had an impression that some emails succeeded, and only some were rejected. However according to timestamp all emails were rejected at the same time.

Then I renamed the target URL to not use “unsubscribe” word, updated the link in email signature, and was able to send emails successfully.

Use negative look-arounds regex to ensure pattern not surrounded by undesired characters.

I need to extract from text possible credit card numbers. I have regex for different types of credit cards from http://www.richardsramblings.com/regex/credit-card-numbers/. But if the match preceded or followed by any digit, it is not considered as a valid credit card number, but just as unrelated number.
I’ve tried to add non-capturing group (?:\D|) before and after expected card regex,e.g
(?:\D|^)(?:(?:(?:(4[0-9]{12}(?:[0-9]{3})?))|(3[47][0-9]{13}))(?:\D|$))
It mostly works OK, but if 2 credit cards are next to each other, separated by single character:
 4740515144050,378282246310005
the first card matched, but the second is not found.
Negative lookahead is indispensable if you want to match something not followed by something else.
So I was able to search what I need using negative look-arounds: negative lookbehind (?<!\d) before the expression and negative lookahead (?!\d) after the expression
(?<!\d)(?:(?:(?:(4[0-9]{12}(?:[0-9]{3})?))|(3[47][0-9]{13})|(?:5[1-5][0-9]{14}))(?!\d))
See my example of regex in https://regex101.com/r/iY2aR6/8

 

I want to clarify that the purpose of non-capturing groups is different to look-arounds .
In regex, normal parentheses not only group parts of a pattern, they also capture the sub-match to a capture group.  At other times, you do not need the overhead.
If you need parentheses to work in natural way to only group parts of a pattern, you need to specify non-capturing group by putting ?: after opening parenthesis

#lookahead, #lookbehind, #non-capturing-group