Today, I merged the working branch for the Views 3 UX project into the 7.x-3.x branch of Views. This means that, as of midnight, GMT, everyone now has access to the completely retooled UI for Views, that was spearheaded by Acquia and specifically led by Jeff Noyes and Chris Brookins.
Note: To have access to this, please use the latest CTools -dev or latest CTools release. Some things in CTools had to be updated to support Views' use of export.inc.
This particular project has been in development for something like a year. Last year, sometime, Acquia knew they wanted to give their Gardens users Views. But the Views UI, as we know it, is beyond what they expected Gardens users to be capable of using.
They started off with Simple Views, but they quickly realized something that I also learned back in 2005 when I made the original views: Once you get a taste of Views, people invariably want more. They spent months on the project before I ever got wind of it, trying to design a new Simple Views that would give Gardens users what they needed.
Eventually, they realized that what they really wanted was Views. Only, you know. Usable. They started over, this time with the idea of redesigning the Views UI itself to see if they could come up with something that they thought would be good for both Gardens and the community. In that sense, they left little gates so that they could tone down some things for Gardens users, but leave them in for the power users who need a little more. This has led to a certain separation and I think it's been good.
Eventually, Dries approached me with their plan to see if I would be amenable. I think they were surprised at my favorable reaction at first. I'm known for being somewhat stubborn about the UI, but I think the reputation is more because I'm particularly stubborn about people who come to me with a lot of "Oh this sucks" and "You should do this" without having thought it through.
They had worked on this now for months, going through an iterative process. They learned, during that process, the same thing I had learned going through a similar process a couple of years before: there's not a lot you can cut from Views. What's there is because there is a demand for it.
What you can do, however, is reorganize, relabel and do a better job of introducing it.
A couple months later, they came to me with some mockups. We started regular skype meetings and iterated through a series of mockups. We argued a lot on some of the points, but to be honest I think it was less than they expected. What can I say. This team did solid work. The vast majority of the arguments we had stemmed from a misunderstanding of what some features did or were for, and these arguments were usually resolved when I was convinced that the feature could be de-emphasized, or they were convinced it was more important than they initially thought.
In February, we held a code sprint here in San Jose. Acquia sent Katherine Senzee (ksenzee), and they flew in Daniel Wehner (dereine) and Bojan Zivanovic (bojanz) and we spent a week of quality time in a house with internet. Together with David Rothstein, Alex Bronstein, Jesse Beach and Jeff Noyes who sprinted with us remotely, we had a solid group working tirelessly. And when I say tirelessly, I mean Daniel and Bojan made Kathrine and I feel our age, because we're not early 20s anymore. :) And much code-stomping occurred, and we met and conquered more problems than I can count.
Here's some of the things that happened:
- View creation was replaced with a wizard, written by Peter Wolanin. Most of the wizard is entirely optional. With a couple of checkboxes, it can be reduced to what you get now. Alternatively, with the checkboxes you can create a simple view (a la simple views) that does a lot of the basics, just by making some simple choices. Then you can immediately use the view, or go into the editor and tweak it. Plus, this wizard is plugin. That's right. Make more wizards.
- A lot of terminology has been changed or updated to try to match Drupal core usage, or to be more obvious. I think this will be a little tricky for users entrenched in the current UI at first, but it's not difficult.
- Someone with artistic skill spent a LOT of time providing a clean look and clean CSS for the new system, and it was designed to look right at home in Seven. Sadly right now it looks bad in Bartik, but we're hoping we'll get some contributions to clean that up.
- The live preview was integrated more fully into the editing experience. In many cases, you can go to the preview, use the contextual links and add things in ways that make a lot of sense to people unfamiliar with the system.
- The entire UI has been reorganized to try and bring forward the things everyone wants to use right away, and push to the side (but not actually hide) the things that you don't need until you're more familiar with the system. So fields and filters are front and center, but relationships and arguments are a little deeper in.
- The edit area that often fell below the fold has been replaced by a modal.
- Lots and lots and lots of streamlining and simplification to forms everywhere.
- Real templates, which are different from default views, have been introduced. The only difference between a template and a default view is that you never activate a template. You literally only start with a template and tweak it, much like you would in Word or any other application like that.
- An attempt to smooth out issues with overriding settings has been done. I think we may still have a way to go here, but I won't know for sure until it's been out there for awhile and I've received a lot of feedback from people in the wild.
- Views now integrates more tightly with CTools, and it uses CTools export.inc (and partially uses its export UI tool) which means that Views no longer has its own exportable mechanism. It should be able to more tightly integrate with anything that utilizes this, such as features, and CTools' bulk export tool.
It's difficult to describe how much has been changed, but if it helps, when I merged the branch into 7.x-3.x, git informed me that it had 840 commits to push.
Currently, according to git statistics, I have 2,958 commits to Views. Total.
I really want to thank everyone who put a lot of time and energy into this. I haven't actually named everyone who's helped, either. marvil07 helped merge from github to drupal.org git, and manuee and dagmar both put in some effort. And I feel like I've missed someone else at Acquia, too, but no names are coming to mind right now. If I have missed a name, please comment and let me know.
Soon, I hope to release an alpha, but for now, check out the -dev. Soon, I'm told that NodeOne will be releasing a set of screencasts to ease people into the new UI. I've already seen the first one, and, what can I say. Johan is very excited by the new UI, just like everyone else, and it's a great way to get started.
EDIT: I forgot to mention, when adding fields, filters, etc, they added this really awesome live search. It is now a LOT easier to find and add fields.