About a year ago, I wrote a feature for JIRA during my 20% time that shipped in JIRA 5.1. This feature notifies a user if their current time zone (as detected by their browser) doesn't match the time zone they've set in their user preferences. Part of the reason I wrote the time zone detection plugin was that, although the time zone setting for users was the headline feature of JIRA 4.4, I didn't think it was obvious enough to those users who don't read the release notes or marketing blogs. This

Continue reading »

One of the greatest things about our software development process is our need and desire to test everything. Unfortunately, this doesn't always translate into absolute best practices in the test code, coverage, or design, but we are always improving. Something I have been been meaning to get around to is property based (or automated specification based) testing. The traditional approach to unit testing (and TDD) is to write a test, see red, and then go fix it. If doing TDD religiously, this can

Continue reading »

Since day one the Atlassian Design Guidelines (ADG) has been built using the Atlassian User Interface (AUI) library. With each release, we've continued to shorten the gap between design and development but found we still weren't doing enough to close the loop for developers. Today we've teamed up and coordinated a joint release to make it even easier for developers to create great experiences. Our design and development team has been working for the last 8 weeks on making a seamless experience

Continue reading »

There are tons and then some useful guides on how to keep your forks updated against the upstream repositories (and if you're wondering why you would want to use forks in an enterprise setting, check out a few reasons here). In this blog I will introduce you to few aspects of how forking interacts with upstream: the basics, the gotcha's, and an cool tip. To top it off I will then make you very jealous, or very eager, the choice is yours. Interested? Read on. The base workflow to keep up-to-date

Continue reading »

Follow this how-to guide by an Atlassian designer to make a single icon font for the Atlassian products. The Atlassian design team has been making some big changes to our products over the last 12 months. We're achieving this with the help of the Atlassian Design Guidelines (ADG). In a separate post I've elaborated on how we made the ADG, which has been instrumental in establishing experience design at Atlassian. One part of the design evolution was finding a scalable solution for handling

Continue reading »

HTTP Client Performance – IO

Apparently, one of the unsolved programming problems of our time is making HTTP calls - at least, taken from the fact that new HTTP client libraries keep cropping up. Mostly, the focus is on new features, async APIs etc. But what about the actual IO part? Especially regarding performance? A rather specific case I'm not going to do a general performance comparison - too many aspects. My use case is a bit more specific - downloading files, potentially large, from a fast network. When downloading

Continue reading »