May 15, 2012

Atlassian News Blog

Atlassian Summit 2012: It’s gonna be huge

Atlassian Summit is just two weeks away. Here’s a taste of what you have to look forward to! If you haven’t bought a ticket yet, now’s your chance to seize the moment!

Six awesome marquee speakers

Jeff Atwood (codinghorror.com), Michael Lopp (randsinrepose.com), Pamela Fox (indie dev), Eric Ries (Startup Lessons Learned), Dave Thomas (Bedarra Research) and Jeff Ma (MIT Blackjack Team and entrepreneur) will be sharing their secrets to software development on high producing teams.

In addition, the New York Stock Exchange’s Chief Digital Officer, Bob Kremer, will be joining Atlassian Co-Founders, Mike and Scott, on stage to talk about innovation at NYSE using Atlassian products.

AtlasBar and Guru Room

Meet our developers, support engineers, and product managers at Summit. The AtlasBar is our homage to Apple’s Genius bar – get your technical support, configuration, feature, and integration questions answered. Want to give us even more feedback or learn about upcoming products and features? Drop by the Guru Room to meet with our, well, gurus.

Industry Mixer

We’ve asked dozens of customers over the last few months what they want more of at Summit, and the answer we kept hearing was, “We want to meet more customers like ourselves.” If you’re in town on Wednesday, you can join the Industry Mixer at 5pm. You can keep networking at the big Summit welcome reception starting at 6pm and throughout the rest of the time at the conference.

Training galore

Training is huge at Summit, and this year even more so. We have three training partners teaching courses ranging from Confluence Fundamentals to Scrum and Kanban with GreenHopper.

Getting virtual

Attendees will be receiving an email soon with details on how to access virtual rooms and an online agenda at Summit. Stay tuned!

A special shout out to New Relic, the 2012 Atlas Sponsor, for their support of Atlassian Summit!

Sponsors

How can you extend Atlassian products for new use cases? How do other companies customize our products for their teams? How can you integrate Atlassian products into your unique enterprise technology stack? Those questions can best be answered by our 35 stellar sponsors who will be demoing all their newest integrations and add-ons.

 Marketplace Workshop

Want to get a head start on selling your plugin on the Atlassian Marketplace? Register for our free workshop to find out how!

There’s WAY more happening at Summit… Atlassian User Group meetups, sponsor birds-of-a-feather, a speaker Decompression Room, the Chillout Lounge, Bitbucket and HipChat booths… and if you can’t tell, we’re really excited about all of it. It’s gonna be a fun, educational, informal, and information-packed couple of days. See you at Summit!

by Jon Silvers at May 15, 2012 03:55 PM

Confluence Product Blog

Zen Foundation Sparks True Love with Confluence

Atlassian Confluence - Stepstone Technologies - Zen FoundationThis post is dedicated to Stepstone Technologies, the creators of Zen Foundation, a tool that delivers attractive and easy-to-use collaboration for non-technical online communities. With support for strong branding and flexible graphic design, Zen puts rich layout and presentation options at your fingertips. Zen provides new users the safety and freedom to experiment, while improving the quality of published content in Confluence.

Love at First Wiki?

Have you ever heard the expression, ‘love at first sight’? What about ‘love at first wiki?’ Well, that’s exactly how two lucky love birds, Rob and Rebecca, first met. Once upon a time, they used Confluence, Atlassian’s wiki, to collaborate on a mutual project. The rest, as they say, is history. Now isn’t that the most romantic thing you’ve ever heard?

On this very blog, we’ve talked about how Confluence brings people together to get work done, faster. But in this case, it’s literally bringing two people together to the brink of holy matrimony! Rob and Rebecca are taking Confluence to where no one thought it would go. This truly is the ultimate form of collaboration. To pay their respects, Rob and Rebecca asked the team at Stepstone Technologies, to transform Confluence into their wedding site.

Meet Truelove – Powered by Confluence

Atlassian Confluence - Stepstone Technologies - Zen Foundation

Confluence Supercharged by Zen Foundation

This was a first for the gang at Stepstone. Typically, large organizations make use of Zen Foundation and Stepstone services to customize the look-and-feel of Confluence. Branding Confluence with Zen makes Confluence fun, inviting, and simple for new users and non-technical online communities. However, encouraging members of your Sales Team to use a new tool is one thing, making it easy for wedding guests with limited technical know-how, like your Grandma, is completely different.

Keep it simple

When the designers at Stepstone thought about how to build Confluence into a Wedding Wiki, they focused on a single mission. Regardless of how the site actually looked, users still needed to be able to collaborate to achieve a common goal. This concept was fundamental in the site’s creation and something that Confluence already did well on it’s own. The key was to not rebuild the wheel, but leverage what Confluence already offers and add a ton of personality, tastefulness, and pop.

Atlassian Confluence - Stepstone Technologies - Zen Foundation

The perfect font: Love Potion

Zen’s lead designer, Kelli, has endless experience utilizing Zen to brand Confluence when used as a company intranet or customer facing web-site, but a wedding was a different kind of animal. The key was to provide a sense of intimacy, familiarity, and tastefulness. For Kelli, that meant starting with the site’s font.

Atlassian Confluence - Stepstone Technologies - Zen Foundation

Love Potion was the perfect name for a font for a Wedding Wiki. After reviewing hundreds of different fonts, Kelli knew it when she saw it, and the name? Well that clinched it. Combining the webfont feature with some homegrown and high-end design work, Kelli created a wiki seemingly written by hand – a minor detail that would surely breath a sense of intimacy into the site. Fun Fact: As it turns out, Kelli was on a huge Kylie Minogue kick while working on this project. Fittingly, her song ‘Two Hearts‘ was of major inspiration to Kelli as she worked on the site – a testament to Kelli’s diligence and thoroughness.

Tying everything together

Kelli is Zen’s expert when it comes to dressing Confluence up with Zen. She’s mastered the art of making a wiki feel like it belongs to its users through the use of design. You don’t bond with a tool, you bond with what that tool represents. In this particular case, Confluence radiates love, passion, and togetherness. When’s the last time you thought of those three words when referencing a wiki?

Atlassian Confluence - Stepstone Technologies - Zen Foundation

Zen is about getting Confluence out of the way so that people can get their jobs done and solve their problems. According to Kelli, Confluence’s customizable infrastructure makes it easy to do just that, so getting the wiki out of the way in the name of Love was no problem at all.

Take a Quick Look!

Take a glance at one of Zen’s short videos. In a couple of minutes you’ll gain even more insight as to what’s possible with Zen.

Try Zen Today!

If you already have Confluence, start a FREE 30-Day trial of Zen - it’s just a few clicks away using Confluence’s Universal Plugin Manager (UPM). Just follow the directions below:

  1. Browse to the Confluence Administration Console. Browse > Confluence Admin.
    Atlassian Confluence - Stepstone Technologies - Zen Foundation
  2. Click Plugins in the Configuration sidebar.
    Atlassian Confluence - Stepstone Technologies - Zen Foundation
  3. Search for ‘Zen Foundation’ and click Install – You’re done!
    Atlassian Confluence - Stepstone Technologies - Zen Foundation

New to Confluence?

Start a free trial today and get up and running in minutes. See why nearly 12,000 teams are using Confluence – like Facebook, Skype, Nike, and Sony.

by Ryan Anderson at May 15, 2012 01:00 PM

May 14, 2012

Dev Tools Blog

NASA’s Jet Propulsion Lab Launches Atlassian Into Space

Image courtesy of NASA

NASA’s Jet Propulsion Laboratory (JPL) uses a host of Atlassian products to build the software used for flight mission planning as well as modeling data sent back from satellites and Mars rovers. I sat down with David Mittman, lead software developer and “default Atlassian guy” at JPL to get a closer look at what they’re up to.

JPL was founded in the 1930s as a place to test new rocket technologies, and—after the creation of NASA in 1958—was chartered with developing the robotic spacecraft needed to explore our solar system. These high-profile programs include the ongoing Voyager mission (which is currently traveling beyond our solar system), the Ulysses solar mission, and the Pathfinder rovers sent to Mars in the 1990s –and that’s just a tiny fraction. JPL also has an Earth-observing program for tracking weather and climate change using robotic observers in space. “We are constantly developing new technologies for exploring space,” says Mittman. Over the next hour, he backed that statement up with example after mind-boggling example.

A Truly “Ensemble” Cast

Developing part of the vast amount of software that allows humans on Earth to operate this panoply of unmanned explorers is a joint effort between JPL in Pasadena, CA, the Ames Research Center near San Francisco, and the Johnson Space Center in Houston. To make this all as efficient as possible (these are our tax dollars at work, after all…), they have created a project called Ensemble to solve the common problems they face such as mission planning, parsing the raw scientific data sent back, and compiling visual maps to represent an explorer’s traverse.

So Ensemble is all about collaboration across disparate geographical areas, which is what led them to the Atlassian ecosystem. “We need an infrastructure to let us develop it efficiently,” Mittman explains “and we’re using Atlassian products.” Their collection currently includes JIRA, GreenHopper, Confluence, Bamboo, FishEye and Clover –which are largely suitable for even JPL’s crazy-advanced purposes right out of the box. Notably absent from that list is Crucible. “We do a lot of pair programming, so code reviews are conducted up front…We may add it as collaboration between the three teams increases.” Fair enough.

Image courtesy of NASA/JPL-Caltech

At present, Ensemble’s biggest project is a Mars rover named “Curiosity,” launched in November 2011 and due to touch down on the red planet this August. Curiosity is an unmanned science lab which will use rock-evaporating lasers, camera/spectrometer hybrids, and high definition stereo cameras to investigate whether it’s landing region could (or did in the past) support microbial life. It will also help scientists understand the radiation environment on Mars in preparation for eventual human missions there, targeted within the next 10-15 years.

As with the Spirit and Opportunity rovers currently calling Mars home, data collected by Curiosity will be sent back to Earth once a day, around the time of the Martian sunset. (Being solar-powered, the rovers are field geologists by day, and happy slumberers by night.) Using Ensemble and a transient, cloud-like computing hive of “about a thousand CPUs,” Curiosity’s operators will crunch through the day’s data, and within a few hours, send up it’s task list for the next day. Now THAT’s agile planning!

Behind the scenes, Bamboo is powering a continuous deployment pipeline that makes the whole works even more agile by delivering software updates to their private cloud as fast as the Ensemble engineers can crank them out. Code from six active branches is built using custom scripts that sit on top of Eclipse and SVN, and invoked by Bamboo. Each successful build is then deployed to, and rigorously tested on, two preliminary environments before going into operation. (Just imagine bragging to your friends that the code you wrote today will be driving rovers on Mars tomorrow! That ain’t science fiction, baby; it’s science fact.) Mittman & team are also moving toward a continuous deploy model for sharing their work with other developers building operational software for the International Space Station.

Ensemble’s Upcoming Performance

Image courtesy of NASA

What’s next for the Ensemble team? Oh not much…only “the first Eclipse RCP-based application to run on the International Space Station,” says Mittman. (!) Using OSGi to pull various components into a single application, this application will operate a SPHERES (Synchronized Position Hold Engage and Reorient Experimental Satellites) robot, as part of NASA’s Human Exploration Telerobotics project. Ensemble’s role will be to command and monitor a SPHERES free-flying robot equipped with an Android “Nexus S” smartphone for data processing. Another project in their pipeline will also be used on the ISS, this time to demonstrate how a human up in the space station can control a robot down on a planetary or lunar surface.

Space robots? Check. Groundbreaking technologies? Check. All in a days work for the guys n’ gals of Ensemble. We at Atlassian are honored and humbled that our tools are supporting this intrepid crew of computer scientists. Preparing for awesomeness in T-minus 5… 4… 3… 2… 1!

 

For more information on these far-out applications of computer code, check the sites below:

 Special thanks to David for taking time out of his day to share these rare insights with us!

by Sarah Goff-Dupont at May 14, 2012 06:38 PM

Confluence Product Blog

What is a Wiki Part III: 5 Ways Managers Can Use a Wiki

With 14 wiki myths busted, and 10 reasons to use a wiki as clear as day, it’s time to take a closer look at how different teams can benefit from using a wiki, starting with management teams in part three of this ‘What is a Wiki‘ series.

5 Ways Managers Can Use a Wiki

Confluence is built for everyone – from your most basic users in the mail room, to your advanced techies on your development team – YES, even for you too Mr(s). Manager.

If you manage a team, you might find it difficult to:

  1. Track your team’s progress
  2. Encourage open communication and transparency
  3. Access reports to make decisions
  4. Capture employee knowledge
  5. Manage your team’s leave

Watch this video to learn how Confluence can solve your managerial woes.

Download Video

Stay Tuned

Next week, in part four of this series, we’ll focus on 5 ways sales and marketing teams can benefit from using a wiki.

Need More Convincing?

Wiki champion? Need to convince the ‘others’ that the wiki way is the right way? We’ve got your back. Get everything you need – presentations and videos – to help you convince your team why Confluence will help them get more done together, faster.

What is a Wiki? Convince Your Team

by Matt at May 14, 2012 01:00 PM

JIRA Product Blog

GreenHopper Release – Scope Change and User Story Swimlanes

Before we get into the brilliant improvements to the Rapid Board for Scrum teams, check out this new video:

GreenHopper, Bamboo and JIRA work together wonderfully to support Agile teams:

  • Teams can see the full build history for any user story,
  • There is automated testing of all new story branches as they are created,
  • Teams have the ability to push user stories to production continuously or manually (see Continuous Deploy One Byte at a Time), plus
  • much much more.

Check out Bamboo today

Back to GreenHopper…

An oft requested feature from Scrum teams has been the ability to see when additional work has been added to a sprint, over and above what the team initially committed to deliver.

This isn’t an issue for XP teams as they are happy to continuously change the scope of the Sprint (or Iteration, in XP parlance). However, Scrum teams want fixed scope for the duration of the Sprint and so need to visualise any changes to the current Sprint if and when it occurs.

Visualise scope change:

GreenHopper scope change burndown chart - Agile project management tool for JIRA

See these changes in a table to quickly ascertain what change was made and when.

Scope Change Table:

This is also available for teams that estimate in Ideal Hours or Days, simply change the estimation statistic for the board.

Estimate Your Way:

Estimate user stories your preferred way with GreenHopper, Agile project management tool for JIRA

Another visualisation that teams have been clamouring for in the feedback has been the ability to visualise user stories with their sub-tasks across the board. This is important as it enables teams to see the progress on individual stories at a glance.

User Story Swimlanes:

The real kicker is that now, for the first time in GreenHopper, the user is prompted to resolve the User Story once all of the Sub-Tasks have been completed.

Resolve Story On Completion of Sub-Tasks:

For those teams that need a way to quickly decompose user stories into sub-tasks you can now do that as part of the planning session.

Sub-Tasks on Parent:

Finally, visualise team leave, releases and sprints in the one place with the latest versions of Team Calendars and GreenHopper.

Team Calendars showing Sprints:

For full details see the GreenHopper 5.9.7 Release Notes. With this release we feel the Rapid Board for Scrum functionality is coming together nicely and we look forward eagerly to the day when it graduates from Labs. Thanks for your feedback and support during this development and testing phase.

Get GreenHopper 5.9.7 today!

Note: OnDemand customers will be upgraded to GreenHopper 5.9.7 in one week.

 

by Nicholas Muldoon at May 14, 2012 12:56 PM

Bitbucket Blog

Accept Pull Requests and Auto-Close Branches

Does your team use branch-based development to work with one repo? Do your pull requests look like this?

Bitbucket has developed a feature that will help you maintain repo cleanliness without the tedious task of closing each branch from the command line.

Now when a pull request is sent across branches, a checkbox will appear giving you the option to close the source branch once the pull request gets accepted. Bitbucket will automatically close the source branch for you, tidying up your team’s repository.

Closing branches after pull requests (until now) has been a manual process that usually never gets done. Save your team time, automate the process, and keep your code organized with the simple click of a box.

Learn more about pull requests and start using this feature today.

by Jeff Park at May 14, 2012 06:00 AM

Matt Ryall

⌘ Recursive drawing

Recursive Drawing is an exploration of user interface ideas towards the development of a spatially-oriented programming environment.

The short introductory video is worth watching. The real blow-your-mind bit is about two minutes in:

#

by Matt Ryall at May 14, 2012 03:42 AM

⌘ Pixel-fitting

Dustin Curtis on why and how designers manually tweak icons for specific pixel sizes:

In the Markdown Mark repository on Github, I had initially included only 12 static PNG images of the mark at different specific sizes. Several people asked me why I had done this instead of including a vector graphic, and the reason is actually extremely important. This is something everyone should know, especially people who are not designers.

I found his example with the Hulu logo quite striking:

Hulu logo pixel-fitted by Dustin Curtis

#

by Matt Ryall at May 14, 2012 03:37 AM

May 12, 2012

James Roper

Hashbangs on the new Google Groups

Hash-bang URLs have been a contentious issue at my work over the past week, so much so that we completely got rid of them in the project that I'm working on. Coming out of the experience, I'm not convinced that hash-bangs are always a bad idea, however, there are some types of sites where they are very bad. Google groups I believe falls firmly into this category. And it's too late to do anything about it.

Google Groups Logo

The major issue with hash-bangs is not that it's a hack - many people would have called dynamically generating documents on each request a hack when websites first started doing that almost 20 years ago. It's not that it's ugly. It's not that some users don't have Javascript enabled (HTML5 mandates various Javascript APIs, if it doesn't do Javascript, it doesn't do HTML, Javascript is a core building block of the web - get over it). The big issue is maintainability of URLs.

For some sites, this is irrelevant. Take a site that is your own personal dashboard to managing your own private things - a webmail site for example. Nothing is going to link to it, so there is no need to maintain URLs. For other sites, it's an issue, but it's not so important. I know the folks at Twitter are considering it a big issue at the moment, but really, if a link breaks to someones 140 character word of wisdom... does it really matter?

But then there is a category of sites for which it is really important. These are the sites that maintain permanent records for future use. Mailing lists are one such example. I have an open source project, called the mongo jackson mapper. It has a small user base, and I provide support to people when they asked questions. About a month ago, I noticed that I was getting a number of emails from people asking for help. I was more than happy to answer these, however, I was concerned that if one person has a question, then other people are likely to have the same question, and I would be doing a lot of repeat work in answering people questions. So, I setup a Google group for questions.

Now, when someone asks the same question twice, I can simply link to the old answer, no need to rewrite the answer. Furthermore, people on other sites, such as stack overflow, can link to my answers. The URL to that answer will stand as a link in the chain to a record in time that will help many people help themselves in future. However, the usefulness is dependent on that link still working in future. Let's have a look at an example link:

https://groups.google.com/forum/?fromgroups#!topic/mongo-jackson-mapper/AeFF5Cqqolw

As you can see, the ID of the message only appears after the hash-bang. This means, it doesn't get sent to the server when you request it, the only way Google can know what message is being request is to serve up some Javascript that parses it out of the URL. And that's exactly what they do. But what happens, in future, when they decide to rewrite Google groups again? And again? And again... If the resource, https://groups.google.com/forum/?fromgroups, doesn't continue to serve up that Javascript, then all links to all posts that people have copied from their browser address bar and pasted elsewhere will break. The permanent record of networked help pages that people use to solve their every day problems will be broken.

In contrast, if they didn't use hash-bang URLs, then they could make whatever changes to their URL structure that they liked, and all they have to do to maintain the URLs is implement a simple redirect on the server side. No need to serve Javascript up at a particular resource.

Google groups does have a permalink feature, but really, who uses that? It feels unnatural for me even though I know and understand the difference between permalinks and what is in my address bar. When I want to copy a URL, without thinking, I copy it straight from the address bar, because this is what I always do for every other site.

