Calling PureJPEG and PngCrush from Far Manager

I like to keep images that I upload to blog and websites small and free of metadata (EXIF etc). PureJPEG and PngCrush are two tools that help me to reduce image file size without affecting quality.

I invoke them from Far Manager using F2 user menu:

Far Manager user menu

Here’s how to configure it:

  1. Press F2 to open user menu.
  2. Press Insert key. Select ‘Insert Command’.
  3. Enter ‘j’ as hotkey, ‘PureJpeg’ as label and the following as command:
    “C:\Small Programs\PureJpeg\purejpeg.exe” “!.!”
  4. Press OK to save
Far Manager command to invoke PureJPEG

Far Manager replaces “!.!” with selected file name in double quotes.

I keep small apps and tools in ‘Small Programs’ folder. You might have them somewhere else.

Follow the same procedure for PNG Crush. Use this command:

"C:\Small Programs\Pngcrush\pngcrush.exe" -ow "!.!"

Note the -ow switch – it tells pngcrush to overwrite the source PNG file.

Now you can compress an image file losslessly by simply selecting it in Far Manager, pressing F2 and selecting PureJpeg or PngCrush.

Folder Shortcuts in Far Manager

You can quickly jump to your favorite folders in Far Manager by pressing right Control + 1, 2, 3, 4, 5 and so on.

Adding a shortcut is very simple:

  1. Go to your favorite folder in Far Manager
  2. Press Ctrl + Shift + 1 (or 2, 3, 4, 5, …)

Now you can press right Ctrl + 1 to jump to that folder.

You can view all your folder shortcuts by pressing F9 to open the top menu, then C to open Commands submenu, then D:

I have right Ctrl + 1 assigned to my temp folder, I gave it 1Temp name so that it’s always on top and also to remind me that it has 1 as shortcut. Usually I put there files and folders that I’m going to upload somewhere. I train myself to delete everything from that folder from time to time.

You can assign more than folder to a single shortcut. In this case Far Manager would show you a menu with all folders when you press that shortcut. I have folders that I use from time to time assigned to right Ctrl + 0 (zero). Typically they are so deep in the file system that it would be too long to navigate there the normal way:

Folder shortcuts menu in Far Manager

How to Start Beyond Compare from Far Manager

Beyond Compare is an excellent tool for comparing files and folders. I use it most often during software development.

My weapon of choice for file operations is Far Manager so I decided to make launching Beyond Compare fast and painless. After some experimentation I settled on creating bc.cmd in C:\Program Files\Far Manager folder:

@start "" "C:\Program Files\Beyond Compare 4\BComp.exe" %*

Note the empty string as the first argument to the start command: it wouldn’t work properly without it since the full path to BComp.exe has double quotes.

Now I can compare files from Far Manager by typing

bc file1.txt file2.txt

Usually I use Ctrl+F shortcut to insert full path to the selected file in Far Manager.

Comparing Folders

My next idea was to use some keyboard shortcut to compare Far Manager’s left and right panels. Both Far Manager and Beyond Compare have 2 panels so it’s natural to open and compare folders:

Here’s how to set it up:

  1. Press Ctrl+. to start recording a macro
  2. Type bc, then space, then press Ctrl+[ to insert path to the left folder, then space again, then Ctrl+]
  3. Press Enter. This should launch Beyond Compare. Close it and go back to Far Manager.
  4. Press Ctrl+. to stop recording the macro
  5. Press Ctrl+B to assign a hotkey:

Voila! Now you can press Ctrl+B to launch Beyond Compare and compare folders that you have open in Far Manager. Normally Ctrl+B turns on and off the key bar at the bottom of the window but I never do it. You can still turn it off by opening Options menu, then Interface settings:

Don’t forget to save settings by pressing Ctrl+F9. Happy comparing!

USB eXtensible Host Controller Preventing Computer from Sleeping

Recently I noticed that my desktop computer didn’t go to sleep automatically. I have Windows 10.

As an experiment, I manually put my computer to sleep by opening Start menu, clicking Power button, then Sleep:

