Products

Solutions

Resources

Partners

Community

About

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.


DNN 9: Rethinking the Admin Experience

DNN-9Overview

DNN has long had a unique approach to our content editing experience.  Many tasks in DNN can be accomplished without requiring a user to leave the page they are working on.  Creating a page and editing content is done fully within the context of the page you are building. This approach allows you to quickly and easily make content changes without have to flip back and forth between a content editing tool in one browser and the finished page in another browser.  The entire editing and review process occurs within a single browser window.

Maintaining Context

Prior to DNN 9, the administration experience forced you to navigate to another page to make simple administrative changes.  If you needed to make an edit to your site CSS, you had to leave the page you are working on.  If you wanted to create a new role so that you could give that role special editing permissions to some content on the page, you had to leave your current page. If you wanted to review an error that occurred while attempting to load a module on the page, you had to leave the page.  All of this navigation takes time and requires the user to completely break their focus on the current content task. Some users would resort to using multiple browsers to handle administrative tasks, but this meant constantly switching between multiple browsers.

The new Persona Bar in DNN 9 will completely change the administrative experience for DNN.  The Persona Bar was introduced in Evoq and has received extremely positive reviews. One of the primary benefits of the Persona Bar is that the slide out interface allows you to quickly access administrative functions and then slide them out of the way when you are ready to go back to editing or reviewing your content. This experience is designed to be easily accessible when you need it, but to get out of your way when you want to focus on the page.

When Speed Counts

When I first tried out the new admin experience in DNN 9, I was blown away by the speed of the UI. Opening the persona bar was blazingly fast.  Shifting from admin page to admin page was amazing, and when I was done the persona bar slide out of the way and I returned to my main page with little disruption. The persona bar was so fast that I thought something must be wrong with my install and that it couldn’t possibly be working.

Anyone who has ever run a Web Forms based application knows that it can be snappy with the right tuning.  Unfortunately, the post back model of Web Forms means that you are doing a lot of page loading for every little page interaction. If you update a form, you need to refresh the whole page.  Edit some content and you need another page refresh. Having to go to another page to make a configuration change means suffering through multiple page reloads.

Getting a DNN page to load under 1 second is certainly achievable without too much effort – as long as you are not an authenticated user.  DNN is optimized for anonymous users and is able to short circuit a lot of rendering and permissions. Once you login, DNN has to perform a lot of additional security checks and has a whole new admin interface it needs to expose.  All of this turns a 1 second page load into a 2, 3 or 4 second page load. While the times are acceptable, the delays are very noticeable. 

The DNN 9 persona bar and admin pages are written using a lightweight SPA based approach. Each admin page is a simple html layout with some JS interaction talking to a web service on the backend.  Using this approach, we are able to significantly reduce the amount of work that the browser and server must do to render each admin page.

Going Under Cover

In order to better understand the differences between the two approaches, I decided to dive in deeper to see if I could understand where the performance improvements come from.

In looking at the DNN 8 and DNN 9 interfaces for the Scheduler service I don’t see a lot of obvious differences in functionality.  They both show me all of the installed scheduler tasks and which ones are currently active.  Looking at the schedule status or schedule history using the module based approach is a multi-second process.  With the new SPA based persona bar,  shifting tabs is under 300ms as the UI only needs to refresh some data, and we didn’t lose any functionality or information.

DNN - Scheduler UIPB - Scheduler UI

Going a little deeper I looked at Chrome’s developer tools to see what was happening in the browser that provided the speed boost. Loading the Scheduler in DNN 8 required almost 2 seconds since the browser had to download and process 87 different assets.  The final page size is around 2Mb which is pretty heavy. Also, because most of the rendering task occurs on the server, as server load goes up, the admin experience will suffer. Additionally, due to the number of requests being made, network latency can dramatically alter the user experience.

DNN - Scheduler Requests

DNN 9 is fixes many of these problems.  Loading the Scheduler page can be done with 9 server requests for data and assets.  The whole process completes in just under 700ms and only requires 156Kb of data transfer.  Although the load time is a bit deceiving. If you look at the UpdateUserSettings web service call and the TaskScheduler.js loading tasks, you will see that we added a 500ms delay just so things don’t seem too fast. Without that delay we could load the scheduler page in about 150ms. To put that into perspective, we could load the scheduler page twice in the time it takes to blink your eye (a normal blink of the eye takes 300 – 400ms).

PB - Scheduler Requests

Summary

DNN 9 is the most significant UI change we have made to DNN since we introduced the skinning engine in 2004. The new Admin Experience allows you to stay focused on your content and not on administration tasks. When you do need to handle administrative tasks, you can quickly and easily perform those tasks and then get back to managing your content.  After all DNN is a Content Management System not a Website Administration System, and the admin experience should reflect that fact.

Comments

There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.

NewsArchives


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Daniels (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out