AppleScript for DarkSky weather forecast

December 12, 2018

For a while now, me and my sister wanted to make an habit of a Thursday walk with my 🐺. Trying to actually remember it with our brains would have been enough, or we could have made an appointment in a shared calendar. Instead, I had fun assembling the following AppleScript, a.k.a. the nerdiest solution to a non-existing problem ever; I awarded myself bonus points for scheduling a cron job to run it every Thursday morning.

I’ll let the actual script, with a few comments, explain itself. Please be advised that I’m no AppleScript expert and I recognize that this script could be written better (the variable names are unusually bad for my standards), but it works and it’s enough for such a toy.

# Get local weather forecast from DarkSky for Thursday, send a local notification and an iMessage.

# This script requires JSON Helper, the most amazing app ever, that let you access JSON directly from AppleScript; it's free,  more details and download link here: http://www.mousedown.net/mouseware/JSONHelper.html
# The weather-fetching portion of this script is heavily based (read copied) on this gist: https://gist.github.com/Pe8er/a37729b8fd55a7fd5f9674103659827a
# The DarkSky API, also required for this to work, is pretty straightforward, but here's a link to the documentation: https://darksky.net/dev/docs; you can access this API for free with a limit of 1.000 calls per day, more than enough for this kind of use.


set APIKey to "YOUR_API" # Replace with your DarkSky API key


# 1. I want to know if today is Thursday, and if it's not, I want the date for the next Thursday.

set nextThursday to current date

if nextThursday's weekday is Thursday then set nextThursday to nextThursday

repeat until nextThursday's weekday is Thursday
	set nextThursday to nextThursday + days
end repeat

set {year:nextThursdaysYear, month:nextThursdaysMonth, day:nextThursdaysDay} to nextThursday

set forecastDate to (nextThursdaysYear as string) & "-" & nextThursdaysMonth * 1 & "-" & nextThursdaysDay & "-13-30-00" # I'm fine hardcoding the time, YMMV

set dateString to ((nextThursdaysDay as string) & "-" & nextThursdaysMonth * 1 & "-" & nextThursdaysYear & " 13:30:00")
set theDate to date (dateString)
set aDateObject to theDate

# 2. I prefer to feed the date to DarkSky API in Unix format (seconds since January 1st, 1970); for this to happen, a very odd thing is necessary: we need to convert it to another format and then to string to get rid of the exponential notation introduced by AppleScript. Trust me on this, it works.

set unixSecsExponential to aDateObject - (time to GMT) - (date "giovedì 1 gennaio 1970 00:00:00") # Adjust according to your locale.

set conversionString to unixSecsExponential as inches

set unixDate to conversionString as string

# 3. Now, let's fetch the forecast
tell application "JSON Helper"
	try
		set latLonDate to "YOUR_LATITUDE,YOUR_LONGITUDE," & unixDate # Replace with your location; you can fetch the latitude and longitude with https://www.latlong.net/; beware of the commas.
		set weather to fetch JSON from "https://api.darksky.net/forecast/" & APIKey & "/" & latLonDate & "?exclude=minutely,hourly,daily,alerts,flags&units=ca" # See documentations for the parameters.
	on error e
		return e
	end try
	
	try
		set temperature to temperature of currently of weather
		set weatherStatus to icon of currently of weather
		set summary to summary of currently of weather
	on error
		return "¯\\_(ツ)_/¯"
	end try
end tell

# 4. Emojis, just because

if weatherStatus is equal to "clear-day" then
	set myIcon to "☀️"
else if weatherStatus is equal to "clear-night" then
	set myIcon to "🌙"
else if weatherStatus is equal to "partly-cloudy-day" then
	set myIcon to "🌤"
else if weatherStatus is equal to "partly-cloudy-night" then
	set myIcon to "☁️🌙"
else if weatherStatus is equal to "cloudy" then
	set myIcon to "☁️"
else if weatherStatus is equal to "rain" then
	set myIcon to "🌧"
else if weatherStatus is equal to "sleet" then
	set myIcon to "⛈"
else if weatherStatus is equal to "fog" then
	set myIcon to "🌫️"
else if weatherStatus is equal to "wind" then
	set myIcon to "🌀"
else if weatherStatus is equal to "snow" then
	set myIcon to "❄️"
else
	set myIcon to weatherStatus
end if

# 5. Prepare a string with the received forecast

set weatherMessage to "Forecast for " & theDate & ": " & myIcon & ", " & (round (temperature)) & "° C"

# 6. If the weather is bad, nothing happens; if it's good enough, a local notification is triggered and an iMessage is sent to the specified contact.

if weatherStatus is equal to "rain" or weatherStatus is equal to "snow" then
	return "Sad wolf today... " & weatherMessage
else
	set messageForFriend to weatherMessage & ". Let's walk the 🐺?"
	display notification messageForFriend sound name "Purr"
	tell application "Messages" to send messageForFriend to buddy "YOUR_BUDDY@icloud.com" of (service 1 whose service type is iMessage) # Replace with the iMessage account for the recipient.
end if

GlanceCam 2.4.1

December 11, 2018

No matter how much you test a feature, bugs find a way to sail off and keep company to your code when you ship…

GlanceCam 2.4.1 has just been approved and fixes a bug that occasionally prevented the app to enter fullscreen mode and to appear in Exposè; it happened only when visibility in all Spaces was enabled, and it turns out I didn’t test those cases well enough. Sorry!

This is a good occasion to remind you that GlanceCam has a lot of convenience features and shortcuts:

  • You can double-clic anywhere inside the camera view to enter and exit fullscreen mode (and GlanceCam is a good Mac citizen at that, properly supporting split view);
  • Holding the right mouse button down zooms the window temporarly;
  • Pressing + o - changes camera, as does the Space key… and if you already know the camera number, you can access it directly with the number keys 1 through 9;
  • CMD + 0 resizes the window at 50%, CMD + 1 at 100% and, guess what, CMD + 2 at 200%;
  • CMD + S saves a snapshot to your Pictures folder and CMD + Y toggles the “Always on top” option that keeps the app floating above all others and visible in every Space.

wePads

December 4, 2018

I almost missed a post about an issue I wanted to write about again for a very long time, and now I am glad I haven’t because Dan Moren did (obviously) a much better job!

“What the iPad needs in this case is nothing less than separate accounts, linked to separate Apple IDs and iCloud accounts, providing access to each user’s individual settings, apps, and media. Each user has a separate passcode to log in to their account or, better yet, on the new iPad Pro, it simply recognizes who you are via Face ID.”

This is so true. Everybody understands Apple earns more money from selling a gizmo to every person in a household, but our favorite fruit company has never been one to deliberately compromise user experience for money; knowing that many devices, especially iPads, are shared between family members and ignoring the fact that these users are unable to access a customized Springboard, settings and iCloud data to me is nothing short of articially worsening their experience to push sales, and that’s not the Apple I love. On top of that, I believe many base storage iPads currently sold would be iPad Pros (or at lease regular iPads with larger capacity) if the device would provide full value to more users.

But these are only my opinions, and I recommend you to read “The iPad, HomePod, and Apple TV need multi-user support. Here’s why” over on Macworld for a more complete analysis.

GlanceCam 2.4 with insta-zoom + Privacy Policy

November 30, 2018

I finally got around adding a small but very useful GlanceCam feature that I always wanted for myself 😃.

Version 2.4, currently waiting for review from Apple, is great if you usually keep a small GlanceCam window in a corner of your screen to keep an eye on a camera: you can now right-click and hold down the mouse button anywhere inside the window to temporarily zoom the camera at 2x of the natural size; when you release the mouse key, the window will return to its original size and position.

No animations, no manual resizing or keyboard shortcuts necessary: just an additional, quick way to get the most out of your cameras directly from your mouse and without interrupting your workflow.

Keep an eye to the App Store to download GlanceCam 2.4 while it’s fresh out of the oven!

I also formalized GlanceCam’s Privacy Policy, so you can have absolute peace of mind about your data.

Getting started with PHP and TCPDF

November 29, 2018

For years I wondered how PHP scripts actually worked and yesterday I found out that it’s not too hard to start playing with them, as often is the case in this lucky age we live in… most answers are just a Google search away and things are only hard until we actually look at them with purpose.

First, my use case: generate PDF files in code with TCPDF. TCPDF is a well established library, with no dependencies, but it’s actually been discontinued in favor of a new version; for my needs, this mature product is fine and it’s with it that I made the experiments I describe here.

A quick way to get something running in just a few minutes is to download TCPDF from Github, extract it to a folder and open Terminal in that location; then we launch the local PHP server with just a command:

php -S localhost:8000

Now, before we can actually generate a PDF, we need to pick one of the samples from the library ‘examples’ sub folder, open it with a text editor and change the import statement to:

require_once(‘../tcpdf.php’);

Last, we load that script in Safari, pointing at a URL structured like the following:

http://localhost:8000/examples/the_example_you_chose_and_edited.php

Boom, if everything went smoothly (this post is not a real tutorial, so you might need to figure out some things yourself), that local server running in Terminal is serving you a PDF document generated from the script.

From this starting point, a lot of experimenting can follow; for instance, changing the output statement in the script to the following will save the PDF file directly to disk (you probably need to change the permissions of the folder to r/w for everyone in order to make this test work):

$pdf->Output(“test.pdf”, “F”);

If you’re interested and got this far, both the documentation and StackOverflow will help you achieve anything you desire with this library; myself, I’m happy to finally be able to look at a PHP script with at least an idea about how to run it.

One last note: obviously, you won’t usually run something like this from the php local server in Terminal… I instead use the Apache webserver that ships with macOS, also a pretty easy thing to start to play with, provided that you need to manually launch it after enabling PHP in its httpd configuration file, but that’s a post for another day.

Another tool in my belt

November 19, 2018

Today I was asked for a way, maybe a small custom iOS app with bonus points if it had a CarPlay extension, to occasionally retrieve an audio file via HTTP and play it in the car. The path for the file is known and remains the same, but the file name changes every day and it corresponds to the date in yyyyMMdd format. No need to archive the file for posterity or retrieve previous days, the goal was just a quick way to fetch this MP3 and treat it like a podcast while being on the move.

Since I remembered CarPlay apps being limited by Apple to specific use cases, I immediately gave up the bonus points and focused on the quickest way to achieve the goal. I should also confess I’m trying to reduce the number of new apps I work on concurrently, so I wasn’t excited by the prospect of opening Xcode for this…

The next idea involved a cron job, Apple Script and iTunes, plus the existing Apple Music subscription of the person requesting my suggestion: I began imagining to write a script, schedule it for running every day and either add the file as a song to iTunes and have it uploaded to the Music library in the cloud or copy the file to iCloud to play it directly from the Files app when needed. Maybe Overcast Premium could have been a part for this and resurrect the CarPlay part, but it seemed overly complicated: I was thinking of repeating an operation every day on a different device for just an occasional need.

Then I thought of Shortcuts, and boy it was easy, effective and elegant to achieve a functional solution with it!

I actually made two alternatives, spending less than 10 minutes total: one saves the file to iCloud and the other opens it directly in VLC, where playback starts automatically. Both have 3 steps and a variable to format the date, and couldn’t be simpler.

Every time I have the chance to use it, Siri Shortcuts stands out as an amazing tool for automation, with great flexibility and an outstanding approachability. It truly deserves a spot in my tool belt, and you should think of it more often too!

P.S. In the ongoing effort to add tools to my belt, I should point out that this post has been written, committed and published using only an iPad and an iPhone. This includes the screenshots placed in the device frames, made using this Shortcut made by Viticci that is pure witchcraft.

