Design Guidelines 1.4 Released

The Atlassian Design Guidelines (ADG) has an exciting new release. We've polished some old things, created some new things and have made the whole experience of using our guidelines even better. What's in the release? Forms The old forms page was heavily visited but not very helpful. We've overhauled the forms page making it more robust and easier to use. Included is a new way to validate forms and tooltip/help design that helps clean up our form layouts and allows users to focus on their

Continue reading »

I often get asked about how we use our own tools for software development here at Atlassian. Since it is fast becoming the norm to work as a distributed team at Atlassian, I thought I'd take a moment to share some of our experiences in working more efficiently across time zones and geographies. I'm highlighting FishEye and Crucible as we've spawned a new team in Gdansk over a year ago, so it's a good example of a distributed effort. 1. Release planning Planning begins when the Product Manager (PM)

Continue reading »

In February, I had the pleasure of speaking with the London Atlassian User Group (AUG) about some of our experiences with continuous delivery and deployment at Atlassian. The slides for this are available online, but the talk generated a lot of discussion at the time and I'd like to recap some of it here. To give a bit of context, I work in the business platform team; we're responsible for developing the tools that allow the business to interact with the customer. In particular, we develop the

Continue reading »

Consider the following questions: How do you handle project dependencies with git? Our project is made up of multiple inter-dependent repositories. Currently we manage those with svn:externals. What's the best way to handle those with git? How do you split a very big repository in smaller components using git? These are some examples of the most asked questions we got at the European leg of our recent Getting Git Right tour. The topic appears to be a big pain point for many software

Continue reading »

How do you divide a Git repo without squashing the history and breaking the original repo? I'll show you how to do it with as little pain as possible, by splitting the main repository, thus making your team and Git happy at the same time! Here at the Hosted Operations team, we have many small repositories, and sometimes they just contain single scripts. This approach eventually produced some duplicated code and effort, leading to considerable maintenance issues. What we decided then, was

Continue reading »

I'm a Clover developer at Atlassian, and I had an opportunity to work closely with new language features introduced in Java 8 during development of Clover 3.2.0 (which has the support for Java 8). I'd like to share my impressions about a major language feature – lambda functions. I'm pretty sure you've already read a lot of articles about lambdas, and already know how they are going to reduce boilerplate code. And I totally agree with this point. I can bet that most of anonymous in-line classes

Continue reading »