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.

Comments

For me, Views is Drupal's killer module, but I found it a little daunting at first.

So this all makes great sense to me. And what a wonderful example of co-operation between different elements of the Drupal community.

This sounds amazing, thanks for making an wonderful module, even more wonderful.
I know we are marching off to D7 branches, but any chance this will get back ported to D6?

No, we're taking advantage of a lot of D7 bits and patterns and have no plans to backport this to 6.

Congratulations! I love the new UI.

The only thing I'd like to bring back is the ability to see Views queries. I wasn't able to get this through views, or the devel module. I found this really, really helpful in debugging and if I need a quick and dirty fix for something.

Is there any way to get the Views query to examine? Thanks!

I agree with what has already been written. View was a little daunting to me also when I first started with Drupal, which was only a few months ago, bit now it completely make sense. Views is the first module everybody should install and why it is not built into core is beyond me.

Great to see the new UI released! Kudos to all the people who worked on this tirelessly.

Jeff Noyes led the UI design work with help from other Acquians: Kevin O'Leary, Linea Rowe, Chris Brookins and myself. As you wrote, we went through many different designs and iterations. I guess that makes me a Views contributor now! ;-)

The Views UI has been getting better ever since Drupal 5, 6 was a big improvement! Can't wait to get this installed on a Drupal 7 site and give it a whirl!

Congrats!

~Mark

Do you think this amazing work on the UI will anyhow ease the task of getting the full Views project into core? As you were pointing out it now feels much more integrated with the core administration pages.

IMHO, since one of the main goals for D8 is a general API improvement, having the possibility to remove from core code doing nothing but implement functionalities that can be obtained with Views in a far cleaner way would be a great step ahead.

Sorry if you already addressed this subject for D8, but I could not find anything about it yet.

/me opens a bottle of champagne

Earl, wonderful write-up. We are thrilled and honored to have worked with you so much on this project and thank you so much for your support and energy in partnering with Jeff, Katherine and our team to help deliver this new UI. A couple of points I want to add:

The artistic person you refer to in your post is Jesse Beach who has been doing CSS magic on Drupal Gardens for some time now. The original designs for that work came from Jeff.

Huge props to Katherine for being the Acquia engineering lead on the project who organized the code sprint and made that happen. At her suggestion we also tried to fly in Mariano D'Agostino to the San Jose sprint but even with Acquia legal help and many conversations with congressman Markey's staff we were not able to help him clear Argentine visa requirements. Oh well, next time!

This will be a wonderful new addition to drupal and I'm looking forward to using it myself.

Thanx go out to everyone who's assisted with this update. It will certainly ease the amount of questions I get about creating views from my clients after I roll out a site.

Jordan
---
Drupal commerce themes and development

For what it's worth, I wish every Drupal project was run this way. My mind doesn't work with an issue que. It was so much more effective to meet, greet, and hash out concerns over the phone.

At any rate, many thanks too you Earl. I think there are still some kinks to work out, but overall I hope you find you have less gripes in your que :)

The nature of opensource is that there's always kinks to work out, and we pick the ones that we feel we can be the most effective in addressing with the resources we have!

Just downloaded and installed. My first thought is that I LOVE IT!

Just for a background, I'm very familiar with views... and its nice to see that the advanced stuff isn't too hidden. Great job!

I do remeber the tweets about "Oh why are you creating a new Views UI and not helping to really create a new one" very well. And now exactly that did happen. The drupal community is really great and I am really happy about this! :D

Thank you all for your devotion and your hard work!

Great writeup, and this is awesome in so many dimensions. We were given a major Views UI rewrite (stealth even - or at least as a surprise to most users). Plus the news this improvement will find it's way into Drupal Gardens (which I love, but I found the platform too limiting [for me] with just Simple Views). Views UI gets more modular on the UI front, and closer integration with Ctools. Best of all, seeing contributors from outside Views. I imagine this is a big step towards someday moving some of Views into core (I couldn't even pretend to know what is left on that front, but it's great to see!).

Sorry for the overly-gushing post, but thanks all for what you've given us!

This is fantastic stuff - had a chance to download and play around a little bit, and I'm impressed. Very nice job of hiding what can be overwhelming complexity for new users, but it's a very easy transition for those used to the old interface imo...

wizard screenshot: http://dl.dropbox.com/u/1957870/drupal/add_view_wizard.png
main ui: http://dl.dropbox.com/u/1957870/drupal/views_ui.png

many thanks to all who contributed!

Coming soon!

Congratulations Earl -> and the rest of the team. I would be super interested in a post about the process -> what the teams did right and how this became a reality.

Views has come a long way, baby!

In response to a recommendation above,Views is a killer module, but the only way it got that way is by continual development. If views had been in core, none of this UI improvement would have ever happened. It would be dead just like Book, Blog, Profile, etc. with no chance of incremental improvement. Views should be included in Drupal distributions but never in core.

