Discussion - Awesome Panel 2.0?

Hi Panel Community

Now that Panel 1.0 has arrived I would like to give awesome-panel.org a make over and make it even more useful.

I have almost no data or feedback on its use, so I would really like your thoughts on how to improve it. Please share your comment and ideas in posts below. Highly appreciated.

My vision

I would really like the site to be an interactive awesome list where the community can easily find awesome inspiration.

  • It should be really easy to both find the live apps and the code of the apps.
  • It should not only be about live apps and code. Blog posts, videos etc should also be in the list.
  • It should release new examples often.
  • It should help promote active users in the community.

Additionally

  • If it could be really easy to share these examples with a video gif on social media it would also help me and you promote Panel :smile:
  • I would like it to be able to really easily deploy live examples that can be linked to when I help you in discourse and when I promote Panel on social media.

My Pains

Some of the things that I’m not so satisfied with is

Response times

The site does not load as fast as I would like it to. Some can improved by code. But I really need more powerful compute to deploy to.

Currently i’m having a server on Azure with “Basic B3 with 4vCPU, 7Gb RAM, 10 GB Storage”. Its costing me 52 USD Per month now that I’m paying my self.

I’m thinking about alternatives.

  • Sponsors
    • Anaconda Notebooks - could they see the benefit of me running on their infrastructure. They would get a lot of feedback I’m sure that could help improve their offering.
    • Others
  • Free hosting
    • Hugging Face. Its easy to use and I get the gallery for my apps for free.
    • Others
  • Pyodide
    • Should I just convert the apps that can be converted to pyodide? The downside for users is the download size, download waiting time and that some types of applications cannot run on Pyodide.
  • Pyscript.com
    • pyscript.com is not ready yet. The apps does not load as fast as panel apps with service workers, I cannot automate the deployment and its not easy to put Panel apps in a nice (Bootstrap, Material or Fast) template.

Time spend on deployment

I would like to minimize the time I spend on deployment, ci/ cd etc.

I have automated deployment in place. But I’m running on such low end ci/ cd infrastructure and servers that it takes 30 mins from I merge into main to the new site is up and running. It would help me a lot if it was in the 2-5 minutes time range I experience at work.

How to really make the examples useful

I don’t know if its easy for users to navigate awesome-panel, try out the apps, find the code and adapt the code to their use case. Would you rather like to have notebooks than .py files. Would you like to be able to run that notebook quickly in Jupyterlite/ Panelite?

Galleries

I spend the time on writing the Gallery functionality. I would really like to spend the time on writing apps that helps users. Not on promoting the galleries and the examples discoverable :smile: .

If I used for example PyScript.com or Hugging Face I would get gallery functionality and discovery out of the box.

Multiple Galleries

Right now there are 3 galleries. The App Gallery, Sharing Gallery and the Community Gallery. I would like to simplify this and enabling searching across all these examples.

My thought is that I would like the landing page of awesome-panel.org to be a big gallery page. No additional navigation needed.

Awesome Panel Sharing

I created Awesome Panel Sharing to make it possible to share Panel Apps very quickly. But so far its not really being used. My guess is that its a combination of the user experience and lack of promotion of the feature that leads to this.

But maybe our community does not have the same need for sharing examples as the Streamlit and Gradio communities?

Should I drop it again? It adds complexity and costs me money because I need to pay for enabling resources like a blog storage and cdn feature.

2 Likes

First of all, congrats for all the work you’ve done an awesome-panel, this is truly awesome!

A while back I created this repo GitHub - holoviz-community/awesome-holoviz: A collection of HoloViz resources! with the intention to turn it into one of these classic awesome lists, with a growing README.md referencing HoloVizy stuff (blog posts, videos, packages, apps, etc.) found online. Now as you can see, it’s pretty empty :frowning: ! Mostly due to lack of time, but also perhaps because it felt like a list of links on a README.md wouldn’t really serve well the content found online that is going to be viz-centric and would deserve a better display. Now there’s a variation of ways this can be accomplished, from a static site to a full-blown dynamic site where users can submit new content. It is however pretty tempting to build a Panel app for this, that’d be proper dog fooding.

And this is where I’m coming at, what would you think about replacing awesome-panel with awesome-holoviz? I think that’d open up some more opportunities for collaboration on such a project and for deployment solutions (take that with a grain of salt, I don’t have any decision power in that area). I personally believe that Panel is a great tool and that one of its greatest assets is that it’s part of the HoloViz ecosystem, this is the main reason I’m suggesting that. I also understand you might get less recognition for your work potentially retiring awesome-panel in favor of awesome-holoviz (e.g. probably no more Twitter link to your account in the nav bar, I guess?) , so I don’t take that suggestion lightly!

Thanks @maximlt . Let me think about it for a while. There are pros and cons. The primary con not being king in my own kingdom :crown: For me awesome-panel.org is a my play ground. And I like playing and testing out new things.

The thing that could convince me was if there was a bigger community around this. If it sparked a general interest in sharing in the community.

It should be easy to use. I need somewhere i can deploy live responses to discourse questions or live examples I play around with over the weekend.

See also #5022

Sure, it’s just a proposal after all and we’d anyway need a discussion with more people to see if they’d also like things to be this way (i.e. awesome.holoviz.org?).

The thing that could convince me was if there was a bigger community around this. If it sparked a general interest in sharing in the community.

