A Roundup of Updates to Spark, Capturing Tasks with Things 3, and More


Here are the things we published this week and last. You can also stay up-to-date by following us on Twitter and RSS .
Also, we have a weekly email newsletter that sums up all the new and cool things published to the site. If you like to stay up-to-date via email, then you should sign up here .
Spark’s Latest Updates Have Me Ditching Microsoft Outlook for Greener Pastures »

Every email client promises to fix email, but there are few email clients tackling the toughest email problems like Spark . Spark continues to grow in power and feature-set, and is increasingly one of our must-have apps on macOS and iOS.
So much so that we’re revisiting our reviews of the best email apps for iPhone, iPad, and the Mac to ensure Spark is given a new fair shake thanks to its increasingly extensive list of features. Spark is already our pick for the best email app for the Mac , and something tells me it’s going to give Microsoft Outlook a run for its money in our upcoming review update .
We Updated Our Review For the Best App for Using an iPad as an External Display »

Despite the increasing power and usability of the iPad, one of the most popular ways to use an iPad is to use it as a second display for your Mac. As the MacBook and MacBook Airs get smaller, and as the iPad Pro (at least seemingly) gets larger and larger, being able to use them in tandem to be more productive on the go is an added bonus.
This is why we think our review of the best app for using an iPad as an external display is one of our most widely read reviews. When our prior pick, DuetDisplay, started to run into software glitches and crashed more often than not, we heard loud and clear that it was time to search for a new app in this category.
As a result, we have two new picks for the best app for using the iPad as an external display. If you’re looking to use your iPad as a wireless display while on the go, Air Display 3 is our new favorite app for the cause. And if you’re looking to use an iPad to navigate around a Mac in a headless configuration, we think the Luna Display hardware option is the best option.
A Guide to Capturing Tasks in Things 3 for iPad and iPhone »
Creating a task in Things is somewhat of a big deal. Right? This is half the point of a to-do list manager: capturing to-do items. (The other half is, of course, helping you to managing those to-do items and making sure you can do the things you want and need.)
In this tutorial we’re going to go through all the different ways you can create tasks in Things 3 for iPhone and iPad .
How to Set Up and Use Hot Corners on macOS »
A great feature of macOS that we don’t discuss often is Hot Corners — the ability to swipe your mouse into a corner and have something happen. For example, your screensaver starts, notification center appears, launchpad shows you a list of apps, etc. This setting is no longer enabled by default, so many people are missing out on this great feature!
Three Apps We’re Trying This Week: April 8, 2019 »
There are many apps that grace the Mac and iOS App Stores that simply don’t get enough attention or admiration. Sometimes an app is so good at what it does, it becomes the default app for the task and is rarely questioned. Sometimes a new app debuts in a given category and, while it shows promise, doesn’t quite live up to our pick for the best in that category.
There are millions of apps to try out on any given day, but this week we’re trying Tabs to Links , Revere , and a Shortcut for Meeting Minutes in Bear and Things .
Creative Business Cards: The Key to Your Professional Success (Sponsor) »

As you probably know that business cards are nowadays considered to be an extremely effective advertising cum marketing strategy for any company. For example, a business card can excellently represent your company’s culture, values, creativity and mission. What’s more, it portrays the very first impression of your business.
Now that you have already revealed the importance of business cards, are you now interested in designing creative, impressive, and innovative business cards which can help your business stand out from the rest? If yes, then you have landed on the right page. You can now easily get your unique, distinguished, and one-of-a-kind business cards printed on the premium-quality materials. These cards not only feature an exceptional designing, but also they are soft, comfortable to use and they perfectly flaunt a great first impression of your company/business. Kindly note, the cutting edge technologies are used in order to design and print these cards with utmost precision and detailing.
Remember, creative business cards can be the ultimate key to your professional success. Order the business cards today from Elegante Press and create an impactful, long-lasting impression on your target customers in no time.

Our thanks to Elegante Press for sponsoring the site this week.


Stop losing your ideas and notes to multiple apps…

An online course to help you save time, organize your notes, and master the best writing app for Mac and iOS: Ulysses.


Get the Course…





window.rmpanda = window.rmpanda || {};
window.rmpanda.wpvars = window.rmpanda.wpvars || {};

var debug = (window.rmpanda || {}).debug || /rmdebug=1/.test(window.location.search);
var logger = {};
Object.keys(console).forEach(f => {
if (typeof console[f] === 'function') {
logger[f] = function() {
debug && console[f].apply(console, Array.prototype.slice.call(arguments));
};
}
});