P.P.S. The more I work on an iPad, the more I believe the worst limit to productivity here is not iOS, it is the Smart Keyboard not having backlighting and switching between locales by accidentally pressing the dedicated button… but this is a post for another day.

New RSS feed

November 12, 2018

Squarespace gave me a parting gift: I have no idea how to adopt the same format I had there for the RSS feed.

So, it’s time to move on: my new RSS feed is online at cdf1982.com/feed.xml.

I apologize for the inconvenience, and hope you’ll take the time to subscribe and keep reading my occasional updates and ramblings.

New website (still under construction)

November 11, 2018

This is a post I should have written about two months ago, and I kept postponing because life, work, Xcode and Milla…

As you might have noticed, this website has looked a bit different for a while now, the reason being I decided to stop spending too much money on Squarespace, and went with a GitHub + Jekyll free solution I’m liking a lot (thanks for the inspiration, Rob!). I especially love the theme I picked, Forty by HTML5 converted for Jekyll by Andrew Banchich, because the home page now looks like a showcase for all my apps.

From a technical standpoint, the nicest thing about this change is the ability to write a markdown post on any device, commit it and have it appear on this blog. My hope is to write a bit more, and I must admit it is pretty nice to seat here on the couch, near the fire, typing on the first gen Smart Keyboard I never get to use; I still need to figure out my software setup (currently Drafts 4 saving to Dropbox), though, and inexpensive writing apps / GIT clients suggestions are very much appreciated!

As for the contents, I have to review and publish the product pages for most of my apps, so there’s still work to do, but putting a revised website online for two months without spending a word about it felt weird… I hope to remove all the ‘under construction’ placeholders immediately after the release of a new app I’m working on, PhotosUpload. More details about that ASAP but, shocker, be advised it’s a niche product…

There’s also a relatively bad thing I have to write about: in the migration, I broke the RSS feed and haven’t found the time to repair it yet, so probably I’m writing this just for myself. There’s actually a chance that the RSS URL will change, so I risk losing the few subscribers I had and write everything just for myself going forward.

Please, let me know if you notice anything not working and, if you don’t hate the content, please keep an eye open for new posts until I restore the RSS feed. Thank you!

GlanceCam 2.3 coming soon

October 3, 2018

GlanceCam 2.3, submitted today to the Mac App Store for review and hopefully available for download in the next few days, will contain some features requested by its Users:

  • GlanceCam now supports full screen mode (including side-by-side full screen with other apps); you can enter this mode by double clicking anywhere inside the app window, or with the usual green button in the upper left corner of the title bar. If you just want to maximize GlanceCam without going full screen (the previous behavior), press the ALT key while clicking the green button.

  • The Next and Previous camera actions introduced in the last update are now available also by right-clicking GlanceCam’s icon in the Dock.

  • GlanceCam pop-up list of cameras (present only when multiple webcams are configured) can now be moved to the upper left corner or at the top center of the window; that’s useful if your camera places informations like time or its name in the upper right corner, where the pop-up list used to be (and, by default, still is). You can choose your favorite position from the app Preferences.

I always appreciate Users’ feedback, and I think the features suggested recently and implemented with this update really helped improve GlanceCam in everyday use. If you agree and the app is useful to you too, please consider leaving a 5 star review and, maybe, sending a tip (you can do so from the app Preferences). Thanks!

GlanceCam 2.2 launched today

September 29, 2018

GlanceCam 2.2 has just been released!

This is a minor update that:

  • Fixes little visual glitches with Mojave: now GlanceCam, which has always had a cool dark interface, looks and works great with the latest macOS.

  • Introduces useful keyboard shortcuts to switch between cameras: just press + or the spacebar to show the next camera and, you won’t believe it, the - key to return to the previous one.

Multi-camera support (meaning, multiple cameras shown at the same time in a single window) is proving a harder task than expected, and lately I haven’t been able to work on that as much as I would have liked to, but it’s still coming…

GlanceCam 2.1

May 17, 2018

GlanceCam just introduced multi-cameras and multi-actions support in version 2.0, but there’s already something new and improved for you in the 2.1 release already available in the App Store:

  • Tooltips everywhere! If you’re not sure about a button or a field, just hover your mouse and a helpful suggestion will appear.
  • When you resize the window with a keyboard shortcut (CMD + 0, CMD +1 or CMD + 2) and the new size extends outside the screen, the resized window will bounce back to be fully visible.
  • Sometimes, GlanceCam took the “always on top” preference a little too literally, and stayed actually on top of everything, including the screensaver; now that bug has been fixed.
  • Another bug fix: in Preferences, when you added a new camera, the tabulation between textfields didn’t behave properly; now everything works as expected. I’m trying to make GlanceCam the best IP camera viewer possible, and Users’ support helps a lot; if you can, please show your love with a review on the App Store or by leaving a nice tip inside GlanceCam’s Preferences. Thank you!

🚀 GlanceCam 2.0 - the multi-cameras edition

May 8, 2018

About a month ago, I shared the plan for the future of GlanceCam, my macOS app that lets you keep an eye on a webcam and optionally perform custom actions via HTTP(s) requests.

The most significant step towards that future is here today: GlanceCam 2.0, available today on the Mac App Store as a free update for existing Users (and still very low priced for new Customers at only $ 2.99), introduces multi-cameras and multi-actions support!

I’m very excited for this feature-rich release:

You can now add as many webcams as you like (Settings > Add camera). The amount of actions you can perform for every camera is doubled: you can add up to 2 buttons with separate custom actions to every webcam. You can view one webcam at a time and switch between them with a popup button, by pressing the number keys (1, 2, etc…), and by selecting the camera name from the Dock icon or the Glance menu. From the menu bar and the Dock icon, you are also able to invoke actions for a camera that’s currently not displayed. On top of that, a few bugs have been squashed. I’m trying to make GlanceCam the best IP camera viewer possible, and Users’ support helps a lot; if you can, please tell your techie friends download it, and if you’re already a User, show your love with a review on the App Store or by leaving a nice tip inside GlanceCam’s Settings (also new in version 2.0! 🤑). Thank you!

P.S. On a personal note, GlanceCam is now my most important app and, as it deserves, it is now displayed on the home page… I’m very happy to see a new product grow, but also a little sad for the apparent “demotion” of Tasktic, my first complex and somewhat successful iOS app. I still love all my children equally, though! 😉

Mac development is (not) hard

April 26, 2018

Brent Simmons perfectly described a belief I’ve had since I started Cocoa development:

“Assuming there’s a data model, maybe a database, some networking code, that kind of thing, then you can use that exact same code in your Mac app, quite likely without any changes whatsoever.

That leaves the 20% or whatever that’s user interface. AppKit is not the same as UIKit, but it’s recognizable. Same patterns and concepts, and often similar names (UITableView/NSTableView).

Given that you’ve done the hard thing — learning UIKit, Xcode, and Swift and/or Objective-C — taking the next step and learning AppKit seems like a very small thing. You’ve climbed the mountain already, after all.”\ This has been exactly my experience: moving from iOS to Mac development has been absolutely painless, with most of the knowledge I acquired on iOS being useful and relevant, and with the “platform-specific stuff” absolutely learnable in the same way you understand how to use a new mobile framework. I don’t know if I’ve climbed the mountain already, but sure I am having fun climbing.

I expect to find harder topics along the way, but what I have encountered so far are myths and misconceptions that actually made me delay the transition to Mac development for reasons that, in hindsight, were simply bad.\ So, here’s what I learned in my spare time (while mantaining a day job in a completely unrelated field, an information I provide just to prove that this is not something that will consume all your waking hours) since I started developing for Mac six months ago:

  • You will find tutorials and Stack Overflow answers to your Cocoa questions. Yes, there might be more resources available online for iOS development, but I find plenty of quality help every time I need it.
  • Window controllers and menus are not hard; check out any tutorial out there and, if you’ve got this far, there’s no way you won’t learn how to use them; same thing for menus, open at login capabilities, menu bar utilities and so on.
  • UICollectionView/NSCollectionView are not the same, nor are UITableViews/NSTableViews, but I never need to look up the documentation for standard implementations, and when I need something peculiar, Apple provides pretty great docs.
  • Sandboxing is not painful per se, but (big surprise) can be annoying when you’re trying to do some things. That’s the reason you can disable it: in ContactsAMI, I needed to share some files between a Contacts.app plugin and the main app and, since the plugin must be sandboxed, the only solution I found was to disable sandboxing for the app and write into the plugin sandbox. Clean? Probably not. Am I distributing the app via the App Store? Nope. The app is available for download nonetheless? Absolutely, because one of the great things about the Mac is that you can get software wherever you want.
  • I’m convinced that bindings can drastically reduce the amount of lines written, but since they looked hardly debuggable to me, I chose to avoid them completely; I’m probably writing more “iOS style” code for that reason, and I’m confident it’s fine and that you can do that too, if you feel so inclined.
  • UI is hard on every platform, it’s not just a Mac thing. This is certainly the area I’m struggling the most with, but there is a pretty good reason I feel the design of my apps is somewhat inadequate: that’s because Mac apps are so well designed, the bar is up there. Your mileage may vary, I will always feel more confident writing code than designing interfaces, but the important thing is that an iOS developer already knows the tools and has familiarity with the platform, so great native UI/UXs can be achieved.

So, if you are an iOS developer who has ever considered developing for the Mac, think about this: we may never reach the mountaintop, but we already know how to walk, we’ve trained a little in the woods nearby and already bought good shoes… we might as well continue climbing!

GlanceCam 1.3 and the road ahead

April 7, 2018

GlanceCam launch went so much better than I expected, confirming that an app I built out of lazyness is actually proving useful to others (which is simply the best thing for an app developer).

So, it’s time to take stock and plan for the future.

First and foremost,** I want to thank you for the support and kind words**. Users’ feedback, word of mouth and App Store reviews (reviews that, with the new version, you can leave directly from the Support menu inside the app) are essential, and you’re helping on all fronts! Please, don’t stop…

Starting today, GlanceCam 1.3 is available in the App Store with the following changes:

  • Some IP cameras offer both audio and video in their stream; you can now enable/disable the audio from Preferences.
  • Improved reliability of window resizing.
  • Minor user interface tweaks.

With this update, the basics of a single-camera, single-action app are mostly covered. So it’s time to start thinking, and building, GlanceCam 2.0.

The next logical step, and I have already heard some feedback confirming this, is to go from one camera to multiple webcams. Doing so requires some deep rewriting, which I started yesterday, but expect this change to take a while before showing up in the App Store app.

Since I’m in the starting phase of the redesign process, there are a few decision to make, and I’ll really appreciate your opinion about 3 possible approaches to multi-camera:

  1. Would you like GlanceCam to remain a single-window application, showing one camera at a time, and switch between cameras with buttons / keyboard shortcuts?
  2. Do you prefer to be able to open a separate GlanceCam window for each camera, rearranging and resizing them separately?
  3. You’d rather have a single window showing multiple cameras (i.e., a 2x2 layout, or 5 cameras stacked one above the other in a tall window)?

At least initially, I am probably going with #1, unless your feedback points me in a different direction: approach #2 seems nice on paper, but it can get really messy on your desktop if you have 4 cameras open in separate windows, and #3 poses some hard design challenges… a 2 camera layout should be very different from a 5, and some arrangements like the vertical stack are good for taking a glance with relatively small videos, but not great for resizing to a large view.

