Wednesday 20 December 2017

Voucher codes / discount codes / coupons for Scrutiny and Integrity Plus

This is an experiment; if you've found this post then please go ahead and use any of these codes, you're very welcome.

I'm very keen to know whether people try Googling to find voucher codes for these apps. Eventually this blog post will be buried within the blog but hopefully can be found by searching for 'voucher code for Scrutiny' or voucher code for Integrity Plus.

I'll obviously be able to see how many people have viewed this post and how many people have used the codes. And that's all I ask. Go ahead!

50% Voucher code / discount code / coupon for Scrutiny for Mac


50% Voucher code / discount code / coupon code for Integrity Pro for Mac


50% Voucher code / discount code / coupon code for Integrity Plus for Mac


Use these codes in the checkout window within the app, or by using the 'Buy' button on the respective home pages:


Integrity Pro

Integrity Plus

I love it when...

...VLC gets its santa hat on.

It happens every year by itself. Little touches that make you smile.

It's possibly the top 3rd-party app to have installed on your Mac. Not Mac-like at all in its UX but it does stuff that the system ought to be doing by default.

And who knew that Terry Pratchett was responsible for this essential piece of kit?

[Update] Be very careful when installing VLC. It's easy to search, spot a result claiming to be the VLC download / install, but turns out to be a third party installer which may or may not install VLC, and will attempt to install other less desirable software at the same time.

VideoLAN are responsible for VLC,

Tuesday 19 December 2017

How a LIFX Z strip looks behind stained glass

Here's a personal story; I was a stained glass artist for some years and have a few pieces in my home and office now.

LIFX have recently released their 'Z' multizone light strips. I must admit that at first I thought it was a bit of a novelty. I bought some because I had to add support to PeacockMedia's LIFXstyle app.

After playing around a bit and trying strips in various places, I tried lighting this particular stained glass panel in my office. I tried various placements before I tried sticking a metre of the stuff behind the thick vertical line down the middle.

 And here's how it looks after putting it back up and switching on:
It really works well, I'm chuffed to bits with it. But even better than that - you can change the light from warm white to cold white, and all the colours of the spectrum:

 At first, LIFXstyle (v3.0) was capable of switching the entire strip to the same colour / brightness. One of the great features of the lightstrip is that it's divided into 'zones' (hence Z, multizone). After a little work on LIFXstyle we were dialling up different colours / settings for each 'zone'.
 Version 3.1 allows you to mess around with colour and save the settings you like as a preset, apply cycling effects to the whole strip or parts of it. (An early version of 3.1 will be available very shortly.)

Finally, because I can't resist another picture, here are some pretty pastels.

Monday 20 November 2017

Smart home news

We've never really pushed this point but our smart bulb controllers for MacOS, LIFXstyle and Hue-topia, have deliberately functioned within your local network, free of dependency on the companies' cloud systems.

LIFXstyle has relied on LIFX's own development kit for Mac, which has long been unsupported and has gone out of date.

So we chose to put a lot of time into LIFXstyle,  writing our own code from the ground up to communicate via LIFXs LAN protocol (using their cloud system was never an option, even though it would have been an easier development journey). In early testing this seems reliable and responsive.

We've also made some well-overdue improvements to the interface. You can see from the early screenshots here that there's better navigation, allowing you to choose to view lamps / groups / locations / tags.  The status bar menu is improved, giving you more information and control up there in the status bar. There's a new minimalist layout, making four options for the layout of the interface. For changing the colour or warmth, we've made our own custom colour picker geared towards smartbulbs.

It still contains powerful features like scheduling, presets, the drag-and-drop effects designer, control of groups and locations (which will be in sync with the official phone app) and Applescript support. No price increase is planned and the new version will be a simple and free upgrade to existing LIFXstyle users.

Support for the new multi-zone strips and other enhancements are planned shortly.

Our Hue app, Hue-topia will inherit these interface changes after beta testing them. This new version of LIFXstyle is now available for download as a beta.

Black Friday / Cyber Monday offers on Scrutiny for Mac and Integrity Plus

50% off Scrutiny

For Black Friday / Cyber Monday

If you're a user of Integrity or Integrity Plus, or have trialled Scrutiny, we hope that this discount will help you to make the decision to add Scrutiny for Mac to your armoury. 

