Shifting your QlikView application mindset to Qlik Sense (part 2/3)
Part 1 of this series describes what Qlik Sense does better than QlikView, from the perspective of an experienced QlikView application developer. Below you will find just the opposite. In the third and final post, I will describe how my QlikView approach to designing applications has shifted on Qlik Sense projects. My goal is not to try to make people forget about QlikView and move on to Qlik Sense, but to help those accustomed to QlikView pilot Qlik Sense in a way that is informed by the strengths and differences in the platforms.
One thing worth noting in the list below is, many items do not violate Qlik Sense's approach to BI and may very well be added over time. If I put this same list together using Qlik Sense 2.0 as a reference, it would have been a much longer, but the platform is still relatively new (compared to QlikView) and being improved.
If you find yourself feeling discouraged reading this, go back and see all the great stuff Qlik Sense does in part 1!
What you can't do in Qlik Sense that you were accustomed to doing in QlikView
Loading data/data model
- Assessing the quality of source data, scripting, and validating your work are slower, in general, using a browser window (Qlik Sense) compared to an installed application (QlikView Desktop). You will find yourself less reliant on keyboard shortcuts and more reliant on reaching for your mouse. Having browser tabs with multiple parts of the same app open (script, data model, UI) does help.
- Reload log files for apps in your workspace are difficult to find, in Qlik Sense. It's better in Qlik Sense Desktop, but still harder to find pertinent logs than in QlikView. If Qlik could bubble this up to a link the progress pane or a new pane altogether, that would be great.
- Data connections can't be created to load a local file on your computer in a Qlik Sense Server environment. Your options are to "attach" the file to the application, i.e. upload it to the server, making it static, or just download Qlik Sense Desktop. The best workaround is to create a data connection to a network share, where it's easy for users to put their data.
- Extra steps are required to access QVDs or external files containing code or data, separate from the web interface you use for development. For instance, if you accidentally create a QVD in the wrong spot or temporarily create one for debugging, you must find a way to navigate to the folders in Windows Explorer to delete it, because it can't be done through your web browser, the place where you create and delete applications. (This is basically what QlikView already requires for development, but there is continued dependence for developers, despite the web client.)
- There are no hidden scripts, which are no big loss, at all, in my opinion.
- The Data Manager, which may be a good thing for novice developers who aren't comfortable looking at load scripts, must be used to generate inline and crosstable loads. The Data Manager is a different part of the application than the rest of the load script and is, in my opinion, not intuitive to use.
- The first thing any developer notices in Qlik Sense compared to QlikView is the lack of flexibility in creating objects of any size, in any place (including on top of one another), or the ability to make them show/hide dynamically. This makes it difficult to automate drill-to-detail-like functionality, ex. changing all the objects displayed on a sheet, once a single dimensional value is selected, and may result in the need to create more sheets, overall. The obvious plus side of this tradeoff is the responsive design, which does not require all users and devices to tolerate the same resolution.
- There are no macros, which I won't miss and had been falling out of favor, anyway, but there are also no Actions, except those enabled through extension objects, which were indeed useful. I like the Sheet Navigation + Actions extension for this.
- Most Qlik Sense apps look basically the same, other than the bar at the top: no altering fonts, background colors, etc. This is no big loss given that much of the time spent customizing the appearance of QlikView applications does not add business value and could even be ill-advised, in the wrong developer/designer's hands. This forces developers to focus more on what matters instead of playing around with formatting settings, background images, dynamic tab colors, and so on. Mashups are also an option if you wish to customize the appearance of Qlik Sense with a little extra effort.
- In Qlik Sense, it's difficult to "hack" out-of-the-box chart types into heavily customized or totally new chart types, as was done in QlikView, due to the lack of chart expression settings (when you click "+" to expand an individual chart expression in QV) and representation options (invisible, text on axis, etc.). There are also larger options that are missing, like the Trellis (AKA small multiples) option. Extensions can fill a lot of this gap, but it is risky to become heavily reliant on third-party extensions, which themselves may be missing features of the OOB charts, such as sending data to Excel or reliable responsiveness to resizing.
- There are minor headscratchers throughout the Qlik Sense object properties, like that you can't turn combo chart to be horizontal, or the various places where an input that could easily be an expression only allows you to enter static text. These seem to be getting slowly resolved with each Qlik Sense release, though.
- There are the equivalent of Drill Groups in Qlik Sense, but not Cycle Groups. Implementing a Cycle Group equivalent requires the use an extension object like qsVariable, which also then takes up valuable UI space. (Alternative Dimensions are chart-specific.)
- Hover text and help text were not a focus -- I assume because the interface is supposed to be very touch-friendly -- so object- or field-specific metadata just aren't an option. Neither is custom hover text for data points in graphical charts, which could be used to provide context, on demand. Again, some of this can be covered by extensions.
- There are minor differences in features/properties that can feel like a headache when building applications, although these seem to be gradually getting resolved. For instance, I miss the list builder interface for quickly adding multiple dimensions to a chart or filter pane during data validation, right-clicking to copy a chart expression to paste it in another chart, with all its settings, or even just selecting multiple UI objects at the same time to cut/copy/paste/delete.
- Creating backups/restoring old copies of applications is not supported, and there is no built-in versioning. There is no central place to put old copies of apps that you may need to restore to, someday. Even the Qlik Sense QMC Utilities, created by Qlik, leverage an extension that saves off a JSON file that can be used to restore an application completely outside of the Qlik Sense web interface. This is also what set Axis Group down the path that led to partnering with in4BI, for their Platform Manager.
- Master Measures are great, but you can't refer to them in expressions, and there is no supported way to externalize their definitions, so there is a continued reliance on Variables to store expressions.
- Qlik Sense really excels here, except when you need to load your own, personal data, as mentioned above.
Stay tuned for the exciting conclusion.