If you have an opinion on this, even if you’re not currently a GlanceCam user, please let me know on Twitter or via email!

I’ll do my best to build a great 2.0, wish me luck!

How to symbolicate macOS apps crash logs

April 6, 2018

Alternate title: TIL Xcode does not symbolicate Mac applications .crash files, that only works for iOS apps.

I made a pretty obscure mistake in GlanceCam 1.3 that lead to a crash during its app review.

I’m very sorry for wasting app review some time (they have been amazing, both understanding and allowing an hedge-case for sandboxing and giving GlanceCam lighting fast reviews, usually less than a day!) , but they have been so kind to attach a crash report and I had to symbolicate it (“Symbolication replaces memory addresses with human-readable function names and line numbers”).

Having done that a few times in the past directly in Xcode, I went straight there, but as I mentioned above, no luck. There’s plenty of resources online on how to do that “by hand”, but I want to point out a couple, very useful, solutions for other fellow developers:

Bob Matcuk’s gist perfectly describes all the steps to manually symbolicate a crash report, including checking the build number; this involves using the atos command in Terminal, which is not bad at all, but it can get a bit repetitive if you want to check more addresses (lines). Tomaz’s Symbolicator is a Swift Xcode project that compiled right out the box (sometimes, with Swift the language fast-paced evolution makes you work a bit before a project from the Internet actually builds) generating a very easy to use command line application that automatically fetches the DSYM files from the Xcode archives and overwrites the crash report with functions and line numbers that a simple human being like myself can actually understand.

GlanceCam 1.2

April 4, 2018

I’m very thankful for how well the launch of GlanceCam is going: being another niche product, I wasn’t sure there would be a market for it, and instead the number of sales has so far exceeded my (modest) expectations. Thank you!

Here’s what’s new in GlanceCam 1.2, already available on the Mac App Store:

  • You can now save a PNG snapshot of the video to the your Pictures folder by hitting CMD+S, clicking the Save icon, or selecting “Save snapshot” in the File menu.
  • GlanceCam didn’t restore the window size and position between sessions; now that bug has been fixed, and it will stay just where you want it on your screen every time you launch the app.

Thank you for using GlanceCam! If you know someone who might find it useful, I’ll really appreciate the word of mouth!

🐣 GlanceCam 1.1

April 1, 2018

A quick update to GlanceCam… Version 1.1 introduces:

  • New keyboard shortcuts for resizing the window to 50% (CMD+0), 100% (CMD+1) or 200% (CMD+2) of the original stream video size.
  • A bug fix: GlanceCam 1.0 prevented the screensaver from starting; now the screensaver works as expected, and the video stream is paused not only when the app is minimized in the Dock, but also whenever the screen is locked.

You can find GlanceCam 1.1 on the Mac App Store.

Happy Easter! 🐣

GlanceCam is here

March 29, 2018

I’m glad to introduce another nerdy and niche Mac app: starting today, GlanceCam - IP webcam viewer is available on the Mac App Store.

GlanceCamIcon256.png

GlanceCam is a highly configurable app that lets you keep an eye on an IP camera (webcam) and optionally perform custom actions via HTTP(s) requests, all without a browser.

GlanceCam is a product of lazyness: one day I found myself alone at the office and I had to get up from my chair a bazillion times, like an animal, to open the front gate. So, the most “straightforward” thing to do was to get ourselves a nice IP camera and an ethernet relay, and make them work together in a well made macOS app, so that we can keep a small window showing the gate video stream on our desktops, and open to visitors with just one clic.

You can read more about what GlanceCam can do for your Internet of Things setup, and learn about its hardware requirements, here; if you’re intrigued, you can already purchase GlanceCam for only $ 2.99 on the Mac App Store.

Introducing ContactsAMI

February 1, 2018

Some say that the most useful apps are made to fulfill a need of their developers. That’s certainly the case for ContactsAMI, a simple utility that I made to save myself a lot of time.

I’ve recently installed a VOIP PBX and phones at work (in the next few weeks I plan to write a brief tutorial about that, for beginners like I was 3 months ago), and finally something I’ve always wanted was within reach: dial a phone number without typing it on the phone, something we do with cell phones but seems so hard on desk handsets.

Enter ContactsAMI, a macOS app that lives in your menu bar with a complimentary plugin for your Mac’s default Contacts app.

With ContacsAMI, you can initiate (originate, for Asterisk connoisseurs) VOIP phone calls using your existing PBX supporting AMI (Asterisk Manager Interface): just select who you want to call and your VOIP phone will start ringing; when you’ll pick up, a new phone call will be made to the contact you selected.

ContactsAMI is now available to anyone who wants to leave the past behind and never type a phone number again.

You can try ContactsAMI for free for 7 days and experience its convenience while verifying that it is compatible with your setup; if the trial will convince you that typing phone numbers is archaic, and it absolutely is, you’ll be able to purchase an unlimited license for just $ 9.99.

Never type a phone number again, let ContactsAMI make your calls!

Best of 2017

December 30, 2017

It’s been a while since the last time I wrote here, so I thought to stop by and do something different for this New Year’s Eve: instead of posting my favorite things of 2017 on Twitter, like I did last year, I thought about making my “best of” post a bit more permanent here on the blog.

I’ll start by saying that, as far as music, movies and TV, I believe my picks for 2016 where stronger and will resist to the passage of time better than this year’s, and overall I think 2017 hasn’t been the best year possible for entertainment. Or almost everything else.

On the other hand, this year I’ve listened to so many amazing podcasts, making a selection was terribly difficult and, while I believe I picked my favorites, there’s so much good stuff out there, and so little time to listen to it, that I should probably write more about the podcasts I enjoy in the future.

But let’s start. Please add drumrolls after reading every category.

Best song: Dear Hate, Maren Morris & Vince Gill

Best album: Melodrama, Lorde

Best book: Raven Rock, Garrett M. Graff

Best movie: Dogville (I know, I know, it is 14 years old… but I never saw it before; it would be really hard for me to pick a really good 2017 movie… maybe Gifted)

Best TV show (debut): Godless (I know, a western… who would have thought?)

Best TV show (continued): Halt and Catch Fire final season… it started slowly but concluded a great show perfectly

Best podcast: NPR’s Up First

Best tech podcast: Welcome to Macintosh, and especially episode 15 The Orchard

Best investigative reporting podcast: I’m stretching the category a bit and choose What Trump Can Teach Us About Con Law

Best news article I read: How science found a way to help coma patients communicate

Best videogame: an easy one… Super Mario Odissey

Most moving TV moment: without a doubt, this MSNBC interview with Vice President Biden

And that’s all… here’s to a great new year and best wishes!

Magic

August 3, 2017

The last few days were so exciting: Steve Troughton-Smith dug into a mysteriously early public release of HomePod’s firmware and found proof that a new iPhone Pro - codename D22 - will have face unlock, Guilherme Rambo discovered the actual device icon confirming the very much speculated edge-to-edge design, and from there Allen Pike made some incredibly thoughtful mockups of how iOS could change to better suit the new form factor, and Mad Rudberg built upon his work with 4 hypothetical designs for the top notch and the bottom of the screen.

I’ve played along, retweeting and commenting. Federico Viticci is right:

“I haven’t felt this excitement around the new version of an iPhone from the design and developer community in years.”

All this time, while appreciating the amazing investigative work and design skills displayed by the tweets and blog posts linked above, I also felt a little uneasy… I kept thinking about what Phil Schiller said to Gruber during The Talk Show Live from WWDC 2017:

“At the end of the day, it’s really great when your team has worked so hard… a couple years of your life on something… and you get the opportunity to have Craig, me or someone else present it…”

Craig Federighi was even more explicit:

“They get really angry when one of these [leaks] happens.”

And now I wonder: what have I gained by knowing about this new design and exciting features 1.5 months earlier? Would I have been happier knowing most details of the iPhone on January 8, 2007? Is all this speculation fair to the people working so hard on these products we love so much?

Let me be clear: I don’t criticize Steve, Guilherme, Allen and Mad for what they have posted in the last few days. I absolutely don’t. I have retweeted their work, thought about it more than it was reasonable and publicly commented their findings as facts (I believe they are), so if there’s guilt in this process, I’m no innocent.

The fact is, Apple events are so well crafted that, if you’re into tech and don’t know about a product in advance, they feel like magic. Honestly, I felt a little less magic and excitement in the last few years, because I knew so much in advance. Boy, in 2014 I told a friend a new programming language was coming days before WWDC, and I’m not good at predicting things…

I know it’s impossible to avoid leaks, both from Apple’s standpoint - no matter how hard they try, it’s still a huge operation with thousands of people involved and tens of millions of devices manufactured before launch - and from mine as a devote user (should I disconnect from the Internet for three months? Stop reading the websites I enjoy the most?). I am also aware that this scrutiny comes from a deep love for Apple… it’s doubtful things will change in the future, I don’t have a solution to suggest and probably most people would not like more secrecy.

Still, I really feel for Apple’s Teams working on new products (just think at the poor guy who published the HomePod firmware 😱), and it would be so nice to feel the same magic again during a keynote…

Nǐ hǎo Walk More 1.2

July 24, 2017

After an amazingly quick Sunday app review, Walk More 1.2 is here. Download it for free and tell your friends about it!

This new version introduces two localizations, Simplified Chinese and Italian, and the possibility to brag about your steps count via the iOS share sheet.

A quick note that will probably be of interest only for other fellow developers: before submitting, I’ve noticed a warning in iTunes Connect regarding my in-app purchases. Turns out that consumable IAPs that remove ads need to be replaced, since Apple wants that kind of behavior to be restorable and available across devices, which completely makes sense. So, I kept the good and great “tip” in-app purchases (changing their tiers to the alternate categories with round values in the process) and replaced the “small tip” with a new “remove ads” non consumable IAP before submitting version 1.2. The approval process went smoothly, even though after submitting I worried about the lack of a restore button, usually requested for restorable purchases (I’ll add it in the next version, just to be safe).

After this minor update, I have quite a few ideas for Walk More’s future, but they’ll be put in the parking lot™️ for a while: my August will be completely focused on the development of Tasktic 2.0.

An iPad, multiple users

July 19, 2017

This year Apple gave a lot of love to iPads: we’re all in awe for how well they’ve implemented drag and drop, and I’m personally even happier for system-wide markup.

The new iPad Pro 10.5” is probably the best incarnation of the most versatile tablet form factor, and the combination of a Dock and an app switcher that both feel very Mac-like and platform native at the same time made this WWDC one of the best Apple events ever for iPad users.

There is one thing, though, that iOS still misses, and it’s something the operating system always had under the hood: the ability to allow multiple users to use the same device with a separate environment, giving each person in a family access to her own data, apps and settings. They made something last year for education, but it was pretty limited in scope and a bit different from regular users’ needs.

I am not saying that adopting multiple logins would be an easy feat for Apple, nor that it would be viable on all devices: since iOS apps save data inside their own app containers, I guess it would be a serious challenge for Apple engineers and app developers, and many devices haven’t enough disk space to allow the comfortable coexistence of different people on one device. The list of problems wouldn’t stop there: Touch ID would certainly be a requirement for quick user switching, inter-user document sharing would soon emerge as a need… the list of challenges would be long indeed.

Maybe more important than the technical reasons, which I believe Apple would be able to overcome in a reasonable amount of time if they decided to put their technical resources at work, I’ve read in the past that our favorite fruit company would never allow multiple users on the same iOS device, since iPhone and iPads are very personal appliances, and it’s also good for business to have each family member to buy a separate one. This is an argument I don’t buy: while it actually makes perfect sense for every person who can afford it to have a personal smartphone, for many households a tablet covers completely different needs, and actually most families can get by with just one iPad, and they are doing it right now.