So, Google groups, really? Hash-bangs? Are you not thinking of the future? Are you seriously committing to maintaining Javascript at arbitrary URLs for the lifetime of the internet? Unfortunately, the horse has bolted, these hash-bang links to Google groups are already starting to find themselves around the web, so you have no choice. And I'm guessing that someone in future will forget this, and and so you'll just break all those links.

by James Roper at May 12, 2012 07:02 AM

Sarah Maddox

See you at STC Summit 2012

It’s just a few days away now! STC Summit ’12 is the annual conference of the Society for Technical Communication in the United States. I’m looking forward to greeting old friends and meeting a number of people that I’ve chatted to on Twitter, blogs, and other online places. There’ll be plenty of excellent presentations and good events too.

My own presentation is bright and early on Monday, the first full day of the conference. It’s called Building a Developer Documentation Wiki. Here’s the link for people using the STC social platform, Zerista: Event details: Building a Developer Documentation Wiki.


by ffeathers at May 12, 2012 05:06 AM

May 11, 2012

Atlassian News Blog

Atlassian SF – a great place to bike

Atlassian and five other stellar companies — AirBnB, Veritable Vegetable, Rackspace, Levi’s and Zynga — were recognized for making it easy for their employees to bike to work, and in doing so, attracting high-quality employees. It was all part of a San Francisco City Hall press conference today for the annual Bike to Work Day where the San Francisco Bicycle Coalition and Mayor Edwin Lee awarded the first-ever Bicycle-Friendly Business Awards. Read all about the award on the SF Bicycle Coalition website.

Looking for a job you can bike to? Atlassian is hiring in San Francisco, Sydney and Amsterdam!

 

 

by Jon Silvers at May 11, 2012 12:30 AM

May 10, 2012

Matt Ryall

⌘ Goodbye, CouchDB

Steven Hazel from Sauce Labs on why they switched from CouchDB to MySQL:

Our original product design featured a REST API for storing data on behalf of our customers, and the plan was to drop almost straight through to CouchDB’s already RESTful API. This let us get a prototype up and running in a hurry. It didn’t matter that CouchDB was new and not yet hardened by a lot of real-world usage, we thought, because our database I/O needs were meager, our app was naturally horizontally scalable, and our product was fault-tolerant. We could easily bridge any reliability gap just by keeping replicas and retrying things when they failed. What could go wrong?

#

by Matt Ryall at May 10, 2012 08:42 PM

Confluence Product Blog

Team Calendars 2.2 Gets Agile with Integrated GreenHopper Sprint Calendars

We’re often asked by other Atlassians, ‘Does Team Calendars have a release this month?’. To which we satisfyingly respond with another question: Does Atlassian’s beer cart roll around every Friday at 4 PM?

We don’t mean to be rude, or arrogant, but we’re proud of our dev speed, and it’s turned us into a confident lot. This is our 13th release in 11 months. We simply love putting new features into the hands of our customers as fast as possible.

So without further adue, we’re excited to announce that our next major release - Team Calendars 2.2 - is available for download now.

Plan Your Sprints with Precision

Inherently, precision is at the core of agile software development. GreenHopper leverages JIRA‘s customizable issues and flexible workflow to provide an Agile project management solution that adapts as your team evolves. But it can be difficult to holistically plan your iterations especially according to the availability of your team.

The latest release of Team Calendars makes it easy to plan iterations with the ability to embed your GreenHopper sprints in your JIRA Calendars. If you’re running the latest version of GreenHopper – 5.9.7 or above – you’ll see a ‘Sprints’ option when creating a new JIRA Calendar in Team Calendars.

Team Calendars Add GreenHopper Sprint Calendar

It’s never been this easy to view your sprints alongside your team leave and travel plans, helping you identify any potential scheduling conflicts that could impact the success of your next sprint.

Create Sprint Calendar Mashups

Imagine that you take a look at your Team Calendar and see that a couple of your team members are headed to Las Vegas in the middle of your next sprint. You know it’s unlikely that the rest of your team will be able to finish the work that had been scheduled. Team Calendars makes it easy to jump to your GreenHopper planning board and adjust your team’s workload for the upcoming sprint, aligning your expectations with reality. The combination of Team Calendars and GreenHopper will keep your team on target.

Access GreenHopper from Team Calendars

This is precision – using Team Calendars, you can feasibly plan your sprints according to what’s actually achievable by your team. If a sprint is already complete, ‘View Sprint’ will take you straight to the retrospective report. View your retrospective report alongside your Team Calendar and understand why you didn’t accomplish everything you wanted to. Perhaps one your devs was on support rotation for a day that you hadn’t originally accounted for –Team Calendars reveals all.

Hone in on your dev cycle with Team Calendars and GreenHopper. Managing your sprints just got a whole lot more precise and predictable.

A Little Polish Never Hurts…

We’ve also packed a couple of small improvements to make your Team Calendars experience shine.

Event Pop-ups Get Detailed

We’ve given the event dialogs for month and week views a visual refresh. You might notice:

  • Events now display the “where” field, if it’s set
  • Font is larger and easier to read
  • Long event descriptions are better handled
  • All event dialogs are consistent (previously dashboard styling was different to month and week views)
More Detailed Event Dialog

Dummy-Proof Calendar Deletions

How many times has someone deleted a calendar when they actually only wanted to remove it from their Team Calendars view? We’ve hit this problem a few times at Atlassian so it was clear we needed to do something to prevent it from happening again. Now there’s only one “Remove” menu option.

Remove a Team Calendar

When clicked, users are asked with what they would like to do with the calendar. We’ve made the default selected option the safe one of the two…just in-case.

Remove a Team Calendar Dialog

Secure Your Team Calendars

Team Calendars 1.8 allowed users to securely subscribe to Team Calendars from an email client – like Outlook, iCal, or Google Calendar – without having to login. But we’ve given Confluence Administrators the ability to disable private URL’s in the Team Calendars configuration screen (accessible through the Confluence admin console).

Team Calendars in Review

With so many releases, it can be hard to keep up on the latest and greatest. You may have missed some of the seriously awesome features, so here’s a quick look at some of the highlights of past releases:

See even more reasons why over 1,200 companies - like Facebook, Skype, Workday, and HTC use Team Calendars to schedule their team leave, track their JIRA projects, and plan events.

Try Team Calendars 2.2 Now!

Start a FREE 30-Day trial on our servers or yours. Either way, it’s just a few clicks away – we promise. If you’re trying Team Calendars on your owns server, Confluence’s Universal Plugin Manager (UPM) will help you get started in seconds. Just follow the directions below:

  1. Browse to the Confluence Administration Console. Browse > Confluence Admin.
    Confluence Browse Menu
  2. Click Plugins in the Configuration sidebar.
    Confluence Admin Plugins
  3. Search for ‘Team Calendars’ and click Install – You’re done!
    Team Calendars - UPM

Want to learn more about this release? Check out the release notes.

by Ryan Anderson at May 10, 2012 01:00 PM

Sven Peters

dogfood

Dieses Jahr auf der JAX in Mainz habe ich den Vortrag “7 Dinge: Wie man gute Teams großartig macht” gehalten. Dieser handelte im wesentlichen darüber, sein Team zu motivieren, um es produktiver, effizienter, neugieriger und innovativer zu machen. Eben aus einem schon guten Team, das Beste herausholen. Dabei habe ich über folgende Dinge gesprochen:

  1. Flowtime – So lange und oft wie möglich im Flow bleiben, ohne die Zusammenarbeit zu vergessen
  2. Feed your brain – Gemeinsam mit dem Team lernen und sich gegenseitig etwas beibringen
  3. Say: Well done – Auch die kleinen Dinge würdigen. Anerkennung ist eines der wichtigen Dinge, warum wir täglich zur Arbeit gehen
  4. Report Robot: Projektberichte automatisch generieren lassen: Spart Zeit und macht mehr Spaß!
  5. Dogfooding: Das ganze Unternehmen soll die eigene Software benutzen, um selbst zu merken, wo man diese verbessern kann
  6. Innovation Days: Neue eigene Ideen in Prototypen innerhalb von 24 Stunden umsetzen, um die Machbarkeit zu demonstrieren
  7. 20% Zeit: Innovationen bis zur Produktreife entwickeln

Die Folien zum Talk findet man hier.

Probleme mit Innovation Days

Bei Innovation oder Prototype Days handelt es sich darum, 24 Stunden mit seinem Team oder mit der ganzen Abteilung neuen Produktideen auszuprobieren. Dabei kommt es nicht darauf an, den Code 100% “clean” zu programmieren und das System stabil zum Laufen zu bekommen, sondern einen Prototypen zu bauen!

  • Problem: 24 Stunden arbeiten, so etwas lässt das Arbeitszeitgesetz in Deutschland gar nicht zu: Hier sollte man als Team kreativ sein. Vielleicht lässt man den Arbeitstag direkt mit dem Innovationstag beginnen, so dass man die maximale Arbeitszeit zur Verfügung hat und dehnt den Prototypentag auf 2 Arbeitstage auf (Bei Atlassian programmieren die meisten auch keine 24 Stunden durch). Allerdings verliert dieser Tag dann ein wenig an Reiz, da man nicht das Gefühl hat, einen super außergewöhnlichen Arbeitstag zu haben.
  • Problem: Teammitglieder, die nicht bis spät am Abend programmieren wollen, fühlen sich jedoch genötigt, lange zu bleiben: Darum hieß mein Talk: Wie man gute Teams großartig macht. Ich glaube in einem guten Team ist es auch vollkommen in Ordnung, wenn jemand früher gehen möchte. Jeder respektiert hier die Bedürfnisse des anderen. Wenn man also im voraus weiss, dass jemand früher geht, kann man die Aufgaben dementsprechend planen.
  • Problem: Das küren eines Gewinners am Ende des Tages, kann Mitarbeiter demotivieren: Wenn man das Gefühl hat, dass sich das ganze Team nicht für den einen Gewinner freuen kann, sollte man die Abstimmung am Ende weglassen. Ich glaube dennoch, dass ein wenig Konkurrenz, das Ergebnis verbessert. Man ist noch motivierter ein Kick-Ass Feature zu programmieren.

Probleme mit Flowtime

Im Flowtime Teil meines Talks habe ich den Tipp gegeben, für ein paar Stunden am Tag die Abteilung für Telefonanfragen, Emails und sonstigen Störungen zu schließen und sich auf das Programmieren zu konzentrieren.

  • Problem: Einige Zeit, nachdem man die Flowtime eingeführt hat, machen Mitarbeiter nicht mehr mit und sehen  den Sinn dieser Zeit nicht mehr. Das habe ich auch selbst erlebt: Wenn sich die anderen Abteilungen an die Konzentrationszeit gewöhnt haben, ist es nachmittags eh still und keiner ruft an. Man sieht dann die Notwendigkeit nicht mehr, jeden zurechzuweisen, dass doch Flowtime ist. Ich fand es total OK, dass das Team an Flowtime keinen Bedarf mehr hatte  und diese kollektiv abgeschafft hat. In stürmischen Tagen kann man diese dann ja auch wieder einführen. Die Abteilung kennt dann zumindest schon die Regeln.

Probleme mit Dogfooding

Dogfooding bedeutet, dass das gesamte Unternehmen die entwickelte Software in einer alpha-Version benutzt – Vom CEO bis zur Sekretärin, aber am wichtigsten ist, dass die Entwickler Ihre programmierte Software benutzen, um Kunden besser zu verstehen und die Feedback-Zyklen so kurz wie möglich zu halten.

Problem: Wir machen eine Help Desk Software, die wir in der Softwareentwicklung nicht einsetzen und somit nicht selbst testen können: Ja, es gibt bestimmt Anwendungsfälle, bei denen man die Software schwer selbst ausprobieren kann. Aber die meisten machen es sich zu einfach: Eine Software, die im eigenen Help Desk eingesetzt wird, kann man sehr wohl selbst ausprobieren. Man muss sich nur einen halben Tag pro Woche Zeit nehmen und die HelpDesk Mitarbeiter unterstützen. Das wichtige dabei ist, dass dies regelmäßig in relativ kurzen Abständen passiert (mind. einmal wöchentlich bis 14-täglich).

Wer mehr über die 7 Dinge erfahren möchte, kann meine Blogserie zu diesem Thema hier lesen. Ich werde demnächst hier die Videos zu dem Talk veröffentlichen, also ein wenig Geduld noch bitte!


by Sven Peters at May 10, 2012 06:46 AM

Atlassian Developer Blog

CodeCache is full. Compiler has been disabled.

When I was timing how long it takes JIRA 5.0.1 to reach a steady state for GC & code compilation with JDK 1.6.0_26 for a GC tuning guide; I noticed a log message that I’d never seen before:

1
2
Java HotSpot(TM) 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled.
Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=

This cache is a memory area separate from the JVM heap that contains all the JVM bytecode for a method compiled down to native code, each called an nmethod1. This is where the JIT compiled methods are kept. On server classed 64 bit VMs, the reserved cache size is 48 MB (Used to be 1 GB, see Bug 6245770).

Once the compiler is switched off due to the Code Cache being full, it does not switch back on. Existing nmethods will continue to be used until they are flushed from the cache. As this was the first time I’d seen this interesting message, I decided to do some digging as I hadn’t encountered the VM code cache with previous research in to HotSpot garbage collection.

Impact of the Code Cache being full is that JIT compilation is now off for the remainder of the JVM’s life. We don’t have any statistics as to the impact of this on long running performance; the impression that I have is that CPU utilisation & request service time would increase over long running VMs for code that could have been optimised. For a system that is over-committed on CPU resources the application throughput could decrease noticeably.

The suspicion that I have here is that if I give the Code Cache some fatpants by increasing -XX:ReservedCodeCacheSize=, I’d just be delaying the problem. So I dug in to the HotSpot code to see if there was a way that the JVM can manage this for me. Turns out, there is; in the HotSpot source for jdk6 the following flag is available for product releases, -XX:+UseCodeCacheFlushing:

1
product(bool, UseCodeCacheFlushing, false, "Attempt to clean the code cache before shutting off compiler")

It is not on by default. So I turned this on, and I no longer observed the log message about the code cache being exhausted with the particular environment being used. I wanted to confirm that this was working as advertised, so I read through the HotSpot code to determine how the Code Cache flushes nmethods during default operation and when -XX:+UseCodeCacheFlushing is used.

There is a way to infer when nmethods are flushed by interpreting the log messages printed with -XX:+PrintCompilation, the lines that are important are the ones where an nmethod has been made a zombie:

1
552287 4320 made zombie org.ofbiz.core.entity.EntityExpr::makeWhereString (557 bytes)

With -XX:+UseCodeCacheFlushing, what you would be looking for is a large group of these messages in quick succession, as it generally indicates the processing of older nmethods to be flushed from the code cache. As opposed to normal flushing due to class unloading or deoptimisation.

This doesn’t give the whole story; as when an nmethod is made zombie it is not immediately flushed from the cache, the state progression of nmethods may not be linear, there is a race between cache flushing and code compilation or what causes the significant code cache churn with a long running JIRA instance, &c…

Code Cache Flushing in a nutshell

Code Cache flushing is achieved via two mechanisms. A Scanning mechanism, where nmethods are earmarked when they were last seen and a Sweeping mechanism, where nmethods progress through multiple stages in successive sweeps so that they can be flushed safely.

It is a race between compilation and flushing; where the compiler is disabled when flushing loses.

With -XX:+UseCodeCacheFlushing; when the code cache size is near to exhaustion, the oldest half of the code cache is speculatively flushed. The speculatively flushed nmethods are disconnected. If they are determined to still be of use within a period of time, they are reconnected; otherwise they are flushed. Details are below.

Default code cache flushing

With default code cache flushing, nmethods are marked when they are no longer needed, from events such as class unloading or when the nmethod has to be deoptimised. To ensure safe flushing of an nmethod from the cache, there are two main marks that are used: a not entrant mark and a zombie mark.

An nmethod is marked as not entrant when it begins the flushing process, as there may be references to the nmethod in an execution stack frame. Once these references are cleared, the nmethod may be marked as a zombie where it can be flushed.

Scanning is done during a safepoint2 cleanup, where execution stack frames are checked for not entrant nmethods, where they are stamped with the current value of a counter that tracks the number of stack traversals during the life of the VM. This is used during sweeping to determine if it is safe to mark a not entrant nmethod as a zombie.

This ensures that live not entrant nmethods aren’t flushed by comparing the the stack traversal stamp with the current stack traversal count. Essentially if the stack traversal stamp is lower than the current stack traversal count by a safe margin; (2 to be precise), then a not entrant nmethod may be converted to a zombie.

Sweeping is broken up in to fractions and operates outside of safepoints, as it is performed by a compiler thread after a stack scan. It is also complicated by the possibilty of multiple compiler threads. The benefit of there being multiple compiler threads is that one may be performing a sweep fraction whilst the others are servicing compilation jobs. Of course, this is assuming that the race of flushing vs. compiling is in the favor of flushing.

Inside the main loop of the compiler thread, before obtaining any new jobs from the compile queue, a sweep fraction is potentially performed. The compiler thread first attempts to get an atomic lock, to ensure that only one compiler thread performs code cache sweeping at any given time. The number of nmethods to sweep is then estimated, based on which invocation out of -XX:NmethodSweepFraction=<n> (default 4) the sweeper is at. The final sweep invocation visits all remaining nmethods.

For each nmethod visited during a sweep fraction:

  • If the nmethod is in use by the VM:
    • If the nmethod is entrant clean up any inline caches to not entrant & zombie nmethods.
  • Else if the nmethod is a zombie:
    • If the zombie is marked for reclamation, flush it from the code cache.
    • Else mark the zombie nmethod for reclamation. This is to ensure that by the next time the zombie is seen by the sweeper that all inline caches that reference the nmethod are cleaned up.
  • Else if the nmethod is not entrant:
    • If the nmethod is no longer in an execution stack frame, mark it as a zombie.
    • Else clean up inline caches.
  • Else if the nmethod is for unloaded code:
    • If this is an On Stack Replacement (OSR) nmethod, flush it immediately.
    • Else mark the nmethod as a zombie.
  • Else, clean up inline caches.

Speculative flushing, -XX:+UseCodeCacheFlushing

When -XX:+UseCodeCacheFlushing is enabled if the unallocated code cache becomes less than -XX:CodeCacheMinimumFreeSpace=<n>[g|m|k] (Default 500K), or the amount of free code cache drops to less than -XX:CodeCacheFlushingMinimumFreeSpace=<n>[g|m|k] (Default 1500K), pre-emptive code cache flushing may start. In the former compilation is disabled, with the latter compilation is enabled but compiles are delayed until free code cache is greater than -XX:CodeCacheFlushingMinimumFreeSpace=<n>. Speculative flushing is used for both scenarios.

When speculative flushing begins, the older half of the nmethods based on compile id are saved in to a list named old and disconnected from their respective methodOop.

Scanning differs to the default behavior where if the code cache no longer needs flushing the compiler will be allow to run new jobs. This is achieved by checking:

  • Sufficient space has been cleaned out to suffice -XX:CodeCacheFlushingMinimumFreeSpace=<n>.
  • The interval since when the code cache was last full is longer than the number of seconds specified for -XX:MinCodeCacheFlushingInterval=<n> (30 default).

Sweeping is done with greater aggressiveness in comparison to the default behavior:

  • After the first potential sweep fraction:
    • While there are no compile tasks:
      • Wait for -XX:NmethodSweepCheckInterval=<n> seconds.
      • If there was no safepoint before waking up, possibly sweep again.
  • When performing a potential sweep, before performing a clean up inline cachesfrom the last step in the default sweep steps above:
    • If the nmethod was saved in the old list & after two sweep scans the nmethod wasn’t reconnected, make the nmethod not entrant.

