Wednesday, 15 August 2018

Zazzlers: More powerful nIFTTTy Pids Scheduler released

This is the relevant section of the new nIFTTTy Pids Scheduler set-up tool page - see how the pids (top list) have been converted (bottom list)?
click the image to get to the set-up page

😢 It's bugged me for some time that the nIFTTTy Pids Scheduler could only handle 72 pids (pid = product id). It's because of a character limit imposed by IFTTT (IfThisThenThat) on the length of a feed url.

I spent ages a while ago trying to convert a compression algorithm I found to be useful in this case but it was too much (or the algorithm was buggy).

😎 Anyway, as my redecorating / refurbsishment is coming to an end (yaay!) I revisited the problem and came up with a solution (technical details at end if you're interested).

So now the (new) version of the nIFTTTy Pids Scheduler can handle up to 120 pids. It means you can have automated pinning/sharing that lasts for 10 days instead of 6 - so less work for you.

I've removed the old version of the setup tool page and replaced it with the new one - but don't worry, any nIFTTTy schedules you've already got set up as applets in IFTTT will continue to work. Once they run out, simply set up and make a new one and it'll automatically use the new, more powerful version. 😇


🤓 The techy bit, if you're interested

I ended up splitting each pid - each is 18 digits long - in two and converting each resulting "number" into it's equivalent in base 64. I checked with this converter, adding *! to the end of the character list used in the conversion. I chose those because they're safe to use in url parameters.

Each two-part converted pid is separated with _ and one pid is separated from the next with -

The feed generator simply reverses that conversion, recombining the resulting "number"s back to 18 digit pids.
Everything then proceeds as before.

What's base 64?

Picture your car's odometer - that's the one in your dashboard that shows you the miles travelled. Each "dial" has the digits 0 to 9 on it. When a dial goes past 9 it returns to 0 and the next one along to the left clicks over one position.
That's a base 10 set of dials. Base 64 uses a total of 64 characters on each dial so by the time the rightmost dial clicks over, you'll have done 64 miles. When it goes all the way round again, you'll have done 128 miles.