I actually believe allowing multiple users on iPads would be great business for Apple, given how many old tablets are still around since they are already so good people don’t see the need to update: make iOS 12 accept multiple users just on iPad Pros (they started at 32 gigs from the beginning and all have Touch ID and a lot of processing power), and you’ll give families the most compelling reason to buy a much more expensive device (the 10.5” Pro costs almost twice as much as the new iPad, which by the way is almost too good for that price point, posing a challenge right there for Apple revenue, since it could be very tempting for most users to renounce Pencil support and some other advanced features in order to spend significantly less money).

This ship has sailed for iOS 11, but the silver lining is that now Apple has almost a year to make it happen the right way, just like they did with drag and drop.

Core Data + cloud sync = dilemma

July 11, 2017

My friend Becky recently wrote a post about the dilemma she’s facing with a new, interesting app she’s making.

She likes Core Data, and would like to use it for her project; she also wants to add sync capabilities, as that’s a requirement for most modern apps.

Here lies her dilemma. And my dilemma. And many developers’ dilemma… There’s no clear path towards a Core Data app with cloud sync.

sync_is_hard.jpg

Becky doesn’t want to use Core Data + iCloud since it’s deprecated. I might add, I don’t want a friend to use it, because I value her sanity… when I was setting up Tasktic’s sync mechanism, I spent 4 months and 3 complete rewrites before realizing my code wasn’t the problem: it was the actual API that was an almost un-debuggable black box that sometimes, very rarely but still too often, lost an object during the sync process with apparently no reason, and no way to get it back.

A few weeks ago, I suggested Ensembles to Becky, since it was the solution I adopted for Tasktic and given how well it behaved for me, restoring my sanity after those awful 4 months. But the free version of Ensembles still uses Core Data + iCloud under the hood***, so it’s not very future proof given the deprecation mentioned above, and on top of that there’s a more modern, faster solution provided by Apple that everybody want to use: CloudKit.

CloudKit is very tempting because everyone has experienced how fast and reliable it is with Notes.app and Photos.app for macOS and iOS; the most important thing for an app that sync is to never, ever lose users’ data, and CloudKit passes that test with flying colors. It is also very modern, with private/public data, web support via CloudKitJS, and most important, it is what Apple has chosen for the future, and following Apple’s lead is always a good idea.

The thing is, in order to get CloudKit to play nice with Core Data, you have to write most of the sync logic yourself, converting NSManagedObjects to CKRecords, handling updates, reacting to duplication, etc. It can be done, and many developers do it “by hand”.

As Becky notes, it can also be done via libraries like Seam3, which is currently the best open source implementation I found (and I looked really long and hard) of a Core Data - CloudKit bridge, albeit only if you don’t have many-to-many relationships in your schema…

The fact is, I really don’t want a dependency for my sync code anymore, especially when starting a new project. If I were willing to accept the risk of my sync code being abandoned someday in the future, I might as well look into Realm (not that such a loved mobile stack is going anywhere, but as we’ve seen in the past, companies get acquired, or sometimes move on to different projects…).

Where does this leave us? To Apple, of course.

Apple made such an amazing object graph and persistence framework with Core Data, and a fantastic syncing backend with CloudKit. They never connected those dots officially, though.

Becky’s post reminded me of something I really wanted (needed) for a really long time: an Apple sample project showing their idea of the best, most modern and Swifty implementation of Core Data for local persistence + CloudKit for sync implementation.

This is a step they really should take: while it’s great that they provide sample projects for ARKit, data persistence and sync is top priority for a lot of developers, and it would only be appropriate for Apple to show how they think a “great” implementation should look like.

So, if you have a friend who works at the best fruit company in the world, pass along the message: the indie developer community, and especially us beginners, would love some help in this area!

** This is true only if you want to stick with native cloud solutions, like I prefer, otherwise you can also pair Ensembles with your own backend or use Dropbox: the great thing about Ensembles is that it’s actually backend agnostic, but for CloudKit you need Ensembles 2, which isn’t free and so it’s not an option for most indie developers like myself.

App Store reviews, no authentication required

June 10, 2017

A few weeks ago I’ve realized that Apple made a huge improvement to the App Store user review system, and I haven’t seen it mentioned anywhere: we can now leave ratings and reviews without authentication! No password required, no Touch ID… just tap Write a review or simply the stars.

Maybe this has been around for a while and I didn’t notice, but if you haven’t realized this was possible too, there’s never been a better time to leave a review for your favorite apps!

Walk More

June 7, 2017

As I announced earlier this week, I submitted a new app to Apple.

Walk More: powerful pedometer for step counting is my fourth app and it is available for download.

Walk More is a simple iPhone app with a dynamic dark look and lively orange accents. It helps you to keep track of:

  • Every step you take when you have your iPhone with you.
  • The distance you walk (in miles or kilometers).
  • How many stairs you climb (iPhone 6 or newer required).

You can set a daily goal, see your progress inside the Notification Center widget and review your statistics and top results with the help of simple graphs.

Walk More is free, and you should download it right now: seeing your progress every day can really help you achieving a healthier lifestyle!

WWDC 2017

June 6, 2017

Some thoughts on yesterday’s Keynote and Platform State of the Union:

  • Appocalypse intro video: not particularly funny, but the ending message “Keep making apps. The world is depending on you” was a nice touch and a good way to kick off a 2+ hours developer (-ish) event.
  • tvOS: as expected, just the Amazon Prime announcement, but I’m pretty sure a 4K Apple TV is coming this fall, so yesterday wasn’t this platform’s day…
  • WatchOS 4: the new Siri face is very Googley, and the trippy one was designed by the same team who picked the name for macOS High Sierra; but the night notification containing a specific nudge (“you need a 12 minutes brisk walk to reach your goal”) to fill the rings is a very nice touch.
  • macOS High Sierra: I kept thinking they were replaying the 2014 WWDC naming video, but they actually went with macOS version 4:20 🙄. Anyway, not a lot to see on a mature operating system (though, a tablet mode for iPad Pro connected to Macs would have opened the doors to some cool new workflows), but that huge blow at Google with Intelligent Tracking Prevention is Apple at its best: protecting its customers’ privacy. It’s worth noting that starting next year Apple will begin abandoning support for 32 bit apps (which is already true in iOS 11).
  • Macs: Kaby Lake across the line is good news, albeit a little late; getting iMacs to be able to execute (and create) VR content was long overdue. The iMac Pro sure will be a beast, and it’s priced accordingly; I’m very happy to see Apple commit to a niche pro machine, but I have no doubt that its specs confirm that they were determined to drop the Mac Pro ‘til a few months ago… and it’s a good thing they reversed that decision, because a 5.000 $ (more likely, a 6.500 $) pro machine without user replaceable parts makes very little sense to me… It would have been cool if they went with a bigger, curved screen for the pro model (32 inches? 34?), but at this point it’s pretty safe to assume that curved Macs won’t be a thing.
  • Metal 2: the interwebs picked a better name, Heavy Metal. It seems really nice, but I bet VR developer would have liked at least a mention of OpenGL.
  • A wireless keyboard with numeric keypad: finally, we have the technology 😱. Sadly, it’s so advanced this futuristic device has to cost 129 $…
  • Apple Pay: direct money transfers between users just raised the level of the ocean: it was VCs funding Venmo & co. crying.
  • Siri (and machine learning, machine learning, machine learning everywhere): I think they are being cautious touting new Siri capabilities at this stage, but I’m pretty optimistic. The translation part was cool. I would have expected a few more new intents, but I got what I wanted 🤐, so I’m cool…
  • iOS 11 on iPhone: I like the new lock screen, and this could be their chance to make it a bit customizable (change the default calculator app, place a HomeKit button in the main view…). I expected a more substantial, system-wide redesign, but as they made clear in the Platform State of the Union, the Music-style big headlines are now available to everyone almost for free, and Apple uses them in most of their apps (they should fix this, though…), setting the new platform standard. The car DND is a very nice and safe idea.
  • Augmented Reality: very cool demos (the table one was amazing, but my arms hurt just watching the presenter hold that iPad for so long), I’ve never seen this resolution and realistic effect in HoloLens videos. This should be one of the major headlines today: Apple went from 0 to 11 (see what I did there? It’s the joke of the week!) keeping their work completely secret. This should probable silence (it won’t) all those critics voicing concern about Cupertino’s position in AR and VR (which too they acknowledged more than ever in the Mac part, confirming they are aware that it’s one of the next big things, though maybe less huge than many expected).
  • iPad 10.5”: I would have expected something a bit bolder on the design front, or at least a few new colors, but it’s still a great device. I use my mother’s 12.9 iPad Pro pretty often, and while I like it, it’s really, really big and heavy. This will probably be the best iteration ever of the original form factor, which happened to also be the perfect one. The six-core A10X is cool too.
  • iOS 11 on iPad: this is a huge step forward. Obviously, it’s not like computers never had drag and drop and file managers before 💁‍, but they seem really well implemented, and drag and drop is also really easy to adopt on the developer side. I also liked the Dock implementation and the new app switcher. All those features and the system-wide markup capabilities really got me excited about using the iPad more… I think that 12.9” will be the first device I’ll install the beta on, when the next version will be released (I’m not *that young and reckless anymore…).
  • HomePod: first, I dig the name, and I don’t think the price is excessive (I paid that exact amount in 2006 for the iPod Hi-Fi, and this thing does a couple of things more…). I’m curious to see how it sounds, and also to see it in person, because I’m not particularly impressed by its design. Given what they showed feature-wise, I don’t think it’s a device I’m interested to buy at this time, but of course they would be the only company I trust with a microphone in my home.
  • Swift Playgrounds on iPad: really neat stuff that I should probably check out.
  • Xcode 9: Apple’s IDE in my opinion was the absolute star of the Platform State of the Union. They seem to have fulfilled almost every possible wish a developer could have had: new source editor, faster indexing and compile times, clearer warnings (no dots anymore!), amazing refactoring capabilities, wireless deployment to test devices, Swift 4 adoption not mandatory when opening a Swift 3 project. I’m in love 😍, and I can’t install it because my 2008 Mac Pro can’t run Sierra or Fully Baked Sierra 😭.

I can only express my congratulations to the teams at Apple that made all this (and the many things I forgot to mention) possible. Thank you!

With so many sessions bookmarked to watch, this will be a fun week…

  • Squarespace doesn’t let me use the boy emoji…

It's been a while...

June 5, 2017

The last post here on cdf1982.com was appropriately named “Cultivate bad ideas”, and I have indeed pursued a lot of ideas in the last 8 months.

One (me) might actually say that I have bitten off more than I can chew, considering my day job and other personal commitments…

To be specific, I have worked on - and skillfully avoided completion of:

  • Tasktic 2.0 (80% done, but the last 20%… let’s just say it will take a few more months to release it);
  • A new Apple TV media player (currently nothing more than a stub);
  • Walk More, my take on pedometer apps (more on that later);
  • A secret project;
  • Setting up a Virtual Private Server, just to see how hard it was (it’s not) and to be prepared for future needs.

I believe that all those ideas are good and worth pursuing, just not all at the same time.

So, today I submitted Walk More to the App Store; I would have liked to add a couple more features to version 1.0, but tbh the core functionality is there (and has been for months), as is the overall look and feel of the app (which I very much like), and it’s time to start shipping products again.