function pipelistToArray(pipelist) {
return (pipelist || '').replace(/^|||$/g, '').split('|');
}

function arrayToPipelist(array) {
return '|' + (array || []).join('|') + '|';
}

function createLeaderboard(cachedPosts, dataKey) {
var leaderboard = {};
var totalRead = cachedPosts.length;

cachedPosts.forEach(function(pageview, idx) {
var pID = pageview[0]; var slugs = pageview[1][dataKey];
var score = 0.5 + ((1.0 - (idx / totalRead)) * 0.5);
slugs.forEach(function(slug) {
leaderboard[slug] = leaderboard[slug] || 0;
leaderboard[slug] += score;
});
});

return leaderboard;
}

function findLeaderboardWinners(leaderboard) {
var winningScore = 0;
var winners = [];
Object.keys(leaderboard).forEach(function(candidate) {
var candidateScore = leaderboard[candidate];
if (candidateScore >= winningScore) {
winningScore = candidateScore;
if (candidateScore > winningScore) {
winners = [];
}
winners.push(candidate);
}
});
return winners;
}

window.rmpanda.wpvars = {};

var cachedPosts = JSON.parse(localStorage.getItem('rmCachedPosts')) || [];


var categoriesLeaderboard = createLeaderboard(cachedPosts, 'categories');
logger.log("CATEGORIES LEADERBOARD:", categoriesLeaderboard);

var tagsLeaderboard = createLeaderboard(cachedPosts, 'tags');
logger.log("TAGS LEADERBOARD:", tagsLeaderboard);

window.rmpanda.wpvars.favoriteCategorySlugs = arrayToPipelist(findLeaderboardWinners(categoriesLeaderboard));
window.rmpanda.wpvars.favoriteTagSlugs = arrayToPipelist(findLeaderboardWinners(tagsLeaderboard));

localStorage.setItem('rmCachedPosts', JSON.stringify(cachedPosts));




window.rmpanda = window.rmpanda || {};
window.rmpanda.wpvars = window.rmpanda.wpvars || {};

var debug = (window.rmpanda || {}).debug || /rmdebug=1/.test(window.location.search);
var logger = {};
Object.keys(console).forEach(f => {
if (typeof console[f] === 'function') {
logger[f] = function() {
debug && console[f].apply(console, Array.prototype.slice.call(arguments));
};
}
});

function pipelistToArray(pipelist) {
return (pipelist || '').replace(/^|||$/g, '').split('|');
}

function arrayToPipelist(array) {
return '|' + (array || []).join('|') + '|';
}

function createLeaderboard(cachedPosts, dataKey) {
var leaderboard = {};
var totalRead = cachedPosts.length;

cachedPosts.forEach(function(pageview, idx) {
var pID = pageview[0]; var slugs = pageview[1][dataKey];
var score = 0.5 + ((1.0 - (idx / totalRead)) * 0.5);
slugs.forEach(function(slug) {
leaderboard[slug] = leaderboard[slug] || 0;
leaderboard[slug] += score;
});
});

return leaderboard;
}

function findLeaderboardWinners(leaderboard) {
var winningScore = 0;
var winners = [];
Object.keys(leaderboard).forEach(function(candidate) {
var candidateScore = leaderboard[candidate];
if (candidateScore >= winningScore) {
winningScore = candidateScore;
if (candidateScore > winningScore) {
winners = [];
}
winners.push(candidate);
}
});
return winners;
}

window.rmpanda.wpvars = {};

var cachedPosts = JSON.parse(localStorage.getItem('rmCachedPosts')) || [];


var categoriesLeaderboard = createLeaderboard(cachedPosts, 'categories');
logger.log("CATEGORIES LEADERBOARD:", categoriesLeaderboard);

var tagsLeaderboard = createLeaderboard(cachedPosts, 'tags');
logger.log("TAGS LEADERBOARD:", tagsLeaderboard);

window.rmpanda.wpvars.favoriteCategorySlugs = arrayToPipelist(findLeaderboardWinners(categoriesLeaderboard));
window.rmpanda.wpvars.favoriteTagSlugs = arrayToPipelist(findLeaderboardWinners(tagsLeaderboard));

localStorage.setItem('rmCachedPosts', JSON.stringify(cachedPosts));


Top News