I've written this up with the help of the rest of the Open Atrium team here a bit more formally for the Phase2 folks heading to DrupalCon, which you can read here, but I wanted to elaborate on things a bit more here and would love people to leave comments and start getting involved as soon as possible.
What is Open Atrium
Before any real development can be done, it's important to look at what you're trying to build. In this regard Open Atrium has struggled a little. Billed as an "Intranet-In-a-Box" originally, anyone who has built intranets and installed Open Atrium quickly found just how misleading that statement was. At least depending on your definition of what an "Intranet" was.
In some cases, like that of dev shops like Phase2, our Intranets primary purpose was that of project management. In many other organizations while parts of Open Atrium lend itself well to being an general purpose intranet, the overall user experience did not.
Focusing on what Open Atrium does well can allow us to hone the included features and user experience even more providing a best in class project management tool.
The Next Version
I've already started identifying modules that will need to be updated or, in some cases, deprecated for better solutions. Some work has been started on some, others will definitely need a hand.
As we start getting into the weeds of upgrading Open Atrium, we'll need to keep a close eye on the release timeline of Drupal 8, and adjust our work accordingly. Ideally we can find people interested in doing to experimental work on Open Atrium on whatever the upcoming release version is. This way while we'll have Open Atrium on the current version, we'll not be sandbagged with a complete rewrite when the new version of Drupal comes out. (It would be even cooler if Drupal core didn't require complete rewrites of every module every time there's a new version... see the current module status page... Hey, I can dream can't I!)
That said, You'll find a new branch for Drupal 7 to begin work on out at the Open Atrium profile project, and on our github repo for Atrium Features. But due to the changes in Drupal 7, you'll discover that right now they are empty. If you've ever worked on a project that moved a complex site from Drupal 6 to Drupal 7 you'll know why that is.
For those who haven't had the pleasure, the structure of a Drupal 7+ site is dramatically different in every way from Drupal 6, so this will essentially be a complete rewrite of Open Atrium.
You read that correctly, and is why we need the community to get involved. On the bright side, this gives us an opportunity to explore areas where we can really improve the fundamentals of how Open Atrium functions, not just what features it includes.
What About Improvements
While the chance to improve how Open Atrium Features are structured, and explore the tools and abilities that newer releases of Drupal provide is exciting we can go ahead and identify some areas that we should focus on in Open Atrium 2.
- User Experience & Interface
- Improved Features
- Third Party Integration
User Experiance & Interface
Open Atrium’s current “Ginkgo” theme was a vibrant breath of fresh air in the arena of Drupal themes. However, its user experience left a lot of room for improvement. Open Atrium 2 should feature a new dynamic theme that brings together today’s best user interface practices and technologies to provide a world-class user experience.
By focusing on the needs of project management team members and managers, these improvements would maximize the efficiency and effectiveness of project teams.
In an increasingly connected and mobile world, it's important that project teams stay connected wherever they are. Open Atrium 2 should step up to the challenge with basic support for mobile iOS and Android devices.
Open Atrium 2 should also be aware of it's place in the world. Is it a stand along install of Open Atrium? Is it being used in conjunction with a larger Intranet site? Knowing these questions Open Atrium should be able to adjust it's handling of the primary navigation and user profile changes.
Open Atrium 2.0 should improve existing features and add some missing ones that support the project management workflow. Some ideas on how to improve and extend these features include a Calendar with improved functionality, a new Task/To-Do feature, a revamped People section, Discussions, and Documentation features. We should also include some much needed features like Files and Timekeeping.
We should also look at the existing features to ensure that they are still needed, and that they are being used correctly in the context of Open Atrium. For example, should Shoutbox be included in the core Open Atrium build? Should we be using Atrium Blogs as a place to have discussions, or should we improve the functionality of Blogs as a optional blogging solution for Open Atrium?
Here's some areas that I've identified, this is not an exhaustive list by any stretch of the imagination, that's where feedback and participation come in.
It's 2012, Open Atrium needs a Calendar that looks like it is. We should improve the user interface for the calendar to allow dynamic calendar entry and manipulation, as well as look nice.
Month view isn't always the best view, it definitely shouldn't be the only view. The calendar should provide the standard views (e.g. Month, Week, Day, Agenda) and be easily extended. (gantt chart view anyone?)
Any feature should be able to hook into the Calendar. We'll need to identify some guidelines here, but Open Atrium core features and custom features for Open Atrium should all be able to easily interact with the calendar and have your content show up.
Some projects need Multiple Calendars. Not just different event types, but also calendars. Users should be able to create as many as they'd like. Colors? They should be able to pick those as well.
As good as we can make the Open Atrium calendar, there's simply no way we'll be the perfect tool for everyone. Whatever the reason why, the calendar must support two way iCal support, both as the host of the calendar and as a client to one.
Tasks/To-Do... hey what happened to casetracker?
Perhaps one of the biggest areas of work. The CaseTracker module has served it's purpose for some time now. But with the changes in Drupal Core, it's unlikely CaseTracker in it's current for will live on. Though it may in name, there's a lot of projects trying to tackle this issue, Open Atrium should adopt the best of the bunch. That may be a new version of CaseTracker... it may not.
One thing is for sure, there's a lot of room for improvement here.
Which ever solution the new Tasks/To-Do feature should provide a streamlined way and simple way to keep track of open tasks, with easier reporting and tasking interfaces.
We shouldn’t be using the wrong tools for the job. In the case of keeping track of discussions and conversations about projects that's what we're doing when we use a blog to host discussions between project team members. By focusing on having a tool to facilitate conversations, this feature would improve the ability of users to quickly see all the discussions happening in a particular project that's relative to their interests and role.
We need a solid feature to handle basic file storage and management. This feature should give project teams a space to upload and manage files in secure project specific locations. This could even be extended to the user’s space to provide personal file storage to upload their favorite templates, frequently used images, or other cross group files.
This tool should be prepared to integrate with external file/document management tools.
There has been come amazing community work in this area which we should look at, but we'll also need to consider the other advancements in Drupal Core to ensure we use the best solution.
Project Documentation (the artist formerly know as “Notebook” ...formerly know as "Documents")
The “Notebook” or whatever it gets called, should provide better navigation, and improve the ways we create, share and collaborate on project documentation.
If there's interest creating/improving actual "wiki" functionality as well.
One big missing feature of a project management tool is the time tracking. A timekeeping feature would provide a simple, dynamic timekeeping tool that allows for tracking time both in tickets assigned through Tasks/To-Dos and through on-the-fly entries from any part of Open Atrium. This feature could also provide a timer that allows users to automatically save time spent on a task.
People (formerly “Members”)
Another big area for improvement is handling user information. Open Atrium 2 should feature completely redesigned user profiles that will allow users and site managers to store granular details about the users, including the organization a user is associated with.
Setting organizations on People and Projects would allow Site Managers and Project Managers easy ways to keep up to date with those clients or contractors. This additional information would allow for greater flexibility in managing users and assigning them to projects.
While it's ok for online community members to refer to each other by their online screen names, when you're in a business dealing with clients and co-workers it's generally good form to use their name. Their real name not their username Grabtharshammer79. Open Atrium 2 should allow users to define a Display Name, which would get used across the site. Now if you put "Grabthar's Hammer" in as your Display Name... Open Atrium 2 won't be able to help you out with that.
Additionally, sometimes there other information you need to collect about users and clients, Open Atrium's user profiles should collect some of the basic information, but also make it easier for site managers/admins to add fields to collect specific information like additional contact information or notes. Some of this information could be marked as private or confidential to restrict access.
With this additional information the People Search should use it while looking up someone.
Projects (formerly “Groups”)
Groups, Teams, Projects, Working Groups, and Communities of Practice all have different needs and terminologies and, while Open Atrium is flexible enough to handle anything (it's Drupal after all), we believe Open Atrium’s focus on project management calls for Groups to be refocused as Projects.
Fine-tuning the theme and the feature with improved permissions structure, and the identification of basic project team roles, can work together to provide the best project management experience.
With the introduction of Organizations, and building on the improved Organic Groups, Open Atrium 2 could offer specialized privileges based on organization and project team roles. For example, Organization managers can create groups, add people, or simply update their own organization information. Project team leaders can have editorial control over the content in their project, and more.
Third Party Integration
There's a lot of great tools out there that people rely on to get their job done. Open Atrium 2 should be built with that in mind. While working on features for Open Atrium look at how that could work in conjunction with other third party solutions. Some areas we should look into are calendar, timekeeping, and ticketing integration. Of course, there are a lot of solutions out there, so we’re going to really need the community to identify and help build a connections to those services.
Moving to Open Atrium 2 will be no small task, but we should make that transition as easy as possible. Sites that are currently using Open Atrium 1.x core features should be able to smoothly migrate to Open Atrium 2.
Sites currently using custom features in Open Atrium 1.x are going to have a bit more work than usual to ensure those features are updated to newer versions of Drupal.
The documentation on how we managed the process of migrate Open Atrium’s core feature data could provide guidelines for migrating custom features.
There's Always More
These are just a few of the areas that I think we should focus on improving in Open Atrium. Of course there's more... streamlining setting up mail integration... better notifications... more efficient installation... multilingual content support... It that's what we need to start discussions on. Having these discussion will help us identify what needs to be done, and help people discover what part they can join in on.
The community is an essential part of any open source project and Open Atrium is no exception. I'd like to improve the development process to make it easier for developers and designers from the community to become more actively involved.
Participation doesn't only include coding, we need to hear your thoughts and ideas. But like all open source projects, we need developers and designers that are able to act on the feedback, to write code, theme, test, and submit patches.
I'm excited to see where we all can take Open Atrium.