
Hey Shiny Team, what are some of your biggest learnings from 2022? || Shiny Developers || RStudio
BIG THINGS happened on the Shiny team in 2022! Our team built out a new Shiny UI Editor, Shiny for Python, and Shiny for Python in the browser using WebAssembly. So we asked some of our Developers what their biggest learnings have been from building these products! Learn more about Shiny for Python: https://shiny.rstudio.com/py/ Content: Winston Chang (@winston_chang), Carson Sievert (@cpsievert), Nick Strayer (), Michael Chow (@chowthedog) Producer: Jesse Mostipak (@kierisi) Video editing + motion design: Tony Pelleriti (@TonyPelleriti)
image: thumbnail.jpg
Transcript#
This transcript was generated automatically and may contain errors.
What has been your biggest learning in creating all of this Shiny for Python magic?
Oh man, biggest learning. It's been so much. A lot of different components involved in building this stuff. There's building Shiny for Python itself, which was a really good learning experience. I hadn't really done a whole lot of Python programming before, but having the opportunity to implement Shiny again has been really interesting. It's given us a lot of chances to think about like, hey, do we really want to do things this way? Can we do things a better way?
With this web stuff, there's so much JavaScript programming and TypeScript programming, and just learning what the possibilities are here has been super fun. And it's been really exciting to push the boundaries of what's possible. I feel like we're using stuff right now that's sort of at the edge of what's possible. Like, hey, I want to build something. What I wish I had was a system that did this. And then being able to go and build that, that's been really fun.
I feel like we're using stuff right now that's sort of at the edge of what's possible. Like, hey, I want to build something. What I wish I had was a system that did this. And then being able to go and build that, that's been really fun.
I feel like it's juggling all the pieces, like in making the transition from exploration to Shiny, like knowing when to stop exploring the data and to move it into a Shiny app. And also just how to get autocomplete for everything has been really helpful. A lot of people think about writing in VS Code, and you can do it like in a notebook in VS Code too. But I think the reason notebooks are so useful is that oftentimes I want to autocomplete like data too. And that's not like a static analysis. You can't just like sit down with a script and autocomplete the columns of your data. So to me, it's been that dance of like autocompleting the names of columns and stuff and being able to build an app.
That's a really weird, actually, I think, uniquely data science space.
Trusting users over intuition
It's hard to put yourself in the shoes of the users of something like this. If, you know, by definition, you are someone writing this app, you have experience and you're not, you know, boots on the ground writing these apps every day. And so it's very easy to forget what's important and to prioritize the wrong things. The biggest, like long term learning thing has been to not trust my immediate intuition about what is the most important thing to prioritize in development, because I'm probably wrong.
to not trust my immediate intuition about what is the most important thing to prioritize in development, because I'm probably wrong.
As a data scientist, I still think that R is, you know, is very much my tool of choice if I'm doing that kind of work where I'm like working with a new data set, trying to find interesting things from it. But coming to Python, and you know, now my day job being more of a software engineer, where I'm the one responsible for creating the software that data scientists will then use. It's been a really nice experience coming into Python and there being all of these kind of really mature, sophisticated libraries for building kind of the foundational piece of what you would need for a framework like Shiny. And not only that, but using VS Code with things like GitHub Copilot and just like the integrations with navigating large Python code bases in VS Code and all the like the extension ecosystem and provides a really rich experience for navigating through large code bases and learning Python.





