Is shiny "pretty limiting"?

315 views
Skip to first unread message

Michael Hannon

unread,
Nov 19, 2016, 12:18:26 AM11/19/16
to davi...@googlegroups.com
I posted the appended to the RStudio forum but haven't gotten a
response. I wonder if any of the folks on this list can comment.
Thanks.

-- Mike

Our group recently got a note from a potential collaborator that included the
following:

> I would like to suggest that, in order to make an app that is much easier to
> deploy (and allows for much more beautiful web visualization) that the model
> is ported into Python. Most of the work on the page that <somebody> linked
> is a combination of a framework called Flask and D3. Shiny (R) tends to be
> pretty limiting in the structure and functionality of the application, but
> with python we can do pretty much anything we can think of :O)

I had not heard of Flask, but it does seem to be alive and well

https://en.wikipedia.org/wiki/Flask_(web_framework)

(I note that it began as an April Fool's joke, BTW.)

I'm not an expert in Shiny, but it has never seemed to me to be "pretty
limiting".

If you have any thoughts about the effectiveness of Shiny vs. Flask, please
send them along to me.

C. Titus Brown

unread,
Nov 19, 2016, 8:40:11 AM11/19/16
to davi...@googlegroups.com
Hi Mike,

my 2c -- I don't know Flask that well, but I've worked extensively with
previous Python web stacks.

Flask and D3 *can* do pretty much anything, it's true! It's a pretty
standard web stack in the Python world and it's incredibly flexible
(i.e. permits all the things).

The downside is that you can do pretty much anything -- which means there's
a lot more up-front complexity and the learning curve is both steeper and
potentially a lot deeper.

Personally I'd shy away from something so general unless I could identify a few
specific things that I know I want to do that are difficult or impossible in
Shiny. But on the flip side learning Flask and d3 would open up a lot of
career options :)

Oh, and JavaScript (used for d3) is insane. You'd be learning two new
languages!

cheers,
--titus
> --
> Check out our R resources at http://d-rug.github.io/
> ---
> You received this message because you are subscribed to the Google Groups "Davis R Users' Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to davis-rug+...@googlegroups.com.
> Visit this group at https://groups.google.com/group/davis-rug.
> For more options, visit https://groups.google.com/d/optout.

--
C. Titus Brown, ctb...@ucdavis.edu

Ryan Peek

unread,
Nov 19, 2016, 1:31:02 PM11/19/16
to davi...@googlegroups.com
I'd echo that sentiment. I've used shiny quite a bit. I don't find it limiting. There are a number of wrappers and ways to integrate d3 into shiny, creating some really nice and power visualizations. I'm not very familiar with flask. But short story is: you could jump right into doing stuff in shiny, vs a longer and more painful lead up to learning java/flask etc.

R

Sent from my iPhone

Matt Espe

unread,
Nov 20, 2016, 2:31:05 AM11/20/16
to Davis R Users' Group
One of the big issues with Shiny is that you need an R session running somewhere to handle the calculations, and depending on where you host this, it can be a pain. When our lab looked into building a web app, Shiny was a pain compared to something built from Javascript. The primary reason was that the security issues behind having a web-facing R app was more than our IT department wanted to deal with. RStudio has their ShinyPro service that takes care of some of that, but you pay for it.

I think if it is something you want to distribute for people to run locally (on their machine, not yours), Shiny is a nice solution. As far as its limits, Duncan has some experience hacking Shiny to do new things not included in the default toolbox.

Matt

Katherine Ransom

unread,
Nov 21, 2016, 12:48:53 PM11/21/16
to davis-rug
HI There,
I am don't have really any experience with coding other than in R, so I can't speak to the other methods/languages you have been discussing, but I did develop a custom Shiny app for a researcher on campus over the summer and fall. I was starting from scratch as I had never used Shiny or developed any sort of web app before. They needed a tool to help them analyze raw ICPMS data. The app allows the user to upload a raw ICPMS run file, does a bunch of analysis automatically to calculate the isotope ratios, and then allows the user change several parameters including subsetting the data interactively by highlighting it in on a plot displayed in the app, downloads the plot to the users machine, and uploads the subsetted summary data to the users google drive in a google sheet. I don't think this was very high level, but I do feel I was able to do whatever I wanted or needed Shiny to do, I just had to figure out how.

As for learning Shiny on my own, there are tons of video tutorials and Stack Overflow posts. If you know R well, I think Shiny is very user friendly. 

Have you heard of shinyapps.io? You can host your app on R Studio servers and your app publishes easily to shinyapps.io from within R Studio once you have an account. Then you can send the link to the published app to anyone. They have a free version that allows 25 hours of app run time per month and 5 published apps. The next level up was only $9/month I think.The only trouble we have run into so far is that without the Pro version of shinyapps.io ($300/month), you can't define a custom URL, which is needed to have a google login button on your app. 

Katie 

--
Check out our R resources at http://d-rug.github.io/
---
You received this message because you are subscribed to the Google Groups "Davis R Users' Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to davis-rug+unsubscribe@googlegroups.com.



--
--
Katherine Ransom
PhD Candidate
Hydrologic Sciences Graduate Group
UC Davis

Michael Hannon

unread,
Nov 22, 2016, 5:51:58 PM11/22/16
to davi...@googlegroups.com
Hi, folks. Thanks for the words of wisdom you've offered concerning Shiny and
Flask. Here are a few of the highlights:

Titus
=====

> Personally I'd shy away from something so general unless I could identify a
> few specific things that I know I want to do that are difficult or
> impossible in Shiny. But on the flip side learning Flask and d3 would open
> up a lot of career options :)

I don't lack for career options, but recall the lines from "Viva Las Vegas":

How I wish that there were more
Than the twenty-four hours in the day

https://www.youtube.com/watch?v=gOoKzw3JSCM

> Oh, and JavaScript (used for d3) is insane. You'd be learning two new
> languages!

Yep, I've fiddled with JavaScript from time to time, but never enough to get
good at it. And I don't have any experience with the modern JS libraries.

Ryan
====

> But short story is: you could jump right into doing stuff in shiny, vs a
> longer and more painful lead up to learning java/flask etc.

Yep, a strong argument for staying with R/Shiny, IMHO.

Matt
====

> One of the big issues with Shiny is that you need an R session running
> somewhere to handle the calculations, and depending on where you host this,
> it can be a pain.

Yes, I hadn't thought of that. I can see that dumping the calculation into
the browser has an advantage.

> RStudio has their ShinyPro service that takes care of some of that, but you
> pay for it.

You do indeed. I looked into that (for another reason) a few months ago.
I thought the pricing was pretty scary (although probably not so scary for J.
P. Morgan, etc.).

Katherine
=========

> I don't think this was very high level, but I do feel I was able to do
> whatever I wanted or needed Shiny to do, I just had to figure out how.

There's the rub!

> As for learning Shiny on my own, there are tons of video tutorials and Stack
> Overflow posts. If you know R well, I think Shiny is very user friendly.

I agree, but I suspect that there's pretty good support for the JavaScript
stuff as well.

> Have you heard of shinyapps.io?

Yes, we've made some limited use of that (as well as running our own Shiny
Server -- free version -- on a couple of our systems).

-----

Thanks again to everybody.

-- Mike
>> email to davis-rug+...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/davis-rug.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> --
> Katherine Ransom
> PhD Candidate
> Hydrologic Sciences Graduate Group
> UC Davis
>
> --
> Check out our R resources at http://d-rug.github.io/
> ---
> You received this message because you are subscribed to the Google Groups
> "Davis R Users' Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to davis-rug+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages