There are lots of books about programming languages and frameworks - but only few resources that deal with "softer" topics like testing and collaboration in a software project. Part 2 of our "Development Philosophy" talks about just that!

Contrary to popular belief, software development is not about mastering a programming language. The real art begins when application architecture, modularity, and good habits become more important than lines of code.

When you're starting to use version control with Git, you first need to understand the 'big picture': What does a general workflow look like? Which steps are involved? What do they do? In our infographic, we provide a breakdown of a typical workflow with version control. Download it for free!

The iPhone was one of the most exciting new products of this millenia. But as amazing as the device may be, the real superstar is the software that drives it! Take a seat and enjoy our wonderful "Illustrated History of iOS".

Our Illustrated History of Microsoft Windows takes you on a wonderful journey through time: from the first Windows 1.0 in 1985 to the world's most popular operating system that we now know. Enjoy the ride!

Understanding how a software project evolves is hard. However, a good Diff tool can make this much easier. To help you pick the right tool, we've compiled a short list of the best "Diff Tools" on Windows.

When it comes to version control, everybody is talking about Git these days. But of course, some chatter on the street is not enough to justify switching to Git. Here are some hard (and soft) facts that make Git great.

Xcode is a central tool for many of us. We're spending countless hours with it - and should therefore make sure we're getting the most out of it. That's why we created a nice cheat sheet with both essential keyboard shortcuts and valuable tips & tricks.
Download the cheat sheet for free.

It's important to know an application inside out when you spend a lot of time in it. And for most iOS & Mac developers, Xcode is the application they spend virtually all of their time in.
In this article, we've compiled 6 tips that help you become more productive with Xcode 8.

Developing software in a professional way is more than just the simple act of 'coding'. To grow as a programmer, you'll have to master other practices as well. We've compiled an overview of 5 tools and methods that are timeless classics by now.

For many, the command line belongs to long gone days: when computers were controlled by typing mystical commands into a black window; when the mouse possessed no power.
But for many use cases, the command line is still absolutely indispensable! Our new cheat sheet is here to help all 'command line newbies': it not only features the most important commands but also a few tips & tricks that make working with the CLI a lot easier.

Sometimes, prior knowledge can be a disadvantage. For example when you're starting with Git - while trying to approach it like a new Subversion. You'll have to let go of a couple of old concepts before you can understand the new ones.
Our cheat sheet helps Subversion users get started with Git. You can download it for free.

Today, every company is a software company. In any industry, code has become one of the most business-critical assets. As a result, storing, securing and collaborating around code has become an important challenge for enterprises large and small.

Today, version control should be part of every developer’s tool kit. Knowing the basic rules, however, makes it even more useful. We’ve compiled some best practices that help you get the most out of version control with Git.

What sounds like the beginning of a (very strange) fairy tale is in fact even cooler: we are launching our own "Tower Stuff Store" with some really awesome T-shirts and posters. And to celebrate the launch, all products are 20% off until December 4th!

Today is the day: we are publicly launching version 1 of Tower for Windows! It took us many years of hard work and over 216,000 lines of native C# code - but we're proud to release a beautiful, user-friendly, and powerful desktop client for Git.

It's been more than two years since we've launched Tower 2. Since then we shipped 28 updates with improvements and new features. Today we’re thrilled to announce Tower 2.5 - our biggest update yet. Instead of shipping a paid upgrade, we decided to keep improving version 2 and are happy to announce that Tower 2.5 is a free update for existing users!

With today's wealth of frameworks, libraries and platforms, I don't know a programmer who doesn't have to look up things constantly. "Dash", a great little app for Mac OS, solves this problem by providing fast and easy access to over 150 API docs. Read on to learn how to get the most out of Dash!

To err is human. And not only this: in our digital industry with its high amount of complexity, it's also very common. With this in mind, it's vital to have tools that help you in case of a mistake.
The Git version control system is one of those tools. Combined with Tower, you'll have a strong safety net for your projects.

Cloning and creating repos with a single click - that's what Tower's "Services" manager allows to do. Since Tower 2.3, this is now also possible with your GitHub Enterprise, Bitbucket Server / Atlassian Stash, GitLab, and Perforce GitSwarm accounts!

Managing customer feedback is critical to the success of any business. Thankfully, a couple of great tools have emerged to make this easier. In this post, we're comparing three of the most popular ones.

For almost 5 years, the fournova team has been working exclusively on a single product: Tower, our Git desktop client. From the outside, one might think that a bare handful of Git repositories should be enough to run the show.
In fact, however, we have over 70 Git repositories to manage. Here's an overview of what powers Tower and fournova.

We're a very small company. Actually, with only 8 people, the word "tiny" would be even more adequate. But no matter the size, if you're working together in a team and want to deliver high quality in your work, you need the help of professional tools.

Here's an overview of the toolchain we use at fournova while making Tower.

With over 500,000 readers, our "learn" section is one of the most popular resources for learning Git and version control. To help you get even smarter, we've just added two new chapters - explaining "Submodules" and "git-flow".

Mac OS X has hit the streets with its latest version - and so has Tower 2. We've invested countless hours to fully adapt to Yosemite's new design language. Read about what it takes to make an app feel really at home on Mac OS 10.10.

It's 2015 - and yet we just relaunched our blog with a custom, home-made solution. We're well aware of all the great blogging platforms and systems out there. But we had a couple of good reasons to go custom.

There's definitely no shortage of text editors on the Mac. Quite the contrary: today, developers can choose from more great tools than ever. With this abundance of tools, however, the question is not how to find a "good" tool per se - but how to find the right tool for your needs. Luckily, text editors differ vastly in features and philosophy. By determining what general type of tool you're looking for, your options suddenly become manageable.

