What this evolution in data design calls for is a change in how original authors design applications. Creators of applications need to design great solutions that meet the needs of passive consumers of information, but are also open-ended & flexible enough to allow more active users to mold the solution to fit their own specific needs. To create an application without limitations is the goal.
So how is open-ended design accomplished?
While the right software certainly makes application design easier, what's more important is in how you approach the problem. Applications should, by default, meet the needs of most users. In order to do this you need to know what the audience needs - interview stakeholders and/or future users to gather requirements and learn what they need to see and on where they need to see it.
Despite knowing what users say they want, you need to avoid designing yourself into a corner. What people say they want now may not be what they actually need once they start using an application. It can be easy to prescriptively design an app to tell the exact story you want to tell. Open-ended design means allowing room for the user to customize an application to their needs. Don't design one-off visualizations that cease to show data once selections in other objects are made. Leave space on the page for users to add their own visualizations that will work with yours. Create pages that don't tell just one story but have the flexibility to tell many stories and allow users a variety of ways to learn from the data.
User autonomy is the future of technology and especially business intelligence. Open-ended design is the way to allow users to make the most of technology.