When speculative flushing is active, during JIT compilation if for a method there is a saved nmethod in the speculatively disconnected list that is entrant for the method being optimised it is removed from from the old list & and reconnected to that method.

References:

  1. From the HotSpot glossary:

    nmethod
    A block of executable code which implements some Java bytecodes. It may be a complete Java method, or an ‘OSR’ method. It routinely includes object code for additional methods inlined by the compiler.

  2. From the HotSpot glossary:

    safepoint
    A point during program execution at which all GC roots are known and all heap object contents are consistent. From a global point of view, all threads must block at a safepoint before the GC can run. (As a special case, threads running JNI code can continue to run, because they use only handles. During a safepoint they must block instead of loading the contents of the handle.) From a local point of view, a safepoint is a distinguished point in a block of code where the executing thread may block for the GC. Most call sites qualify as safepoints. There are strong invariants which hold true at every safepoint, which may be disregarded at non-safepoints. Both compiled Java code and C/C++ code be optimized between safepoints, but less so across safepoints. The JIT compiler emits a GC map at each safepoint. C/C++ code in the VM uses stylized macro-based conventions (e.g., TRAPS) to mark potential safepoints.

by Pete de Zwart at May 10, 2012 01:00 AM

May 09, 2012

Matt Ryall

⌘ The design of a signage typeface

Ralf Herrmann on the process of designing and testing his new signage typeface, Wayfinding Sans Pro:

Surely every professional type designer has at least an inkling of how a signage typeface should look: probably it sports a rather clean sans serif design, open counters and a rather large x-height.

But which x-height works best, and why? What is the optimal stroke width? A monocular or binocular g? Should the design be somewhat condensed to permit more information on a sign, or rather should it be relatively wide so that individual letters are more easily differentiated?

Years of research and testing later, independent studies have confirmed that Ralf’s design is significantly more readable than the alternatives.

#

by Matt Ryall at May 09, 2012 08:32 PM

JIRA Product Blog

(Guest Post) Implement Role-Based JIRA Dashboards to Keep a Process Flowing

This is a guest blog by Dan Mihalache, a JIRA and Confluence expert with a passion for designing, implementing and optimizing processes. Dan is a senior project manager at Murex, a leader in software development for trading, risk management and processing solutions.

The Process Roadmap

What makes JIRA a great tool for me is that it allows the easy implementation of processes in general. You can model whatever you want to model, define steps, validations, conditions, roles and responsibilities, roadmaps, schedules, milestones, releases, etc. Moreover, once a process is implemented, JIRA is a great vehicle to make the process evolve: you can easily add steps that can bring value or you can eliminate steps that are no longer necessary.

This is why we have started to implement and evolve more and more complex processes in JIRA. I am in charge of designing, implementing and optimizing the Processing Roadmap process for our clients, one of the strategic directions of the company. This rather complex process involves over 70 people directly from start to finish: determining the business requirements, developing a product strategy, finding and specifying functional and technical solutions, validating requirements and specifications, analyzing development demands, prioritizing, developing, testing, ensuring quality control and releasing.

The implementation of such a complex process at such a scale is not easy. Making everyone pull in the same direction in a controlled and predictable manner is challenging. It is difficult for many people (especially the non-geeks) to understand the whole process and the workflow we use. This is even more difficult when the process needs to evolve, when a new step or activity is added or eliminated and the responsibilities change. We use role-based dashboards in JIRA to eliminate this problem for them.

Solution & Benefits

For every role there is a specific dashboard that shows relevant information for the dashboard owner’s role: what he has to do, what is in progress, what has been done and, if relevant, what he has to monitor. This brings a lot of benefits:

  • People don’t need to understand the whole process, they only need to understand their role and what is expected from them and this is captured in their specific dashboard. The dashboard hides the complexity of the process. (Of course, this does not stop them from understanding the whole process if they are interested).
  • Everything relevant to a particular user is in a single place.
  • Because people understand easier what they have to do, this brings flow to the process.
  • Since I have created and shared all the dashboards, when I modify the workflow/the process, I also modify all the associated dashboards which are automatically updated to the users. Those involved don’t need to understand the details of the modification as long as their dashboard remains coherent and functional. This allows easier modifications of the process without causing disruptions.
  • If someone has several roles then he also has several dashboards, one for each role.
  • The dashboards can be multi-project. This means that you can stream issues from several projects that require a similar type of treatment in the same dashboard. As an example of how one dashboard has evolved over time, initially each developer had a dashboard with the development requests related to the project roadmap. Later we added defects in the same dashboard, since it made sense for a developer to have all the development demands in only one place. Since the developers interact primarily with JIRA via the dashboards, it doesn’t matter if behind there are multiple projects. As long as the steps visible in the dashboards are clear, even the workflows don’t need to be the same. This allows more granularity in the administration and management of different types of issues.

What it really boils down to is one person (or a few people) own the process as a whole, so individual contributors don’t need to work within a process, they get to just focus on their part of things and actually get work done.

Example Roles

Reporter

The reporter works directly on client implementation projects. He identifies business requirements that need product developments. He has a dashboard with all the issues he owns and where he has to provide:

  • Business requirements
  • Solutions (specifications)
  • Clarifications for the developers
  • Release notes

This is his To do list. Each time he has to move the issue to the next status where someone else needs to act on it.

Functional supervisor

An expert in a functional area in charge of reviewing and validating business requirements, specifications and release notes. He has a dashboard with all the issues where he needs to review the business requirements (To approve), the proposed solution/specifications (Pending check) and release notes once completed (Resolved). These are his to do lists and the actions are to validate or to reject.

Dev lead

The developer in charge of the development of the roadmap block. He has a dashboard with his part of the workflow, his backlog (Ready for dev), and the completed issues (Ready for merge). In this dashboard you can note that the issues are from different projects, some are roadmap development (PROAD) and others are defects (PDEF). The developer doesn’t care that the two types of issues have different selection processes/workflows – he has his dashboard and he knows what he has to do.

 Set these up for your team

If you want to implement this, the approach I would use is:

  1. Define the process. What are the steps that need to be done?
  2. Define the roles and responsibilities. Who is in charge of what?
  3. Implement the process in JIRA. For each status there should be only one role in charge of all the actions. This is the only way you can know who has to do something at any moment. The status has to be owned by someone. This also helps a lot with the design of role-based dashboards since you can easily filter on statuses.
  4. Understand the way the people in different roles work, then start to design meaningful dashboards for each role. Each role should have clear to do lists (whatever this might mean, a different status for each role), and relevant ‘in progress’ and ‘done’ issues to monitor/supervise lists if applicable.
  5. Evolve the dashboards. This is a continuous process, as people come with new and better ideas. Update the dashboards when new needs are discovered and better ideas are presented.
  6. Evolve the process. This also is a continuous process, as you discover new needs and optimizations. Keep the dashboards in line with the process.
  7. Take a user-centric view when setting up the dashboards, as opposed to a project-centric view. Stream issues that require a similar type of treatment in the same dashboard, even if they are for different projects.

How do you get things done?

Share your experience in the comments!

by Christina Bang at May 09, 2012 06:45 PM

Confluence Product Blog

HipChat and Confluence Take Team Communication to the Next Level

Instant Messaging is an effective means for quickly communicating with your team and sharing information. It’s more immediate than email, but less distracting then tapping your co-worker on the shoulder to ask a question. HipChat offers instant messaging via both private one-on-one chats and group chats – allowing for either private conversations or team discussions – a perfect communication tool to use alongside Confluence. However, connecting the two can take your team’s productivity to new heights.

Bring Confluence into HipChat

Since HipChat has joined the Atlassian family, we’ve been hard at work developing integration features that help your team get work done together, faster. We’re proud to announce the first generation of HipChat-Confluence integration - already available in Atlassian OnDemand, or free to download from the Plugin Exchange for customers running Confluence on their own servers.

Push Confluence Blogs into HipChat Rooms

At Atlassian we have a unique blogging culture that encourages open communication from everyone in our organization. Confluence blog posts are perfect for disseminating information, capturing ideas, and announcing important company events.

The Hipchat for Confluence plugin enables Space Administrators to link a Confluence Space to HipChat rooms – when a new blog post is published, the plugin immediately notifies users in the linked HipChat rooms. This enables the key stakeholders of a Space to stay updated about newsworthy content and take action immediately.


HipChat-Confluence-Integration

View HipChat Presence in Confluence

Have you ever been working in Confluence and wanting to know if a co-worker was online? Now you can.

HipChat-Confluence-Integration-Presence

Try it Now…it’s Free!

If you’re already using Confluence OnDemand and HipChat these features are already available, so you can try them out right now. But, if you’re using HipChat and running Confluence on your own servers, then you can download the HipChat for Confluence plugin for FREE and install it in just a few clicks via the Confluence Universal Plugin Manager (UPM). See the directions below:

  1. Browse to the Confluence Administration Console. Browse > Confluence Admin.
    Confluence_Browse_Confluence-Admin
  2. Click Plugins in the Configuration sidebar.
    Confluence-Plugins-Admin-Console
  3. Search for ‘HipChat for Confluence’ and click Install – You’re done!
    Confluence-UPM-HipChat

See HipChat in action!

New to HipChat? See the video below to learn more:

by Ryan Anderson at May 09, 2012 01:00 PM

Bonillaware

7 plataformas de gamificación

Más allá del palabro de moda, la gamification o gamificación es una técnica para incentivar determinados comportamientos mediante la aplicación de mecánicas de juego.

Para conseguirlo, lo primero que hay que hacer es identificar los procesos o actividades que queremos incentivar (aumentar las ventas en un equipo comercial, mejorar la atención al cliente en un call center, disminuir el absentismo escolar…) y, después, aplicar las mecánicas de juego (niveles, insignias o badges, clasificaciones…) más adecuadas para aumentar la motivación intrínseca de nuestra audiencia objetiva.

Para ayudarnos con esa aplicación práctica existen una serie de plataformas de gamificación que, básicamente, monitorizan de forma automática y continuada los procesos gamificados e implementan las mecánicas de juego.

A continuación, os presento 7 de las plataformas más interesantes que podéis encontrar en el mercado:

BadgevilleBadgeville

Proporciona un motor que permite gamificar a partir de objetivos y recompensas personalizadas. Incluye un generador de widgets, APIs, SDK para móviles, conectores con Omniture, Yammer y muchas más aplicaciones… la plataforma de referencia hoy en día.

BunchballBunchball

Una de las primeras aplicaciones disponibles. Su solución Nitro fue lanzada en 2007 y se ha convertido en una de las mejores soluciones para los equipos de ventas que utilicen Salesforce. Su web está llena de recursos interesantes sobre la aplicación de gamificación en distintos negocios.

BigDoorBigDoor

Es una de las pocas plataformas con precios públicos y una versión gratuita para que puedas implementar en tu página web. Incluye autenticación con Facebook o Twitter y hasta un proceso de onboarding o abordaje para que tus usuarios aprendan a jugar con el sistema. Podéis ver un ejemplo en vivo en su propio blog.

GigyaGigya

Gigya construye productos para integrar aplicaciones corporativas con más de 25 Redes Sociales y, además, tiene un producto de gamificación. Es la plataforma que ofrece una mayor posibilidad de integración (APIs REST, implementación en servidor con .NET, JAVA y PHP, SDKs para iOS, Android y Flash) y una documentación técnica de referencia.

Stopped.atStopped.at

Una plataforma peculiar. Se autodefine como “el Foursquare de las webs“. Incentiva a la audiencia de tu web a hacer check-in cuando te visiten y compartirlo a través de sus redes sociales. A cambio, podrán obtener recompensas en base al tráfico que generen. Algunas tiendas están ofreciendo gastos de envío gratuitos a cambio de los check-ins de los clientes.

KiipKiip

Kiip permite gamificar… ¡Lo que ya está gamificado! Es un sistema para incluir recompensas reales en videojuegos. ¿Te imaginas que, al derrotar al jefe final, rescatar a la princesa o pasar de nivel, ganaras un café gratis en Starbucks o un bono de descuento en Sephora? Pues eso es Kiip. Y, además, tienen un programa para ayudar a los desarrolladores de videojuegos indie.

GamifyGamify

Una curiosa mezcla de Second Life y Habbo Hotel donde se supone que las marcas pueden incentivar a los usuarios para visitar sus webs o usar sus aplicaciones. Más un chat con esteroides que una verdadera plataforma de gamificación. Lo he incluido como ejemplo de alternativa a los aburridos asistentes virtuales que incluyen muchas webs.

Bola Extra

Echadle un vistazo a Bokzuy, una aplicación española de la que su autor, Iván López, nos ha hablado en los comentarios de este mismo artículo. Tiene una API REST como un piano así que, podríamos considerarla una plataforma de tomo y lomo. Sólo está esperando a que empecemos a jugar con ella… ^_^

Bokzuy

by david at May 09, 2012 05:00 AM

May 08, 2012

Matt Ryall

⌘ Unforgiven: the consequences of profit failure in mobile phones

Horace Dediu on how failure in the mobile phone market pans out:

I listed 13 phone vendors who were either merged, liquidated or acquired. There are no examples of vendors who recovered from a position of loss making.

Since my post in June last year Sony Ericsson and Motorola were acquired making the victims list total 14 companies, with Nokia, LG and RIM having joined the “endangered species list”. If the pattern repeats, then RIM and Nokia are in early phases of what promises to be an extended period of pain followed by an exit.

#

by Matt Ryall at May 08, 2012 08:34 PM

⌘ Shell apps and silver bullets

Benjamin Sandovsky on why you should write fully native iPhone apps rather than trying to wrap your existing web app in a webview:

Every company comes up with the idea of writing a “shell app.” By replacing native code with a web view you could:

  • Release new functionality outside a full app update
  • Implement a feature once and share it across platforms
  • If you come from web development, you can stick to a familiar stack.

I reached out to great engineers to hear their experience with shell apps. Everyone told the same story.

At first things are easy. For simple screens, using a webview might be faster than writing a native implementation. As you add functionality to the webview, the complexity increases until you give up and write everything native.

Sounds like good advice.

#

by Matt Ryall at May 08, 2012 08:27 PM

Atlassian Developer Blog

AtlasCamp EU Videos Now Online!

For those who missed the event, the AtlasCamp Europe 2012 videos are now online. This AtlasCamp was our first ever developer event in Europe and it was a smashing success. Thanks for all who made it possible.

Here are the talks:

If you’ve never been to an AtlasCamp, put it on your list of events to attend this year. Our next one kicks off in September/October in Half Moon Bay, California. Be on the lookout for the announcement this summer.

by Rich Manalang at May 08, 2012 04:00 PM

Matt Ryall

⌘ This is all your app is: a collection of tiny details

Great example by Jeff Atwood of why all the little details matter.

#

by Matt Ryall at May 08, 2012 10:02 AM

May 07, 2012

Confluence Product Blog

What is a Wiki Part II: 10 Reasons to Use a Wiki

Last week we revealed the truth about wikis, busting 14 wiki myths. Today we take a look at 10 reasons why you should use a wiki, one in particular, Confluence.

10 Reasons to Use a Wiki

What is a Wiki? Get More Done, Together#1 Get More Done, Together

Get the best people on the right tasks and produce better overall results by letting everyone contribute.

Break down information silos between teams, departments, and individuals – it’s crowd-sourcing for your organization.

 

What is a Wiki? Rich Content Editor#2 Anyone Can Contribute

Anyone can put content online, quickly and securely – just click ‘Edit’ and start typing.

A rich content editor does the work for you with Autocomplete, Autoformatting, Autoconvert, and shortcuts for everything.

 

What is a Wiki? Connect People#3 Connect People and Content

Bringing the right people into the work and discussions taking place in Confluence is easy.

Share content in seconds and @mention teammates in any page, blog post, or comment.

 

What is a Wiki? Capture Knowledge#4 Capture Knowledge, Forever

Capture the tacit knowledge of your co-workers, often trapped in email, in Confluence where it’s never lost.

Instant and familiar, engage everyone and encourage collaboration with Quick Comments and Likes.

 

What is a Wiki? Content Discovery#5 Discover What’s Popular

Confluence makes sure you won’t miss another important conversation again.

With a live ‘Popular’ content stream and weekly email summaries you’ll never lose touch of what’s trending in your company.

 

What is a Wiki? Find Content#6 Find Content, Fast

Quick Navigation and Search makes sure you find what you’re looking for, fast.

Start typing and watch Confluence suggest pages, blogs, files, and people.

 

What is a Wiki? Permissions#7 Keep Private Parts, Private

Confluence meets the demands of the enterprise environment by keeping your content safe and secure.

Permissions at the Global, Space, and Page level give you the flexibility to decide exactly who can view and edit content.

 

What is a Wiki? Office and SharePoint Integration#8 Connect to Microsoft

Combine powerful free-form content creation and collaboration with the document management and workflow strengths of SharePoint and Office.

Get up-and-running quickly with out-of-the-box integration with Active Directory for user management and authentication.

 

What is a Wiki? Customize Confluence#9 Easy to Customize & Brand

Create customized designs and brand Confluence to match your corporate style with RefinedWiki’s Original Theme.

More than a theme, Zen makes Confluence ideal for all users. Expand your audience with complete branding, advanced design tools, drag-and-drop layouts, navigation, and drafts.

What is a Wiki? Extend Confluence

#10 Extend with Add-ons

Customize Confluence with themes, application connectors, content importers, and more.

Browse the Atlassian Plugin Exchange and find add-ons that extend functionality and connect Confluence to other enterprise tools.

 

Need More Convincing?

Wiki champion? Need to convince the ‘others’ that the wiki way is the right way? We’ve got your back. Watch  ’10 Reasons to Use a WIki’ and share it with your team.

Download Video | Download in Keynote, PowerPoint or PDF

Get everything else you need – presentations and videos – to help you convince your team why Confluence will help them get more done together, faster.

What is a Wiki? Convince Your Team

by Matt at May 07, 2012 04:24 PM

Dev Tools Blog

I See You’re Not Automating Your Deploys… Would You Like To?

More and more teams are advancing from continuous integration into some flavor of continuous delivery, and the rise of provisioning and deploy tools makes it easier than ever to get started.  While every team’s delivery pipeline will look a little different, there are some things that apply across the board.  I sat down with Andrew Phillips of XebiaLabs, maker of Deployit and the Deployit plugin for Bamboo, to talk about these universal truths.   As VP of Product Management, Andrew spends a lot of time thinking about how to automate deployments and bring teams into this exciting new phase of software development. 


When starting to build a continuous delivery pipeline, one of the first steps is to define the complete package that will be deployed to each environment.  Obviously, the compiled application is one piece of that package.  What are some other components to consider?

I’m glad you asked that question! Frequently we speak to users already doing continuous deployment because “we push our EARs and WARs to our appservers”. When you ask about updating of configuration files or web content, changes to the server configuration, creation and modification of resources such as queues or datasources, handling of database changes, execution of post-deployment smoke tests etc., then realization quickly sets in that there’s almost always more to your deployment package than just the application binaries.

A continuous delivery pipeline can pull in those peripheral assets from any network location, including from your source control management system. What do you see as the advantages of storing them in SCM, vs. on a file server?

To me, you’d want all the “peripheral assets” in your deployment packages in source control for pretty much the same reasons that apply to your source code, which you probably don’t keep on a file server either.  I should add, though, that I’m talking about “primary” rather than “derived” assets here: you keep your source code and not the EARs and WARs in SCM because it should always be possible to regenerate the binaries from the source.