It’s hard to tell in advance! Building a community as we know is a pretty difficult task. awesome-panel.org though definitely feels to me like your own personal project, I feel less attracted contributing to it (that might just be me, I don’t know).

And I like playing and testing out new things.

Whatever happens in the future, you definitively need to keep a space for you to play around with things!

Mr. @Marc and Mr. @maximlt , I have been gathering a bunch of example apps using the whole of Holoviz family. I work in geospatial sciences and so they are skewed towards that field but they cover advanced interactivity and niche libraries as well, would Awesome Panel 2.0 be considered the new place to look for Holoviz examples or or do we keep contributing to GeoViews, HoloViews, Datashader, HvPlot and Panel individually?

1 Like

Hello @Marc

Re: It should be really easy to both find the live apps and the code of the apps.
I’d like to add one more item to the above.

  • It would be really useful to have a brief description of the functionality being demonstrated

Treating awesome panel as a resource is currently pretty difficult:
When I look at an app, it is often not clear exactly what I am being shown

  • what does the app do for me?
  • is this an awesome-extension or an example of some cool features?
  • where is the code for this specific app, hopefully providing a minimal example that gets me started right away.

As for making it easy to find relevant apps:
Currently the apps in the gallery are not organized in any way.
The result is that I might have a specific problem to resolve,
but sadly forget I could search awesome-panel for an example! :confused:

BTW, if you would like, I could help with creating gifs or editing brief videos
to your specifications!

1 Like

Hi Marc & others

Some thoughts that may help …

What KEY NEED do the Users have ?

  • ‘Help’
  • ‘Inspiration’
  • ‘Sharing Platform’
  • ‘Promoting apps’
  • ‘Community’
  • or a mix of the above …

What FOCUS should awesome-panel have for you and the users ?

  • ‘Promoting’ Panel
  • ‘Inspiration’ what can be done with Panel
  • ‘Live App sharing’ and/or ‘App promotion’
  • ‘Help’ programmers how to do certain things in panel.
  • or a mix of the above …

How to help you with the constraints ?

  • hosting $$
  • effort running it
  • effort preparing an app for sharing

To consider:

  • ‘Help’ and ‘Inspiration’ is likely why most users come to your side
  • ‘Inspiration’ and ‘Help’ drive adoption and ‘passive promotion’
  • ‘Live App sharing’ is likely the most expensive (effort and $$) and least needed function ?

I use awesome-panel in 2 ways:

  1. ‘Help’ (more often in the early days of using python + panel/holoviews/hvplot/bokeh/param)
  • the main gallery with it’s SIMPLE examples and code-snippets was key for me
  • to complement the Discourse-channel, which is good for real-time help, not so good providing ‘how-to-do’ content in a structured way
  • to better understand how panel, param, holoviews, hvplot, bokeh and others work together
  1. ‘Inspiration’:
  • scrollable app gallery with thumbnails is really the key for me
  • a link to the source code (or github or app-page) is useful if I want to explore and app further

**Where to go from here ? **

Some low-hanging fruits that would help newcomers like me:
→ a flat single gallery grouped into a few topics
→ more ‘how-to-do’ examples for specific topics, eg. more panel/tabulator integration/use examples&code-snippets

With regards to holoviz vs. awesome-panel.org:
→ This I think is more a strategic decision, either fully combine forces (infrastructure + effort) or keep the overlap minimal.
→ Reflecting on my early experience getting up to speed on Panel and the holoviz universe, I’d prefer to keep it separate to allow to better work out the differences
a) awesome-panel.org focus on PANEL and showcase how it’s ease of use and flexible but uniform integration of 3rd-party libraries/tools supports a diverse set of app possibilities and Help on how to build them
b) Holoviz to focus on and even more flesh out how Panel, Bokeh, Holoviews, hvplot, … and param can work together but also independently and what use-cases each is best for

Johann

Disclaimer: I’m a newbie to python (+ panel + holoviz stuff) and not a SW-developer. amazed how quickly and easy one can build a small application on the fly for standalone-browser or jupyter without much knowledge and at the same time grow that PANEL application into a single complex application in which PANEL widgets/layouts/indicators link together dozens of bokeh charts, holoviews, hvplot charts, and 3rd-party stuff like Perspective etc. And “param” to make life easy :slight_smile:

3 Likes

Thanks so much @johann and welcome to the community :family_man_woman_girl_boy:. You are exactly the kind of user I wanted to help and inspire with awesome-panel.org.

I think what I would like to do with Awesome Panel 2.0 is to focus it on being an awesome gallery of live apps with code. My own and yours.

If those apps have additional resources like blog posts, you-tube videos etc those links can be included as well.

This is what I think is most fun, useful and manageable.

I will no longer

  • Deploy live Panel apps on my own infrastructure
  • Provide galleries of non-app panel resources like blog posts repositories, extensions etc. But if you have an extension the community should know about you can always get an app using it into the Gallery
  • Provide Panel Sharing for easily sharing apps
  • Maintain awesome-panel assets on read the docs, docker hub etc.

I will deploy my own apps

  • as panel converted apps deployed on github spaces
  • on services that are easy to use and valuable to our community like

Some of you have reached out and offered to look into providing me with premium hosting options. If they are public and easy to use like Anaconda Notebooks or Hugging Face I’m very interested. But I don’t want to maintain infrastructure any more.

3 Likes