We love the apps that developers make for the Mac, but it’s easy to forget about the apps that help developers make the apps. From code editors to icon designers to documentation and snippet repositories, there’s a ton of different apps that developers rely on to help them make the best Mac apps they can. This week, we’ve got an exclusive interview with a developer who’s apps are expressly designed to help Mac developers.
Vadim Shpakovski is the creator of CodeBox, the wonderful snippet-storing application for OS X that we liked when we reviewed it last year. He’s also made ResolutionTab, PNG Compressor, and Hunting, all tools aimed at helping developers on the Mac platform, and released a decent amount of open source work at his own site. We thought it would be interesting to talk to Valdim about his work, and he kindly agreed to answer some questions about OS X and what it means to be a designer of top-notch OS X applications.
Here’s the scoop for your weekend reading pleasure!
Hi Vadim, thanks a lot for agreeing to be interviewed! What inspired you to start developing OS X applications?
I was a Windows and web developer before switching to OS X. I used my Mac mostly for Flex and Rails development until Apple announced iPhone in 2007. One year later they released developer tools for iPhone OS, and this is when I started to read Objective-C documentation and books. The new world of Cocoa and its frameworks blew my mind. Having experience with Qt, Delphi and WinForms, I found that the Apple platform is much better for building user interfaces.
I was lucky to find some client projects for iPhone OS 2.0 and learned Apple development through Cocoa Touch and Xcode 3. Finally, somewhere in 2009 my former partner Vladimir proposed to create a new application for OS X 10.6 that would be used to collect and reuse snippets of code. I found this idea really great and left my regular job to concentrate on developing my first OS X app, Snippets.
Where do you get your inspiration for creating new apps?
Well, it seems like you need different kinds of inspiration when you create software.
First, the idea. I make apps for my own needs. Snippets and then CodeBox were created because I was fan of snippets and Gist was not that popular. Then I found that ImageOptim has a limited set of configuration parameters and does not support adding new console tools, so I made PNG Compressor. Finally, when Apple released MacBook Pro with a Retina display, I had to switch between standard and HiDPI modes all the time using System Preferences. This is when I did ResolutionTab.
Second, an app appearance and design, or user experience. I prefer standard chrome in apps. As result, Pages, Numbers, Safari, and even System Preferences are places where I look while figuring out how some menu, window, panel or control should look and behave.
And third, the feature set. Any app has so many potential improvements and missed features that there is no lack of inspiration of this kind. If you add user feedback that you get all the time, it is easy to build the roadmap and plan the future development.
What are some of your favorite Mac apps?
Besides Terminal, Xcode and Instruments, there are not many tools that I use daily. My toolset is very modest: Things, 1Password, Evernote, Dropbox, Sketch, Photoshop, Kaleidoscope, PaintCode, Tweetbot and TextMate. All of them are easy to use, but extremely powerful and can be used in very creative ways. This is what I value in any software.
Do you have any words of wisdom for anyone starting out as an OS X/iOS developer?
There is a lot of books on iOS and OS X development nowadays, but it is really hard to find material that is up-to-date and useful for real-world software development. Examples from such books are often academic and showing how to develop one-trick ponies through the whole book. This is where Apple Documentation and WWDC videos become indispensable. The documentation made in Cupertino is top-notch, so do not ignore it. Be sure, there is an Apple book for any technology, be it ARC, or KVC, or KVO, or CoreData, and it’s all part of your developer account. Invest some time into reading it before diving into Stack Overflow, and you’ll save much time later.
If you could choose use 1 app, what would it be?
I assume Xcode does not count, so it is Things. This app changed the way I work and live, and create software. Cultured Code does amazing job of inventing something so simple that you do not see the software, only your content and actions.
What’s your favorite OS X app category?
When I open the Mac App Store, I always go to the Developer Tools. This is a place where I discovered fantastic apps like PaintCode, Patterns and Base. This is a category where I sell my own CodeBox and ResolutionTab.
Are you working on anything new, or is it under wraps for the time-being?
Last year I was busy with client projects for iOS, but after WWDC’13 decided to go indie again. This time, I’m planning to release something for the App Store. Cannot say much, but one of the apps I’m working on right now is for tracking personal time, because everything I tried in this category did not fit. So please stay tuned!
Thanks again – good luck with the future of CodeBox and we look forward to what else you have in store for us!
Thanks a lot for the interview and kudos to the Mac.AppStorm team. Your articles and reviews truly improve the Mac platform :)
Any Questions for Vadim?
We enjoyed hearing Vladim’s perspective on creating Mac apps to scratch his own itches as a Mac developer, and can’t wait to see the new apps he releases going forward. If you’ve got anything else you’d like to hear from Valdim, be sure to add your questions below in the comments and I’m sure he’ll stop by and fill you in!