In the same way, if the configuration files or database scripts in your deployment packages are generated from other tools (e.g. Excel or a a schema editor or something like that) I’d say they’re fine on a file server – it’s the generator that should be in SCM.  If the configuration files and SQL scripts are “primary” resources that are manually constructed then you certainly want them to be under version control.

How about a bill of materials for provisioning the servers that comprise your environments (OS, Database, libraries, etc)?  Where does that fit into the picture?

I’ll have to throw the Consultant’s Answer at that one: it depends ;-) Certainly in today’s dynamic IT environments where we all want to accelerate time to market it is essential to have an actionable description, manifest or “bill of materials”, as you put it, for your environments. You will need to be able to spin up and scale environments very rapidly, and automated environment provisioning is key to achieving this.

The big question is who owns and actions your environment manifest. If you’re looking to deliver virtual appliances the environment and application are essentially part of the same release package, so here the manifest would be part of your build and release process which may output one or multiple virtual images or something like a Vagrant file.  In a DevOps scenario with teams dedicated to the management of all elements of a business service you may be looking at such an approach.

If you’re planning on adopting a more PaaS-like interface, where a release consists mainly of the sort of application components discussed previously, and where the target middleware environment is essentially a “black box” that takes care of scaling, monitoring, failover etc., the environment manifest basically describes the building blocks of your PaaS (or, in more traditional terms, middlware environment).  In this case, ownership and delivery of the manifest would lie with the platform owners, who may be an external organisation running a cloud-based PaaS or your internal middleware or infrastructure team.

It’s worth pointing out the differences in lifecycle here: in the “virtual application” case, the environment is linked to the application; in the PaaS scenario they are independent of each other.

Automating a deploy run-book it is a big task.  Any tips for how to approach it?

Well, I think my truly honest answer would be: “Don’t. Find someone who can own that problem for you.” Writing and especially maintaining deployment scripts, workflows or run-books for anything beyond trivial applications is a tedious and time-consuming activity that diverts your developers and middleware experts away from core business tasks.

If you’re considering PaaS you’re automatically outsourcing this problem. What we see is that the constraints current PaaS offerings place on the application mean that this option is feasible pretty much only for greenfield projects.

In a situation where you need to manage the deployment of existing applications, look for a deployment automation solution that offers as much out-of-the-box deployment logic and content as possible. Integrations with your build and continuous integration tooling will further reduce the amount of work left to you.  [Editor's note: check out the Deployit plugin for Bamboo!]

Of course, we know that in the real world there will always be a couple of applications or scenarios that out-of-the-box content does not cover. It’s obviously important that your chosen solution can easily be extended where necessary.

One “bonus point” is that the frequency with which you have to extend your solution serves as a good metric for the degree to which your deployments are non-standardized. Looking at the momentum behind PaaS, standardized packaging and deployment are obviously things to be aiming for.

Speaking of standardization, is it critical to have all your environments standardized on the same OS, caching scheme, load balancer, etc.?  Or can deployment tools usually handle different configs between environments?

Diverse configurations tend to increase the complexity not just of deployments but of your infrastructure management as a whole, so I’d say standardization is certainly not a bad thing to be aiming for. What’s interesting is that, whereas the idea of having a production-like environment for development was pretty much pure fantasy until recently (and will continue to be so for plenty of environments), virtualization, IaaS and PaaS services are now making this possible for some.

Still, I think it will continue to be absolutely essential that your deployment tooling supports differences between environments. Not just for the many situations in which development and test are still quite different from production – in a cloud scenario you will most likely be auto-scaling your environments to meet demand, so they are unlikely to be the same.

What we’re seeing even now is that handling this kind of dynamic variability can add quite a substantial layer of complexity and/or maintenance to deployment and provisioning scripts and workflows, so it’s certainly something to bear in mind when you plan your continuous delivery implementations!

Do you recommend storing automated deploy scripts along with the source code and incorporating it into the CI scheme, or keeping them separate?

You certainly want to make sure your deployment scripts are kept in a central, version-controlled repository: so not on a deployer’s laptop or even in an unversionable job, build or workflow definition.

Whether you choose to store these scripts alongside your source code depends on who in your organisation is responsible for developing and maintaining them. This discussion is similar to the environment manifest question earlier: if developers are responsible for deployment, they should store the scripts alongside the code and include them in the deliverable – then you have RPMs or MSIs.

If you are taking a more PaaS-live approach – and given many developers’ lack of deployment expertise this is what we are seeing more frequently – the deployment logic will be part of your platform source or configuration and owned and versioned with it.

Let’s talk tools.  A CI server like Bamboo is pretty essential, and I’m guessing you’d recommend a deploy tool like DeployIt as well.  What do you see as the primary advantages of that?

Let me put it this way: the people we speak to are benefiting greatly from continuous integration but are realizing that to truly be able to deliver business value more quickly they need to tackle the next hurdle, which is rolling the continuously integrated packages out to your target environments and transitioning them through the deployment pipeline.  Early adopters of these ideas had to come up with complex scripting triggered by continuous integration builds to achieve this. As we discussed earlier, this kind of home-grown automation is resource-intensive to develop and, moreover, requires continual maintenance (a type of continuous activity that you definitely do not want ;-) ).

So I would certainly suggest that you hand off this recurring effort to a deployment automation solution that integrates with your continuous integration server, such as Bamboo. Of course, we would like you to include a market-leading platform like XebiaLabs’ Deployit amongst the alternatives you consider!

Deployit task config in Bamboo (click to enlarge)

Any other tooling you recommend?

We’re seeing a lot of activity around on-demand environment provisioning, especially in operations but increasingly as a self-service function provided to development teams. We see a lot of use of Puppet and VMware’s offerings but increasingly also virtual machine creators such as Vagrant (which runs on top of VirtualBox). Especially for development and test environments, we also see usage of public clouds such as EC2 and Rackspace.

Obviously, in the light of these trends it makes sense to check if your deployment automation solutions can integrate with such tooling to, for example, automatically become aware of new environments to which applications can be deployed. You may even want to deploy the application tier automatically once a new environment has been provisioned.

In terms of improving the efficiency of ALM using your existing tooling we’d also suggest you investigate possible integrations between your deployment process and change management or ticketing systems such as JIRA. For instance, we see Deployit users automatically verifying change tickets as part of the release conditions for a deployment, or updating the status of a ticket with the result, logs etc. of the current deployment.

 

Phew, that’s a ton of useful information to digest.  For a steady flow of continuous delivery and deploy automation goodness, follow @XebiaLabs on Twitter.  Thanks so much for stopping by the Atlassian blog-iverse, Andrew.  Come back soon!

 

by Sarah Goff-Dupont at May 07, 2012 03:31 PM

May 05, 2012

Bitbucket Blog

Scheduled Maintenance May 5, 2012 at 17:00 UTC

You may recall a few months ago we attempted to reconfigure two switches into a virtual stack. At that time, we ran into a problem that caused one of the switches to freeze.  We’re going to try this reconfiguration again May 5, 2012 at 17:00 UTC.  The maintenance window will be a maximum of one hour from 17:00 UTC to 18:00 UTC.

We try to keep scheduled maintenance to a minimum.  If you are new to Git and Mercurial, keep in mind one of the advantages of distributed version control systems is the ability to work offline.  You can always commit locally and push to Bitbucket later.

We are sorry for any inconvenience this maintenance window causes. We appreciate everyone’s patience as we continue to improve our infrastructure.

by Charles at May 05, 2012 03:08 AM

May 04, 2012

jr0cket

5 industry trends in UK software development

I was asked recently what were the agile trends at the moment and off the top of my head I came up with the following:

Kanban adoption keeps growing

I see kanban being adopted by a range of teams and organisation, from IT shops to recruitment agencies.  Kanban is a natural fit for DevOps teams and dev teams in maintenance mode.  Although some agile software developers are wedded to Scrum, as their approach matures many move more toward a kanban approach with zero iterations (or even a just-in-time approach)

Functional programming adoption as a competitive advantage 

The rise of the Scala language on the Java platform is no longer news, however the Clojure language (being a re-imagining of Lisp) has seen a big increase in interest.  It has just had a big jump on the Thoughtworks TechRadar and the community I am involved with is growing very fast.  EuroClojure is the second major Clojure event in London in the last year and may established companies and startups are looking at Clojure.

DVCS adoption in the enterprise

Atlassian StashLots of developers are using GitHub for their open source projects, leading to the desire to use DVCS tools for their day to day work.  GitHub and Atlassian have both online and behind the firewall solutions (GitHub F1, Atlassian Stash)

DevOps and Continuous delivery / deployment

The UK has many teams adopting a continuous delivery & deployment approach (forward, uSwitch).  Companies like Carrenza are using open source tools, cloud technology and lean startup principles to construct effective build pipelines for software development teams.  A few larger organisations are picking up ideas from the lean startup community to help them understand which projects deliver the most value to their customers.

Data Visualisation

Organisations looking to understand the value customers get from them (and are willing to pay for) are doing more Cohort analysis and to make sense of this are eventually turning to data visualisation techniques.  I see this as an up coming trend in the UK and hope many organisations as well as startups make use of these kind of tools to help them be effective.

Data visualisation is also encouraging developers to produce more creative and visually engaging experience with the websites and applications they deliver.  A more engaged user is a more productive one!

Summary

Trends are a great way to quickly get a handle on technology and practices that may be of benefit.  However, these trends are simply that, a trend, so you should question what value you will get from jumping in too deep.

Keep an eye on startup companies and get an understanding of the appeal of their offering and see how you can enhance the experience of what you do.


Interesting start-ups

TouchType - the creators of SwiftKey, an intelligent keyboard on the Android platform.  Looking to do more exciting products and services now they have a highly popular product supporting their efforts.

Live Sheets - I have given a little bit of coaching to this startup to help them become more agile.  The have the potential to change the way people deal with their data, throwing away spreadsheets in favour of something much more interactive.

Atlassian - a startup that has just had its 10th birthday.  Investment made by Accel partners to help grow via acquisition and organic growth.  Spent the last couple of years moving from 3 month iterations to continuous delivery


by John Stevenson (noreply@blogger.com) at May 04, 2012 03:11 PM

May 03, 2012

Dev Tools Blog

SourceTree 1.4 – Stash’s Trusty Sidekick

Sherlock Holmes and Watson, Han Solo and Chewbacca, Batman and Robin. Every hero has a trusty sidekick to complement his/her talents and form a kick-ass team. With the recent release of SourceTree 1.4, we can now say that it’s no different at Atlassian with SourceTree and Stash, Atlassian’s Git repo management tool for the enterprise.

Holy SourceTree, Batman!

In a secret laboratory hidden deep within Sydney, Stash was born to solve the problems that plagued Enterprise teams trying to manage Git repositories behind the firewall. Meanwhile, on the other side of the globe, SourceTree was hard at work developing new features to help Stash fight the good fight. In SourceTree 1.4 the two products combine forces to provide an easy-to-use experience that will certainly rescue your development problems and ease your DVCS adoption fears.

Git is a powerful version control system, but it can be very complex for new users. One of the biggest problems that development teams using Git face is that as the team grows, the time it takes to get new people onboard increases. Stash and SourceTree solve this problem by providing two GUIs that are completely compatible with your Git repositories and make them easy to manage. A new team member can simply click Stash’s Clone in SourceTree button and have the source downloaded straight into SourceTree. Jump into SourceTree and start working with the repository without ever fiddling in the command line.

Easily clone any SoureTree respository from the Stash user interface

Cloned repository from Stash in SourceTree

Power up with SourceTree

SourceTree can help new users become DVCS Super-Users:
  • Access essential DVCS commands like commit, merge, branch and more with the click of a button.
  • Detect and resolve conflicts easily with SourceTree’s GUI
  • Review outgoing and incoming changesets to stay on top of your team’s progress.
  • Enjoy advanced capabilities like submodule support and cherry-picking between branches.

Not everyone on your enterprise development team will come in as a DVCS champion. SourceTree makes it easy for each member of your team to contribute to your DVCS repository without slowing down your development. See what SourceTree offers your DVCS users:

If you’re curious to learn more, take a look at the rest of the new features in SourceTree 1.4, including:

  • UI redesign of the Bookmarks screen to create an intuitive experience for the end-user.
  • Mercurial Bookmarks support to round out Mercurial capabilities.
  • new Setup Wizard to onboard new users even quicker.
  • And more!

Try It Today!

With all of these great features to help you adopt Git, you can see why SourceTree and Stash make such a first-rate team. SourceTree makes Git usable for all users, so your enterprise can start collaborating on code and create awesome products. And best of all, it’s completely free.

by Jeff Park at May 03, 2012 02:00 PM

Confluence Product Blog

Landscape Your Wiki with Ad hoc Canvas

This is a guest post by Roberto Dominguez, founder and President of Comalatech, creators of Ad hoc Workflows, a tool that provides content approvals and tasks management to Confluence. Roberto introduces Ad hoc Canvas, a new add-on that brings new ways to visualize and organize your content.

Landscaping Your Wiki with Ad hoc Canvas

It’s common wisdom that every wiki needs a gardener. One of the biggest challenges is keeping content organized and properly categorized for quick access by multiple audiences with differing needs.

We’ve added to Confluence‘s out-of-the-box support for page hierarchies and labels, and created new tools to show and work with a broader perspective of the content landscape. At Comalatech we’ve built Ad hoc Canvas to make it easier to you landscape your wiki.

Ad hoc Canvas introduces two tools to get an overview of pages and organize content:

  1. Lists to display pages into grids, tick-off labels, or set custom metadata, and
  2. Boards to categorize pages visually and apply business frameworks

What Can Lists and Boards Do For You?

Let’s start with some pre-built examples we’ve bundled. Or, skip to our video.

Quickly Review and Classify Pages

Confluence provides several ways to list pages – recently updated pages, content by label etc. – but you still need to visit each page to view its content of pages or alter its labels. As a result, it can be difficult for users to gain insight into content, and makes gardening tedious. Lists in Ad hoc Canvas make it easy and quick to view, and just as easy to garden to ensure consistency across a space.

The bundled content review checklist is a great place to see Ad hoc Canvas in action. Simply visualize your existing content and use the tickmarks and dropdowns to assess your content.


Now you can get clear about your audiences and prioritize which content needs most attention.

Create Structured Content Dynamically

Another challenge for wiki gardeners is to ensure related content is created consistently.

Ad hoc Lists can show page fields in table form, and facilitate the orderly creation of new content.

The Requirements Lists bundled into Ad hoc Canvas illustrates its capability to mass-edit fields from multiple pages, and to add new pages through such a table.

Group Pages Visually

Sometimes categorizing is done better visually by grouping pages into containers.

With Ad hoc Canvas you can create boards for your categories and then simply drag-and-drop pages into the right containers.

Synthesize Ideas with Boards

Confluence is a great tool for collecting ideas. Boards build on collecting to help users to synthesize their ideas.

Because of this, Ad hoc Canvas can help you use Confluence to construct business frameworks.

We have bundled, a ready-to-use SWOT – Strengths, Weaknesses, Opportunities and Threats – board.

 

We will elaborate more in our next post on how you can use Ad hoc Canvas to build frameworks to help in your business planning.

Take a Quick Look!

Take a glance at one of our short videos. In a couple of minutes you’ll gain perspective of what Ad hoc Canvas can do for you.

Find Out For Yourself

Try it today! Install Ad hoc Canvas in a single-click you and see why it’s the Confluence add-on you’ve been looking for to landscape your wiki.

by Matt at May 03, 2012 01:00 PM

Sven Peters

blackboard

(Teil 2 von 2)

Im ersten Teil dieser Mini-Blogserie habe ich bereits darüber geschrieben, wie ein Wiki unsere Informations- und Kommunikationskultur unterstützt hat. Im zweiten Teil möchte ich gerne auf die Herausforderungen einer offenen Informationskultur eingehen und Tipps geben, wie man diese überwindet.

 Herausforderungen und Lösungen

1. Einführen in die Kultur

Schreiben von Wiki Seiten, kommentieren, und bloggen gehören nicht zu den traditionellen Kompetenzen von Mitarbeitern. Man ist es eher gewohnt Emails und Dokumente zu verfassen. Dies ist also eine Herausforderung für jeden neuen Mitarbeiter bei Atlassian.

Unsere Lösung ist eine einfache Regel:

Am ersten Arbeitstag eines neuen Mitarbeiters, muss dieser einen internen Vorstellungsartikel verfassen und veröffentlichen. Der Inhalt variiert von einem einfachen “Hallo” zu einem vollständigen Artikel über die Motivation für Atlassian zu arbeiten.

Die populärsten Blogposts sind die, die eine persönliche Seite des neuen Mitarbeiters zeigen, wie beispielsweise exotische Reiseziele oder Hobbys. Das führt oft zu vielen Kommentaren und Fragen von alten Mitarbeiter. Der Austausch von Dingen mit dem der neue Mitarbeiter vertraut ist, hilft ihm, sich mit der neuen Form der Konversation anzufreunden.

2. Das neue Medium kennenlernen

Viele Leute kennen Wikis durch Wikipedia. Aber in einem Wiki zu lesen, ist etwas anderes, als in einem Wiki zu schreiben. Wenn man eine weiße Wiki Seite vor sich hat, kann das schon einmal zu einer Schreibblockade führen.

Atlassian hat hierfür zwei Lösungen: Training und gute Beispiele:

Wir führen “Schulungen” mit neuen Mitarbeitern durch, indem wir ihnen zeigen, was man alles mit dem Wiki machen kann. Ohne eine solche Heranführung kann es passieren, dass Mitarbeiter Angst vor dem neuen Medium bekommen und wieder in alte Kommunikationsgewohnheiten zurückfallen. Es hat sich gezeigt, dass die weniger technisch versierten Mitarbeiter mehr Probleme mit der täglichen Benutzung von Wikis haben.

Glücklicherweise benutzen wir schon seit Jahren unseren Unternehmenswiki, so dass es dort gute Beispiele gibt, wie man ein Wiki benutzt. Man muss auch nicht den Aufbau einer Seite neu erfinden, sondern kann sich Inhalte aus ähnlichen Seiten (wie Projektpläne oder Meeting-Protokolle) einfach kopieren und dann ändern.

3. Informationsflut

Ein Nachteil eines häufig genutzten Wikis ist die Informationsflut, die es für Mitarbeitern schwer macht, wichtige vom unwichtigen Neuigkeiten zu unterscheiden. Es besteht das Risiko, dass Mitarbeiter wichtige Informationen übersehen.

Atlassian hat hierzu einen “Teilen”-Button in Confluence eingebaut, mit dessen Hilfe man direkt an einem oder mehrere Benutzer eine Email verschicken kann. Die Mail beinhaltet aber nicht den Inhalt der Seite, sie verweist einfach nur auf das Wiki, indem man wieder in die Diskussion online einsteigen kann.

Was wir gelernt haben

Es kommt auf die Kultur an!

Wenn man die Art, wie Leute arbeiten, ändern möchte, bedeutet das eine Veränderung der Arbeitskultur selber. Die Techniken gehen einen dann in Fleisch und Blut über. Neue Mitarbeiter haben es anfänglich schwer zurechtzukommen. Aber sie werden am ersten Tag schon aufgefordert, an dieser Kultur mitzuarbeiten.

Wenn man eine solche Kultur schon frühzeitig in einem Unternehmen einführt, macht das Skalieren später einfacher. Es müssen nur die neuen Mitarbeiter an die offene Kommunikation herangeführt werden und nicht das gesamte Unternehmen.

Mit gutem Beispiel vorangehen