Simply buy through the app or Scrutiny's home page, the discount will be applied. Exp 28-11-2017

The offer will run for the next week or so, please feel free to share this offer, or use it to buy more licences if you have multiple users.

50% off Integrity Plus

For Black Friday / Cyber Monday

If you're a user of the free Integrity, you may like to learn about the extra power that Integrity Plus gives you. Search / filter / export your link results, Generate an XML sitemap and more. 

This offer is being run by MacUpdate, visit Integrity Plus's page at MacUpdate to take advantage. Exp 28-11-2017

The offer will run for the next week or so, please feel free to share this offer or use it to buy more licences if you have multiple users.

Improvements to website image size report in Scrutiny and Integrity

For image sizes you need to go to the links results, either the flat view (which will list each occurrence of each image) or the ‘by Link’ view (which will list each image once) and switch on the column ‘target size’ (if it’s not showing already). In the Filter drop-down you can select ‘Images’ to just show images.

Obviously you’ll need the ‘check images’ checkbox switched on in order to see images in the list.

There’s a new setting in your site’s settings, called ‘load all images’. With this checkbox off (it should be off by default) then you should still see image sizes in the columns, but they rely on the ‘content-length’ server response header field. That will be the compressed size of the image (if gzip compression is used) and may not be available in some cases.

With the ‘load images’ option on, each image is loaded so Scrutiny will know the exact size of the image. This is more reliable but obviously slows your scan a little.

The column in the by link and flat views can be sorted, so you can find the largest images easily.

If you export to csv then the export should reflect what you’re seeing in Scrutiny (ie filtered and sorted the same way)

This all applies to Scrutiny (from version 7.5.10) and Integrity and Integrity Plus (from version 6.11.6)

Thursday 14 September 2017

High Sierra keeps Stickies!

They've been there since system 7 (That's OS7, not OSX 10.7). More than 20 years ago. I guess it's had some updates, but it looks pretty much the same.

Sunday 9 July 2017

NSURLConnection won't die!

Integrity has been the most interesting project of my life.

I believe that the success of the web is down to the html standard and its flexibility *. It's human-readable, human-writable and web browsers do their best to render a page, whatever problems there might be.

I hate to think how many hundreds of hours of work that this has made for me over the last ten years.

With many applications, you can press every button, test all scenarios and be sure that it works. But with a web crawler you can test it on 99 websites, and it'll fail when the first person tries to use it **.

In order to have a reliable web crawler which parses html itself, you have to investigate every problem and improve your code  to handle whatever new unpredictable thing has been tripping it up.

It's taken ten years of this hard work for Integrity (and other related apps which use the same engine) to be as stable as it is. It has more users than ever and head-scratching problems are very few and far between now.

The worst times are where the problem happens at a deeper system level and you can get no debug information.

At a very high level, you can obtain data for a url in a single line. At the opposite extreme you can get involved with sockets etc. for Integrity I've taken the middle ground, creating the response and asynchronous  connection and using delegate methods to monitor what's happening and be able to intervene if necessary.

But there comes a point where you say au revoir to the request / connection and wait for your various notifications. If the response / notification is unexpected then you're down to some educated guesswork and trial and error.

