Like many people, I spent a good part of my 20s bopping around having ‘experiences’. I spent most of it learning and laboring for other people in relative obscurity, building their brands and trying to do my best at it. Then, as my 30’s neared, I decided to see if I couldn’t make what I did for a living a more personal expression of who I was and share it with others.
After almost 5 years as a development house for other people’s apps, Black Pixel is undergoing a similar shift today. The launch of its first major in-house app Kaleidoscope 2 — it’s putting its own name on a product and setting it out in front of consumers as an author — marks the beginning of what will be a portfolio of Black Pixel apps.
All Killer, No Filler
We’re bringing Momentum to New York: our newest event, showcasing only the best speakers and startups.
“It’s a sea change for the company,” says Black Pixel CEO Daniel Pasco, who has a 17 year history as a developer, including a stint at Lockheed Martin where he wrote power system software for the Mars Orbiter, Mars Polar Lander and Mars Surveyor spacecraft.
Kaleidoscope 2 is a lovely comparison app that allows you to take two or more files, folders or images and compare them to one another. The applications are broad, with benefits that swing from developers on one end to those simply looking to compare two images side-by-side. It has full integration with Git, Subversion, Mercurial, and Bazaar. The app can be used as the default conflict resolver for code with its command line integration or simply to check the changed passages in a collaborative word document. It’s beautifully designed, fast and wonderful to use. It’s become an essential part of my toolkit already.
The shift in Black Pixel’s direction began roughly a year ago, when it acquired two applications, Kaleidoscope and Versions, from Sofa, a design company whose employees now work on Facebook. The company also acquired extremely popular RSS reader NetNewsWire.
“We have no problem shipping to deadlines with our client work,” he says, “but it’s been very different for our own stuff. Because the temptation to feel like it’s really got to be great, and that you have to put everything in it that you can is very, very strong.”
The team has been working on its own apps for some time, but the Kaleidoscope project really got moving, says Pasco, after they hired designer Olivier Charavel. “He and I really collaborated on the feature set and what we were going to do with it.”
There were difficulties, however, in getting the app shipped. “In contracting, there’s always a hard deadline. There’s an event or the funding runs out or something,” says Pasco. “So you’re figuring out your priorities, what’s really important, right away.”
With Kaleidoscope, which would be the company’s first major app to market and set the tone for its future releases, there was likely even more pressure. The project could take on any scope that the team gave it, with no restrictions but those that they put on themselves. Though the team is an experienced one, the lack of hard deadlines was causing problems with just getting it out the door. Though the decision to get Kaleidoscope out there first was already made, it took bringing on some new blood to get it complete.
That blood came in the form of Michael Jurewitz as Director. Jurewitz is a six-year veteran of Apple, where he served as an engineer and its Developer Tools and Frameworks Evangelist. For many developers, especially in the US, Jury was the public face of Apple’s internal machinery. He was a proponent of Apple’s tools, but also a believer in using the ones that the company made available, a belief that ended up spawning its own meme.
When Jurewitz joined the company five months ago, Pasco says that they sat down and started assessing the state of the app as it was. “He’s why we’re shipping,” says Pasco bluntly. “He just made a case for what we had to do, draw lines in the sand. We’re going to ship on this date, we’re going to be feature complete by a date well ahead of that. Our low priority bugs are going to be fixed or punted on as we worked our way to a release candidate.”
“Well, that’s pretty obvious,” jokes Pasco, “but the freedom to do what we wanted on it was…he really put some structure on it. He comes from a company that’s known for shipping stuff.”
I had a chance to speak to Jurewitz about leaving Apple for Black Pixel and the Kaleidoscope project.
“As for leaving Apple,” he says, “it was just a matter of being ready for some new challenges. Getting a chance to hop out into the third-party world was the best endorsement I could think of the great community that has been built up around Apple products.”
“When I was working on the evangelism team,” says Jurewitz, “it was a fantastic role being able to help other companies make the right decisions in their apps, but you’re always the bridesmaid, never the bride. You give a lot of advice, but you don’t actually get to be a part of that process.”
Jurewitz had been familiar with the Black Pixel folks since the introduction of the iOS SDK back in 2008. He began talking with Pasco about the projects that they were looking to get off the ground and it ended up being a good fit. “It’s a great collection of designers and talented engineers who fundamentally care about what they’re doing.”
“And that’s the really important thing to me,” Jurewitz told me, “because Apple is a culture where you’re surrounded by people who really care about making a great product and it was cool to find that somewhere else as well. I would never have gone off and done something with Android or Windows Phone. I’ve bled the Apple colors since I was a kid so this was a great opportunity to still be firmly involved with that community.”
When Jurewitz joined Black Pixel, he says he spent some time getting to know the team and the product intimately. Understanding what it was that they were trying to accomplish and who the audience of the app would be. Spending time getting the ‘lay of the land’ is something that he considers to be vital, rather than riding roughshod into a situation and making decisions based on assumptions.
He also echoed Pasco’s sentiments on the difficulty of moving from doing contract work to your own stuff. “It’s very easy to say that it’s not perfect yet, we’ve got to get going,” he says. But you really have to take a step back from it and look at what features are really going to benefit people the most. If you can get those core features nailed and deliver those well, you’re able to then see how people will use the product and whether they take it in directions that you didn’t anticipate at all. Getting the app out there into the hands of users with a well-executed first release can prevent you from traveling down avenues of development that end up being fruitless or don’t match up with how people are actually using the app.
It’s never easy to anticipate how an app will be received, but getting the shape of the way it’s going to be used is a lot easier when people are actually using it. Now matter how much thought you put into it ahead of time, there’s no substitute for getting it into the wild.
“At the end of the day, you have to learn to say no to things. Apple is such an amazing company with how it delivers software, folks don’t realize how long ideas or features or various products that you see were said no to,” says Jurewitz. “Because, at the time it wasn’t clear that there was a particularly great way to do that.”
“People often forget, or just don’t see from the outside that Apple is an incredibly patient company,” he adds. “They are more than willing to try to solve a good problem and then take a step back to say ‘OK, how are people actually using this. I’ve tried to bring some of that perspective to how we approach building products.”
When it came to Kaleidoscope, the company has a long list of features that they’d love to see in the app eventually. But, Jurewitz says, at some point you just have to get something out in front of the world so that you can discover how they’re using it. “So that you can make sure that you’re actually building something for your users,” he adds.
Kaleidoscope, in its current form, includes several major updates to the first version of the app. Among those is the ability to merge text or code documents together. The merge feature allows you to go from one document to another with a single change or all at once. You can combine documents together, interleaving them, or choose which versions of changes that you’d like to see in the final document.
The various views or ‘scopes’ that Kaleidoscope uses to show you folders, text files and images are coded so that you can easily see the differences or similarities in your comparisons. Purple items have inline changes, red are deletions and green are additions. Several view modes allow you to see them inline, as blocks or as a relational map that can show you how things have moved around inside a document as well.
Another major feature, which I’m very happy about, is the ability to use Folder Scope to see the differences between whole directories of files, not just individual files.
For me, this means no more having to manually figure out which of my new media files need to be copied to my backup. But for developers with a very folder heavy project it could mean much easier merging and comparison of assets. It’s a great addition to the toolkit. Among other changes are full screen support on Lion and Mountain Lion, Retina support, redesigned interface, and support for arbitrary and partial changesets, merges and diffs with ksdiff.
I asked about how they determined which features were included in this release and which were not. A succinct statement of purpose about a release is important, because you have to ship at some point, Jurewitz says. “If you solve their core set of needs and they like using your product and are sending you feature requests, that’s a good thing because they’re invested. Starting points are the most important thing because you never know where that journey will take you.”
The App Store and other centralized repositories of apps have also affected the development cycles of apps, making quicker, more nimble development important. That’s another thing that Jurewitz says he’s trying to bring to Black Pixel.
“Software release cycles are a lot shorter than they used to be. Even iOS is revving once a year, and OS X is revving almost once a year. The release schedules have just gotten shorter and shorter,” he says. “As a third-party developer, the days of 8,9,10-month release cycles are a thing of the past. You want to be working in shorter, focused bursts. You want to stay in front of people to show them that you’re solving problems and keeping their awareness. If you sit on your hands too long you’re going to fall behind the OS curve.”
Since Kaleidoscope is being offered as a direct download from the Black Pixel site, I asked Jurewitz whether there were issues getting its features to fit into Apple’s developer Sandbox requirements, something that many have had issues with. He said that they’ve been working to ‘smoke out’ issues from the beginning to make sure that there would be near-feature parity between the Mac App Store and direct download versions of the app.
“The folks who are working on Sandboxing at Apple are very, very interested in it being a success and in apps being able to do a broad set of stuff,” he added. “It’s always very tempting to see any release by Apple and say ‘oh, well that feature is the way it is and that’s horrible’. Folks sometimes forget that it’s a journey. There’s a way that Sandboxing works right now in Mountain Lion, who knows how it’s going to work a release from now or two releases from now. I think we can expect to see the situation improve over time, but sometimes you’re just going to have to find a way to do things differently.”
One of the issues that the team came across was that there is a command-line tool that allows Kaleidoscope to be used from the Terminal. The direct sale version can install that tool for you, but the MAS version will have the user download a separate signed installer that will enable the feature.
Building and shipping in-house apps is part of Black Pixel’s next era. Often, the company has agreements with its customers to ‘white label’ apps and agreements not to even disclose that they worked on them. Jurewitz says that “having our own stuff that we can plant our flag behind and say, hey look, this is something that we did, that we worked on” is an important way to demonstrate the talent that the company has and what it can do.
Kaleidoscope 2.0 is available today as a free 15-day beta. Once the beta is up you can choose to pay $35 to pre-order a fully functional version, 50% off of the regular price which will be $69 once it has been released. Pasco says that this is just the beginning of a portfolio of Black Pixel apps. He wouldn’t share what was next for the company, but the beloved news reader NetNewsWire or Subversion client app Versions could be likely bets.