Die Entscheidung eine offene Informationskultur zu implementieren, bedeutet vom CEO und dem Management als gutes Beispiel für den Rest des Unternehmens zu dienen. Wenn beispielsweise einem Manager Informationen per Email zukommen lässt, sollte dieser den Mitarbeiter motivieren, das Wiki zu benutzen, damit auch alle die Infos bekommen. Natürlich gibt es auch Informationen, die vertraulich sind (z.B. Firmenübernahmen oder Personalangelegenheiten).

Alle Mitarbeiter müssen mit gutem Beispiel vorangehen, damit diese offene Informationskultur gelebt wird.

 Systeme verändern

Von einem Dokumentenmanagement zu einem Informationsmanagement zu wechseln, kann schwierig werden, bietet aber auch neue Möglichkeiten. Auch hier sollte man vorsichtig und langsam vorgehen.

Bei Atlassian vermeiden wir es, mit Word und ähnlichen Office-Tools zu arbeiten. Das Wiki ersetzt den Word-Editor und Tabellenkalkulation wird bei uns nur vom Controlling und Marketing benutzt. Die Wiki-Nutzung wird zusätzlich dadurch unterstützt, dass wir keinen Dateiserver zum Informationsaustausch besitzen. Informationen sind somit immer aktuell, da man sich nicht mit verschiedenen Versionen auseinandersetzen muss.


by Sven Peters at May 03, 2012 07:13 AM

May 02, 2012

Atlassian Developer Blog

My Hip New Workflow with HipChat

I’m not a huge fan of most notifications, especially the ones that vie for my constant attention — like badge notifications on my iPhone. However, there is a time and place for focused and timely notifications that have increased my productivity. Many people who’ve never used HipChat before are quick to dismiss it as a simple group chat application. However, once you use it, it becomes apparent that it’s a lot more than a group chat app.

One of my favorite features of HipChat is the ability to bring in relevant notifications into your team’s room. Here’s an example of a notification coming from JIRA:

JIRA’s workflow engine is highly flexible and can be tuned to whatever process you want to support regardless if you’re managing issues, requests, or tasks. We built a JIRA plugin for HipChat that binds to JIRA’s workflow engine (using Post Functions) to allow JIRA project admins to subscribe to any workflow transitions they please. For example, you may not want to notify your team of every issue transition, but maybe just the ones marked with a high or blocker status.

In our Developer Relations room, we find that notifications from Twitter and Zendesk are highly useful for responding to questions or comments by developers in our ecosystem. This is possible through a SAAS based integration service by Zapier.

In other rooms, some teams like to see commit notifications from Bitbucket and Fisheye as well as build notifications from Bamboowe have plugins for those too:

I’ve seen other teams use HipChat notifications to alert them of new product orders/subscriptions that come in. This is all possible through HipChat’s simple REST API. Although, before you attempt to integrate something with HipChat, check to see if that integration already exists on HipChat’s catalog of existing integrations — all 38 of them! If the integration you’re looking for doesn’t exist, the REST API is as simple as…

POST /v1/rooms/message?format=json&auth_token=token HTTP/1.1
Host: api.hipchat.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 138

room_id=10&from=Alerts&message=A+new+user+signed+up

These are just a few great productivity boosters you can use for your teams on HipChat. Of course, there’s also a fun aspect to HipChat including HipChat’s unconventional emoticons.

What do you think? Could your team benefit from these type of features? If you use HipChat, care to share with us what you like to do with it, other than chat?

by Rich Manalang at May 02, 2012 04:00 PM

JIRA Product Blog

Atlassian Developer Artwork: Bonfire’d Art

Since we released the awesome new screenshot annotation tool in Bonfire 2.1 we’ve seen a few interesting bugs raised by our internal users (for their own products, not Bonfire)

Link to Issue Nav Duplicates Project Clause

Klingon in Error Message

 

Swimlane Not Shown, AKA “The Mickey Mouse”

Issue Key Wraps

The Mona Lisa

What Bonfire’d Art have you seen during your bug triage sessions? What has turned up during a test session? Let me know, and include a screenshot if you are happy for me to use it to provide inspiration to other Bonfire Artists out there.

Now, go get Bonfire 2.1 and start making some art!

Get Bonfire 2.1 Today.

by Nicholas Muldoon at May 02, 2012 01:52 PM

Confluence Product Blog

Never Miss Another Important Conversation Again with Confluence 4.2

Thanks to Confluence 4.2, your team is pumping out engaging, structured content, and everyone is contributing and starting rich conversations that lead to real results. With such constant activity and contribution, you might be wondering how to cut through the noise and find the most important conversations in Confluence. Fear not! Confluence 4.2 makes discovering what’s important easier than ever, so you’re always in the loop.

Discover What’s Popular from the Dashboard

The new ‘Popular’ stream on the Dashboard displays what’s trending in Confluence, right now. It’s quick to skim the pages, blog posts, and comments that are being viewed, liked and commented onthe most. If it’s popular, it’s probably important.

Stay In Touch, From Your Inbox

Don’t worry if you don’t have time to check out the Dashboard, we’ve got you covered. Confluence will send you a summary of the most popular content each week – Pages and Blog Posts. Rich and visual, it’s easy to identify the content that has been liked by the users in your personal ‘Network’, the users you’re following in Confluence, so you can jump right into the content that is most relevant to you.

Can’t wait a week to get your information fix? Just switch to the daily summary, and satisfy your inner gossip girl.

See it in Action

Try Confluence 4.2 Today

New to Confluence? What are you waiting for, start a free trial today and get up and running in minutes. Let the conversations begin!

Already using Confluence? You must be itching to upgrade, critical discussions await you. Check out our full release notes to get started.

by Terrence Caldwell at May 02, 2012 01:00 PM

May 01, 2012

Atlassian News Blog

Announcing Atlassian Stash – DVCS management for the enterprise

Distributed version control systems are not just the future, they’re now, and Git has emerged as one of the most popular code version control systems out there. A plethora of online services emerged (including our own Bitbucket) to help early Git adopters share, manage and collaborate their code. For the open source community and many startups, these services have been nothing short of terrific for encouraging code collaboration.

But for companies that want to host Git behind the firewall, there are challenges of administering a server for Git repositories. This can be especially complex for larger projects and Enterprise teams. Fortunately, as of today, there’s Atlassian Stash.

Atlassian Stash (as in a place to stash your code, not moustache (smile) ) is our solution for helping teams manage their Git repositories behind the firewall. We’ve been using it for months now and we love it, and hope you will too. You’ll find Stash loaded with tons of goodies to help you manage your Git repositories:

  • Repository management: Add users and groups, create and manage repositories, and use Stash’s Project Structure to logically group your repositories
  • Works in your environment: Designed for reliability and performance to support your growing Git repositories within the safety of your firewall.
  • Connect your code to your issue repository: Connect JIRA and Stash for traceability between issues and source.
  • Source browsing: Browse repositories, drill into changesets, explore files & file history and view diffs

Read more about Stash on the Dev Tools blog.

For a limited time, we are offering a 25% discount on your new Stash license! Ready to dig in a little deeper? Learn more about Stash or download a 30-day free evaluation.

by Jon Silvers at May 01, 2012 09:01 PM

Bitbucket Blog

New release of SourceTree 1.4

SourceTree just took another step forward today with SourceTree 1.4. In this release, we have:

  • Changed the UI of the Bookmarks window to improve navigation
  • Implemented a clone button in Bitbucket for instant access to your source
  • Created a setup wizard to help connect users with their repositories
  • Listened to customer input and added advanced Mercurial support
  • Implemented commit message drafting to save you time.
  • And a whole lot more!

What’s new?

Bookmarks window: reloaded

The bookmarks window has been completely redesigned to improve its visual style and usability.

Search your bookmarks in real time, quickly navigating to the projects you want to find regardless of where they are in the tree. Easily re-sort the contents by name or repository type, and get access to common functions without having to open the full repository window first. You can even invoke Custom Actions directly from the list.

Bitbucket support

Enjoy instant access to your source code by cloning with SourceTree from any repository by simply clicking the ‘SourceTree’ clone option in Bitbucket . Your clone details will automatically be configured in SourceTree for you to instantly download source.

Setup Wizard

To welcome new users to SourceTree and get them up to speed, we now include a setup wizard which packages the steps most people want to perform the first time they open SourceTree. In one short swoop, SourceTree can:

  • gather your user details
  • configure your accounts on Bitbucket, GitHub, and Kiln
  • search your local drive for repositories that you might want to bookmark.

Mercurial bookmarks support


You’ve asked for more Mercurial support, and we have listened. Not to be confused with the bookmarks window, Mercurial has its own concept of bookmarks within a given repository. They behave somewhat like local branches in Git, and they can be used to more easily keep tabs on multiple local streams of development.

Commit message drafts

Now you can start drafting your next commit message long before you’re actually ready to commit. Just click the commit drafting button at the lower-left side of the repository window — or press Cmd-Shift-D, to pop up the drafting pane — and start typing.

Draft commonly used commits and create templates that you can use later to save time. This feature also allows you to refine your commit messages until they are ready for your team to see.

Plenty more!

There are plenty of other small improvements and tweaks in 1.4, and we’ll go into more details in follow-up posts in the coming weeks. In the mean time, we hope you enjoy the new release!

 

by Justen Stepka at May 01, 2012 01:43 PM

Dev Tools Blog

Meet Atlassian Stash: Git Repository Management for Enterprise Teams

Meet the newest member of the Atlassian Developer Tools Family – Stash.

Atlassian now offers a centralized solution to manage Git repositories behind the firewall. Streamlined for small agile teams, powerful enough for large organizations.

For many companies, hosting an internal source control server and maintaining access to repositories can be a difficult and time consuming process. Now, you can focus on building great software and let Atlassian Stash take care of your repository management.

          

Built for Git. Focused on the Enterprise.

Git is on its way to becoming the world’s most popular version control system. It attracts new converts because of how it provides developers the choice to branch off and work in isolation, for easy integration of code into the larger project. With the most common operations (like commits) happening on their local workstations instead of over the network, Git can speed up development time compared to centralized version control systems like Subversion, making it a top choice among open source and greenfield projects.

Many online services (including Atlassian’s Bitbucket) have emerged to help early Git adopters share and manage their code. Open source projects and many startups have taken full advantage of these solutions to collaborate on code. Adopting Git brings many advantages, but also the challenges of administering a server for Git repositories. For enterprise teams, Git adoption is slower because of the IT administration challenges for larger projects and larger teams.

  • Development Teams need a way to develop quickly and share their Git source code in a central location
  • Businesses need an efficient way to keep repositories organized, secure, and on their own servers
  • IT Administrators need a reliable system that can be configured to fit into their environment

Meet Stash, Git repository management for Enterprise teams.

A Central Place for Your Source – Simple Repository Management

Git is all about creating new repositories, sharing that code with your team, and rolling it all together into a cohesive project. As your projects grow, so does the number of contributors and stakeholders, the number of repos, and the number of active branches. With all of these moving parts, product teams need a central place for their code base, and a plan to keep it organized as it expands.

Stash delivers you a central, secure solution to create and manage distributed repositories, on your own servers. Developers can trust that they will find the latest official version of a project. Managers can trust that users’ access to code is appropriate for their role, and assigned with minimal administrative overhead. Let Stash be the central source of truth for all of your source!

Empower your Team with Projects & Permissions

Simplicity is beautiful: Stash is focused on keeping developers productive and promoting familiar workflows. Working with Git can be incredibly fast and productive, but managing Git repositories and permissions can get complicated. Stash keeps you and your developers productive by providing a way to structure your repositories and manage permissions via a simple, yet powerful user interface.

Software projects often involve more than one Git repository. Stash organizes repositories by Project – making it easier for teams to find and contribute to code used by that project. Think of Projects as a logical and practical organization of repositories.

Using the project structure you can grant a simple set of project permissions to users and groups to control access to repositories. This provides confidence that the right users and groups have access permissions to a project.

Your Rules, Your Environment

Stash fits into your environment and doesn’t force you to use a pre-packaged appliance which you don’t have any control over. Built on the same rock solid architecture as JIRA and Confluence, Stash will feel right at home on all platforms.

Installed right on your own network, administrators have full control over how Stash fits into their environment. With Stash, you get Atlassian’s plugin framework plus a full, open REST API for customized integrations.

Enterprise User Management

Whether you are a small business or a Fortune 500 company, Stash’s user management and permissions are flexible enough cater to any use-case you throw at it. This flexibility spares you from duplication of effort when rolling Stash out to your teams and on-boarding new team members. Features designed for user management include:

  • Manage users in Stash: small teams can manage all their users and groups directly from Stash
  • JIRA for user management: use JIRA as your central user management server and manage all your users and groups with your familiar JIRA environment
  • Corporate LDAP: easily connect Stash to your LDAP server – Active Directory, OpenLDAP and more – to manage your users and groups
  • Crowd: use Atlassian Crowd as central point for all of your user management, including Stash, JIRA and other business applications

Development Traceability

The key ingredient to any source code management solution is its relationship to issues. Connect Stash to your JIRA issue tracker to get the full benefits of issue and source traceability.

Stash keeps track of all issues associated with commits. Users can use Stash to quickly see all issues associated with a commit, or use the Source tab on JIRA issues for an aggregate view of all the code changes that are related to a specific JIRA issue. With this information available, your development team saves time when tracking particular bug fixes or improvements.

Fast Source Browsing

Distributed version control is fast, and many teams have the mantra to “commit early and commit often”, so it is easy to miss what is going on with your project on a day-to-day basis. Instead of viewing commits on the command-line, you can use Stash to browse recent commits, inspect the file history, dive into changesets and view annotated source. This means source code is also easily accessible by release managers, testers and other team members who don’t work from an IDE.

Meet Stash Today – 25% Off for a Limited Time

We are so excited about the release of Stash, we want everyone to share in the excitement. For a limited time, we are offering a 25% discount on your new Stash license.

Stash – Git Repository Management for Enterprise Teams. Try it, we know you’ll love it.

          

Questions & Feedback

Do you have questions about Stash? We have answers. Check out our Stash frequently asked questions, ask away at Atlassian Answers, or log feature requests on our public JIRA issue tracker.

by Giancarlo Lionetti at May 01, 2012 01:36 PM

April 30, 2012

Confluence Product Blog

What is a Wiki: 14 Myths, Busted

Wiki – we’ve all heard the word before. When you ask someone “what is a wiki?”, the typical response is usually, “oh, a wiki, that’s Wikipedia right?”. Well, kind of. Wikipedia is based on wiki software, but not the kind that’s built for the needs of team and enterprise-wide collaboration. This association is why people have misconceptions and create myths about wikis. It’s time to get the truth about wikis out, mythbusters style.

14 Wiki Myths, Busted

What is a Wiki Editor#1 Wikis are hard to use

Absolutely not! Confluence’s intuitive rich content editor makes it easy for users of all levels to contribute to the wiki, quickly and securely. Just click ‘Edit’ and start typing.

 

 

What is a Wiki Structure#2 Wikis have no structure

Blasphemy! Confluence gives every team, project, and person their own Space to create and share content, organized into its own page hierarchy that you can move and reorder at any time.

 

 

What is a Wiki Permissions#3 Wikis are not secure

False. Permissions at the Global, Space, and Page level give you the flexibility to collaborate with exactly who you want about exactly what you want.

 

 

What is a Wiki Versions#4 Mistakes happen quickly

Heck no. Of course, mistakes can happen in the wiki, but they can be fixed in seconds, by anyone who has the permission. Every edit is saved as a new version and you can easily revert to any previous version.

 

 

What is a Wiki Sharing

#5 Sharing = losing your edge

Are you serious? There’s nothing worse than being an information hoarder. Sharing what you know in Confluence makes you the knowledge creator and your reputation will grow as an idea superstar.

 

What is a Wiki Social#6 Wikis are not social

Wha-what?! With single-click sharing of pages and blogs, threaded comments for great conversations, @mentions for connecting co-workers, and Likes for showing appreciation, Confluence is a social butterfly.

 

What is a Wiki Search#7 It’s hard to find things

Not in Confluence. Quick Navigation and Search make sure you find what you’re looking for, fast. Start typing and watch Confluence suggest pages, blogs, files, and people.

 

 

What is a Wiki SaaS#8 Wikis are hard to install

Wrong. You can start using Confluence in the cloud in a matter of minutes, thanks to Confluence OnDemand. Guided installers make it easy to get Confluence up and running on your own servers if that’s your thing.

 

What is a Wiki Training#9 Training is expensive

Fallacious. Combine ease-of-use with interactive online training in the form of Atlassian University, and you can roll out Confluence to your entire business with little to no cost.

 

 

What is a Wiki Enterprise#10 Wikis are not enterprise ready

Some may not be, but Confluence is. Robust Active Directory integration, granular permissions, and connectors for Office and SharePoint make Confluence the best-of-breed enterprise wiki.

 

What is a Wiki Expensive#11 ’Enterprise Wiki’ = expensive

Wrong. With perpetual licenses and cloud subscriptions starting at just $10, you can’t go wrong with Confluence.

 

What is a Wiki Expensive#12 Wikis = SharePoint replacement

Not always. If you stick Confluence on top of SharePoint you have a solution. It’s not a replacement. Create, share, and collaborate in Confluence. Archive documents in SharePoint.

 

 

What is a Wiki Plugins#13 Wikis have limited functionality

You’re kidding right? With more than 180 features out-of-the-box and over 400 powerful add-ons, installable in a single-click, it’s easy to customize Confluence for your requirements.

 

 

What is a Wiki Try#14 Wikis can’t be evaluated

Nope. Start an evaluation of Confluence in minutes – free for 30 days. Choose between hosting it on our servers or yours – whichever you like.

Convince Your Team

Wiki champion? Need to convince the ‘others’ that the wiki way is the right way? We’ve got your back. Get everything you need – presentations and videos – to help you convince your team why Confluence will help them get more done together, faster.

by Matt at April 30, 2012 01:00 PM

Dev Tools Blog

Linking Bitbucket with the JIRA issue tracker

The Bitbucket team has been working hard to bring distributed version control (DVCS) capabilities to Atlassian’s JIRA to help complete your development suite. In February, we released the JIRA DVCS Connector; this nifty plugin allowed you to jump to your Bitbucket or GitHub repositories straight from the JIRA Commits tab.

Today, we are introducing Bitbucket Links. With Bitbucket Links, you can use issue keys to link to JIRA or other development tools you use straight from Bitbucket.

The Circle is Complete

With the JIRA DVCS Connector, you could jump to your source in Bitbucket by clicking on your commit in the JIRA Commits Tab. However, the plugin did not offer links to jump back into JIRA once you were in Bitbucket. With the Bitbucket Links, you can link your commit messages and code comments directly to your JIRA issue tracker; thus completing the integration circle. By simply referencing the issue key in your commit message, Bitbucket can provide a link to your issue, so you never lose track of why a specific change was committed.

In addition to JIRA issues, Bitbucket Links can also connect to your Bamboo buildsCrucible reviews, or your Jenkins server.

Try It Yourself Today

You can set up a Bitbucket link in seconds. From any repository administration screen in Bitbucket, select the new Links option to set up your JIRA, Bamboo, Crucible or Jenkins server. Click on the tool you wish to link, enter your server URL and your project key, and that’s it. Bitbucket will take care of the rest.

Get the DVCS Connector

If you haven’t already, make sure to install the JIRA DVCS Connector in order to:

  • Track commits, monitor source code edits, and drill through to source files all from JIRA
  • Push commits to JIRA simply by referencing issue keys in commit messages
  • Map unlimited public and private Bitbucket and GitHub repositories to JIRA projects.
  • View Bitbucket and GitHub activity in the JIRA Activity stream

by Jeff Park at April 30, 2012 01:00 PM

Bitbucket Blog

Linking Bitbucket and JIRA

