Fantastical is one of our favourite calendar tools in both design and functionality. It's easy to navigate, and it's driven by a language parser that makes it effortless to create entries. Behind the app is Michael Simmons, co-founder of Flexibits -- we chatted with Michael to learn about how Fantastical came to be, their biggest challenges and what we can expect next.
Where did the idea for the app come from? Were you trying to solve a problem you'd experienced, or did the inspiration come from somewhere else?
The idea for Fantastical actually came from a natural language engine. My business partner Kent Sutherland was working on a natural language parsing engine that didn't really do anything except for take an input and make an output. And we were trying to figure out what kind of problem we could use that engine to solve, to have a natural language parser do something that would help to make a task better. And I always have had a big calendar -- I'm a big calendar person -- and I've always been frustrated, especially with iCal at the time. We came out in 2011; we started developing in 2010. iCal took a lot of clicks and a lot of this-and-that to set an event, so I knew I wanted to use the engine to make calendaring better. So the idea for Fantastical came from that -- we took the natural language parsing engine that Kent created and I came up with the idea to make a calendar app with full featured calendaring. We both collaborated, Kent and I, and came up with Fantastical.
After you came up with the idea, what was the next step?
We took the engine and we started to build a prototype. The prototype was very simple in the beginning: it would basically take a sentence and create an event, so you'd type in something like "meeting at 3pm on Friday" and it would create the event. So where would we go from there? We had to think about things like what other kind of events might people want to do, like inviting people and so on. When we finally had it in a good state, it was really just going to be a quick add tool that would leverage iCal. But we really wanted to make it a real calendar app; it had to be an app that people would spend time in. So you could view your events, search for your events, add your events, delete them -- a real calendar app.
How did you choose which platforms to target and which to ignore?
We're Apple guys, Kent and I, and we love the platform and feel the developer tools are the best on that platform. We decided to do Mac first, simply because for productivity's sake, you really do you biggest productivity tasks on a desktop computer. And so we really felt that doing it on the Mac first was the way to go. If we could actually solve this calendaring and productivity problem on the Mac, that would really be the biggest challenge.
What was your biggest roadblock and how did you overcome it?
The biggest roadblock for us was getting something that felt good, and was a quick entry calendar. That's why we started as a menu bar calendar. What's kind of funny is that a lot of people look at the app and say. "Oh it's such a small app. It's a menu bar app," so they don't really value it highly. But for us, we really feel that the calendar app being a menu bar makes it a better app. In terms of the biggest roadblock, it was really having an app that would feel good, work well, and that would just overall be functional and powerful, but fast.
What was launch like for you?
Launch was really exciting and nerve-wracking and exhilarating. We didn't know how it was going to go -- it was our first app and Flexibits was a brand new company. The launch was really obviously nerve-wracking and exciting, but after it launched we knew we had a great app. The feedback, the users writing us and using the app the way we intended, and having it solve the problems that we wanted it to solve for ourselves, was so great to see. It really was so rewarding to see people using our app, loving our app, and getting benefits from our app.
How do you handle user requests and criticisms effectively?
We listen to and care about all user requests and criticisms and support we get. At the end of the day, we're making our apps for our users and if we don't listen to everything, what's the point? I've always said that user support and feedback, both requests, criticisms, and even compliments are like a drum beat -- I call it a drum beat because there's a pattern when you start getting multiple of the same thing. And if you listen to that drum beat, you'll find something that's steady. If there's a really big complaint, or a really big criticism, or a really big compliment, you'll start to see the recurring patterns of that. So we listen to those patterns. Obviously if someone wants a small feature we can't do every single feature request. Or if someone has a big criticism and we can't do something to address it, we can be respectful and reply and give them attention. At the end of the day the way we handle feedback is that we make sure we treat everyone with respect and timeliness.
Now, how do you split time between developing new features and managing existing ones?
Kent and I work together. We do have some contractors but we try to keep it lean and mean. We have a vision for the platform and the products and future development. Basically we know what's missing, and we know what we want to add, and we know where we want to go. So, really what we do is we spend time on the current features, and obviously there are bug fixes we have to get those out. We are always thinking ahead in terms of our road map, where we want to go, and that's really the key. You're really trying to focus on where you want to go, not where you are now, because where you want to go will eventually be where you are now.
What advice would you give to others that want to take on a similar project?
I say this all the time, but it's so important: love what you do. Truly love what you do. If you're making something, and you just don't care, or you're doing it just to make money, or you're doing it because you want fame or admiration or to be number one, you're probably not going to win. You're probably not going to succeed. If you look at the apps that everyone loves and talks about, that everyone's playing, whether it's games or productivity tools or whatever, people truly love the app. Love what you do, do the best job you can, and truly solve a problem that hasn't been solved, and I really think people will like what you do. And just keep going!
Lifehacker's Behind the App series gives an inside look at how some of our favourite apps came to be -- from idea to launch (and beyond).