My computer went to sleep for about 5 seconds and then woke up without me doing anything.

Common advice to troubleshoot Windows sleep problems is to use powercfg -lastwake command. Here’s the output that I received:

Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Device
    Instance Path: PCI\VEN_8086&DEV_A36D&SUBSYS_50071458&REV_10\3&11583659&0&A0
    Friendly Name: Intel(R) USB 3.1 eXtensible Host Controller - 1.10 (Microsoft)
    Description: USB xHCI Compliant Host Controller
    Manufacturer: Generic USB xHCI Host Controller

Why would Intel(R) USB 3.1 eXtensible Host Controller wake up my computer? I was stuck trying to figure that out. Then I saw a post on Super User website and realized: it’s actually one of USB devices connected to USB host controller that wakes my computer up!

I opened Device Manager and switched view to ‘Devices by connection’:

I had 4 USB devices connected to the host controller:

  • Uninterruptible Power Supply (UPS)
  • Keyboard
  • Mouse
  • Webcam

I bought UPS not long ago so most likely it was the actual culprit. To confirm I disconnected it from my computer and put it to sleep again. This time it stayed asleep as intended. Mystery solved.

In the end I decided to keep UPS disconnected from my computer. Initially I connected it using USB cable so that Windows 10 would automatically hibernate if there is power loss. I’d love to figure out how to configure Windows so that it goes to sleep after 15 minutes of inactivity but wakes up if there is power loss, wait for 1 minute and then hibernates by dumping all memory to disk.

Christmas Spike

There was a spike in the number of people that installed the app at around Christmas time:
4,626 people installed the app and signed up for a new account in the week starting December 23. That’s a record week! I think this is because many parents buy Amazon Fire tablets as a Christmas gift for their children and then look for YouTube Kids app there. It is still unavailable on Amazon App Store so they try alternatives. Few people asked me if there is a Spanish version of the app (in Spanish). A couple of parents suggested to make it work on Fire TV. Most of recent reviews on Amazon App Store have been positive. Example:
Way better than YouTube Kids. I love how I can choose the channels beforehand and I love how it shows what content is featured on the channel so I can see what to add and avoid. I recently, shared this app to my friends on Facebook after they stated they removed kids YouTube off their child’s iPad/tablet due to “sneaky” inappropriate content hidden amongst kids videos and they are happy. I love how I know exactly what my girls are accessible because I chose it. I also like how I can control it from my own personal device and it syncs to their personal profiles and the other time limit features.

There are still 1-star reviews – parents are not happy that they have to pay to get past limitations of free version. Example:
It’s a knock off version of youtube kids you have to pay for to fully unlock more than 5 channels.
You can read more reviews on Amazon website. I decided to bring back 7-day free trial of premium subscription – I noticed that fewer people were starting premium but the churn rate remained the same. Also, I moved Lock button on top of the video in the parent mode. I received several questions via support chat on how to lock videos. The problem was that the button was far down below the video and it wasn’t obvious that you had to scroll to see it.

Before:


Now:

Improved UX Design

I hired a designer to improve user experience (UX) of Safe Vision app. Fabio did a great job at making the app to behave more logical and look more professional (click for larger image):
The onboarding process flows better now, I believe:
Also I made a fairly big change of removing all pre-approved videos.
That part of setup was confusing for many parents. Here are 2 examples of support requests I received via in-app chat:
This is a frustrating app. It asked my child’s age but didn’t tell me it was unlocking hundreds of thousands of channels. Now I can’t figure out how to get rid of them! I want to lock everything and just add the ones that I want.

Can I block all the preapproved channels at once? I don’t want them. I hate to go through and lock them all individually. This is the difference between keeping or quitting service. I just want to manually unlock channels, but my child keeps getting onto the ones you have preloaded.

I was monitoring closely app reviews and support chat to check the impact of that change. Also I conducted a couple of user testing sessions. So far nobody complained about missing those pre-approved videos. However I’m going to think how to bring that feature back, perhaps in a different reincarnation.

Key Metrics