Reaching the release of an app, and placing another (the media player) in the parking lot, will free up a bit of mental space and, also important, should stop me from feeling guilty every time I think of opening TextMate instead of Xcode: I completely stopped blogging in the last months because I tried to prioritize software development, but writing more commentary posts about tech news was one of my goals for 2017.

So, let’s start WWDC week planning to watch a lot of sessions, blog a bit more and focus all my development work on one app at a time (starting with that secret project mentioned above)!

In the meantime, I’ll let you know when Walk More will be available for download… please let me know if you’ll enjoy it!

Cultivate bad ideas

August 17, 2016

I don’t usually link to articles and blog posts here, but Shawn Blanc’s You have ideas today is really worth your attention and time:

“Out of ten thousand ideas, only one of them might be truly great. If you sit around waiting for the great one, how are you going to get it?”

— Shawn Blanc

Laying the foundations for the future: Tasktic 1.5

July 25, 2016

Later today Tasktic 1.5 will be available for download on the App Store as a free update for all our Users.

We have no revolutionary features to announce today, but this is a good release: under the hood we’ve worked long and hard to adopt new technologies (a new version of Swift, iOS 9 and watchOS 2 capabilities, updated libraries and a crash reporting and analytics system that’s respectful of our Users’ privacy, as we’ll describe in detail later) and to lay the foundations for the future development of Tasktic.

Here’s a quick recap of what’s new and what is improved in Tasktic 1.5, plus a few details about our thought process on important questions like analytics and App Store reviews:

  • Tasktic now works with iPad multitasking modes (of course, only on devices that support them), so you can be even more productive. We’ll look forward to your feedback on this much requested feature.

  • Tasktic for Apple Watch has been rewritten for watchOS 2 and now it is much faster!

  • While the free version of Tasktic is powerful enough for many Users, we’ve made Tasktic Pro more affordable for students, veterans and unemployed people: the new Tasktic Pro Value Edition offers everything (every. single. feature.) Tasktic Pro does, but for an even lower price. This is purely based on trust: if you’re a student (from first grade to college / university, age doesn’t count, it never does), a veteran or you are currently looking for a job, and you’re interested in the advanced features of Tasktic Pro (recurring tasks, multiple tags, statistics and achievements, export to file, overdue tasks in Tasktic Today and Tasktic for Apple Watch, etc.), you can get Tasktic Pro Value Edition - as usual, buy once and use forever on every iOS device you own - and enjoy those features for an exceptionally low price. If you’re not part of those categories, please purchase Tasktic Pro or, if you feel like it, show us your love and buy Tasktic Pro Big Supporter (as over a quarter of our customers do)!

  • Starting from this release, Tasktic requires iOS 9 and watchOS 2; we’ve supported iOS 8 and watchOS 1 for as long as possible, but with less than two months to the introduction of iOS 10 and watchOS 3, and with so many interesting features that were precluded to us by our legacy support, it is time to move to the current versions of Apple operating systems.

  • We’ve squashed some bugs: one prevented the task selected in Tasktic Today, inside Notification Center, from being opened by the main app; another, in Tasktic Share, caused both buttons to show the same “Cancel” label instead of “Save to Inbox”… and we’ve also made other minor bug fixes (some rare issues caused by iOS 8) and improvements.

  • Adopting the latest versions of iOS and watchOS is part of our continuous effort to get rid of every single bug and, Heaven forbid, crash. To accomplish this goal for our Users and move Tasktic forward, we’ve realized we need a little more knowledge about crashes and what happens within the app (meaning, which features and sections are most popular and which need more work, but not of course the content you save in Tasktic). As we’ve always said, and we’re proud to repeat today, we’re committed to completely avoid being creepy with your data; not only we don’t have access to what you save inside Tasktic by design, we don’t even want to know who you are: you purchase Tasktic directly from Apple on the App Store and you don’t need to create an account, nor provide personal details such as name, payment informations or email, to use Tasktic. Having said that, we think we’ve found a great balance between getting useful, anonymous and aggregated statistics and respect our Users’ privacy by implementing Fabric, Twitter’s well respected and secure developer service for analytics and crash reporting that has been an essential part of many popular apps (Spotify, Foursquare, Pinterest, Evernote, Overcast… it’s a long list!) for years. Let us be clear at risk of repeating ourselves: starting with Tasktic 1.5, we’ll use Fabric only to collect anonymous and aggregated crash and usage informations; no personal details about the content of your tasks (task names, notes), project names, tag names, etc. is collected with Fabric or in any other way. We can’t connect any information with a specific user, nor we want to. Most apps need this kind of generic informations, and we believe we’ve found a way to improve Tasktic and feel good about ourselves at the same time; if you’d like more informations about this change, please take a look at our updated privacy policy and don’t hesitate to contact us for clarifications!

  • We get a significant amount of positive feedback (and many great suggestions / feature requests, all of them really precious to us) from our Users, especially via email, but honestly the number of reviews in the App Store has constantly been a bit low. We know the process of leaving a review for an app is slightly painful, we’ve written about it before, but Users’ feedback really makes or breaks a product in today’s App Store… so we’ve decided to be a little more proactive (hopefully not annoying) asking for reviews inside Tasktic. As anybody else, we don’t like to be prompted for reviews whenever an app starts and then again every two minutes, so that’s not what we have done before, nor it is what we’ll do from now on: up to Tasktic 1.4, we showed you a subtle reminder for the review only inside the first view, on the background of Tasktic Today, and only after you completed at least 3 tasks in one session and had no more tasks left for the day… so many conditions, chances are most of you never even saw that request. Starting with Tasktic 1.5, we’ll show you a quick prompt for review after you complete 3 tasks in a session and you haven’t been asked about it for the current release (it is important that users review new versions of the apps they love, since the App Store resets the “stars” for every new release, almost punishing updates) or you chose to be reminded about it later. If you agree to review Tasktic, you’re our new best friend; if you tap “No”, we’re still friends, but you won’t be asked to leave a review again until the next version. But seriously, we need your reviews! As mentioned before, you can also tap “later” to dismiss the alert without refusing to review the current version and you’ll be asked again the next time you open the app and complete 3 tasks in a row.

So, as we said earlier, this isn’t a feature-packed release, but it opens the way for a lot of features and improvements we plan to introduce in the next months. And since you’ve read so much, a sneak peak is in order: when Tasktic 1.6 ships in a few weeks, you’ll love to work with Tasktic at night.

As usual, thanks for your time! Please subscribe to our RSS feed to never miss an update and, if you have any question, please contact us at tasktic@cdf1982.com or send us a tweet at @TaskticApp, we love hearing from you!

Tasktic 1.4 with recurring tasks

June 15, 2016

Since launch, the most requested feature for Tasktic has been the possibility to repeat tasks. I assume this is because we all want to pay our bills on time, and maybe reinforce a few good habits.

I’m happy to announce that Tasktic 1.4 is now available in the App Store, and it finally introduces recurring tasks for Tasktic Pro and Tasktic Pro Big Supporter.

Recurring tasks are conceptually harder than they seem: do you want them to repeat forever, or until a certain date? Is the repetition frequency set in hours, days, weeks or months? Do you want to repeat a task every Friday and Sunday on odd weeks? Does a task repeat if its previous instance hasn’t been completed yet, or it stays overdue and does not notify you again?

I believe Tasktic 1.4 answers to those questions are reasonable and flexible:

  • You can configure certain activities to repeat, both when you create a new task or when you edit an existing one. By default, a new task does not repeat unless you decide it to.

  • Tasks can repeat every n hours, days, weeks or months.

  • When you select a task to repeat with weekly frequency, you can pick on which weekdays (Monday, Friday, etc…) it will repeat. And of course you can select multiple weekdays.

  • You can create a monthly recurring task today and set its first due date 4 months in the future; the first due date acts like a “start date”, so you’ll be notified of this task for the first time in 4 months, then again 2 months later, and so on…

  • By default, a task repeats forever, until you disable the repetition or delete it. But you can also set an end date, after which the task will not repeat.

  • A recurring task can have a reminder (visual and audio notification), or can repeat without notifying you: if you enable the notification when creating a recurring task, all its subsequent instances will also have a notification.

  • A task repeats if you completed its previous instance, otherwise it stays overdue. This is really important and deserves an example: let’s say you created a “read a book”task, with a reminder, that will repeat every Saturday morning at 10.00.\ The first Saturday comes, Tasktic sends you a notification and you remember to read a few chapters of that great Grisham novel; then you mark the task as completed, and immediately a new copy of it (completely identical, except for the due date) is automatically created by Tasktic for the next Saturday. A week later, as expected you receive a notification, but this time you’re too busy playing You Must Build a Boat on your iPhone and skip the task. At this point, the “read a book” task stays active, and overdue, in your list of uncompleted activities, so you can maybe complete it later. But You Must Build a Boat is such a good game, and in the next week you do nothing but playing with it; when the next Saturday comes, you DON’T receive a notification reminding you to read. Why? Because you didn’t complete the previous, overdue instance of the task, so a new one hasn’t been created. When you think about it, this approach makes absolute sense, but it is important that you are aware of this behavior when planning and completing your recurring tasks.

  • When you complete an overdue recurring task, its next instance might be in the past, because Tasktic doesn’t skip occurrences: let’s continue with the previous example and say that after another week you finally beat You Must Build a Boat in hard mode; now you have a life again, and you catch up with reading, so you finally complete that overdue “read a book” task from two weeks ago.\ After that, Tasktic automatically creates the next instance of the task, but the next “read a book” task is also overdue, with the due date set to the past Saturday, and not the next one. Why this behavior? Because not all tasks can actually be skipped for a week without consequences, and it’s not Tasktic job to decide to omit one or more occurrences of a recurring task.

  • Of course, you can edit the repetition parameters for an active (uncompleted) recurring task every time you want, and the new settings will apply from that moment going forward. So if you skipped a few weeks of an activity (no judgment, we all do), you can edit that task and move its next due date to a future date, when you actually want to be reminded about it.

  • When you’re configuring the repetition parameters, a dynamic label at the bottom of the screen will tell you in real time how often this task will repeat and when its first occurrence will be.

  • Last but not least, we’re introducing two new fanTasktic buttons to help you recognize recurring tasks at a glance:

This task will repeat

This task will repeat

This task task will repeat and also has a due date

 This task task will repeat and also has a due date

Recurring tasks might sound complicated, but actually they’re not: Tasktic behaves the way you would expect it to, but I believe a detailed explanation of the thought process behind every decision was in order for such an important feature.

I suggest you to create a couple of recurring tasks to familiarize with Tasktic’s new capabilities, and in case you need help, you can find a tutorial inside Tasktic’s Settings, and of course you should not hesitate contacting us via email or Twitter.

We took our time to ship recurring tasks in a way we felt complete, powerful and clever; we hope you’ll enjoy this feature. If so, please take the time to leave a review in the App Store: they really make a difference!

Tasktic reviews roundup

April 24, 2016

