In Spike Jonze's "Her," which recently netted the Golden Globe award for Best Screenplay, a man develops a relationship with an female-voiced artificial intelligence operating system. While the movie is a nuanced take on the intersection of technology and human life, we would like to focus on what makes the interaction between the end user and programming tool so profound. In the case of "Her," the design of the user interface is what impacts the end user (played by Joaquin Phoenix), wrote Wired contributor Kyle VanHemert. The reason it resonates so well is because the UI embodies human intent. This attitude is what helped the filmmakers create a meaningful film involving a main characters with "a consciousness entirely built from code." It also offers some unique and pointed insight on .NET reporting development for today's complex, ever-evolving business environments.
"[The production team] had to think like designers," VanHemert wrote. "Assuming to technology for AI was there, how would it operate? What would the relationship with its 'user' be like? How do you dumb down an omniscient interlocutor for the human on the other end of the earpiece?"
The decidedly non-technological focus of "Her" presents a world in which technology is "more people-centric," VanHemert argued. Much of today's technological debate is centered on the interaction of people and machines, especially when it comes to mobile devices, applications and software tools. Ultimately, programs and technologies have to be designed for humans to use, not in spite of them. Automation, analytical tools and other complex coding controls can only go as far as their end users can take them. The .NET reporting objective is to design a UI that promotes intuitive function and logical insight generation.
Deploying ad hoc reporting and Web-based analysis tools with UI that seems almost second nature allows end users to benefit from the full spectrum of human thinking as well as technological shortcuts. It may seem, in this sense, that artificial intelligence must be "dumbed-down" from its feasible capabilities to the end user's level. However, the true value of the pliable nature of AI lies in configuring to an exact level that the user can understand. UI for .NET reporting tools should stimulate user-based design, visualization and integration, not stand in its way.
From hypothesis to theory
Much like Jonze and his collaborators, programmers can benefit from layering a human-focused perspective over the capabilities of machines. This can help keep .NET reporting development focused and ensure that users and tools will not be at odds. This way of thinking can also facilitate the successful implementation of newly created reporting tools. Application building is an interesting and volatile practice because all the back-end work on the programmers' part is summed up in one yes-or-no question from the end user: Does it work? While this question can produce frustration, it may ultimately be in both sides' best interest to address the disconnect between development and use.
Dr. Dobbs contributor Andrew Koenig recently approached this question from another human UI perspective: Mathematics. Historically, while mathematicians are able to establish theorems, the practice of making proofs can be fraught with errors. Some may be fundamental and others fatal in retrospect, but ultimately they can combine in observers' minds to form a general opinion of disbelief or inconclusiveness. It goes back to the simple question: Does it work?
Ultimately, .NET reporting development in the enterprise may never be completely free of this question. But the first step to creating a UI that can be leveraged in ad hoc or Web-based .NET reporting tools is to understand the users for whom its intended.