Number of people that install the app (acquisitions) is declining and I don’t know why. Most of my clients come from Amazon App Store and it doesn’t provide information on how people find the app. Also, activation rate is still low – about 25% of people that install the app start using it. I’m getting about 45 new premium subscribers per week now:

Updated App Description

I changed the app description on Google Play and Apple App Store as an experiment. It is more geared towards parents that want to let their children to watch educational videos now. Kylie helped me with the new description.

Abandoning Press And PR

I tried to promote Safe Vision app by asking bloggers to review it. I got some reviews where I paid to the blogger in exchange for review (here’s an example) but I didn’t see a lot of traffic from those reviews.

Most of my clients are coming from Amazon App Store so I decided to focus my time and energy on improving the app itself.

Key Metrics

More people installed the app in July but I’m not sure why. (As a reminder acquisition means a parent installed the app and signed up for an account.)

The activation rate is still at around 30% – I’d like to increase it by improving design.

I have 1,800 active premium subscribers now.

I’m getting around 50 new premium subscribers per week now – woo-hoo!

Also, Safe Vision app has 193 reviews on Amazon now. I offer free 1 year subscription in exchange for an honest review on Amazon – that’s why that number grows so quickly. Most reviews are positive – the average rating is 4.4 stars now:

Churn

I finally calculated the monthly churn rate (using Power BI):

6% of all premium subscribers cancelled their subscription in July 2019. I think that number is too high. It means that in one year more than half of premium subscribers would leave.

I spoke to one of the clients and she told me that she has cancelled her premium subscription because the app was not as easy to use for her child as YouTube or YouTube Kids apps.

Also, here’s a recent review from Google Play store:

The app looks promising, I can allow my kids (who loves music) to watch videos that are safe for kids but are blocked on other kids apps. But this app still need to get better. Interface is not so much child friendly, my kid gets frustrated how he cannot change easily from one video to another and just go back to YTKids. It should have the choice to set auto play and all unblocked videos should show on related videos and not only the ones from same channel.

I’m going to hire a professional designer to improve user experience (UX) of the app.

Improved App Description

I asked Lianna to improve description of Safe Vision app on app stores.

Before:

Parental control app for YouTube videos. Safe Vision helps parents control what their children can watch on YouTube. Let your children enjoy their favorite YouTube channels without your supervision. The app is safe for your kids to use without your constant attention. Safe Vision offers you as the parent all the videos that are currently on YouTube. Then, you can pick and choose what your child views. Only the channels you approve can be watched. You can choose exactly what YouTube channels your kids can view content from.

After:

Sex. Violence. Swearing. Nudity. Inappropriate videos are all over YouTube… and until now, there was no YouTube video control app that TRULY let you shield your kids from the wrong content. Safe Vision for Amazon Fire tablets is a simple, easy-to-use app for parents who want to protect their kids on YouTube. ????? “I love the control I have as a parent with this app. Being able to add or remove programs my kids can watch is amazing!! YouTube Kids can be very inappropriate at times and this allows my kids to watch without me worrying!”
– Happy Safe Vision Subscriber Other parental control apps use a “blacklist” function, meaning you have to block inappropriate videos or channels one by one. Unfortunately, that approach means you and your kids are still in for a nasty surprise when inappropriate videos inevitably come up. Safe Vision is the only app for YouTube Kids on Amazon Fire tablets that gives you TRUE control over what your kids watch — so you can actually keep out the bad stuff. ????? “Basically, on this app you start off with everything blocked and you have to ‘add’ each video/channel in. The ‘recommendation’ feature on regular ‘youtubekids’ app is not on this app and that is perfect for parents who want significant control over what videos their kids can watch. I can screen kids’ videos and channels on my own YouTube and then add in to my child’s app as I see appropriate. I did the free trial first and was happy after a week of use and decided it was worth the money.”
– Happy Safe Vision Subscriber “Full parental control for YouTube with a granular level. I can set age range to five to seven, but if I don’t want my child to watch, say, Peppa Pig then I can just turn that off. A really granular, easy to set up application. Something that’s going to give you peace of mind.”
– Luke Safe Vision’s simple Parent Mode interface allows you to:
  • “Whitelist” age-appropriate channels — Approve and add channels one by one instead of blocking inappropriate channels as you go. No more “shock and block”!
  • Leave your kids alone to watch without worrying — Instead of hovering over them to make sure they’re not seeing bad content
  • Access watched video history — so you know exactly which videos were viewed
  • Control how long kids watch — Just set daily screen time limits on your Parent Mode dashboard