This is a post I have postponed for a while… I’m not sure if I was trying to be humble or if I was too absorbed by a couple of projects (recurring tasks coming soon in Tasktic 1.4 and the new app we just launched, Always There), but here we are…\ I want to take a moment and tell you about the amazing feedback Tasktic received in the last few months, after the first reviews roundup I published last November:

  • As you might have read before, last Christmas was very special for us, since Tasktic made it into the Top 10 Tech section of Product Hunt. We’re still amazed, proud and motivated by this acknowledgement.

  • On December 28, 2015 AppGratis.com team chose Tasktic as the app of the day and wrote that “luckily there’s Tasktic, a powerful task manager set to turn your productivity up to 11” by creating tasks that can be “as mundane as a reminder to water a plant or as long-term as investigating the rise of the robots. Either way Tasktic is the app for the job”.

  • The Daily Telegraph Sidney wrote about Tasktic in the newspaper published January 13, 2016: “If ‘being more organised’ is one of your resolutions, this could get you started”: Tasktic “stands out of its simplicity”. Seeing Tasktic in an actual newspaper was a moment of true joy!

  • ILoveFreeSoftware reviewed Tasktic on January 16, 2016 highlighting how it is “an amazing free iPhone app to add tasks via Siri” and pointing out that “Tasktic also comes with a beautiful and intuitive interface for managing your daily tasks”.

  • appPicker published a review, Tasktic app review: the only to do reminder app you will ever need, on January 23, 2016, writing that “Tasktic is one of the best reminder apps you’ll find in the App Store” and listing as pros “Great user interface, No ads, Includes excellent tutorials, You can alternate between viewing today’s tasks and all tasks, Create reminders for any task, Each reminder you create can include an extensive amount of information”.

  • The Popular Apps chose Tasktic as the popular app of the day of March 1st, 2016.

  • On April 11 Passione iPhone described Tasktic as an “easy to use task manager, but fully featured” that is “ideal for particurarly busy users”.\ On top of these professional reviews, Tasktic received an amazing feedback from users, and this is something with appreciated even more (by the way, Tasktic doesn’t bother you to leave a review, but if you like it and can take the time to write a few words in the App Store, they really mean the world to us!).

Here are a just a few of the reviews we’re so proud of:

  • This is the task app I have been looking for! It has a nice clean design. It is easy to add tasks, especially a number of them in a row. Love being able to organize them in projects and labels. You can add due dates and it is easy to switch views on what is due, past due, or all. Also, their support is amazing!!!” - User on the US App Store

  • Well designed, both useful and fun. I like that I can organize my everyday tasks into projects without the effort or complication some of the other apps require. The support is fabulous.” - User on the Canadian App Store

  • Great app, all said in two words. It is down to the point and you do not get dragged away in options. Then, it works fast.” - User on the French App Store\ What can I say? Thank you so much, this really inspires us to work even harder to bring you all the features and improvements our users deserve!

Always There is here

April 20, 2016

Today a brand new app joins Tasktic and Weightrack: Always There!

Always There allows you to keep your most precious photo always there (ahem….) in a Notification Center widget of your iPhone and iPad.

Just pull down Notification Center and an amazing picture of the person you love, a funny photo of your puppy or an image that inspires and motivates you will be there for you!

Always There is a simple but meaningful app. Learn more here, download it now on the App Store and tell your loved ones about it!

Touch ID for app reviews

March 28, 2016

There’s an ongoing discussion about how Apple could improve the App Store for users and, yes, developers.

An online store with over 1.6 million apps and hundreds of millions of active users is a delicate mechanism, and it is understandable Apple treads carefully with any change. I think there’s a low hanging fruit for Apple to pick, though, and it’s about how users review apps, a fundamental part of the discovery and purchase process.

A couple of days ago I wanted to leave a review for a nice videogame I discovered recently, Deemo. I opened the App Store app, searched for the game and pressed Write a review; at this point the app asked for my password, which is pretty long and complicated, and I almost gave up on my intention of leaving that favorable comment. And I know the prospect of typing my password (yep, it’s that bad/good) made me give up on reviewing other deserving apps in the past

I then tweeted:

Dear @pschiller, please let users authenticate with Touch ID when leaving @AppStore reviews: it’s safe for payments, it is for feedback too!

— cdf1982 (@cdf1982) March 26, 2016

And that’s my whole point, but a tweet is easily missed: long and complicated passwords are important, and hopefully more users adopt them every day, but safe passwords are a pain to type, and Apple already has a secure system to avoid that annoyance.\ Touch ID is safe to authenticate your device and your online and offline purchases, so it sure can be used for confirming one’s identity before leaving a review.

Removing any pain point in the users’ evaluation process could lead to more reviews, and we all know more reviews are good for users and, yes, again, developers, since they impact the app ranking in the search results… I sure know I’d love more (hopefully good) reviews for Tasktic.

I hope someone at Apple will see and consider this small proposal… if you agree, please share this post, and don’t forget to review the apps you love!

It's about time

March 23, 2016

Tasktic 1.3 is now available for download on the App Store, and it brings our task manager much closer to you, right on your wrist!

Tasktic for Apple Watch is a simple app, designed for quick interactions on the go: it allows you to quickly add tasks to Inbox by dictating them to Siri and it also lets you review all your tasks due today and tomorrow.

Tasktic Pro and Pro Big Supporter users can also view overdue tasks directly from Tasktic for Apple Watch by enabling the option inside Tasktic for iOS Settings.

Tasktic for Apple Watch is the first in a series of new features we’re working on and plan to introduce this spring… follow us on Twitter and subscribe to our RSS feed to never miss an update! And if you have any question, please don’t hesitate to send us an email!

The PH effect

December 28, 2015

“‘Twas the night before Christmas, when all through the house\ not a creature was stirring, not even a mouse.”

It all really started like in 1822 Clement Clarke Moore poem, except what made me sprang from my bed on December 24th wasn’t a miniature sleigh and eight reindeer, with a little old driver so lively and quick. No, ‘twas a tweet from my friend Chris of AppRecap.net:

@cdf1982 I got an invite for PH recently, so I’ve added Tasktic for you! https://t.co/Scf9SX1nEw

— Christopher Hannah (@chrishannah) December 24, 2015

Quickly three emojis appeared in my mind (we all see emojis in our minds, right?): 🙀🎄🎁

And indeed for a task manager like Tasktic, launched just 43 days before, is there a better Christmas gift than being posted on Product Hunt?

Receiving so much exposure, to the right people, could really make the difference in an App Store that has probably already surpassed 1.6 million apps. On top of that, let’s admit it, that kind of validation also feels amazingly good, after 10 months of development without knowing if your product will actually be downloaded by someone who isn’t related to you.

Turns out, though, that there is an even better gift a developer can receive, and it takes the form of being actually featured among the top ten products of PH Tech page on Christmas day, scoring (at the time I’m writing this) over 110 upvotes… I still can’t believe Tasktic was on the home page of Product Hunt (and yet I have an embarrassing amount of screenshots to prove it 👻)!

 Let's face it: when your task manager is up against The Donald, it's the real deal...

It is so rare that your expectations survive a meeting with reality, and yet here I am with some comforting data:

  • On the day of the feature, downloads increased 470% vs. the daily average, with the second highest number of installations since launch day (I must say that Tasktic already had a pretty good launch, thanks to the reviews on AppRecap.net and Macitynet.it and to some direct marketing I made in Slack channels and by email). The next day, downloads were still 293% higher than the **average and on December 27** (the last day I have iTunes Connect data for) they actually sky-rocketed to 539% of the pre-feature average. So, the third day after the feature Tasktic had the highest number of installations ever! I was expecting the effect of the feature of December 25th to slow down quickly and to return to my regular numbers very soon, and sure that’s going to happen 😞, but the “Product Hunt” effect is being much longer and stronger than I imagined. Yay!

  • The new users I’m acquiring are willing to pay 💰! The free version of Tasktic offers a pretty-complete feature set, but there’s also a Pro version (unlocked with a single, non recurring in-app purchase that costs just $4.99) that offers unlimited projects, tags, stats & achievements, export to file, etc. and, since appearing on Product Hunt, the conversion rate to Pro is almost double than the pre-feature average.

  • For the most loving users, there’s even a Pro Big Supporter version that costs $9.99 and actually offers the same feature-set of the “regular” Pro version (plus a special badge!). I chose to offer two price options because I believe people are willing to spend a little more to support the apps they love, and looks like I’m not wrong: since launch, over 30% of in-app purchases have been Pro Big Supporter. I can confirm the same ratio after the feature, which was a surprise to me: Hunters try a lot more apps than the average user, so I assumed they would have been a little more difficult to “upsell”. As a matter of fact, Hunters are people too 😸, and while they don’t spend their money like water, they’re pretty fair and don’t hesitate to show their love in a big way.

  • One thing I wasn’t expecting was the huge amount of traffic the PH feature brought to Tasktic’s website, compared to the daily average (which, honestly, has been pretty low after launch week). On the day of the feature, cdf1982.com had 1.800% more visits than the average, on Dec. 26 1.100% more and on Dec. 27 it bounced again to +1.466%.\ Usually, when I see an app on Product Hunt I visit its website and download it from there; turns out, I’m not the only one who prefers checking out the webpage before downloading it (or not).

  • Compared to the number of installations, I’ve had a pretty low feedback via email, and almost none on Twitter. Those who contacted me were amazing, though, so I made up quantity with quality, and in the process got some pretty good suggestions for future features too!

In the end, yes, I have a completely predictable conclusion: being feature on Product Hunt can generate an amazing amount of interest around your app.\ What surprised me the most is how long the effect continues after the feature: according to RankUp, Tasktic right now (5.30 PM CET of December 28, 2015) is ranked in the top 200 free Productivity section (sic, not in the top grossing list 💸) of the App Stores of 30 countries, including UK, Germany, France, Spain, Mexico, Argentina and Brazil.

Now is up to me to continue improving Tasktic and build upon this amazing exposure. If you want to follow our next steps, pleasesubscribe to our RSS feed and follow Tasktic (or myself) on Twitter. And if I can do anything for you, please don’t hesitate to send an email, I always answer! Last but not least, if you haven’t tried Tasktic for iPhone or iPad yet, download it now for free!

Thank you Hunters, from myself and from the Tasktic Kittens, Amélie and Remy, who you can see expressing the usual feline Christmas spirit in the picture above!

Now, this is a merry Christmas

December 24, 2015

I had a quick post planned for today, to wish you and your families a merry Christmas and to officially announce the much requested new feature that’s coming in Tasktic 1.3 next January, but a few minutes ago I’ve received an amazing gift from Tasktic’s best friend Chris Hannah of AppRecap.net: today he submitted Tasktic to Product Hunt!

So, I’m here to wish you the best Christmas possible, and also to ask you to check Tasktic out on PH, and maybe - if you think it deserves it - give it the gift of your upvote, helping it to reach the home page

What about the new feature in version 1.3, you ask? Let’s just say that I hope you’ll find a certain timepiece under the tree.

Merry Christmas, I already know mine will be good because having the chance of being on Product Hunt is a dream come true!

Do we really want big data peeking into our to-do lists?

December 20, 2015

Yesterday I saw the image above on ProductHunt.

It made me wonder: do we really want our personal informations aggregated this way? Do we need to? Do we really benefit from it, or someone else does?

I understand it might seem not appropriate for me to write about a competing app, but honestly Tasktic is so small compared to Wunderlist (I don’t see Microsoft purchasing my app for a sum between 100 and 200 million USD anytime soon… but hey, I’d love to be proved wrong!) and those questions still stand:

  • Do we really need this kind of reports?
  • Do we want all our activities and plans aggregated by a big company?
  • Are we really aware our day-to-day informations might become part of a wider profile a corporation could build about us (maybe not now, but it could happen in the future just by editing those Terms and Conditions nobody reads), merging all the data points it collects from its many services into a pretty accurate picture of who we are?