Robert Reiz learned the hard way about marketing to software developers. An experienced dev himself, he shares his insights from growing VersionEye, a notification system for software libraries.
This is a guest post in our series "A Word of Advice". We're asking successful developers, designers, and entrepreneurs to share a bit from their experience.

BBEdit is one of the most feature-rich text editors on the Mac. Over many years, it has been improved and refined to become the powerful application that it is today. In this post, we have compiled 5 tips that will help you get the most out of it.

Some mornings, it's really tough to get started. Dennis Reimann, famous for his iOctocat iOS app, has found a nice litte routine that kickstarts his day.
This is a guest post in our series 'A Word of Advice', where we're asking successful developers, designers, and entrepreneurs to share a bit from their experience.

Doing things yourself has many advantages: you can save money, you have everything under control, etc. But it also has some serious downsides. And over time, they clearly came to outweigh the advantages for us!

Did you ever find yourself in a place other than your office that enabled you to be extremely focused on one task? For many, getting work done still means being in the office and in the office only. Even though they have a hard time focusing and being productive. Often a simple change of scenery can help.

It's common knowledge, almost folk wisdom: 'Go to market as early as possible'. But while this advice is undoubtedly true, there's also a downside to it. Because some people will give your product only a single look.
This is a new post in our series 'A Word of Advice'.

The introduction of the 'Auto-Save' and 'Versions' features in Mac OS 10.7 placed some hardship on Git users on the Mac: new system components don't always play nice with Git commands like 'git rebase'.
However, with a simple customization, problems can be avoided.

For many users, version control has long been a scary thing. Because committing your code inevitably meant sharing it with the world - imposing all its bugs and flaws on your poor teammates.
However, this is only true for centralized systems like Subversion. In a modern VCS like Git, you can let go of these fears.

Rasmus Makwarth gives some valuable advice on how to approach Business Angels and VCs. He has successfully raised money for his own company 'Opbeat', a collaborative web operations platform launching January 2014.
This is a guest post in our new series 'A Word of Advice', where we're asking successful developers, designers, and entrepreneurs to share a bit from their experience.

As a distributed team with two offices we rely on communication tools probably more than others. Besides email we mainly use Campfire as a team chat and Skype for video calls.
However, this constant availability resulted in way too many distractions each day. If you had a question or problem, you could just jump online. Unlike when sharing an office, you wouldn't know if your colleague was busy or taking a break.

In the first part of this series, we talked about why & when you might bootstrap a company - and when you shouldn't. Now, enough of theory: Here's what we've learned by bootstrapping our first product Tower from the ground up.

Martin Hering, well-known from apps like Instacast and Snowtape, shares some of his experience developing a syncing solution.
This is a guest post in our new series 'A Word of Advice', where we're asking successful developers, designers, and entrepreneurs to share a bit from their experience.

Basing the decision to buy a car solely on horsepower can leave you with a tank in your garage. Not a very practical "car". Now don't get me wrong: Git has plenty of horsepower, but this should not be the reason to use it in favor of Subversion or any other VCS.
Git isn't just a "new Subversion" that is faster, offline-capable, and somehow "cooler". The interesting parts about Git are where it's completely different from Subversion. These are the parts that change the way you develop software.

Building a company without investors comes with many advantages - like keeping all of the shares and remaining free in your decisions. And still: "bootstrapping" is not a silver bullet.
In this first post of our two-part series, we'll explore why & when it makes sense to build a company without investors.

Panic's Coda is one of the most popular text editors among people working with the web - especially since version 2. Besides the obvious features, Coda has lots of little helpers & shortcuts under the hood.
In this article, we'll introduce you to 5 of them - to help you get the most out of the app.

Chocolat is one of the best text editors on the Mac. It combines a very clean interface with a lot of powerful features under the hood. For many, it has become the legal (though unofficial) successor of the popular Textmate editor. We have compiled 5 tips that help you get the most out of Chocolat.

On first look, delivering an RSS feed seems like a no-brainer. However, it's all too easy to lose ownership of your feed and be locked into a specific service. Or to provoke cross-browser issues. Or to sacrifice search engine optimization...

In the first part of our series on "How to Get Your First Users", we talked about the strategy to get the first users for your product. In this second part we will share our learnings on how to best plan and scale a beta up to tens of thousands of users.

A new blog needs a little bit of glamour. And since we wanted to play around with CSS3 Transforms for quite a while, we relaunched our blog with a little gimmick: when hovering over the ticket-like items in our sidebar on the left, a little animation brings them to life.

The animation is achieved with CSS3 3D Transform properties. In this article, we'll explain in a nutshell how the flip effect is achieved and will also provide a couple of useful web resources for creating 3D Transforms.

In order to live, a product needs users. And you’ll rarely have the luxury of users “just being there”. You have to go out and find them - even before your product is on the market.
In this first post of our three-part series, we'll talk about how we found early users for our own product, Tower, before we launched.

Submodules help you to keep external libraries cleanly separated from your own code. Although generally a great feature, submodules can be quite difficult to work with from the command line. Unfortunately, this causes a lot of people to avoid them and not use them at all. With Tower, we would like to change this.

The majority of projects these days still use Subversion to manage their source code – true to the motto “never change a running system”. Thanks to “git-svn”, however, you can still work with Git locally in such projects.

Hosting your code becomes an important topic as soon as you want to start sharing it – and be it only with yourself on another machine. There are basically two different flavors of code hosting: do-it-yourself and leave-me-in-peace.