Focusing on editor experience
We're half way through a three day Wagtail Sprint, at Torchbox's Bristol offices. There are 30 developers, designers, UX specialists and content experts from the UK, France, the Netherlands, Finland and the USA, representing Torchbox, California College of the Arts, the NHS, Hactar, Four Digits, Potato, VIX Digital, Noripyt, fffunction and openDemocracy.
Previous sprints have had wide remits, but we decided to focus this one on 'editor experience'. In last few weeks we've been inviting developers and editors to describe the issues they experience using Wagtail's authoring interface, along with their ideas for improvements. Once everyone had arrived, drank their first coffee and ate their first croissant (thank you Pinkmans), we spent an hour reviewing the feedback and coalescing into teams.
Thibaud Colas, Matthew Westcott, Mikalai Radchuk and Josh Jackson are replacing hallo.js with draftail (a new editor, based on draft.js). This is a long-standing project, started by Josh Barr at Springload and continued by Thibaud. The work involves several strands: completing draftail itself; writing translators between draft.js's representation of text and Wagtail's internal representation; creating a coherent and attractive style for the editor which takes advantage of draftail's flexibility without confusing users who are familiar with the current tools. Draftail is already in use in some heavily customised, high profile sites, but our goal is to have it included by default in Wagtail 2.0 (scheduled for early December, alongside Django 2.0).
Edd Baldry, Tom Saunders, Sonny Baker and Heather Davidson started work on Streamfield UI improvements. Streamfield is perhaps Wagtail's most obvious distinguishing feature. It was designed for long-form narrative content, but developers love the flexibility it affords, while maintaining structured data, and the original UI design sometimes struggles with the imaginative purposes it's put to. Edd's previous work with the pip-installable Clearstream is a great starting point; we're aiming to combine this with a wider review of the editor UI and a sleeker design approach.
Francesca Sargent and Todd Dembrey looked at Streamfield performance. We've had reports of complex Streamfield pages – especially those with large numbers of nested fields – which are slow to load in the administrator interface. Client- and server-side benchmarking showed that Wagtail's behaviour is pretty sane, and that both load and render times are surprisingly low for very large pages. We've concluded that massive Streamfields should only cause poor performance when Django is not caching templates, which should only be the case when DEBUG is True (i.e. not in production). Raise an issue if you disagree!
Other teams looked at editor reporting (e.g. content freshness, author activity), inline writing tools, full text search improvements, Yoast-style SEO hints and asset usage reports ("Are you sure you want to delete this document? It's used in these 4 pages"). I'm encouraging everyone to blog about their work, so I hope you'll see a mini explosion of Wagtail content over the next few weeks.