Today, we are introducing Bitbucket Links. With Links, you can use issue keys to link to your JIRA issue tracker or Bamboo build server or other development tools you use straight from Bitbucket.

  • Link commits to JIRA simply by referencing issue keys in commit messages
  • Use issue keys in pull requests or changeset comments to clarify the why behind your work
  • Map an unlimited number of JIRA, Bamboo, Crucible and Jenkins servers
Anywhere that an issue key is referenced, Bitbucket will link directly to your JIRA or Bamboo build server.

Easy to setup

Installing and configuring new repositories is super easy. From any repository administration screen, select the new ‘Links’ option to set up your JIRA, Bamboo, Crucible or Jenkins server.

Get the DVCS Connector

We also have the JIRA DVCS Connector, which allows you to view your Bitbucket commits from JIRA. Any commit that contains an issue can be viewed from within JIRA, linking your issues directly to your source. Connecting JIRA projects to your Bitbucket repositories allows users to:

  • Track commits, monitor source code edits, and drill through to source files
  • Push commits to JIRA simply by referencing issue keys in commit messages
  • Map unlimited public and private Bitbucket and GitHub repositories to JIRA projects
  • View Bitbucket and GitHub activity in the JIRA Activity Stream

EDIT – May 1, 2012

We’ve added a REST endpoint to modify configure links.

by Jeff Park at April 30, 2012 06:00 AM

April 29, 2012

Atlassian News Blog

The Top 8 Reasons to Come to Summit

Only a handful of tickets remain for Atlassian Summit. Need tips for customizing Confluence, scaling JIRA, or perfecting Agile? With Seven tracks, over 70 speakers, 8 training sessions, you’ll be able to tailor the event to meet your specific goals.  Hosted at the beautiful design center in San Francisco it will be the largest Atlassian event ever.

A whopping 92.3% of last year’s attendees said the 2011 conference did an excellent job of meeting their objectives. We’re going for 100% this year! Summit is your one-stop shop for getting the most value out of your Atlassian products, learning about other use cases, and getting demos of all the extra add-on goodies.

The Top 8 Reasons to Come to Summit

  • Meet one-on-one with our developers, product managers, and technical support teams to get your questions answered
  • See the latest/greatest product offerings from Atlassian and add-ons from our sponsors
  • Mingle with your peers at our networking events or online via our exclusive Summit virtual meeting rooms
  • Learn how to juice your products to increase performance and scalability, get greater adoption, or build new custom applications
  • Discover how to make teams more innovative through better collaboration, product development, and support
  • Meet with our sponsors to see new integrations and get their real-word advice on best practices
  • Hear from 6 special guest speakers including Eric Ries, author of The Lean Startup
  • Party like you’re Australian! Join our staff from Sydney, San Francisco and Amsterdam for our favorite celebration of the year!

Prefer to learn about product updates through amateur talent shows? We might just do it again this year, you never know. Whether it’s to be the first to see, touch and hear about our new products, sit down with our product gurus, see all the lastest add-ons and integrations, or meet with peers, Summit will have it all.  Still need to convince your boss? We got you covered.

See you there!

by Jon Silvers at April 29, 2012 05:00 PM

Sarah Maddox

How long does it take to write a book

A number of people have asked me how long it took to write my book, and how much of that time was spent on the actual writing. Luckily I’d thought it would be interesting to know that myself, so I recorded my time from the very beginning of the project. Thank you to Peter Maddox for helping me to turn my dry figures into a pretty chart!

The time tracking starts from mid May 2011, when I began planning the book in earnest. I stopped tracking my time in mid February 2012, when the book became available on Amazon and B&N. The figures include only the work I did myself. Other people put a significant amount of time into the book too. In particular, Richard Hamilton at XML Press did the copy editing and publishing of the book, the illustrator created the cover image and the five images that introduce the parts of the book, and six people worked on the technical review. It would be interesting to know the total time spent by all of us, but I don’t have that information.

Summarising the time I spent on the book

Elapsed time: 9 months
Total time spent on the book: 620 hours
Number of hours spent actually developing content (words and diagrams): 376 hours

So, the time spent developing content was approximately 60% of the total time. I wonder if that’s about average?

Assuming a 5-day week of 8 hours flat-out per day, 620 hours would have taken 16 weeks. That’s approximately 4 months. I did it all while holding down a full-time job – an exciting and challenging one, at that. So, I spent all weekends, all public holidays, and a number of days of my annual leave, on the book. Looking back, I don’t know how I managed it, except that I have a wonderful family who supported me all the way. And it was worth it!

Time per task

This chart shows the number of hours spent per week, on each task. The vertical axis shows the number of hours. The horizontal axis shows a nine-month period by week, from mid May 2011 to mid February 2012. The colours show the different tasks, with a colour-coded key running along the top of the chart.

I’ve totalled the hours per week, since that seems a logical boundary and makes a nice smooth chart. (A daily chart is interesting but very spiky. A monthly chart does not have enough detail.)

Here’s a bit more information about each of the task types. I’ve rounded the figures to the nearest hour in this list:

  • Preparation (39 hours): Choose a publisher. Prepare and discuss the initial outline with the publisher.
  • Writing (376 hours): Map out the structure of a chapter, write it, do my own review, draw any diagrams necessary, develop test data and take screenshots – everything that goes into developing the content.
  • Administrative and technical tasks (66 hours): Sort out the IRS, set up the technical environment, correspond with various people.
  • Design (12 hours): Liaise with the publisher and illustrator about the illustrations, book cover, and other design matters.
  • Technical review comments (34 hours): Discuss and incorporate feedback from the technical reviewers.
  • Promotion (23 hours): Write blog posts, tweet, plan webinars, liaise with companies who may buy the book in bulk. This encompasses just the work done before publication. Promotion ramps up significantly after publication, and is not shown here.
  • Index, captions, footnotes (36 hours): Develop the index for the book, add the image and table captions, and formalise the footnotes.
  • Copy editing and final proofs (35 hours): Incorporate feedback from the copy editor, and review the final proofs and galleys.

The book

Of course, the amount of time it takes to write a book depends on a number of things, including the size and nature of the book. Here are the vital statistics of my book.

Title: Confluence, Tech Comm, Chocolate: A wiki as platform extraordinaire for technical communication

Available: Amazon.com and Barnes & Noble

Publisher: XML Press

Illustrator: Ryan Maddox

Number of pages: 488

Number of words: Approximately 130,000 (excluding the table of contents and the index)

Number of diagrams: I created 11 diagrams to illustrate various concepts. (These are in addition to the drawings created by the illustrator, and a large number of screenshots.)

Dimensions: 9.2 x 7.4 x 1.1 inches

Nature of the book: Technical – see the outline of the book


by ffeathers at April 29, 2012 04:52 AM

April 28, 2012

Sarah Maddox

Recording of webinar about Confluence wiki, collaboration and technical communication

Yesterday I presented a Scriptorium webcast titled “Collaboration: A hands-on demo using Confluence wiki“. The kind folks at Scriptorium have made a recording of the webinar available, and I’ve uploaded my slides too.

This presentation is about collaboration and what it means to technical communicators, and how we can use a wiki to enhance the experience. I give a hands-on demonstration of creating a technical documentation space on a wiki. You will see how to design a home page using the Confluence editor, macros, and even a touch of Twitter integration. You’ll also see how to draft a page, invite subject matter experts to review the page, and keep track of what they do to your documentation. After walking through the simple workflow of draft, review and publication, I discuss the use of add-ons and plugins to supply more sophisticated workflow functionality.

It was great to get some questions from attendees and answer them at the end of the session too. Having a live wiki up and running was very useful to illustrate the answers!

Webinar recording

Scriptorium has published the recording of the webinar on SlideShare: Webinar: Collaboration: A hands-on demo using Confluence wiki

Slides with speaker’s notes

Once you’ve watched the webinar, you may find it useful to see the slides with my speaker’s notes. The slide deck includes screenshots of the parts of the demo that were live on the wiki during the presentation. The slides available on SlideShare: Slides: Collaboration: A hands-on demo using Confluence wiki.

To see the speaker’s notes, click the tab labelled “Notes on slide n” under each slide (next to the comments tab).

Who is Donna Dark?

Donna is a denizen of my demo wiki. She’s a technical communicator extraordinaire. Take a peak at the webinar recording. You’re bound to bump into her.


by ffeathers at April 28, 2012 04:24 AM

April 26, 2012

Matt Ryall

⌘ Fanfare for the comma man

Ben Yagoda on the humble comma:

What’s right and wrong changes historically, and the comma shows this clearly. In the 19th century and earlier (when rules were generally more lax than they are today), comma use was pretty much a crapshoot. That is, writers rolled one in when they felt like it, which was usually when a natural pause seemed to occur.

#

by Matt Ryall at April 26, 2012 07:33 PM

JIRA Product Blog

JIRA 5 Deep Dive: Admin Luv

As a JIRA administrator, you’ve no doubt heard and seen some of the highlights of JIRA 5 – big features to connect people, activity and applications across your organization. For administrators, we’ve opted for – as SD Times put it – ‘A relentless focus on saving you 5 minutes here and there’. While these incremental improvements aren’t grabbing any headlines, you don’t want to miss them! Here are some of the admin highlights of JIRA 5, designed to free up your time so you can play Angry Nerds or dig for issue history gold.

Communication Breakdown

Unless there’s a significant change to the user interface, your end users might have no idea that they’ve been upgraded to the latest and greatest JIRA release – so discovery of the coolest new features might happen by accident, long after the upgrade! Cue the What’s New Dialog, a light box that opens up the first time a user logs into a newly upgraded JIRA 5.0+ instance.

Short videos and descriptions highlight the most useful new features for your end users, so you don’t have to communicate updates or release notes! The What’s New Dialog drives adoption and handles upgrade training for you.

One of the common ways your users communicate with one another is via email, and @mentions and the Share button in JIRA 5 are two new ways your end users can generate email notifications. The more email you’ve got circling around, the more likely it is you might change the configuration – so with JIRA 5, setting up and configuring email handlers to process that incoming mail is easy.

The convenient wizard and improved layout of JIRA’s mail configuration options isn’t something you’ll need to use often – but when you do, it will be a breeze.

Solving Problems

JIRA Administrators now have power over user-shared filters and dashboards. This is incredibly useful when a user leaves an organization or a contractor finishes work: if his or her shared filters and dashboards continue to be used by others, making edits to change and improve these over time is easy. Should those objects no longer be useful, you can remove old dashboards filters – including email subscriptions to them – to free up space and memory they had been using.

Testing and troubleshooting email problems and LDAP connections – including user retrieval, group membership, and authentication – are a double win: they make it easier for you to solve your own issues without relying on our legendary support team, and when you do lean on our support engineers, they use the new debugging and troubleshooting tools to get you a faster resolution.

Upgrades and Plugins

You’re often busy supporting users and applications, and carving out time to test an upgrade or a new plugin keeps getting pushed back on your calendar. This leads to two problems: first, you and your users don’t always get to take advantage of the latest and greatest, but worse, you go through days or weeks knowing that big project is coming, and you’re going to have to get around to it. Haven’t you heard that stress is bad for your health?

JIRA 5′s stable Java API and new REST API are both signs of hope on the horizon.

  • The JIRA Public Java API will remain forward-compatible from JIRA 5.0 through minor releases (5.1, 5.2 and so on), until the next major release (6.0). For the JIRA administrator, this means you can build and use plugins with the JIRA Public API and not have to worry about testing and compatibility for minor release upgrades.
  • The JIRA REST API takes this even further: applications can integrate with JIRA via REST, so you can build or use integrations to work with JIRA issues remotely, and never have to worry about upgrading a plugin when you upgrade JIRA.

Now is the Time

JIRA 5.0.3 is available today with even more enhancements over the 5.0 release. There’s never been a better time to upgrade JIRA!

Check out JIRA 5

 

by Christina Bang at April 26, 2012 07:00 PM

Atlassian News Blog

Win $10,000 for your charity or non-profit

atlassian do-gooder awardThe Atlassian Do-Gooder Award is back! Open to our Community License holders, the Do-Gooder award is a competition that simply asks: what’s your story? The best story-teller, ie, the winner of the competition, will win a $10,000 donation for their non-profit, a free pass to Atlassian Summit to accept the award, a free stay at the event, reimbursement (up to $500) for airfare, and the everlasting admiration of their peers. Past winners include the International Potato Center and Mercy Ships.

The competition

The rules are pretty simple: describe the impact our license contribution has had on your organization or the lives of the people that you serve, and you could win. Have fun with your submission – haikus, songs, videos and animations are not only allowed, but encouraged! Ready? Submissions are due by May 13th so get started now.

by Jon Silvers at April 26, 2012 06:26 PM

Confluence Product Blog

Fast, Usable Diagrams & Mockups with Creately for Confluence

This is a guest blog post by Chandika Jayasundara, Co-Founder and CEO of Creately, an online diagramming plugin for Confluence which lets you create and add all kinds of diagrams like flowcharts, wireframes, UML diagrams and mindmaps for your wiki pages and blogs.

Since we launched the Creately Confluence diagram plugin a few months ago, hundreds of customers have chosen Creately for its power features that make drawing flowcharts, UI mock-ups, DB diagrams, network diagrams, and UML diagrams a breeze. But that’s just the beginning! We’re really excited to announce two new features that will supercharge your Confluence Creately experience.

1. Zoomable, Clickable Diagrams with the Creately Viewer

It’s no secret that adding diagrams and mockups to Confluence pages helps get your messages across. Yet, there were two pieces missing given how our users told us they wanted to make use of Confluence diagrams.

First, diagrams viewed in Confluence pages were always whole images. Users wanted to link to other mockups, pages and so on, but to make use of the links, they had to enter the diagram editor. Second, embedding large diagrams unfit for the parameters of a Confluence page negated your styling and left you with an unwieldy page.

Good news! The new Creately Viewer solves both of these problems. Watch the video below to see the Creately Viewer in action.

Naturally, the Creately Viewer becomes invaluable in many situations. For instance:

  • Linked UI Mockups
  • Multi-level UML and DB Design diagrams
  • Large design diagrams (Zoom and Pan FTW!)
  • Linked flowcharts
  • Site maps where you can link to mock-ups of other pages
  • Gantt charts where every task block can be linked to a Confluence page, an easy project overview

2. Thousands of Templates a Single-click Away

We also went ahead and integrated the Creately Conflluence plugin into our online diagram template library. It has thousands of high quality templates, as well as over a million diagram examples. Constantly updated, designed for discovery, and fully searchable – half the work is done for you, so you can create beautiful diagrams in no time. The templates browser is seamlessly integrated inside Creately for Confluence.

Try Creately Today

You can install the latest version of Creately Diagram Plugin using the Confluence Plugin Manager. We hope you enjoy Creately as much as we enjoy building it!

by Matt at April 26, 2012 01:00 PM

Matt Ryall

⌘ The WebKit Inspector

Majd Taby has some advanced tips for the WebKit inspector:

Google and the Chrome team have been pumping a ton of resources into the WebKit Inspector. The changes have enabled a whole new class of complex and ambitious applications that would have otherwise collapsed on their own weight. This is great news, of course, but as I talk to more and more web developers about their process and tooling, it became clear to me that many of them haven’t caught up with the changes or aren’t making effective use of the tooling available. This blog post attempts to remedy that, not only by walking you through the inspector’s feature set, but also highlighting certain techniques for bug hunting and feature development that I’ve found to be indispensable.

#

by Matt Ryall at April 26, 2012 11:19 AM

Sven Peters

iCompanyValueCustomer

(Teil 1 von 2)

Nach Atlassians Gründung im Jahr 2003 hat man schnell festgestellt, dass man ein Tool benötigt, in dem man die Unternehmenskommunikation und Dokumentation online ablegen kann. Das ganze hat Geschichte gemacht: Es wurde Confluence entwickelt und hat unsere Informationskultur sehr stark geprägt. Wir hatten das Glück, von Anfang an ein Kollaborationstool zur Ablage und Verteilung von Informationen zu nutzen. Aber kein Tool der Welt, kann die Unternehmenskommunikation ändern. Das muss vom Management des Unternehmens gewollt und gelebt werden.

Informationen bei Atlassian

1. Open Company, no Bullshit

Mike & Scott, die Gründer von Atlassian, war der Gedanke sehr wichtig, ein offenes Unternehmen zu schaffen. Das sollte für beides gelten: Interne und externe Kommunikation.

interne Kommunikation externe Kommunikation
  • Geschäftspläne
  • Produktpläne
  • Technische Dokumentation
  • Online Diskussionen
  • Kommentare und Kritiken
  • Kunden Feedback
  • Berichte
  • Preisinformationen
  • Dokumentation
  • kostenlose Testversionen
  • Quellcode
  • Softwarefehler
  • Featureanfragen
  • Unternehmensblog

Neue Mitarbeiter haben sofort Zugang zu historischen Daten, ohne lange in “Legacy” Dateistrukturen herumzusuchen.  Als ich das erste mal meinem Chef einen Bericht über eine Konferenz schicken wollte, sagte der zu mir: “Blog es, damit das Unternehmen davon mitbekommt”. Nichts hat unsere Informationskultur für mich besser beschrieben als dieser Satz.

2. Online zusammenarbeiten

Ein sehr wichtiger aber oft unterschätzter Aspekt von Wikis ist die Kommentarfunktion, um sich über Inhalte zu unterhalten. Bei Atlassian kommentieren wir  wie wild auf Wiki-Seiten. Hier einige Anwendungsbeispiele:

  • Ideen zu Projektplänen äußern
  • Kritik an Informationen im Wiki
  • Links zu weiteren Quellen für Informationen hinzufügen
  • mit Kollegen aus anderen Büros über Inhalte diskutieren

Alle diese Sachen macht das Wiki nicht nur zu einer Quelle der Informationen, sondern zu einem öffentlichen Ort für Debatten, an denen wirklich jeder teilhaben kann.

3. Die News vom Unternehmen verfolgen

Bei Atlassian wird von Mitarbeitern erwartet, dass wirklich jeder die Neuigkeiten verfolgt, die in unserem Wiki erstellt werden. Jeder Mitarbeiter kann seinen NewsFeed selbst definieren, also nur die Neuigkeiten, die für ihn auch interessant sind. So ein NewsFeed bietet viele Vorteile:

  • Es werden keine Emails an alle Mitarbeiter verschickt, da Neuigkeiten, die jeder lesen soll, über das Wiki verteilt werden. Das schont die Inbox.
  • Alle sind über alles informiert. Die Verteilung von Nachrichten durch Wikis bietet den Vorteil, dass jeder Nachrichten aus allen Bereichen des Unternehmens lesen kann. Es gibt keinen eingeschränkten Verteiler.

Bei Atalssian schreiben unsere Gründer Mike & Scott in regelmäßigen Abständen sogenannte Founder Updates, in denen sie uns über die aktuelle Situation und Zukunftspläne informieren. Als ich bei Atlassian angefangen bin, war es sehr interessant die alten Founder Updates durchzulesen, um mir ein Gesamtbild der Unternehmensstrategie zu machen.

4. Internes Blogging

Atlassian betreibt mehrere öffentliche Blogs, auf denen wir Kunden über unsere Aktivitäten informieren. Es sind aber unsere internen Blogs, die so wichtig für unsere Informationskultur sind.

Ein interner Blogpost ist eigentlich wie eine Wiki Seite, die automatisch in dem eigenen Newsfeed auftaucht. Jeder Mitarbeiter betreibt seinen eigenen Blog, den nur Atlassianer lesen können. Wir schreiben über jedes Thema:

  • Erfahrungen mit einer neuen Programmiersprache
  • Ein Bericht über den Besuch eines Kunden
  • Eine Anfrage für Reisetipps
  • Einen Link zu einem interessanten Artikel im Internet