What needs to change is the perception (and the reality of it) that core is where modules go to die.
No reason for modules not to be continuously developed in separate git repositories and then periodically reviewed and merged in. This very UI we are praising was developed in a separate repository for months before being merged in.

Still, no reason to have this discussion here, especially when we could be celebrating the new UI (or maybe finding bugs, and then even fixing them) :)

None of the above modules are used by as broad of an audience as Views.

None of the above modules has an interested caretaker.

Other parts of core are maintained and grow. FAPI changes significantly every version as people try to make it better (or, in some cases, suck less). Not every part of core is a T.Rex's arm.

Of course, I never said core itself is stagnant. I was referring to the user oriented modules (as did the poster before me). FAPI is the "framework" part so it's logical that it's seeing huge growth.

Views has an extremely modular and extensible architecture: I think it would be easy to have Views "core" + UI in Drupal core without preventing most of its functionalities to be improved and extended in contrib by anyone interested in, just as can happen now.

With the configuration management and Butler discussions going on for D8, many of the problem spaces Views addresses directly or through CTools might be addressed in core, thus paving the way for Views inclusion.

In my mind getting Views in core for D8 might be a totally different story wrt D7, however I guess the main issue is understanding whether Earl would be interested in supporting the effort in such a scenario.

I think a more realistic target would be Drupal 9.
Drupal 8 will bring us context, unified field revisions, improved formatters (which are kinda limited at the moment), and all that will impact Views. So giving it another cycle, while including supporting changes to core (if needed) would be the best idea.

At the same time, Views can aim for complete test coverage (something that didn't exist in the D7 days) which would greatly improve the easy of integrating it into core.
There's also a question of dependencies. The object cache, the export UI, all of them ctools things that Views relies on...

Really helpful announcement. Now I understand why Views has been in D7 alpha for so long. Thanks for all of your hard work.

all things come to pass through the compulsion of strife
-- Heraclitus

Earl, thanks for taking the time to write this update and share the great news with everyone! Views is one of the most important modules in Drupal and it's great to see Acquia putting their weight behind it to help make major improvements like this. Thank you to everyone involved in making this update happen!

I don't know enough php and javascript to contribute on modules but if its CSS and template files you need help with I am excited to help, going to have some fun this weekend. Now I have a really good reason to upgrade to 7.

For the people that couldn't wait for the download and wanted to look at the ui:
Adding fields
Field config

This is so awesome Earl!! Great work Jeff, the UI looks really slick. This is an amazing example of people UX guys and developers coming together and doing solid work. I would go on and on about how awesome the new Views is but I wanna go back to using it, so I'll say it only one more time... awesome.

I was amazed when I saw what they came up with, and am thrilled to hear that you were intimately involved in it -- that guarantees continuity. Congratulations all around!

Awesome work - can't wait to try it out in a demo site.

No-one has mentioned the video demo in these comments yet...

http://www.drupalgardens.com/content/drupal-gardens-now-views-3
http://www.youtube.com/watch?v=fCVVeh35vMU

I saw a few of the concept diagrams a while back, but the video gives a much better idea of how it all hangs together. I love the manner of revealing extra details progressively.

I've just started to help a friend build a new site, and it looks likely we'll use Drupal Gardens, especially with the new views UI. The real bonus though, is giving it back to the whole Drupal community. Well done!

It's a grate gift to all Drupal development!
I think views along with cck are Drupal, that's why it was a surprise views is no core...
Hopefully this advantage will bring him in in the 8th.

You mentioned

Plus, this wizard is plugin. That's right. Make more wizards.

Where is the Wizard plugin? Is it an API in Ctools? Are there any docs available?

Wow, that is one yummy Views interface. Awesome work!

Great writeup, thanks!

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.

Although he worked on it only for a very short time, Gábor Hojtsy made an important contribution by writing the first version of the new Views UI tests. More tests have been added in the weeks since then, and there are now tests for a bunch of areas of the new UI (including the wizard). Even better, they all actually pass - or at least did as of a couple days ago :)

Something I've observed, but never really thought about until now, is that it usually takes something blindingly stunning or a quaking shift of a paradigm for a change to something already great to receive much notice. Enough said, other than Congratulations!!

Thank you Earl and the people at Acquia, great job.

I just wanted to add my voice to everyone else's. I really like the new UI - it seems somehow a lot more polished and intuitive. Well done.

Last week I had two groups of students to whom I teached old style views. As of March 31th we all use the new release of the Views UI. We updated our modules without big problems. And the overall reaction was: "This is more intuitive! We like it more". plus exercises got done more quickly. Experiments never lie so this proves the Drupal community did (again) a very good job!

Last week I had two groups of students to whom I teached old style views. As of March 31th we all use the new release of the Views UI. We updated our modules without big problems. And the overall reaction was: "This is more intuitive! We like it more". Plus exercises got done more quickly. Experiments never lie so this proves the Drupal community did (again) a very good job!

Add new comment