I really like shiny and its possibilities and was interested for a long time in this question, since I wanted to bring more R and shiny in the BI consultancy I am working at.
Typical usecases we have are
- Classical Dashboards about KPIs, accounting, sometimes involving forecasts etc.
- More “data science focussed” usecases involving predictions, social media, maps and so on.
Lets look at both cases:
You could do all these things via shiny, however, in my opinion, there are often better solutions (for now). So there is a whole bunch of (mostly not free) so called selfservice BI tool like PowerBI (Microsoft), Tableau, Qlickview and so on. In my experience, for most of the described usecases, it is just faster, better maintainable and easier to integrate one of these solutions, IF you have some experts sitting around which use these tools every day and know well about the underlying data warehouse and the modelling stages, and the bestpractices about the language of the tool + workarounds for known limitations. Then combining the drag + drop interface + the language of the tool, make it very fast to build and deploy customizable reports, with linked brushing through the whole report and real (or almost) realtime updating, which look also good on mobile and have “all these enterprise features”. I was asking myself for a long time, why there was nothing in the shiny world, that creates a drag and drop interface + linked brushing. It would still be hard to compete to maintain a shiny Dashboard in the same way as one of these self service tools, but it would be a good direction to become competitive in this sector. However, this year I talked to some guys at use!R about this and it seems to be a strategic decision not to go in this “point + click” direction of all these tools. The usecases for shiny would be different from this.
Usecases, which involve predictions and modells in general are sth where R is very good at, so, depending on the usecase and the infrastructure, this might be a good usecase for shiny. However, since one can easily embed R in other software (and most of the relevant BI products do) there are many known ways, to handle predictions and other features of R within those products mentioned above. However, these integrations almost always have limitations and it is really up to the usecase and the alternatives, if it makes sense to switch (often just for one very exotic edgecase) to another product. In my case, I mostly develop sth in R, share it via flexdashboard and when the story lives, we embed it in some other technology, because we have more expertise there (we are not specialised on shiny or use RStudioConnect, so these might also be good alternatives sometimes).
So in the end, what is the real usecase for shiny? In my opinion, you might use shiny for everything, if you have a very good expertise in webdevelopment and really know what you are doing, then it could make sense to compete with these self servise tools in “their” usecases. Apart from that, the power of shiny, really comes into play, when you have a specific problem and not simply a dashboard, you want to look at complex stuff and try different models, then there is nothing, which can compete with the power of R at modelling (including textmining, spatial statistics etc) + flexibility + graphics and shiny for easily setting up an app. I also do research for a hospital and there we have many lonestanding research projects, where my colleagues can be easily impressed by some dashboard or shiny app. I could imagine many usecases in science & research or companies, which really do research, where shiny is a gamechanger (especially in pharma).