Of course, in the case of Wunderlist’s Your year in Review, each user only sees her own data and I understand it might feel nice to see that you complete most to-dos on Fridays (really, who does that?) and that you’re more productive than another random dude on the Internet. It’s not something you actually “need” to know, but we’re all big fans of the quantified self, aren’t we? Only, be aware that in this case the company behind the service sees **everything, much more than it’s shown on that shiny infographic**, for every single user, including yourself…

When you create a Wunderlist account (and you must in order to use the app), you give them your name and email address right away; if you go Pro, you also provide them billing informations, completing your unique profile. And then you start providing personal informations every time you add an item to a list, because what you’re going to buy, your plans, work activities and so on, all become items in the lists you create. In some way, you almost admit to them that you’re a bit lazy, if you keep adding items and never tick them off…

I’m not sure everybody understands how personal a task manager can become and how many informations it ends up containing about its user.\ I’m no luddite and I’m not here to say that we shouldn’t use online services (though, I believe we should always know their business model) or provide any kind of information about us to tech companies. But we shouldn’t necessarily give them everything in exchange for a pretty graph at the end of the year, when there are so many alternatives out there that keep your informations private (yes, including Tasktic, which doesn’t require you to have an account and keeps all your data on your devices and in your own personal, accessible only-by-you iCloud container, without any chance for us to see that you’re not getting much done on Sundays…).

Big Data will be the big theme for 2016. As it was for 2015, and will be for 2017… Let’s choose ourselves what part of our data really needs to be part of Big Data.

Show your 💕

December 10, 2015

Just a quick note to ask for your support…

If you enjoy using Tasktic, please take 5 seconds to rate it 🌟🌟🌟🌟🌟 on The Great Apps and give it the boost it needs to be noticed by lots of users.

I really appreciate your vote!

Since we’re here, I also want you to know that Tasktic 1.2 is coming soon (it will be submitted later today to Apple for review) and I’m already at work for Tasktic 1.3, which will bring a much requested new feature!

A sweet, sweet deal

November 26, 2015

Tasktic Pro is 40% off for Black Friday 2015 🎉!

For just $2.99, instead of $4.99 (already a pretty sweet deal), you’ll have access to all the most powerful features, forever:

  • Create unlimited projects (you can have up to 3 in the normal version)
  • Add multiple tags
  • See stats about your tasks and get motivational achievements
  • Select the view shown when Tasktic starts: Today, All tasks or New task
  • Get the option to also view overdue tasks, not just the next ones, in Notification Center
  • Export all your tasks to file
  • Delete all completed tasks in a single step, if you want to clean up

Try Tasktic for free and, if you’ll enjoy being more organized, purchase Tasktic Pro between November 26 and November 29 for this amazing price!

Happy Thanksgiving to all our American friends!

Just start over

November 24, 2015

Insightful post from Dr. Drang:

“I’ve come to accept that there will be times when I stop maintaining my to-do lists, and I don’t worry about it anymore. There are reasons it happens, and overall it doesn’t hurt my productivity.”

This is an important point, especially if you’re new to task management: it’s a common belief that if you adopt a list-based approach to manage your tasks, that method can only work if you zealously update your lists every day.

I’m not here to tell you that you shouldn’t keep your lists up to date, obviously there are advantages in a continuous and active GTD implementation, but please know that you can have great benefits from making lists of tasks even if you don’t check and update them all the time.

“The most common reason I stop maintaining my lists is that I get heavily involved in a single project for an extended period, and I just don’t see any reason to keep writing down what I’m going to do.”

Me too, but I know people who do just the opposite and that works magic for them. Just find what seems to fit you the best, be sure it’s fast and unobtrusive and go for it.

The best solution for you might be pen and paper on the bedside table, it might be the preinstalled basic app on your phone, or maybe it will be Tasktic on all your mobile devices…

After a while you notice that you haven’t had time to look at your lists in days? No problem, just bring them up to date and start over, maybe adjusting some details you think didn’t help you being effective last time (don’t have time to look at your list in the morning? try doing it last thing before leaving the office, etc…).

You won’t form a habit in a day, but it’s not worth it to give up a great organization method just because once in a while you find yourself temporarily abandoning it.

Reviews roundup

November 23, 2015

I’m a bit late with this post… Taskic 1.1 is already available in the Store and I’m already working on version 1.2 (it might actually take a few weeks to ship it, though), but I really want to aknowledge the time a few reviewers took to try Tasktic and write about it. Thanks, I really appreciate every kind word!

A few highlights from the first reviews:

  • *Ideal for users who are particurarly busy with day-by-day activities, who need a single hub for all their appointments and daily commitments. **- *Macitynet
  • *My personal favourite part of this app, is massively useful for people who like to add a bulk load of tasks in one go. There is a completely different tab for adding tasks, and you enter the usual project details, priority, tags, etc. But unlike the majority of other task manager apps, these details stay after you’ve actually created the task. So for example if I get a piece of coursework through for University, I can create a new project for that piece of work, then all the various individual tasks in one go. It just makes things much easier, and of course more productive. - *AppRecap
  • *A distinctive trait of the app, compared to many other apps of the same kind, is fanTasktic button, which helps users to understand on the fly, with a quick glance, if the task is due, if it’s still active or if, instead, it’s already been completed. **- *Macitynet

Other mentions: iSpazio, MagazineApp.it, ThursdayAppDay.

Again, thanks a lot for these reviews!

If you have a blog or website and you are so kind to consider reviewing Tasktic, please take a look at our PressKit and get it touch!

Tasktic 1.1 coming soon

November 15, 2015

Just a quick update, before a longer post I plan to write in a couple of days to tell you everything about Tasktic’s launch and to link to the amazing reviews it has received so far.

Today I submitted Tasktic 1.1 to the App Store for review. Here’s what’s new in this first update:

  • You can now change the name of projects and tags after you’ve created them: go to Projects & Tags and swipe from left to right on the cell containing the project or tag you want to rename, then tap Edit name.
  • Minor bugs have ben squashed.

Tasktic 1.1 has been submitted to Apple just 5 days after Tasktic 1.1 launched. Too soon? I don’t think so: I’m going to release new versions as soon as the features and improvements I’m working on are ready; this means that some updates will be released in a short window of time, and others will sometimes take a little longer.

Of course, Tasktic evolution will benefit greatly from Users’ feedback. Please, get it touch if you have any suggestions or - let’s hope not, but nobody’s perfect - any issues.

You can expect to receive the update to Tasktic 1.1 in about 10 - 12 days, after the review process from Apple will be completed.

Tasktic launches today!

November 10, 2015

Well, it took a few days longer than I initially planned, but starting today you can become a more organized person with a little help from Tasktic, our powerful and easy to use task manager!

Download Tasktic now, free on the App Store for your iPhone and iPad, and manage your tasks to accomplish more!

Tasktic offers many advanced functionalities usually available only in expensive productivity apps:

  • Unlimited tasks, with optional due date and notification
  • Projects
  • Tags
  • Sync between devices (via iCloud)
  • Siri and Reminders for Mac integration
  • Statistics and achievements

Try it for free, share it with family and friends and subscribe to our RSS feed to never miss an update about Tasktic and for a few more posts about its development and launch that are coming in the next weeks!

Being too optimistic

November 5, 2015

As it happens when you don’t account for delays, I’ve made a mistake: I planned to launch Tasktic today, November 5, and I announced the date when I submitted the app to the App Store Review.

Turns out, I’ve been a little too optimistic about the approval time, also because I had to fix a small error I made not with the app itself, but with the metadata submitted to Apple: the app name I initially chose was a bit too long and explanatory, so I’ve had to shorten it to “Tasktic - manage your tasks, not a task manager”.

I’m very sorry to miss my own, self-imposed launch date. Tasktic will launch very very soon, I’ll let you know here and on Twitter as soon as it’s approved.


Update November 10, 2015

Tasktic is now available for download on the App Store! Please, get it now and share it with family and friends!

Paying more for the same?

November 3, 2015

In my previous post about the importance of knowing the business model behind any app or service you trust with your data, I mentioned than my new app Tasktic is free, but offers more than one in-app purchase to unlock the Pro version.

Actually, Tasktic has a Pro version that costs $4.99 and a Pro Big Supporter version at $9.99. The thing is, they actually offer the same features, so why users should willingly pay more? Am I insane thinking people will spend more for the same, when many actually complain about .99 cents apps?

If you purchase Tasktic Pro at $4.99, you’ll support the future development of Tasktic, make my day and unlock every single advanced feature forever:

  • Create unlimited projects (you can have up to 3 in the normal version)
  • Add multiple tags
  • See stats about your tasks and get motivational achievements
  • Select the view shown when Tasktic starts: Today, All tasks or New task
  • Get the option to also view overdue tasks, not just the next ones, in Notification Center
  • Export all your tasks to file
  • Delete all completed tasks in a single step, if you want to clean up

In an app category that often has prices as high as $40 for apps you can’t even try before purchase, Tasktic Pro is a pretty sweet deal.

Sadly, that price (minus the 30% distribution cut for the App Store, which I honestly think it’s more than reasonable if we consider Apple made this entire ecosystem out of nowhere) makes sense in such a competitive world, but won’t cover much of the costs of an eight-months development stretch, unless sales are very high (I obviously hope so, but I also believe, 😔, that most people will probably stick with the free version of Tasktic, since that’s already pretty feature-rich).

Enter Tasktic Pro Big Supporter. At twice the price, it’s still much less than most alternatives, but it gives me room to grow this app the way I want (one example: Tasktic for Mac). Yes, Tasktic Pro Big Supporter offers the same features of Tasktic Pro (with the cherry on top of a special achievement, reserved to just the most loving fans who choose this version!) and costs a bit more, but what are 5 Dollars more for an app that you’ll either use every day for a long time, or won’t open at all (it’s a fact task managers don’t work for everybody, but if you are one of those persons, you aren’t going to buy any Pro version of Tasktic anyway, so this is an abstract post for you, maybe something you’ll consider for other apps…)?

Tasktic is a passion project I’ll continue developing for a long time, but if you’ll like it, please consider going the more expensive way: I am not insane for giving you the option to show your love, and you won’t be for choosing to support an app you like by paying a reasonable price.

Always look for the business model

November 1, 2015

This post probably won’t reveal you anything you didn’t already know, but you should read it anyway and, maybe, share it with your loved ones: no matter if you plan to download my new app Tasktic or even if you don’t care about what that is or why I made a task manager when many alternatives already exist, the stuff we’re going to talk about matters a lot for every app you start using or online service you subscribe to, and not everybody knows it.

In today’s world, you can expect an app or an online service to have one of the following business models:

  • Paid upfront, you pay before downloading (on iOS, this means opening your wallet before even having a chance to try if the app actually does what you need);
  • Free, ad supported;
  • Free with in-app purchases (IAP) to unlock advanced features or more contents (once-and-forever or for a given amount of time, via recurring subscriptions);
  • Free with consumable IAP (you buy a certain amount of a virtual resource, let’s say gems in a game, and then spend it on items and improvements; just like the real money you used to buy them, virtual currencies stop being available to you after you spent them to upgrade some weapon or to avoid waiting for something to happen);
  • Free with no form of revenue (have yet to figure it out, it’s just a hobby, a venture capitalist was passing by…);
  • Crowdfunded (Kickstarter, Indiegogo, etc).

