Open Atrium: team collaboration Open Atrium is an intranet in a box that has group spaces to allow different teams to have their own conversations and collaboration. Open Atrium 2.x for Drupal 7 A new architecture for Drupal 7 that is built upon Panopoly and intended as an extensible collaboration framework. Please use the Issue Queue to post bug reports and patches for OA2 only (not OA1). Demos The following webinar videos for Open Atrium 2 are available: Open Atrium 2.x Projects These modules are part of the official Open Atrium project and are actively maintained and approved. Other Modules that work with Open Atrium 2.x These modules are not tested, supported, nor recommended by the OA2 Core maintainers but are listed here as a courtesy to the community who might be interested in other work being done related to Open Atrium 2. Ginkgo theme from OA1 ported to OA2Organic Groups Theme for having a different theme on each Space.Contextual Help for an alternative to the OA Tours for adding contextual help to a site.
Pair Programming Interviews September 11, 2013 About Me My name is Parth Upadhyay and I'm a rising senior at the University of Texas at Austin, majoring in Computer Science. This summer, I interned at Square on the Register team. Interviewing At Square When I first started exploring internship opportunities at Square, I didn’t know a lot about the engineering culture at Square—that is until I came in for pair programming interviews. Square's interview, however, was really different. I was confused. Sensing my confusion towards this foreign interview style, he explained that he wanted me to be comfortable coding on the machine so we could actually focus on the problem we would solve, and not have to worry about the cruft surrounding it. After setting up the environment, I did 3 pairing interviews with 3 different Square engineers. These interviews stood out because I was coding just as I would in the real world.
From Jira to Trello For the past couple of years I’ve had to work with Jira. Really, it’s mostly been dreading working with Jira. At both projects I’ve had Greenhopper available, and that hasn’t really made things better. My frustrations have had to do with the complexity of setting up the right fields, to creating a new sprint to creating a new project, down to mundane things like problems with ranking. I don’t particularly enjoy spending hours just tidying up my data. I found out about Trello on September 14, 2011, Olle Hallin a colleague at Crisp had spotted it just a day after its release. The development team has one board and four columns: Ready for DevelopmentIn DevelopmentDeployed to StageDone The “Done” column is release specific. Creating the initial board and first sprint’s stories took about one hour. Moving to Trello is great since we can now add stories easily, rearrange and rename columns quickly, but the biggest win for our team is that we now have one source of truth that everybody uses.
Why Usability Testing Matters: A Newbie's Perspective As a designer, I’m a perfectionist. I enjoy solving problems, analyzing human intuition, and testing all the available research tools to turn ideas into something viable and realistically executable. This heuristic, analytical approach to design was what shifted me from advertising into software in the first place. Working in software, I can test my ideas and get honest feedback — on the spot. User Testing as Validation – The Best Way to Build Confidence Designers are validation junkies. When the client asks you, “How do you know it will work?” We encourage clients to participate in these sessions, to see first-hand the value in how this new product idea addresses their needs. It’s all about the ride, not the destination. I see the software interface as a means to an end. In the past month, I have conducted 3 on-site usability testing engagements. Did it meet the client’s goals? After the final planned engagement, we validated that this product idea will work and be adopted by end users.
Agile software development processes, stories and lessons learnt Beware of Capybara Interacting with Hidden DOM Elements Due to a project’s integration tests spuriously reporting failures with capybara-webkit on our CI servers, we switched to the capybara-selenium driver. In the process of switching, we discovered that a number of tests needed to be tweaked or partially rewritten. Why? It turned out that capybara-webkit was allowing us to interact with invisible or hidden DOM elements, but capybara-selenium prohibited this. We realized our tests had been suffering due to being allowed this leniency. Some of the issues stemmed from naughtiness on our part. For other tests, we discovered there were timing issues related to animations. Regardless, it was an eye-opening experience to realize that our tests were not running at all like we expected.
SEO by Yoast WordPress out of the box is already technically quite a good platform for SEO, this was true when I wrote my original WordPress SEO article in 2008 (and updated every few months) and it's still true today, but that doesn't mean you can't improve it further! This plugin is written from the ground up by Joost de Valk and his team at Yoast to improve your site's SEO on all needed aspects. While this WordPress SEO plugin goes the extra mile to take care of all the technical optimization, more on that below, it first and foremost helps you write better content. WordPress SEO forces you to choose a focus keyword when you're writing your articles, and then makes sure you use that focus keyword everywhere. = Premium Support = The Yoast team does not provide support for the WordPress SEO plugin on the WordPress.org forums. Write better content with WordPress SEO Page Analysis The WordPress SEO plugins Linkdex Page Analysis functionality checks simple things you're bound to forget. XML Sitemaps
Your Tests Are Your Conscience Have you ever inherited a project without any tests? Trying to get a foothold in the code can feel daunting, let alone feeling confident about making changes. I recently took over a project that lacked any tests, and as I began to explore the code, I came to a realization. Despite the fact that the app had known issues and a general air of “bugginess,” the code wasn’t terrible. I’ve seen truly terrible code, and this wasn’t it. No, the realization I came to is that the code was about what you would expect, given that it had no tests. You can understand your language inside and out. Writing tests exposes the “pain points” in code. Here are just a few “paraphrases” of code problems I saw in the project I inherited, problems I attribute to the lack of tests. Repetition This particular block of code (plus or minus a few key/value pairs) occurs as the last statement in three or four action methods on a controller. This code has a different — but closely related — issue. Spaghetti Code
Flurry launches crash and user acquisition analytics for mobile app developers 1 February '13, 07:01pm Follow Mobile analytics company Flurry has announced the launch of two new features for app developers: Crash Analytics and User Acquisition Analytics. The new services, which will be included in Flurry’s existing Analytics SDK, will be offered for free. Flurry tells us that its User Acquisition Analytics feature is available immediately for all users, but Crash Analytics is only available for Android in beta (you must register for it), with an iOS counterpart launching “later this month.” The company details that Crash Analytics, developed through a partnership with Plausible Labs, was “by far the most requested [feature],” following a survey of 100,000 of its users. Flurry has become known for its mobile app reports, powered by data pulled from its Analytics SDK. Image credit: Thinkstock / John Foxx
Simply Writing Tests Is Not Test Driven Development There is a common misunderstanding in the software world — simply writing tests is test driven development. Test driven development (TDD) is about ensuring that your software is functioning, as well as ensuring that the software’s internals are well designed, reusable, and decoupled. What is TDD? Uncle Bob’s 3 basic rules of TDD are: You are not allowed to write any production code unless it is to make a failing unit test pass.You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.You are not allowed to write any more production code than is sufficient to pass the one failing unit test. To summarize Uncle Bob’s rules: Only write code that is tested.Start your tests small, then work your way up.Only write enough production code to make a test pass. Basics of TDD The basic process of TDD has 3 steps: Red, Green, and Refactor. Red The red step consists of writing a failing test, only one failing test. Green Refactor Benefits of TDD