That's what's happened this week. At a certain point through scanning particular sites, all NSURLConnections would appear to 'lock up' and all would return timeout notifications. (And any further NSURLConnections created to any url within that app would also time out until the app was quit and re-started even though the same urls would respond in any other app.

As usual there are many questions and answers online, with many suggestions that aren't relevant or have no effect.

I eventually got somewhere with a process of elimination - stripping the relevant code down to bare essentials until the problem had gone, then adding the original code back in, chunk by chunk until it stopped working again.

It appears that the problem is related to connections staying alive. The app obviously manages the number of simultaneous connections, and either lets one connection load all its data and complete naturally, or cancel it (if that data isn't needed)  before creating a new connection to replace it.

I think what's going wrong in these cases is that when you think you've let go of a connection with [connection cancel], that connection sometimes stays open, and the next one isn't replacing it but adding to the number until some limit is hit.

Removing all [connection cancel]s and allowing every connection to load and finish naturally completely solved the problem.

Making better use of the HEAD method (when you know that you only need the status but not the data) and explicitly making sure those requests have 'connection: close' in the request header should solve the problem but it doesn't entirely.

There's a lot I still don't know - why is a connection sometimes staying alive after it's been cancelled (or in the case of a HEAD request, when it has supplied the header info and says that it's done). If anyone knows, do tell!

* Despite Microsoft's and Netscape's best attempts to make it their own, it's survived as a truly universal standard - anyone can make a web page that can be read in any browser. It's an unusual thing and the IoT has a lesson to learn.

** There are some ridiculously unexpected things in the code of some websites (written by humans and written by machines)

Thursday 6 July 2017

Effects Designer for LIFX and Hue bulbs

Here is the first look at a new drag and drop lighting effects designer for our Hue-topia and LIFXstyle light controllers.

You'll be able to create more sophisticated versions of the false dawn / dusk or go the whole hog and create a 24hr daylight simulator (blue hour / golden hour etc)

And you'll be able to get creative and design mood effects such as flickering fire, colour cycling for party effects or mood.

I think all bases are covered, you can set the length of the whole cycle from 1s to 24hrs, whether it's 'one shot' or loops, the length of the transitions.

You can apply effects to a single bulb, groups or rooms, manually or on schedule.

This feature is now in version 2.0 (beta) of  LIFXstyle and Hue-topia

Monday 19 June 2017

Airfoil Satellite support in Screensleeves

Following some recent updates to Screensleeves I had a request for Airfoil satellite support.

Airfoil Satellite running on your Mac allows you to stream music from another device. Happily the stream contains meta data and Rogue Amoeba (AS's developers) have made that information accessible, so adding support to Screensleeves was a breeze.

So Screensleeves can now display cover artwork, track name, album name and artist name (assuming that the information is provided by the original music source). This will all display within any of Screensleeves' themes. Unfortunately the progress bar and some other details aren't available via Airfoil Satellite at this point, but maybe that will change in future.

The basic Screensleeves and Screensleeves Pro are now available at version 5.4.0  which contains AS support.

Wednesday 14 June 2017

A step forward with French localisation for Integrity & Scrutiny

The translator and I decided to take a phased approach to this project. We started with the applications' web pages, the next step was the context help within the app

I realise that it all looks a little 'Franglais' at the moment, but the buttons and labels are next.

(The localized context help for French speakers will be in the next point releases, Scrutiny 7.4.3 and Integrity / Integrity Plus 6.9.1)

Friday 9 June 2017

Reminder - Scrutiny in current Bundlehunt app bundle

[Edit 14/6/17] this bundle has now finished.

A reminder that Scrutiny is included in the current bundle at Bundlehunt for a few more days only. For a fraction of the price of Scrutiny, you can obtain it along with 11 other Mac apps.

Wednesday 7 June 2017

Where has Objective C gone in Apple's Documentation?

Today for the first time I noticed that I'm no longer able to choose Objective C as my preferred syntax
It's bugged me for a long time that these pages always appear pre-selected with Swift and don't remember my selection of Objective C.

To be fair, this isn't entirely unexpected. When Swift was announced, it was unlikely that they'd run the two languages in parallel for any length of time. I've been forced to learn another language in the past; my first dealings with Cocoa were in Java-cocoa (sounds tasty!). (Java was the first OO language I learned). Translating an entire project from the Java syntax to Obj-C when I could no longer compile the Java-Cocoa code was a PITA.

I felt the wind of change when I started to notice that the first solutions I found to problems contained Swift code rather than Objective C, and I either had to translate (easy if you're just looking for the best method to use, but harder if it's a whole block of example code you want to use) or keep Googling for another answer with an Obj-C code example.

I guess I'll have to find out how to use the built-in documentation and wait for the day that things are available in Swift but not Obj C.

Tuesday 6 June 2017

First thoughts on yesterday's announcements

With each year's announcements it's always a relief to hear that the Mac has at least another year of life. The convergence of Mac and iOS is taking many years to happen. Yesterdays talk of enhancing Sierra with efficiencies and switch to the Apple File System was pretty welcome.

I'm very curious about the VR and AR stuff, but more from a 'playing' perspective rather than seeing ways to incorporate them into what I do. But the machine-learning stuff I really can; I've been waiting for an API built into the OS for doing that kind of stuff.

I'd always expected the Mac to continue morphing into iOS but the biggest surprise yesterday was files / drag and drop / enhanced dock in iOS. (Meaning that the convergence is going to end up closer to the Mac than anticipated.) And as Craig demo'd all of this, his iPad screen looked more like the macOS than I'd ever expected.
I'm not that bothered about the home pad, I think the built-in intelligence is a lot of guff, and they're very late to the party with a voice-activated computer in the room, I guess they thought the advanced speaker stuff was an area that Google and Amazon had been neglecting.

Monday 5 June 2017

Best viewed.....

This makes me laugh out loud... seen at the bottom of one of my favourite sites:
Thankfully the days of 'this site is best viewed in...'  are now largely confined to history - but I'm fully with anyone who doesn't want the ball-ache of spending days trying to make their site look half-decent in certain versions of IE.

routine update for Screensleeves

Yesterday Screensleeves (free and pro versions) received a maintenance update; some small updates, improvements and the odd little glitch fixed.

It's the first update in a while. But then if something's working pretty well, should it be important to do some work and release a new version? There are definite marketing advantages (exposure).

Over the weekend I had an app pulled from the App Store, on the grounds that it hadn't been updated for a while. I hate the Store and haven't supported it for a long while, and this is a minor app that I haven't sold a copy of for a long time and have been wondering whether to stop supporting anyway. When uploading apps is such a headache anyway, the obligation to do it regularly in order to avoid them dropping an app just seems like another hoop to jump through. But it did make me feel a little offended.

On the positive side, the Apple's policy does keep their store free of abandoned apps. I've seen users refer to apps as 'abandonware' if they haven't been updated in a couple of years.

Friday 2 June 2017

routine flights to the moon, iPads and film processing

I'm thoroughly enjoying this read. I love the film but the medium of film doesn't allow for a lot of explanation, and Kubrick seems to go out of his way to *not* find clever ways to explain things, leaving quite a hallucinogenic experience.

Something I really love about old sci-fi (I recommend Metropolis, Solaris) is seeing the vision of the future from the past.

The film (2001 a space odyssey - 1968) famously contains images of what look like iPads. And just like today, the pads are sitting on the table while people are eating.

I was delighted to read the description of the 'newspad' in the book. It goes well beyond the physical description depicted in the film. Clarke uses far more words to describe the convenience of instant access to the world's news, up-to-the-hour if not the minute than the physical form of the pad.

Much is made of Clarke's accurate predictions, but in this book as well as others, the missed predictions are as delightful. Along with all sci-fi authors, Clarke predicts the future with his own world around him, thus the newspad needs connecting with a wire, and it's necessary to read a reference code on each news article and type the code into a keyboard to read the article, thus no prediction of wireless data, hyperlinks or touch-screens.

The best mis-prediction I've read in this book, is of pictures being taken by the moon colonists - and sent to the lab for processing!

Wednesday 31 May 2017

Scrutiny and WIX sites

Wix make it easy to create a website, but their reliance on javascript and plugins (including Flash apparently) makes it a challenge for webcrawlers, including Googlebot, to index the content.

It seems that Google have had to go out of their way to index these sites. There used to be a hack to get at plain html content, which I used to give as a workaround to users wanting to scan Wix sites, but that no longer appears to work.

As someone with a background in website accessibility, this all seems appalling to me*.

But they're gaining ground, I seem to be seeing more support questions about scanning WIX sites. (and their *!^%$ advert that I have to skip before almost every Youtube video I watch. When is Yotube Red going to be available in the UK??)

Unless anyone knows otherwise (please, please tell me if you know), WIX relies on a/ providing its users with an xml sitemap for submission to Google, and b/ Google being able to render js before indexing a page (again, as an old-fashioned gal, something I heartily disapprove of* )

Scrutiny has long been able to render javascript before parsing page content. There have always been a small number of sites which have menus and links that are written by js when the page loads. I've recently done some work to ensure proper scanning of such a site.

So... here's my best advice for scanning a Wix site using Scrutiny (Integrity and Integrity Plus don't have the necessary js option).

1. Make sure you have Scrutiny 7.4.1 or higher, which contains some necessary improvements to the js functionality. The most up-to-date version of scrutiny is always here.

2. Switch on 'Render Javascript' which is in the Advanced settings for your site.
3. Turn down your number of threads. You can see I'm using 3 here (first notch). Using the js option is very heavy in terms of client-side processing. You don't want pages timing out without having loaded because Scrutiny is working hard at rendering a large number of pages. If your website scans fully then maybe edge this up a bit but best to err on the side of caution.
4. Go and make a cup of tea. This is going to take some time.
5. After the scan, switch on the Target Size column of the 'by link' table and check whether any of the Internal links have a target size of zero (switch the Filter button to Internal to see this more easily). If an internal page has zero kb as the target size, then it may have timed out before the page had finished loading / rendering, which means that you may have an incomplete scan.

If that looks well then you're good to go with your data, which should be complete.

* It's not the javascript I disapprove of, but the fact that the page is 'invisible' without the js being rendered. Accessibility guidelines state that we must "Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported. If this is not possible, provide equivalent information on an alternative accessible page." (Web content accessibility guidelines, checkpoint 6.3 -  a priority 1)

Tuesday 30 May 2017

Sharpresize v2 now fully released

SharpResize v2 is now out of beta. It's a lightweight application (ie quick to start up) for making a better thumbnail / resized for web  image. The great result is due to the combination of the resizing algorithm it uses along with an additional sharpening slider.
Despite being a lightweight app it now has a good selection of adjustment sliders and built-in filters. (sepia, black and white, posterize etc).
We've decided to keep the price down. In fact as it's now priced in dollars (1.95 USD) it's a little less in real terms than the previous GBP price.

More information and the download are here

The guide is here.

Friday 26 May 2017

Alongside our recent post about supporting International Domain names within our web crawling tools, we're very proud and excited to announce that work has started on translating some apps and some web pages into other languages. Initially French, and initially Integrity, Integrity Plus and Scrutiny.

It's impossible to do all of the work at once, it will take a little while but the web pages for Integrity, Integrity Plus and Scrutiny now allow you to choose (top-right) English or French versions of the pages.

Localized context help in French is shortly to go into those apps, followed by the rest of the text within the apps.

Thursday 25 May 2017

When is a link internal.....

Here's an interesting situation.

The website being scanned was  As you can see, the link found during the crawl is a link to a page on . That looks like an external link, and so Scrutiny has marked it as an external link, therefore checked its status but not followed it.

However, it redirects to a url on - so the ultimate destination is an internal one.

There are a bunch of pages which will only be discovered if this link is considered internal.

(the pages are old manual pages - I want them to be orphaned, but that's beside the point...)

The question is - should Integrity and Scrutiny consider that link *internal* (and therefore follow it and discover more internal pages) or *external* (so it's checked but then is a dead end). Remember that the original link is to an external domain.

Wednesday 24 May 2017

Heads-up : Internationalised Domain Names (IDNs) supported in our web crawlers

We're a UK-based concern, our apps have been almost always available in a single language - UK English (or just English as we call it here in England!)  The vast majority of our users as I write this are from English-speaking countries.

Our alphabet entirely consists of characters available in ascii, and so there has been little call for Integrity, Integrity Plus and Scrutiny (and other tools based on the same engine) to support domain names - ie domain names which contain characters not found in the ascii character set.

But now we've started work on localisation of our apps and web pages, and have received the odd question concerning IDNs.

Let's not confuse this with unusual characters in the path and filename of the url. Our apps have long supported these. You may still see the non-ascii characters displayed, but behind the scenes, those characters are encoded before the http request is put together, usually using a percent-encoding system.

The method is similar with the domain name, but using a a more complex and clever system of character encoding. Browsers (and our web crawlers) often still display the user-friendly unicode version.

You can enter your starting url in the unicode form or the 'punycode' form and it'll be handled correctly. The same goes for unicode or punycode links found on your pages.

Personally, I'm not keen, this does allow for spoofing of legitimate domains using similar characters. There are rules excluding many characters for these reasons.

After lots of extra homework for us, Scrutiny is now handling IDNs, and is in testing.

[update 26 May 2017] Integrity and Integrity Plus also have this enhancement and are also in testing.

If this is useful for you, and you'd like to try the new version (remembering that there may still be the odd bug to iron out)  then you're very welcome to download and use it (with the condition that you let us know about any issues you spot.)

[edit - links taken out, out of date]

Monday 22 May 2017

List of all of a site's images, with file sizes

A recent enhancement to Scrutiny and Integrity make it easy to see a list of all images on a site, with file size.

It was already possible to check all images (not just the ones that are linked, ie a href = "image.jpg" but the actual images on the page, img src = "image.jpg"  srcset = "image@2x.jpg 2x" )

The file size was also held within Scrutiny and Integrity, but wasn't displayed in the links views.

Now it is. It's a sortable column and will be included in the csv or html export.

Before the crawl, make sure that you switch on checking images:


You may need to switch on that column if it's not already showing - it's called 'Target size'.

Once it is showing, as with other columns in these tables, you can drag and drop them into a different order, and resize their width.

To see just the images - choose Images from the filter button over on the right (Scrutiny and Integrity Plus)

If you're checking other linked files (js or css) then their sizes may be displayed, but will probably have a ? beside them to indicate that the file size shown has not been downloaded and the uncompressed size verified (the size shown is provided in the server header fields).

This last point applies to Integrity and Integrity Plus, and will appear in Scrutiny shortly.

Note that all of this is just a measure of the sizes of all files found during a crawl. For a comprehensive load speed test on a given page, Scrutiny has such a tool - access it with cmd-2 or Tools > Page Analysis

Thursday 18 May 2017

Post-apocalyptic life skills : handwriting

Self-service is great, if all goes as planned then it's efficient and easy for both customer and seller. (Though I still resist the self-service tills at my local convenience store - I think I care too much about the 4 or 5 jobs that have clearly gone redundant as a result. Plus - the store is reaping the benefit of the customer doing those ladies' jobs, without paying the customer in any way for doing that job.)

Anyway. When it doesn't go as planned is when the fun and games start.

Today I found myself needing to get back to a customer urgently, but the email address bounced as 'user not known'. Leaving me with a postal address.

The old business-letter-writing skills came back pretty easily; my address on the right, their address below and to the left, sincerely if you know their name, faithfully if you don't etc.

(I'm an old-fashioned kinda girl. Printing off the attempted email and putting that in an envelope wasn't going to happen.)

I was wrong to think that it would be quicker to write the address on the envelope than to work out how to print it on a label or put the envelope through the printer.

I draw a lot, but I don't write very much at all now. My handwriting was never great, it seems to be appalling now. After several practice goes, I got a result that wasn't as hideous as the first ones.

.... then turned it over and found that the address was upside-down! How crap does that look?

I'm not going to be among the survivors after the aliens come and hit us with a big EMP device.

Wednesday 17 May 2017

Don't we love rules?

I've just Googled 'html5 page structure' to check something. The post that appeared first consists of a very simple code snippet followed by around a hundred comments, some asking questions but mostly asserting an opinion. (none spammy or trolly).

Without wanting to get very deeply into the actual topic itself (and maybe risking the odd comment myself....) a large number of those comments are about whether a section tag is allowed within an article tag and vice versa. It seems that anything goes as far as these two are concerned. But my, don't we love rules?

It reminds me of those areas of cities where the pavement and road have been paved over into one homogenous area. I hate them; surely it's better if there are rules that everyone knows?

It occurs to me that the vast number of relevant comments could be responsible for that post being ranked #1 for such a popular search term. I'm sure there's a lesson there somewhere...

Tuesday 16 May 2017

Hidden Gems in Scrutiny 7: Locate a broken link

This tip applies to Integrity, Integrity Plus and Scrutiny.

So the app is reporting a broken link (or maybe it's a redirect you're interested in, or just a good link). You can easily see, copy or visit the target of the link, or the page it appears on. But how did the crawl find this particular page?

The Locate function will tell you. First open the link inspector by double-clicking on the link in one of the Links views Then highlight the 'appears on' page you're interested in, and click 'Locate'.

It won't show you every possible route to that link, but it will show you the shortest.

note that there's a context menu there too with these options.

You may have noticed that the link inspector and the context menus have a 'Highlight' option too. If you're having trouble seeing the link on the page, the Highlight option will do its best to open the page and apply yellow highlighter.

Monday 15 May 2017

Scrutiny plus 11 other apps for $19.99

[Edit 14/6/17] this bundle has now finished.

 Bundlehunt have just gone live with an offer that includes Scrutiny.
Choose 12 from more than 60 premium apps and pay $19.99

The Scrutiny licence is the full per-user licence for the current version, 7.3.1, usually $115.

Improvements since 7.3 include

  • Improved insecure content reporting - the table now shows all issues - secure pages which contain links to insecure ones, and pages with mixed content.
  • Manage the autosaved data and selectively trash what you don't need.
  • see all images with their file size
  • Other small fixes and enhancements

Sunday 14 May 2017

SharpResize Help, updated for v2.0

This article uses SharpResize and is updated for version 2, which creates better thumbnails. Version 2 is available shortly as beta.
In this article:

  • Opening an Image
  • Quality and Size
  • Adjustments
  • Additional Output Sizes
  • Batch Image Processing
  • Saving

Opening an Image

There are several ways to get your image into SharpResize.
  • New from clipboard using File > New From Clipboard or cmd-N
  • Drag the image onto application's dock icon
  • Drag the image onto application icon or alias
  • Drag the image into SharpResize's image well
  • File > Open or cmd-O
Tip: You can grab an area of the screen using cmd-ctrl-shift-4. Drag a rectangle and see the width and height of your selection. It's not an easy shortcut to remember but worthwhile.

In addition there are toolbar buttons for New from Clipboard, Open and Save.

Retina Screens

A note about retina screens. This is a confusing subject, pixels can refer to the number of dots within an image and the actual physical pixels on the display, or it can be used as a a measurement similar to points.

Because SharpResize is designed primarily for resizing images for the web, it will display your image at '1x' - ie the size that it would appear if you specified your size in pixels in a CSS. If you're using a retina screen, then this would obviously look fuzzy and you wouldn't be able to make proper judgement when making adjustments to sharpness etc.

So SharpResize has a setting in Preferences:

As it says, the 2x version of your image will be displayed while you're working. This setting should be auto-detected when you first run SharpResize.

If you want to save the actual version of the image that you're seeing while you're working, make sure that you have 2x selected in the Additional sizes.

Quality and size

When you open a new image, the width and height won't immediately set themselves to the size of your image because Sharpresize is about creating thumbnails, and the width and height fields may be set to the size that you want your thumbnail to end up.

If you do want to set the output size to the actual size of the image, press 'Actual' or cmd-=

If you want the resized image to have the same aspect ratio as the original, make sure the padlock  is in the 'locked' position.

If the padlock is in the 'unlock' position, then you can set the height and width to whatever you like, and you'll see additional controls relating to whether you want to crop your original image to size or add white, grey or black etc.

Resizing will be performed with Lanczos sharpening which is noticeably better than the more usual bicubic. You will see the output image displayed in the image well.
The Sharpening slider applies a further filter to further improve a resized image. Use judiciously - too much will result in an artificial look. The best setting here will depend on the image. Most pictures seem to look best with the slider about a third of the way. If the image includes text, any more than a small amount of sharpening can spoil the anti-aliasing and make the text look jagged.

Under the Output File tab, the Quality slider sets the jpeg compression of the output. (If you have the jpg output file format selected.) For maximum quality you'll also get the maximum file size but the file size can be reduced significantly (maybe halved) by backing off that slider a tiny bit below maximum.


Version 2 has more controls for adjusting the output image, and also a few filters, such as Sepia and Black and White.

Like a little extra vibrance with your sharpening? No problem.

Additional Output Sizes

The height and width fields are important, they'll set the dimensions of the primary output image for all input images.  You can now create and select additional sizes (for example, a banner-format image, or a square image, or a @2x image).  These can be relative to the original image size, or your primary output image, or have absolute dimensions.

Batch Image Processing

Version 2 allows you to drag and drop or open multiple images. They'll all be resized using the height and width that you've set and all using the same sharpness and adjustments that you've set. if you've created and selected additional output sizes, each input image will be saved with all output sizes.


You can save the image using File > Save, cmd-S or the toolbar Save button.

If you have opened multiple images, you will be asked to choose a folder for the output images (at least one output image for each that you've opened). Files will be saved with their original names. If you've chosen additional sizes for each image, the filename modifier will be applied.

There's a preference to set whether SR saves all of these images directly in the folder that you've chosen, or whether it creates a new folder with a unique name and saves the images within that. The latter method is set by default, and is less likely to cause filename conflicts.

If you have opened a single image (regardless of how many output images you want) then you'll be asked to choose a filename, and your output images will be saved with that filename, with modifier where appropriate.