As you know, the frequency of the models listed above changes widely depending on the category of app you consider:

  • Many games rely on the consumable IAP model (you purchase and spend virtual currency to avoid artificially-inserted waiting times, or to improve your skills) and make a lot of money while they’re at it.
  • Ads are also very common in games, while it looks to me they’re much less frequent in “normal” apps than a few years ago, with the exception of social networks (Facebook, Twitter, etc. business model is actually selling adverts against the information they collect about their users).
  • Professional apps are (decreasingly) paid upfront or (increasingly) free with limited functionality that can be extended through single or recurring IAP.
  • In many cases, Uber-for-bathing-cats apps that are venture capital funded are free and have no idea whatsoever about how they’ll make money (except with the textbook exit strategy: sell to someone else who also doesn’t have a clue and buy a private island)… of course, having landed the vc money in the first place, these are the smart guys.
  • Crowdfunding, while nice and growing in popularity, at the moment is not very common for apps and online services, so I won’t explore it in detail today.

Many business models, one main difference: the product for sale can actually be the app or service itself, or it can be the user. By now, chances are you already know that if you’re not paying for the product, you are the product.

How does this recap of the most common revenue models for apps and online services relate to task management / GTD apps in general and with my own app Tasktic in particular?

If you’re looking for apps in this category today, you’ll encounter 4 different business models:

Approach #1: you pay upfront for the app, usually quite a sum. 30 / 40 bucks is not an unusual price (in some cases you have to make separate purchases for every kind of device you want to use the app on, spending even more) and, while this isn’t much IRL, sadly for developers it is Ferrari-price in the App Store. If you go down this route, you’ll have a probably good (and in a couple of cases even great) app that you couldn’t try before buying, and you will be lighter of a significant amount of 💵. This isn’t the cheap approach, but it’s a good one if you’re willing to pay the price. Another upside, in this case, is that there’s a very high chance that since you paid, you and your data are not the product. I love the paid upfront model made in a serious way (meaning: if the user paid you good money, there’s no way in the world that you get her data while syncing and then sell it), and most developers do it just right, asking prices that are adequate for excellent apps targeted to power users. We can’t deny, though, that such prices are a huge barrier for discovery, especially for regular users who don’t know (yet) how useful a task manager can be. Not everybody is a power user, but everyone has things to do and can use a little help staying organized and focused, so a less expensive solution is very much needed.

Approach **#**2: you don’t pay at all. Since I’m not aware of a major free GTD app that is ad supported, the free tag price means that you are not paying for the product directly in any way. Congratulations, dear friend: this is a textbook case in which it’s very likely that you are the product. This might be a less expensive solution, it’s actually free and free is good, but I personally don’t believe is a safe one for anybody. Maybe you think your data will be alright and private because the app or service is from a heavily-fundend start-up with noble ideas, but what happens to your informations and metadata if the founders decide that they really need the private island I mentioned above and therefore sell their company to SomeEvilConglomerate?

Approach **#**3: you can download and use the app for free, but you can subscribe to a pro, fully-featured version for a monthly / yearly fee. This is a very common model these days. I must admit that as a user I’m OK with this approach, but I don’t love it: recurring revenue is great for the creator as it can support steady development over time, but the customer needs to be aware that she’s going to pay a small amount for a very long time, if she likes the app, probably ending up spending more than in a single transaction as in the case described in the approach #1 above. On top of that, some users aren’t often aware of what happens to their data when they decide to let the subscription expire: will the data be completely accessible, editable and exportable? From the moment the subscription expires, is it ok for the app creator or service provider to use data saved by the users, while they were paying, for data-mining and commercial purposes? You guessed my opinion, no, it’s never ok, but how many persons do you know who carefully read the Terms and Conditions to check that’s the case before they start using a service?

Approach **#**4: you can download and use the app without spending any money upfront, but to unlock its full potential you can pay a single in-app purchase, spending a clear, final amount once to get access to the features you want forever. As a user, this is my favorite model for every kind of app (not just productivity, but also games… oh, videogames were so much better when people actually paid for them upfront instead of rewarding developers for adding thousands of pain points as incentive for micro-transactions, but I’m digressing…), and is also the one I, as a developer, chose for my new app Tasktic. I love this approach because you can try as many apps as you’d like, until you find the perfect one that fits exactly your needs, but I also like it because it is not a trial in the old, shareware-like sense: the free app doesn’t expire after a certain amount of time, instead it must provide real value in order to compel the most passionate users to want “more” and therefore pay for the full, most advanced version. I, for one and after many years of discussions in the development community, applaude Apple for not allowing trials in the App Store: the audience there is so broad and diverse that you can’t expect everyone to understand exactly the limits of a trial version (risking people to input data into apps that stop working after a few days), but it’s very simple to understand that a free app is providing certain functionalities and will keep having them forever, and that if you want more, or if you really enjoy the product and intend to support its future growth, you can pay for it. Of course, there are cases where you need to show the user how a complex functionality actually works and that are therefore better suited for time-limited trials that give access to all the features the app can offer. This isn’t common on iOS, but it can still be achieved in free apps with IAP: for instance, Marco Arment allowed a brief “demo” of Smart Speed and Voice Boost in version 1 of his awesome podcatcher Overcast, before moving to a different, highly innovative model, patronage (I sadly don’t have much time to comment on this new model of support - this is already going to be a long post - except for saying that it looks really promising and that I, as many other developers, look forward to know from Marco Arment how this “experiment” will work for him).

Having stated my preference for free apps with a single, non-recurring IAP, I also have to say that users who look at apps built around this business model should also be inquisitive about two more aspects :

  1. It must be clear - written in plain english - that free users’ data are as sacred as those from paying customers (meaning: it’s not that, since a user isn’t paying yet, the developer can data-mine his data like it’s Christmas morning at Google’s HQ).
  2. If the free model is supported by advertising, these ads must come from a reliable source, not one that collects information to build a profile of the user; I personally believe that this can only be said for Apple’s own iAd platform, since Apple has “a few” others sources of revenue that are more significant to its bottom line than ads and since it has publicly declared, in unequivocal words from its CEO and in a clear policy regarding users’ privacy, that it doesn’t want any more informations about its users than those strictly needed to operate its devices and services. If you’re interested in the subject, I plan to write more on iAd, even if Tasktic doesn’t have any ads, in the next few weeks; subscribe to our RSS feed if you don’t want to miss it. By now, you have a pretty clear picture of what I believe and want as a user: I have issues, a lot of them, in being the product, so I don’t like apps and services that are free and that I can’t pay for with a direct, transparent, transaction. Free with IAP? Great. Free with generic ads? Fine by me as long as those ads aren’t chisel-targeted to me. Free because you’re data-mining the hell out of what I’m doing and selling it to shady advertisers? Nope, no way, not a chance in this life.

Even before I began developing Tasktic last February, I wanted my new app’s business model to reflect my beliefs as user:

  1. I wanted to make an easy to approach, and yet powerful, task manager for everyone;
  2. I wanted to make it free, because free apps are more convenient for users to discover and try;
  3. I wanted an app that absolutely doesn’t make its users the end product: privacy means a lot to me, so Tasktic business model had to have user privacy front and center.
  4. For a business model to be a business model, of course it also had to be sustainable: I wanted to offer pro features for a single, non-recurring and not expensive in-app purchase, also giving the most passionate users an opportunity to show their love by paying a little more (more on this in the next, way shorter post). I initially thought to support the free version with ads done the right, privacy-respectful way (meaning, using iAd), but then I opted for the best experience possible for every user.

Is well known that being free is a necessity if you want a lot of people to try your app and, maybe, love it and use it every day in their busy lives. But after all that I’ve written about free products, let me be crystal clear on my purpose in making Tasktic available for free: my hope is to “lure” a lot of users into installing Tasktic and, after trying it out and evaluating if its features and design pattern fit their needs, maybe pay to unlock it’s more powerful features. My goal as a developer is to convert free users to Pro users, I want to be completely straightforward on this. You want developers to be straightforward on this.

Having said that, I hope a lot of people will buy the Pro versions of Tasktic when it launches in a few days, but I know that there’s a certain number of users who will like the app, but are never going to pay. This is fine by me, I intend to preserve the trust of those free users no less than of the paying customers; I can’t be sure I won’t change anything in Tasktic business model in the future, after seeing how the launch goes (I’m talking specifically about iAd in the free version). But this won’t change: users’ data, even if they don’t pay a dime, belong to them. The pillars upon which Tasktic is built are, and forever will be, 1. only you can access your own data and 2. your data syncs exclusively via iCloud (again, only accessible by you).

If you got this far, chances are you care about privacy and data protection, and you’re absolutely right because, as I said at the beginning of this long post, this stuff matters a lot. I hope you’ll think about it, in the future, when you download any app or subscribe to an online service: always, always look for the business model!\ I also hope that you’ll consider giving Tasktic a try when it launches on the App Store, next November 5. It’s free, you know? And it keeps your privacy safe. Also, it’s fanTasktic because I made it with love and I’m better at app development than at puns like this. But, most important, I ask you to consider sharing this post with people you care about, but that you know aren’t always as tech-savvy as you are: they won’t like you implied they’re not tech experts, but they can use these informations to make better, safer choices.

Building Tasktic

October 27, 2015

Next November 5, the project I’ve been working on since February will see the light of day.

Tasktic is a task manager app for iPhone and iPad that is very easy to use, and yet offers many power-user features usually reserved to much more expensive productivity apps (Tasktic is free, with a $4.99 Pro version that unlocks the most advanced features forever). You can find more info, screenshots and a quick video preview everywhere else on this website.

In the days leading to the launch, I’d like to share with you some thoughts about the development of Tasktic: I enjoy “behind the curtains” development posts as much as the next guy 😏, so I can’t help myself…

Let’s start today with the elephant in the room: why did I feel the need of another task manager app and how do I think Tasktic can gain traction in such a crowded market?

Well, at least we aren't all going with the same idea for our icons...

Well, at least we aren’t all going with the same idea for our icons…

It’s true that there are a lot of task manager / GTD / to-do list apps out there, and some of them are really great and fully-featured products. But the good and most powerful apps in this category are often rather expensive and not many people want to spend 30 or 40 bucks on an app, so they’re stuck with built-in options that are quite basic or, worse, with fully-featured apps that are only apparently* “free”*, but instead collect and analyze users data (more on this in one of the next posts).

So, I thought that a task manager with a really friendly learning curve, but many advanced features, and with no entry price (but with absolutely no access to users data) could make a lot of sense for a lot of people. Not everybody with a smartphone is using a to-do list or a task manager, but almost everyone needs one. So, the market can be crowded of apps, but people buy new iPhones and iPads every second of every day and not every potential user is well served by the current options.

I think there’s still lot of potential for productivity apps, and I believe Tasktic has a place in this crowded category because:

  1. It’s very easy to start using Tasktic and adding new tasks never requires more than a few seconds and taps.
  2. The workflow can be as simple or as advanced as the user wants, with due dates, notifications, projects, tags, priority and notes. On top of that, Tasktic offers Siri and Reminders integration, a feature usually available only in the most expensive apps.
  3. It is a free universal app for iPhone and iPad that syncs via iCloud, so we have no way (nor we want) to access users’ data. Power users who need the most advanced functionalities can of course (and, please, do 😍) upgrade to the Pro versions (more on why I wrote “versions” instead of “version” in the next few days).

I’m not hoping to have millions of downloads (that’d be nice, though), but I do believe that happy users will find out that Tasktic can be a very helpful companion, and therefore they will tell their families and friends about it.

Feel free to start telling people about Tasktic now, if you feel so inclined, and please subscribe to this website via RSS to get the next posts about the design decisions and building process behind Tasktic.

Where am I?

In sunny Italy ☀️ 🇮🇹