July 31, 2008

Brian Amerige is the developer of FTP application Flow, which is currently in its private Beta stages. Flow doesn’t yet have a set release date, although excellent progress is been made on a daily basis. I had time to catch up with Brian and ask him a few questions about the upcoming public release of Flow.

Why did you decide to develop an alternative to the highly acclaimed Transmit? Most claim it’s one of the best Mac applications to ever hit the platform. Quite a hefty competitor to take on, no?

While Transmit is highly acclaimed, there’s a significant portion of users whose needs aren’t met by it. Flow’s call to life is a tremendous amount of functionality and raw power wrapped by a remarkably clean user interface and undeniably pleasant user-experience. A few of the private-beta testers have already remarked that despite being avid Panic fans, they were astounded at how Flow actually improved their workflow itself. It’s the playful combination of tried and true paradigms, and delightfully understated new functionality.

That being said, however, I’d like to point out my goal for Flow doesn’t include the phrase “kill Transmit.” Competition by nature is good — but that doesn’t mean there is necessarily one or even two winners. For some people, Flow will fit their needs and fit like a glove, and for others, Transmit or another client will. My goal isn’t to “kill transmit,” but rather to be the voice for the market who’s been waiting for something like Flow for quite a long time now.

As someone who has been in the Mac developers scene for a long time, but is just debuting with your first product, what has been the biggest step you’ve had to take over the development cycle?

Great question. While it’s not necessarily only applicable because this is my first product, I consider one of the most important steps in the development cycle to be knowing what to include and what to leave out. When you’ve got lots of people talking about your product (which has been the case since the original screencasts of Flow back in February), it’s very easily to fall into the trap of reading too far into users comments and opinions. While it’s very important to consider user-feedback, it’s equally, if not more important, to realize that, for myself, I am the only one who truly knows the full roadmap and vision for the product, so for each change, I need to verify that it is compliant with that vision itself.

Talking about vision, what is your vision for the future? Are we in line to see more software from Brian Amerige?

Well, without going into specifics for Flow, the best I can say is that 1.0 is just the beginning. As proud as I am of Flow right now, I’m also well aware that due to the nature of the product, the feature-set I’m envisioning probably won’t see the light until 2.0 or 3.0. There’s so much potential and momentum with Flow’s concepts and especially with the user-base which is already forming around it, I can’t deny that I’m ecstatic when thinking about the future.

As for whether or not you’ll be seeing more software from me – Yeah. You will be. 😉

Who and what kind of market exactly is Flow targeted at?

Anyone who’s serious about getting work done, basically. A good portion of the people who have expressed interest in Flow are the type who aren’t interested in the technology behind what they want to do. They just want to have tools that not only make their job easier, but know how to get out of the way. At Extendmac we talk about that as “removing layers of interpretation” — that basically means that the less jumps there are between what you want to do, and how you have to do it, the better.

What is your overall view of the Delicious Generation? Are you on board with their base philosophy?

The Delicious Generation is definitely interesting as a term. I think a large part of the problem with the term is that there are two definitions of it. While I don’t necessarily agree with the definition in relation to its origin, back when Disco was first debuting, “Delicious Generation” came to mean an over-indulgence in form and the negligence of function. By that definition – I’m absolutely not on board. The second definition, which Austin Sarner and John Casasanta talked about at Phill Ryu’s “Delicious Generation” party, involved an artful and meticulous balance of form and function.

By the latter definition, I’m definitely on board, and that’s really what Flow’s UI is all about. In user interface and user experience, when you design something that’s just right, you begin to notice that properly designed interfaces lend themselves to properly implemented functionality. It’s very “hand in hand” and “ying-yang” type stuff, but that’s really what it comes down to.

How long have you had the idea for Flow floating around in your mind for, and what made you start coding it?

The idea of making something akin to Flow popped into my head the first day I sat down to build a website from scratch. Something about existing technology and applications didn’t feel comfortable to me – it felt like I had to coax each component to talk nicely to each other, and if one little thing went wrong, it was over. That overly sensitive balance – that uneasyness that I was using products as they were not intended – those overwhelming thoughts of “wouldn’t it be great if this acted like this, or I could do this” ultimately led me to create my vision for what is now Flow.

What one feature in Flow are you most proud of? It doesn’t have to be the biggest most mind blowing one, just something you are personally proud of.

I’m proud of a lot of things in Flow, but personally, my favorite thing is one of the simplest and most obvious features – Auto URL Copying. For the most part, we all mostly use FTP to manage our web-servers, and I never understood why no one had ever made it really easy to embrace that relationship in full. The ability to drop a file to a server, and just hit “CMD+V” to a friend in an e-mail or iChat conversation is truly a remarkable timesaver.

Has anyone influenced you in any way in terms of how you created Flow, or what features to implement?

I’d have to say the biggest physical influence on me programmatically would be Wil Shipley. His blog, Call Me Fishmeal, is literally filled with undeniably clever concepts and paradigms which have made my code so much cleaner, readable, maintainable, and efficient. Like Wil, though, my own obsessive-compulsive nature – my inability to stop programming, tweaking, and adjusting until everything is just right – has probably had an equally large influence on Flow itself. Most people who are obsessive compulsive consider it an inherently bad thing, but when applied to software, it becomes an enormously valuable asset.

As far as features go, I’ve largely maintained on my own set course from the beginning. As I’ve said earlier, I realize that only I know the full roadmap of where I’d like to take Flow, so sticking to my original concepts of what should be implemented and what shouldn’t be out are very important. Along the way many have probably modified small things here and there, but the implementation of any modification has only be accepted given it does not compromise the original vision for the product.

In your opinion, what are some of the more “functional” Mac application on the market at the moment?

I love Mail.app with a passion. iCal is pretty terrific in Leopard. As for third party apps, I’d have to say I’m really excited about where Delicious Monster is taking Delicious Library in 2.0, and then 3.0.

Last but not least, the obligatory question. What’s your current Mac setup situation?

My primary development machine is a 15″ MacBook Pro, Core 2 Duo, 2 GB RAM. It’s dual booted with 10.4 and the latest ADC seed of 10.5. I also have a 23″ Apple Cinema Display which I often use in conjunction with the MacBook Pro. I do G5 testing on a 17″ iMac, and G4 testing on a 12″ iBook. Last, but not least, I’ve also recently incorporated an iPhone into my “Mac scene,” as it is running Mac OS X. 😉

The Mac Gap
Copy & Paste For The iPhone.
Schedule Your Work With Cronnix
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}