I think the new description is much better however it didn’t increase the number of weekly downloads by much:
Acquisition means a parent installed the app and signed up for an account. Activation – a child watched at least 10 videos. Retention – a child watched at least 5 videos on the next day or day after. I also migrated back-end server to a more powerful machine so the app should be faster now. I asked few bloggers to review Safe Vision app. One of them graciously agreed, here is the review: Ty’s Safe Vision YouTube review

Churn

This chart shows number of parents that have cancelled their premium subscription week by week.

How to Update Outlook Signature Automatically

I created a fun little program a while ago. It updates my Outlook signature with the current temperature in Melbourne, Australia. Here is C# source code:
class Program
{
    static void Main(string[] args)
    {
        try
        {
            decimal temperature = GetCurrentTemperature();
            UpdateSignature(temperature);
            Console.WriteLine(temperature);
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            Environment.ExitCode = 1;
        }
    }

    private static decimal GetCurrentTemperature()
    {
        var webClient = new WebClient();
        webClient.Headers.Add("user-agent", "Mozilla");
        string json = webClient.DownloadString("http://www.bom.gov.au/fwo/IDV60901/IDV60901.95936.json");
        dynamic observations = new JavaScriptSerializer().DeserializeObject(json);
        return observations["observations"]["data"][0]["air_temp"];
    }

    private static void UpdateSignature(decimal temperature)
    {
        const string SignatureFile = @"C:\Users\pchuchuv\AppData\Roaming\Microsoft\Signatures\Temperature.htm";
        string signature = File.ReadAllText(SignatureFile);
        string newSignature = Regex.Replace(signature, "Pavel<br>.*</p>",
            string.Format("Pavel<br>{0}&deg;</p>", 
            Math.Round(temperature, MidpointRounding.AwayFromZero)));
        File.WriteAllText(SignatureFile, newSignature);
    }

}
The program fetches the temperature from Australia’s Bureau of Meteorology (BOM) website. I created a Visual Basic Script to run so that I don’t see a black console window every time the programs gets executed:
CreateObject("Wscript.Shell").Run "C:\etc\TemperatureToSignature.exe", 0, True
Open Outlook options, switch to Mail tab and click ‘Signatures’ button:
Create a new signature and give it ‘Temperature’ name. Edit the Temperature.htm file in C:\Users\<your username>\AppData\Roaming\Microsoft\Signatures folder and make sure it has this line:
<p class=MsoAutoSig>Pavel<br></p>
Don’t forget to change Pavel to your name 🙂 Next, open Task Scheduler.
  • Create a new task
  • Define a schedule to run every hour from 7:11
  • Select .vbs file as ‘Program/script’
Now every time you create a new email or hit reply button you will see the temperature:

Pavel
15°

Improving Copy on Premium Subscription Screen

I hired a copywriter to improve the text (copy) on the Premium Subscription screen in Safe Vision app.

Before:

After:


I think Lianna from Punchline Conversion Copywriting did a great job – thank you very much Lianna! It looks like the conversion rate didn’t improve much though:
Conversion rate is number of people that started trial premium subscription divided by number of people that looked at the Premium screen in a given week. Recent key metrics:
(Acquisition means a parent installed the app and signed up for an account. Activation – a child watched at least 10 videos on the same or the next day after installed the app. Retention – a child watched at least 5 videos day after installed or the next day.) Meg from Home School Game School recently reviewed Safe Vision app on her blog and added it to her ‘The Best Kindle Fire Apps for Toddlers & Preschoolers‘ list – yay!