Viele Unternehmen richten ein schwarzes Brett hierfür ein, das aber häufig nicht aktuell ist oder nicht gelesen wird. Mit der Kombination aus persönlichen News und Unternehmensupdates hat Atlassian eine Plattform für einen offenen Informationsaustausch geschaffen, das wirklich von unseren Mitarbeitern intensiv genutzt wird.

5. Nach außen offen

Die oben beschriebenen Punkte gelten für internes Blogging, aber Atlassian ist auch offen nach außen. Wir glauben, dass Kunden von unserer offenen Informationspolitik profitieren. Diese Offenheit spiegelt sich in folgende Punkten wieder:

  • unsere Produktpreise sind für jeden sichtbar
  • zukünftige Kunden können unsere Software für 30 Tage kostenlos ausprobieren
  • unsere Dokumentation ist öffentlich für jeden einsehbar
  • Fehlerberichte und Featurewünsche sind öffentlich. Man kann für seine Lieblingsfunktionalität abstimmen

Man kennt das von verschiedenen Unternehmenswebseiten: Der Vertrieb ist nur über ein Kontaktformular erreichbar -Preise auf Anfrage. Wir glauben bei Atlassian daran, dass unsere Produkte selbst überzeugen müssen und verzichten daher auf Vertriebspersonal.

In Teil 2 werde ich über Herausforderungen und Chancen einer solchen Informationskultur schreiben.


by Sven Peters at April 26, 2012 05:30 AM

April 25, 2012

Dev Tools Blog

Automatically Creating Bamboo Elastic Images with Bellatrix

As a software company boasting 15 products and add-ons, as well as dozens of plugins for them, Atlassian builds a lot of code.  I mean, a LOT of code. We’re also famous for eating our own dogfood, so of course we use Bamboo to orchestrate it all.  Conducting the orchestra is a small and dedicated team of nerds we creatively call “Build Engineering”.  This team manages multiple Bamboo instances, each with well over 100 Plans and scores of agents to do the work.

The agents allow us to keep our build queues short, even at peak-activtiy times like the days leading up to a product release, and the few minutes leading up to the beer fridges being restocked.  With plenty of agents on hand, we can run multiple Plans simultaneously, and within each Plan, run multiple jobs in parallel –all in the name of faster feedback times and higher developer productivity.  Agents also help us test our products as though each test run was a pre-launch deep-dive regression.  With a variety of OS, database, and browser configurations distributed amongst agents, we can execute our tests against the many permutations represented out there in our install base.  A lot to keep track of, but the benefits more than outweigh the cost.  And speaking of costs (specifically, reducing them)…

Automation Manifest(o)

In his never-ending quest to automate himself out of a job, our own Adrián Deccico of the Build Eng team (and HungBuildKiller fame) recently came up with a 2-prong solution for administering all those agents.

  • First, use Amazon EC2 instances for as many agents as possible.  Because Amazon charges by the hour, this is far more cost effective than buying and provisioning enough bare iron to support the number of agents needed, especially since it’s rare that all the different platform configurations need to be building at the same time.
  • Second, automate creating the images (which are analogous to a recipe or blueprint) needed to configure the EC2 instances.  Not only is manual creation of images time-consuming, it is also error-prone and difficult to trace back.

An example Bellatrix config (click to enlarge)

Automating the process lets the Build Eng team keep pace with the steady flow of new JDKs and browsers the product teams want to test against, as well as make back-up copies of the configurations that would otherwise only exist on Amazon’s network.

The team already had a head-start on this because they use Puppet, a leading configuration management tool.  Remember all those OS/DB/browser permutations?  Each one is recorded as a Puppet manifest.  When it’s time to provision a new machine, all you need to do is select a manifest, tell Puppet to do it’s thing while you grab another cup of coffee, and by the time you’re done stirring in the sugar, you’ve got a freshly-minted box to play on.

Introducing Bellatrix

So: EC2 instances for the build agents, Puppet to manage their configurations, and a bit of home-grown black magic the Build Eng team named “Bellatrix” (in honor of Bellatrix Lestrange from the Harry Potter series).

Bellatrix is a suite of utilities that automates interactions with EC2 instances.  Given a Puppet manifest, it will fire up a blank EC2 instance, invoke Puppet to provision the instance according to the manifest, and burn a copy of the configuration as an AMI (Amazon Machine Image) for use later by Bamboo.  Bellatrix has it’s own Bamboo Plan containing the series commands to make all that happen; the Plan is triggered whenever a change is pushed to our repository of Puppet manifests, hosted on BitBucket.  Having lifted nary a finger, we get a fresh set of the AMIs needed to test products on multiple platforms.

Currently, our internal Bamboo instances are updated manually with the new AMI codes.  Not a huge burden since they don’t change very often.  But the Build Eng team is serious about automating themselves out of their jobs, and plans to automate this step as well by building custom endpoints on top of Bamboo’s REST API.  (Naturally, I’ll brag about that on their behalf in a future post when it’s up and running!)

 

Let’s Get All Hogwarts on This

If you want to start bewitching AMIs on your own project, you’re in luck: Bellatrix is available for download at http://pypi.python.org/pypi/bellatrix/.  You’ll find complete documentation, including code samples as well as links to configuration and provisioning examples, at http://bellatrix.readthedocs.org/en/latest/index.html.   Try it out and post a comment letting us know how it’s going!

For those of you in the San Francisco Bay area (or looking for an excuse to visit), Dan Bode and Teyo Tyree of Puppet Labs will be giving a presentation at this year’s Atlassian Summit, May 30th – June 1st.  Focusing on deploy automation, their talk will introduce you to Puppet, and use real-world continuous delivery examples to give you a peek “under the hood”.

 

 

Special thanks to Adrián for building this spellbinding tool, and helping me wrap my head around its awesomeness! 

by Sarah Goff-Dupont at April 25, 2012 03:57 PM

Confluence Product Blog

Ignite Collaboration with Quick Comments and Likes in Confluence 4.2

Encouraging collaboration that leads to the inception of brilliant ideas and even better results requires two processes. It starts with content creation – someone creates a wiki page or blog post to form ideas, specifications, project plans, or anything else. That content then needs to be discovered by other people or team members. Others can be pulled into Confluence via Share notifications and @mentions. This is when the real magic happens.

Engage Everyone. Realize Results.

The fundamental idea behind a wiki is that a group can achieve more than an individual. More brain power means better results. Confluence 4.2 speeds up your team’s feedback loop by removing the friction between viewing content and providing feedback generating richer conversations and producing better results, together.

Add Comments, Quickly

Contributing ideas, starting conversations, and providing feedback just got a whole lot faster with Quick Comments. The power of Confluence’s editor is just a click away as it loads instantly, enabling everyone on your team to get involved in rich, threaded-discussions. Sharing images, embedded videos, and linking to related content has never been this easy.

Confluence Comments and Likes

‘Like’ Content in One-Click

There are times when you want to dive deep into a conversation, and there are times when you just want to give something your stamp of approval. Enter Confluence ‘Likes’. Perfect for acknowledging the work of others, seconding a great idea, and agreeing with the feedback of others. Liking Confluence pages, blog posts, and comments is just a click away.

Watch and see how quick and easy it is to join the conversations happening in Confluence.

If it’s Popular, it’s Probably Important

Quick Comments and Likes don’t just encourage greater participation and user engagement, they also help users discover content that’s most important to them. Tune in next week when we’ll dive deeper into how Confluence is helping users discover the content they should know about.

Try Confluence 4.2 Today

New to Confluence? What are you waiting for, start a free trial today and get up and running in minutes. Let the conversations begin!

Already using Confluence? You must be itching to upgrade, critical discussions await you. Check out our full release notes to get started.

by Ryan Anderson at April 25, 2012 01:00 PM

Bonillaware

Cómo hacer que tu web cumpla la LOPD sin morir en el intento

Enfrentándose a la LOPDUna tragicomedia en 3 actos y epílogo.

Hace algunos días, se lanzó la launch page de Minchador, el proyecto personal de mi amigo Dani Latorre, al que acusé de usar una foto en baja resolución más fea que pegar a un padre.

Como buen aragonés, en vez de reconocer que tiene aún menos gusto que vergüenza, me lanzó un órdago baturro al que mi honor gallego me obligó a enfrentarme y me puse a crear una página de lanzamiento para el primer y esperadísimo proyecto de Funius.

Una launch page, coming soon page o, simplemente, página de lanzamiento no deja de ser una estrategia de marketing. Una máquina de generar hype, con la que empezar a construir una audiencia para tu producto. Y eso implica… recoger datos personales.

Acto 1: Con la LOPD hemos topado

Normalmente tengo menos luces que el coche de los Picapiedra, pero, en esta ocasión y puestos en faena, se me encendió una bombilla y me planteé que, por muy launch page que fuera, no dejaba de ser una web en toda regla y, como tal, debía cumplir la legislación española.

Y la legislación española dice, entre otras cosas, que DA IGUAL si tu web ofrece cojoservicios SaaS de cloud computing por un pastizal o es un simple un blog: si recoges datos personales de tus usuarios o clientes, estás obligado a cumplir la LOPD o Ley Orgánica de Protección de Datos.

Supongo que ahora mismo estarás rascándote la cabeza como un mandril perplejo y preguntándote si tú recoges y usas datos personales. No te preocupes, Toribio, ya te ayudo yo: algunos jueces consideran el correo electrónico como un dato personal. Así que, algo tan inocente como una página de lanzamiento o una fantabulosa lista de correo, DEBEN cumplir la LOPD.

La cuestión no es una tontería. El incumplimiento de la LOPD puede acarrear sanciones que van desde los 600€ hasta… 600.000€ ¡Matamecamión!

Acto 2: ¿Qué carallo es eso de la LOPD?

Ahora mismo, el pobre Dani Latorre debe de tener palpitaciones anales. ¡No te preocupes, Dani! No es para tanto. En realidad, los multones más altos son para aquellos casos en los que están involucrados datos especialmente protegidos, que sólo querría utilizar una mente enferma -o una compañía yankee-, como la raza o religión de tus usuarios.

En cualquier caso, las sanciones leves se castigan con multas entre los 600 y los 60.000€, capaces de hacerle un roto hasta a una megastar como Latorre, así que parece una buena idea informarse de qué carallo es eso de la LOPD.

Da igual que los servicios que ofrezcas sean gratuitos. Debes cumplir la LOPD

Sin ánimo de ser exhaustivo ni de convertir este artículo en un referente jurídico, sino de intentar traducir la ley del klingon al castellano, la LOPD dice que, en el caso de que guardes datos personales, estás obligado a:

  • Informar a tus usuarios de qué datos personales estás recogiendo, cómo vas a utilizarlos y obtener su consentimiento para hacerlo. Una vez más, para el 99% de las webs -las que sólo recogen los datos más básicos, como el nombre y el correo electrónico- con un consentimiento tácito es suficiente (Ej. “El registro en esta web implica la aceptación de su Política de Privacidad“). Además, debes proporcionar un método para que dichos usuarios puedan consultar, modificar o dar de baja sus datos.
  • Implementar las medidas de seguridad oportunas para proteger los datos. El nivel básico de seguridad, nos obliga a:
    • Garantizar que no dejaremos que cualquier tuercebotas acceda a los datos, mediante una contraseña
    • Hacer un copia de seguridad de los datos con carácter semanal
    • Cambiar la contraseña de acceso al menos una vez al año
    • Escribir un ladrillo en forma de documento que explique nuestra “política de seguridad” (quién tiene permisos de acceso, qué base de datos se utiliza, etc…)
  • Registrar el fichero de datos en la AEPD, Agencia Española de Protección de Datos. Donde podéis identificar el “fichero como el conjunto de tablas de base de datos, ficheros de texto, Excel, libro de registro o pergamino escrito con sangre de un mapache virgen donde guardéis los malditos datos personales.

Acto 3: ¿Cómo cumplo eso?

Los dos primeros puntos puedes cumplirlos desde tu cubil. Es decir, sin tener que perder años de vida interactuando con la Administración, pero lo de “registrar un fichero” suena a citas previas, largas colas y el “Vuelva usted mañana” de Larra.

En realidad, podemos registrar online el “fichero. Eso sí, sólo en caso de que dispongamos de certificado digital y utilizando la sofisticadísima tecnología de la AEPD: el sistema NOTA, que no es ni más ni menos que… un formulario PDF interactivo.

Así que, en el caso de que no lo tengas instalado -como le pasará al 98,73% de los usuarios de Mac-, si quieres utilizar el sistema NOTA, tendrás que instalarte el software Acrobat Reader. Y ahí comienza la fiesta.

Prepárate para deslizarte por una montaña rusa de emociones y diversión, donde encontrarás campos como el de “Finalidad del fichero”, con opciones intuitivas a la par de elegantes como “PRESTACIÓN DE SERVICIOS DE COMUNICACIÓN ELECTRÓNICA”. Dificultad extra si encima tienes que definir qué servicios delegas en terceros. Por ejemplo, cuando tu lista de correo la gestionas desde Mailchimp.

Si consigues rellenar el formulario por completo, antes de enviarlo tendrás que firmarlo electrónicamente con tu certificado digital. Copio una captura:

Firma Digital de presentación de fichero para la LOPD

En mi caso, el proceso de firmado fue como la seda… con el certificado digital de empresa (Bonillaware es una S.L.U.) y una vez que conseguí instalarlo en el Mac. No tengo ni idea de si esto mismo funcionará con certificados digitales personales como los que se usan para presentar la Declaración de la Renta.

Epílogo: yo no lloro, pero me desespero

Una vez finalizada y firmada la solicitud, tendrás un PDF que podrás guardar: una “Solicitud de Inscripción”. De hecho, será el único PDF que, oficialmente, podrás guardar.

Solicitud de inscripción de fichero para la LOPDEl problema con este PDF es que, en el caso de que tengas problemas, no vale absolutamente para nada, porque no guarda ninguna prueba documental de que hayas enviado absolutamente NADA.

Lo que sí vale como prueba son los datos de registro de entrada que aparecen en el formulario interactivo PDF una vez que lo envías a la AEPD. Datos que, por supuesto, no puedes guardar ni exportar como PDF normal -¿para qué ponérselo fácil a la gente?- sólo imprimir. Así que, la única forma que conseguí para guardar digitalmente mi solicitud fue muy de hacker de nivel 52 o superior: imprimir y escanear la solicitud con los datos de registro de entrada. Copio una captura para que sepáis lo que debéis guardar:

Datos de inscripción de la LOPD

… y una vez que tienes tu fichero registrado ¿Qué crees que se le puede ocurrir a un hombre de bien? Pues comprobar que todo ha finalizado correctamente. Por eso, te vas al buscador de ficheros registrados de la AEPD, te buscas a ti mismo y encuentras… CERO, NADA, AGUJERO NEGRO, CAOS Y DESTRUCCIÓN.

Así que, te preguntas si has hecho algo mal y, por supuesto, llamas al teléfono de información la AEPD donde te informan de que eres un pailán, un optimista y que tu fichero tardará alrededor de un mes en aparecer en su web.

Por supuesto, pregunté si había alguna manera de saber antes de ese mes si el registro había finalizado con éxito y -sorpresa- la respuesta fue NO.

También pregunté si podría lanzar la web que usaba dicho fichero antes de ese mes y la respuesta fue que NO DEBERÍA. Así que, en teoría, se deben registrar los ficheros con un mes o más de antelación antes de que lancéis vuestra “aplicación”, aunque esta sea un truño tan grande como una página de lanzamiento.

¡Un mes! Y eso que la presenté telemáticamente. Si llego a hacerlo presencialmente, a lo mejor tengo que esperar a la próxima legislatura.

La conclusión a la que he llegado es que, el 90% de las webs españolas no cumplen la LOPD y que, al 99,999% de los usuarios no les importa un pimiento. La Ley es confusa y su cumplimiento y seguimiento difícil. Me dejo MUCHAS cosas en el tintero y vamos por las 1.400 palabras… Eso sí, si quieres dormir tranquilo y cumplir con la legalidad, aquí tienes algunas pistas sobre como empezar. Mucha suerte a todos…

by david at April 25, 2012 09:27 AM

April 24, 2012

Atlassian News Blog

Do you have the ping pong skills?

Friendly competition is a staple at Atlassian. From Halloween costume and gingerbread contests, skeet shooting, poker game nights, spur of the moment foot races and even departmental competitions regarding work, Atlassians make any situation and challenge fun.

When we moved to our new office in San Francisco, our brand new foosball and ping pong tables got heavy use. Naturally, we immediately organized a tournament, and the games unfolded. Nearly 40 people signed up to play in the first ping pong competition. Being our first massive organized tournament, it took a few months before we neared the semi-finals.

Once a month, we have an all-staff meeting. The April all-staff happened to fall on the day we hosted our 10 year party in San Francisco, and the mayor declared the day ‘Atlassian Day‘ in San Francisco. What better of a day to aim for the competition to come to an end? We held the final matches after our awesome BBQ catered lunch and pulled the ping pong table into the  massive lounge space in the center of our beautiful new office.

The finals came down to David Chambers, Bitbucket Developer, and Reed Johnson, Data Analyst. They played best out of 5 games to 11 points. See the finals here:

As you can see, these guys are excellent players, and we’re proud to have them in the San Francisco office. There’s chatter about getting some games going between the best player of each office.

Our next tournament is already under way. Soon enough, we should be able to split players out into divisions to make games even more exciting, no matter what skill level people fall under.

There are currently 38 open jobs across Atlassian. Do you have the ping pong chops to compete here?

by Morgan Friberg at April 24, 2012 09:27 PM

Confluence Product Blog

Team Calendars 2.1 Released – Faster, Cleaner, More Discoverable

The Team Calendars development team is addicted to speed. Uh…well…no…well, not that kind of speed….what I mean is, the Team Calendars development team is addicted to putting new features into the hands of its customers, fast.

There we go, let’s cut to the chase. We’re excited to announce that our next major release - Team Calendars 2.1 - is available to try now.

Discovering Team Calendars

With ten releases and counting, Team Calendars is jam-packed with awesome features. Tracking your people, JIRA projects, and events has never been easier. But in the words of the great Bishop George Berkeley, ‘If a tree falls in the forest and no one is there to hear it, does it make a sound?’.

Turn that frown upside-down

With our latest we’ve made Team Calendars more discoverable for Confluence users. In doing so, we rethought how Team Calendars exists, or doesn’t exist, on the Dashboard.

Turn that Frown Upside Down - Dashboard View

If Team Calendars is installed, any user that hasn’t subscribed to a Team Calendar will see a ‘sad-faced’ Team Calendar logo. The guilt alone will have your users populating their calendars in no-time.

Give your Dashboard a make-over

The Team Calendars ‘Upcoming Events’ stream on the Dashboard has more pop than ever, and brings your team’s schedule to the forefront of what you do in Confluence. Visualizing your schedule upon entering Confluence is really easy.

New Dashboard Mini View

The new design is simple, elegant, but most of all, more useful. Learning more about an upcoming event on the Dashboard is just a click away. Quickly see what’s on schedule for today and dig deeper to learn more. Staying on top of and managing your team’s schedule has never been this easy.

Clickable Dashboard Mini View

We felt the need, the need for speed

If you’re anything like us, you’re probably always looking to save time in your day-to-day jobs. As is the case, you can now view your schedules in Team Calendars faster than ever. We’ve made major performance improvements, so you can check your People, JIRA, and Event calendars in the blink of an eye.

Faster Event Loading

Team Calendars in Review

With so many releases, it can be hard to keep up on the latest and greatest. You may have missed some of the seriously awesome features, so here’s a quick look at some of the highlights of past releases:

See even more reasons why over 1,200 companies - like Facebook, Skype, Workday, and HTC use Team Calendars to schedule their team leave, track their JIRA projects, and plan events.

Try Team Calendars 2.1 Now!

Start a FREE 30-Day trial on our servers or yours. Either way, it’s just a few clicks away – we promise.

Want to learn more about this release? Check out the release notes.

Still not convinced? See why over 700 companies - like Facebook, Skype, Workday, and HTC use Team Calendars to schedule their team leave, track their JIRA projects, and plan events.

by Ryan Anderson at April 24, 2012 01:00 PM

April 23, 2012

JIRA Product Blog

Bonfire 2.1 – Amazing Annotations for Agile Defect Prevention

Our goal with Bonfire is to help you deliver quality working software to your customers. Agile defect prevention is an approach whereby you find and address bugs before your customers experience them. Bonfire facilitates agile defect prevention and provides confidence that you are delivering quality working software to your customers. Bonfire helps you deliver quality working software.

Atlassian Bonfire 2.1, available today, makes everyone a professional when it comes to reporting bugs. Further, the test sessions and traceability in Bonfire 2.1 allow you to monitor the quality of your product over time. Now, let’s take a look at these features in detail.

Annotate Screenshots Like a Pro

Bonfire 2.1 has a completely redesigned and rewritten annotation tool – we call it Charcoal… get it? The new annotation tool kicks ass, making it quick and painless for anyone to annotate a screenshot with the detail required to enable an engineer to reproduce a bug. Annotations are amazing because you can now:

  • Move, resize and delete annotations
  • Add colour, and lots of it
  • Blur with perfection
  • Have wonderful text

No point in reading about it though, take a look for yourself:

Multiple Related Issues in a Test Session

It is important to ensure that the team has tested the high risk issues on the backlog. Even if the team doesn’t have time to QA every story in the sprint they can at least create a test session which links to multiple issues that are considered high risk. You are now focusing the limited QA time on a test session for the high risk issues.

 

 

Of course linking a test session to multiple issues means you’ll also want to raise bugs as sub-tasks under one of these parent issues. You can do that too.

Testing Visibility

Everyone in an Agile team is responsible for quality, not simply the QA Engineers. Bonfire provides visibility into the manual testing that the team performs (see Atlassian Bamboo for automated testing). The Test Session captures all the relevant information including activity, participants, raised issues and time spent: In Bonfire 2.1 a team can quickly jump from the test session screen to the Issue Navigator to triage the issues raised in the session. We made this easier so that you can get those bugs on the backlog, and get them addressed ASAP.

Testing Effectiveness

When everyone in the team participates in the testing we expect to have a very high quality product. To make sure that is the case we can report on the bugs raised during a release, and how they were raised. For instance, we may want to know how many bugs were raised prior to release and how many were raised by our customers once the product was released.

In the left hand pie chart below we have “Raised During Test Session” and on the right hand pie chart we have “Raised During is Empty”. We are using a new JQL clause “Raised During” for this report.

We can see that there were more escaped bugs in 1.1 (44 bugs) compared with those we caught during a 1.1 test session (22 bugs).  The real power comes when we start adding this to our Dashboard to track the quality of each release: There is a ton of awesome functionality in Bonfire 2.1 to make your testing team more Agile, and more efficient.

See What’s New

Check out Bonfire 2.1 today to make everyone in your team an Agile tester and give them the tools to raise bugs faster along with accurate steps for reproducing the bug.

Upgrade to Bonfire 2.1 now!

Note: Atlassian OnDemand customers will be upgraded to Bonfire 2.1 on May 7.

by Nicholas Muldoon at April 23, 2012 01:30 PM

April 22, 2012

James Roper

ScalaFlect: Statically typed query DSLs

I've been hard at work over the past few weeks redesigning my Mongo object mapper, the Mongo Jackson Mapper, to support Jackson 2.0, be simpler to use, and be far more powerful with less surprises to users. Something that has been at the front of my mind is how to make it nicer to use in Scala, and the biggest thing that I'd like to do here is implement the query and update APIs using a DSL that makes the queries look like ordinary code. But there's a problem. If you want your classes to be ordinary case classes, then when querying, you're going to have to refer to the properties using strings. Strings that are very easy to make typos in, strings that don't get updated automatically when you refactor, strings that don't throw compile errors if they are wrong, and in the case of MongoDB queries, strings that don't even throw runtime errors if they are wrong. Scala has no support for referring to a field, rather than its value, so unfortunately, strings are the only option. That is, until now.

Today I started a new open source project called ScalaFlect. It provides exactly what every query DSL implementor has been wanting, statically typed reflection. It allows you to reference a field or a method, and the result being that you get the java.lang.reflect.Field/Method associated with it. Before I go into the details of how I did this, let's first look at an example DSL that I've written to demonstrate the capabilities so far.

Example DSL usage

So to start off, I have some case classes, a BlogPost, and a Comment, with a one to many relationship between blog posts and comments:

case class BlogPost(author: String, title: String, published: Boolean,
  tags: Set[String], comments: List[Comment])
case class Comment(author: String, text: String)

Now I have implemented my DSL by implementing an abstract class that provides the basic elements of my DSL. This class is called ObjectListDao, and as the name suggests, it stores objects in a list. But it could just as easily be storing objects in a database like MongoDB. Let's look at a DAO that uses this DSL:

class BlogPostDao extends ObjectListDao(classOf[BlogPost]) {
  import au.id.jazzy.scalaflect.ScalaFlect.toTraverser

  def findByAuthor(author: String) = {
    query(
      $(_.author) %= author
    )
  }

  def findPublishedByTag(tag: String) = {
    query(
      $(_.tags.$) %= tag,
      $(_.published) %= true
    )
  }

  def findPostsCommentedOnByAuthor(author: String) = {
    query(
      $(_.comments.$.author) %= author
    )
  }
}

So the first thing you notice is the static access to properties. The $ method accepts a function that accepts a parameter of type BlogPost, and the function should return the property that you want to reference. You can also see that using the $ operator on a collection, you can refer to properties in that collections type.

Example DSL definition

So how have I implemented my DSL? Quite simply. Here is the code:

class ObjectListDao[T](val clazz: Class[T]) {
  private val scalaFlect = new ScalaFlect(clazz)
  private val list = new ListBuffer[T]

  def $[R](f : T => R): QueryField[R] = new QueryField(scalaFlect.reflect(f))
  
  def query(exps: QueryExpression*) = {
    var results = list.toList
    for (exp <- exps) {
      results = results.filter(exp.matches(_))
    }
    results.toList
  }

  def save(obj: T) {
    list += obj
  }
}

class QueryField[R](val field: Member[R]) {
  def %=(value: R): QueryExpression = new QueryExpression {
    def matches(obj: Any) = !(field.get(obj) filter {v: Any => v == value} isEmpty)
  }
}

trait QueryExpression {
  def matches(obj: Any): Boolean
}

Here we have an instance of ScalaFlect for our class (in the example usage, this was BlogPost). The $ method simply invokes reflect() on this, which is what does the reflection. reflect() returns a Member. A Member is a reference to a series of methods and fields that were invoked by the reflection function. Using it, you can get access to the Java reflection API classes that represent these methods and fields.

The other thing to note is the implementation of matches. This is where the Member class is actually used. If this was a DSL for something like MongoDB, then at this point the Memmber and its parents would be inspected to build a query object, which would then be sent to the database. In our case though we're just operating on a list of objects that we already have in memory, and Member provides a convenient get function that gets all the values of that property for a given object. Note that I said values, not value, ScalaFlect allows stepping into collections using the $ operator, so if the reference goes through a collection, then multiple values might be returned.

Implementation

At this point, especially if you've thought about how to do this before, you're probably wondering how on earth I've implemented this. The passed in reflection function is never executed. An important thing to remember in Scala is that functions are actually classes themselves. ScalaFlect simply takes the function class, decompiles it, finds the apply method, and then does some fairly simple analysis on the code to find out what properties were referenced. By fairly simple, I mean I wrote it in 2 hours. The result is cached so each function is only ever analysed once.

Ok, so this sounds like a hack, and it is. And it certainly has its limitations. The behaviour if you put complex code into your reflection function is completely undefined (it will most likely throw an exception, in future I'll add some decent error handling). However, it's a hack that will work well - there is nothing magic about how a Scala function that invokes some methods/accesses some fields on the passed in argument and returns the result is compiled down to bytecode. I don't expect that anything will be added to Scala in future that might break this.

One limitation that I do anticipate though is working with hot swapped code. I imagine, if you update a query, and hotswap it into a running JVM, there will be no way for ScalaFlect to either detect that, or even analyse it if it could. This is because the way ScalaFlect decompiles the bytecode is by loading the class from the reflection functions classloader. I actually have no idea how hot swapping works, but I suspect that it doesn't update the bytecode that the classloader sees. The same goes for any runtime generated and enhanced code, but maybe that issue is not as likely to ever cause a problem.

The future

I read somewhere that Scala 2.10 is getting improved reflection, but I don't know what that means. The need for this library can be completely removed if Scala added language level features for referring to a field, and not it's value, in code. My ideal outcome from implementing ScalaFlect is that the value of such a feature will be realised, and hence added to Scala. In the meantime, ScalaFlect will work nicely at giving DSL writers statically typed reflection.

So check out the library on GitHub, and feel free to comment on my approach. I haven't cut a release yet, but I'll get to that and deploy a beta to Maven central in the coming days (depending on how fast Sonatype will process my request to deploy to my domains groupId).

Update

It's just been pointed out to me that Scala 2.10 will (might?) have macro support, which would achieve this (and potentially much more) in a much cleaner fashion. This is great news for writing query DSLs. I don't know though what the state of the macro support is, it's marked as experimental and doesn't seem to be really mentioned in any Scala 2.10 feature lists. So maybe ScalaFlect might have some time to serve some useful purpose yet.

by James Roper at April 22, 2012 07:16 PM

April 20, 2012

Sarah Maddox

Invitation to a webinar about collaboration on Confluence wiki

I’m presenting a session in a Scriptorium webinar about collaboration and technical documentation. The webinar is on Thursday 26 April 2012. (Actually, the date depends on your time zone. It’s Friday 27th April in Sydney.) The session is called “Collaboration: A hands-on demo using Confluence wiki“. Can you join Sarah O’Keefe and me? We’d love to have you there. :)

Part of the session is a hands-on demo, because I want to show you what it’s like to work on a wiki. The hands-on sections are interspersed with slides, so that we can discuss concepts and ideas too.

The webinar is free of charge. What’s more, you have a chance to win a copy of my book, Confluence, Tech Comm, Chocolate: A wiki as platform extraordinaire for technical communication.

Webinar details

Title: Collaboration: A hands-on demo using Confluence wiki.

Date and time:

  • Thursday, April 26th at 4:30 p.m. US Eastern time.
  • Thursday, April 26th at 1:30 p.m. in California.
  • Friday 27 April at 6:30 a.m. in Sydney, Australia.
  • Find the date and time in your part of the world. You can use the meeting planner at the World Time Server to compare times in different places. For example, here’s a link that compares the times in New York, California, Sydney and London.

Registration: Go to the Scriptorium webcast page.

Another Scribbly Gum tree

I’ve posted a few pictures of Scribbly Gums on this blog. They’re fascinating and beautiful. The name of the tree is similar to the name “Scriptorium”, which gives me some excuse for putting this picture here. And this time, unlike in my previous post about scary webinars, there’s no spider on the tree. :)

Scribbles made by larvae on a Scribbly Gum tree


by ffeathers at April 20, 2012 08:20 PM

jr0cket

Dibi Conference aftermath - designers get coding, developers get creative

DIBI 2012 - Seb Lee-Delisle-1.jpg Some conferences are huge, some are very social, some are highly technical.  DesignIt, BuildIt was the most creative and moving of experiences I've had in a long while.  It has really inspired me to add so much more creativity to my coding projects.

There were some amazing speakers at this years DiBi, split into Developer and Design tracks.  I took the opportunity to delve into the Design track and learnt so much more than I can capture in one blog.  So here is the first highlight from what I felt were the most passionate speakers.

DIBI 12 - Seb Lee-Delisle @seb_ly - Hybridify yourself

Seb Lee-Delisle opened the day by making is all think about the possibilities when you combine creative design with technology.

"Play, Create, Share"

JavaScript has really evolved to be a highly productive tool, when coupled with graphics tools like Processing and WebGL some amazing games and animations can be created really easily.  For examples, take a peak at: creativejs.com, creativecodeingprodcast.com and OpenProcessing.org.

With these kinds of tools at hand, there is no reason designers and coders shouldn't code their own creative works.  Althought there is still a big gap between these two disciplines, even at the DiBi conference there was The valley of incomprehension, with most people defining themselves as either designers or developers.  Seb encourages us all to be a bit more of a creative coder!
coder + designer == creative coder

Seb also reminded us how easy it is to code something creative, with just one line of code on a commodore 64 emulator. Taking this further with code.seb.ly and 10 minutes of live creative coding in JavaScript, Seb created an eye-catching visuals that responded to mouse control and gravity.
"Most coders get into it because they want to play games they create.  Its much easier to create games than you think."
When you get designers and coders working together it improves the communication and helps share skills.  Designers discover much more when they learn to code.  More importantly, working together helps share ideas; if designers and coders work together they can implement ideas in the easiest possible way.

Developers find the creative process hard, as many are too used to thinking literally.  The more developers are part of the creative process, the more appreciation they will gain for it.

Developers should take the time to play with visuals more, start with small ideas and playing with tutorials to learn how to draw with code.  By looking at the examples at communities like OpenProcessing it will help inspire coding towards more creative goals and help give software an experience that people have real affinity for. 

In the next blog about DiBi12 I'll cover Dan Ruben (Moo) and Cameron Moll.  Both inspired in very different ways.


by John Stevenson (noreply@blogger.com) at April 20, 2012 07:18 PM

April 19, 2012

Sarah Maddox

New text processor for iOS - UX Write looking for beta testers

Coming soon to your iPad and iPhone: a new text processing app designed for structured, sophisticated documents. I’ve had some fun beta-testing UX Write, an app under development by Peter Kelly at UX Productivity. It’s very cool.

UX Write is in the fairly early stages of development, but it can do a lot already. The screenshots below show the functionality as it is today. It will change. :)

UX Write stores its content as HTML. It uses WebKit to render the content. WebKit is the browser engine behind Safari and Chrome. Peter also plans to support Microsoft Word and LaTeX in a future version of UX Write.

What UX Write looks like

I love the whole idea of this app, and the philosophy behind the design of the menus: Start off simple, and progressively give access to more complex functionality.

This is a screenshot of a document in UX write on my iPad. (You’ll notice some of the wording from this blog post in the document.) The screenshot shows the specialised keypad that UX Write supplies, with fast access to some handy characters.

A document in UX Write with keypad

Peter has extended the standard keypad to provide quick access to often-used keys. He plans to add more smarts to the choice of quick keys. You’ll notice the forward and backward-pointing arrows on the keypad. They move the text insertion point along the line of text, giving finer and faster control than the standard method of positioning the cursor by touching the screen.

In addition to the usual “Select” and “Select all” options that appear when you touch the text, UX Write has “Select paragrah”.  A very nice touch. :D

Applying styles to text

You can apply formatting to text. That’s neat.

Formatting text

Even neater is that UX Write supports styles, along the lines of those in Microsoft Word.  What’s more, you can define your own styles too.

Designing and applying styles

I’ve suggested to Peter that it would be great to share the styles across documents, so that you can build up a portfolio of favourite styles.

Inserting figures

The insert menu currently allows you to add figures, tables, cross-references and hyperlinks. When you add a figure, one of the options is to pull it in from your photo album on the iPad or iPhone.

Inserting an image from your photo album

Cross-referencing

You can insert headings, tables and images (figures) and then add references to them. The hyperlinked words “Table 1″ in this screenshot are an example of such a reference.

Adding cross-references

Document outline

The outline shows the structure of your document, and you can click the sections to jump to the relevant part of the document. I think Peter has more plans for this option too. In future, you may be able to move sections around within the outline.

Document outline

Getting the document out of UX Write

And this is where it starts getting really exciting! You can already print the document, convert it to PDF, email it, and open it in Evernote and Dropbox. The print and PDF outputs do not yet support page headers and footers, but those are in the pipeline once the Word and LaTeX support are available.

Exporting content from UX Write

Storage

You can choose from three storage locations for your document: Dropbox, the iPad or iPhone, or a WebDAV server. Pretty awesome!

UX Write storage locations, showing the files on Dropbox

A cool thought: Confluence wiki supports WebDAV (although the configuration is a bit fussy). Peter Kelly is thinking about the possibilities of integrating UX Write with Confluence and other content management systems.

Would you like to be a beta tester?

Here’s the great thing about beta testing this app: Peter Kelly works fast. When I sent my first batch of suggestions to him, he’d already implemented a number of them and had the next beta build ready for testing! If you do decide to sign up as a beta tester, expect a fast ride. He’s also very receptive to ideas and discussion.

I’ve been doing the testing on the bus, on the way to and from work. I started this blog post that way too. This is exactly the use case Peter is aiming at: working on your document on the run.

Visit the UX Write website or drop Peter Kelly a line at peter@uxproductivity.com. He’s especially keen to hear from people who spend their lives writing complex and professional documents. That’s us, folks. ;)


by ffeathers at April 19, 2012 10:22 PM

Atlassian News Blog

New University lessons for GreenHopper 5.9… and JIRA 5

We are now happy to announce new University lessons for GreenHopper 5.9.

Last month we released GreenHopper 5.9.  Our latest update makes GreenHopper even better for iteration planning (Scrum) and managing your flow (Lean / Kanban).  Some new features include:

- A story point burndown chart for the current sprint
- The marker updates the Story Point estimate for the sprint as you drag it
- Planning for the next sprint can now begin while the current sprint is still in progress
- Specify start and end dates for a sprint as well as naming the sprint
To learn more, visit the GreenHopper blog.

Whether you are a brand new to the product, want a quick refresher, or a curious about recent changes, these University lessons will help you be a GreenHopper pro, faster.

Also, our JIRA 5 lessons have been quite popular since the debut in February.  If you haven’t already, be sure to check out the JIRA 5 lessons in University. The lessons will quickly explain all the new social features and enhanced activity streams that are new to this version of JIRA.

Want your team to work more efficiently with JIRA, Confluence or GreenHopper?  University can help.  Before you buy a license for your team, we can set you up with a free trial to give you a taste of our teaching style. Here’s a link to a free trial

Get your study on!
Jesse Katz
Atlassian University

by Jesse Katz at April 19, 2012 09:28 PM

Your ticket to Atlassian #Summit12

Dying to come to Atlassian Summit, but spent all your money on Mega Million lottery tickets? Need an excuse to travel to San Francisco for a chilly summer break?

Upload a short video to YouTube that explains why you’re hankering to attend our epic conference. Atlassian will choose the most convincing pitch and reward the creator with a free ticket to Summit. The winning ticket includes general admission and training – a $1,300 value!

Details:

  • Video should be a maximum length of 60 seconds
  • Pitch can be as serious, creative, or goofy as you want
  • Deadline for video submissions is Monday, April 30

Once your video is uploaded to YouTube, submit the public link to Atlassian via this form. We’ll notify the lucky winner via email on Tuesday, May 1 and post some of our favorite clips on our Facebook page.

Atlassians are excited about Summit, too! Watch Kelvin Yap, Atlassian Sales Engineer, explain why he keeps coming back year after year for one *ahem* attractive reason.

by Brittany Walker at April 19, 2012 06:56 PM

Copyright © 2006 Atlassian Software Systems Pty Ltd. All rights reserved. Your privacy is important to us.