QlikView developers (as per the book QlikView 11 for Developers) were those of us who wrote load scripts, designed data models, formulated expressions, and manipulated QlikView objects. Qlik Help has now left that group of people nameless and deemed developers to be those who work with either QlikView or Qlik Sense APIs using some third-party code. Even so, I still consider myself a QlikView developer because creating extensions, or any other use of QlikView’s APIs, is not an integral part of the software. However, Qlik Sense APIs are at the forefront of what the software is and the title of Qlik Sense developer implies some ability to work with them.
Can QlikView developers upgrade their skills and become full-fledged Qlik Sense developers? After some reflection on my days as a QlikView developer and some cheerleading to motivate myself to make this transition, I’m going to share with you my plans to learn the answer. I alone am a horribly small sample for this experiment, so I invite anybody who is up to the challenge to perform the same feat or anyone who has already done so to share their experience.
The Glory Days
I’ve been a QlikView developer for 11 years, and during these years, I’ve successfully executed multiple BI projects without once having developed a single QlikView extension. I’ve always found a way to use native QlikView objects to meet almost every business requirement. Like me, I’m sure there are many QlikView developers that have resorted to the same tactics and avoided creating QlikView object extensions.
Just in case we QlikView developers need a little reminder of our creativity, I’m going to include some examples. One of the most common tricks is to take advantage of QlikView’s freeform UI design and overlay one object over another. This trick lets us create certain infographics or add lines and bars to an area chart. The following examples are from Julian Villafuerte‘s book Creating Stunning Dashboards for QlikView.
I use another trick in my data visualization class to a persuade a bar chart object to be a heat map legend before placing it on top of the actual bar chart.
I also sometimes dig deep and venture into the nether regions of QlikView functionality. For example, I use error bars to coax QlikView into making a single object bullet graph in my book Mastering QlikView Data Visualization.
These are just a few examples of a long list of possible QlikView data visualization tricks. I’m sure every reader can think of a time when they used a QlikView object in some crazy way. In my opinion, that is what makes QlikView data visualization development so much fun.
Sadly, the times they are a changin’ and this craziness seems to have all but ended with Qlik Sense. Its lack of customizable object properties and freeform UI design has killed the fun. Across the street, however, the Qlik Sense developer party looks ripe for the crashing. The big question is whether QlikView developers have enough skills to crash the party or whether this party is only for web developers.
QlikView Developer Complacency
I have no doubt that most of my motivation to learn how to develop Qlik Sense extensions is personal. I haven’t added anything new to my technical skill set since around the same time QlikView 11 came out in 2011. Surely, over the past 6 years I could have learned R, Python, JavaScript, Hadoop, or any of a thousand other things.
Even so, who could blame me? Life as a QlikView Developer is still great and customers remain happy about how much QlikView can achieve. If I could learn to develop extensions to not only cover the visualization attributes that Qlik Sense still lacks, but also to create a few visualizations that I was never able to make in QlikView and offer my customers the out-of-the-box benefits of Qlik Sense then I might do so.
However, the benefits would have to be great and the learning curve to develop extensions not so deep for this to be a good investment and worth the effort. I believe such calculus is what makes many QlikView developers hesitate to take on the full role of a Qlik Sense developer, or at least it has more to do with that than any inability to learn how to code JavaScript. The beginning of this post demonstrates our hacking prowess and anyone who can think through both the logic and syntax of QlikView set analysis is capable of understanding JavaScript.
Mind the Right Gap
We, QlikView developers, tend to get hung up on the topic of QlikView vs. Qlik Sense and the functionality gap between them. We also seem to carry this idea that Qlik is going to at some point provide us with all the basic visualization attributes that were available in QlikView. We might go yet further and rationalize that even if that’s not the case, we can depend on some generous Qlik Sense developer to create what we need.
The first mistake is to assume that closing the gap between QlikView and Qlik Sense is Qlik’s goal. It is not. The gap that Qlik is interested in closing is between Qlik Sense functionality and what it expects customers to need in the future. It is bound to leave a lot of QlikView functionality, including some simple data visualization property options, out of the software.
Like numerous other technological shifts, every current QlikView customer will at some moment reach a tipping point when QlikView no longer fulfills their requirements. Whether Qlik Sense can fulfill these customers’ future requirements looks likely to not only depend on Qlik, but also its ecosystem, which includes an army of QlikView developers.
A gap between customer requirements and the combined functionality of Qlik Sense and QlikView would be disastrous. Although most of the responsibility to cover this gap belongs to Qlik, QlikView developers are capable of creatively, if only marginally, prolonging QlikView’s life. They also have the competence to become Qlik Sense developers and help make up for some of Qlik Sense’s deficiencies.
The incentive for us to help close that gap is to continue to reap the benefits of our knowledge. Web developers don’t have that same incentive of survival. JavaScript will outlive Qlik. As such, we can also create new opportunities for our future careers that don’t depend on one software and that still take advantage of what Qlik projects taught us about data analysis.
As far as waiting for other developers to create something that fits our needs, I don’t think depending on the free labor to fulfill an important requirement is a good strategy. Even if in the unlikely case that I find everything I would ever need on Qlik Branch and never have to develop an extension from scratch, I am the only one that is responsible for maintaining, and if necessary, fine-tuning that extension.
Regardless of any other incentive Qlik could offer to make extension development a rewarding skill, I think we have enough arguments to add web development to our technical skill set.
The plan
When I wrote Mastering QlikView Data Visualization, I imagined that I was “fracking” QlikView. It was my effort to find innovative ways to get more out of a software that hasn’t experienced any major change to its data visualization functionality since 2011. It was my way of prolonging QlikView’s usefulness until Qlik Sense was more mature.
In the last chapter of that same book, I opined that in order to master Qlik Sense data visualization, we would need to learn how to develop Qlik Sense visualization extensions. As this blog post suggests, my opinion has not changed.
The plan for QlikView developers that know nothing about web development is as follows:
- Take care of the fundamentals and learn HTML5, CSS, and JavaScript.
- (a)Go through the Qlik Sense Developer help documentation and (b)create your first extension.
- Get updated information and insight from the Qlik-related blogs
- Get live advice from the experts.
- Learn to use a data visualization JavaScript library.
- Find a visualization to develop and just get started.
- Fail fast and look for answers in the work done by others.
- Contribute to the Qlik Branch.
- Take the time to learn what will make you better (sharpen the saw).
- Create an extension to solve a real business need.
This plan is certain to change by the time I finish learning to be a Qlik Sense Developer. For those of you that are already Qlik Sense developers, I’d love to hear your input. As of the writing of this post, I’ve almost completed step 1 and 2, and next time I’ll write about what I’ve learned so far.
One more thing…
If you still aren’t convinced about learning to develop Qlik Sense extensions yourself, do at least keep track of what others are doing in Qlik Branch. Even if you’re only a user, your feedback is valuable to creating better extensions.
Also, pay close attention to what @vizlib and @irregularbi are up to.
@Vizlib Table acts like a built-in and expected: has a selection while dragging over the field #QlikSense #extension #vizlib pic.twitter.com/JMPwOvnzdj
— Ralf Becher (@irregularbi) April 11, 2017
Good luck, Karl
Leave a comment