✊🏿 Black Lives Matter. Please consider donating to Black Girls Code today.
🧬 Learn how to build RNA-Seq data apps with Python & Dash. Register for the May 20 Webinar!

Discussion about having more resources for software developers

Dash is an amazing tool but it has some problems; I don’t know why, but seems like the Dash team/enterprise has some interest conflicts so sometimes seems like they are trying to create difficulties to more advanced solutions; Shame that we still not having any clear pattern to create a simple but function login system;

Some months ago I have created a thread on the forum criticizing the Dash team cuz I read a medium post where they clearly explain that almost all people on the Dash team are Javascript guys and not Python or Data Scientist guys, so it explains a lot about the mistakes done by the Dash side.

The kind of people who uses your product isn’t the same kind of people who built it, and it became very clear when we realize that Dash has almost no one article teaching Software Development fundamentals to Data Scientist (the main users of the framework);

I don’t know if you do it thinking about the consulting hours that you hope to sell or what, but it doesn’t make sense to me; I would bet that it’s one of the reasons why Dash isn’t so famous yet and maybe will never be, cuz the team has some limitations that not fit the real world…

Well, I can be completely wrong but it’s my viewpoint at this moment based on all my experience;

@kabure Hi Leonardo, how are you? Long time no see.

It seems like you had a lot to get out of your system :upside_down_face:

Did you get a chance to download and use Dash Labs a little bit? I really like the enhancements to the callbacks because it makes it easier to use the callbacks and less confusing to write.

What did you think about that or the template layout? Would you change anything there?

I don’t believe that the problem of the Dash is technical, my comment was about a more generalistic and root problem… The problem is that seems like they forget that a big part of the Dash Plotly users are Data Scientists and almost all of them do not have a background/knowledge of Software Development;

And also, they have a conflict of interests cuz they want to sell consulting, so they sometimes need to create some difficulties for the community or even not giving enough examples, support, or tools… I can be wrong but, considering that almost all developers on the Dash team are React /JS guys, why we only have 1 tutorial of 2019 teaching how to build a component? It’s absolutely hard to find references about how to build more complex components and we do not have a pattern to it showing different scenarios;

The problem starts when we understand that the guy who builds the components rarely is the same guy who will use it to create the data/analytics solution…

Dash is a really cool and powerful framework, I really love and use it A LOT, and I’m sure that rarely you will find someone with more projects to show than me, I see a big potential in it, but I have some frustrations using this framework and Dash will never be really big until the Plotly Dash team realize these problems and find a way to fix it;

You’re a super-user of Dash for creating dashboard apps, so it’s great to hear your feedback. But I see the Dash Labs initiative as a clear attempt to make things easier for the community, provide more examples, support and tools to work with Dash.

Hi Leonardo,

I understand your concern and have made similar observations as to the userbase of Dash. It is mainly Data Scientists.

The point that you are missing, though, is that Plotly does not owe the Open Source Community anything. At the end of the day, they are a business and need to make money to develop new features and fix bugs. I accept the tradeoff as long as it is possible to build great things with Dash (which it certainly is!).

I come from the software development side of things too and never was much interested in Dash Enterprise (for us as a small firm, the offering simply does not make sense). I would love to have something like Design Kit opensourced or better support for the development of components. However, I do not think that this is Plotly’s responsibility to do or provide free-of-charge.

If you are frustrated with the state of the component tutorial, why not ask for help here? I am sure someone would be very happy to support you in your effort to make the tutorial work better for people not too familiar with React. Maybe the guys that did the Bootstrap component library (GitHub - facultyai/dash-bootstrap-components: Bootstrap components for Plotly Dash) know something.

Dash Labs basically does what you want, but not for the userbase that you want it for. Dash Labs is an effort to make things easier for Data Scientists (which mostly pay for this great project). What you want is the same but for software developers.

BTW: I saw your post about your frustration with a functioning login system for Dash. Without knowing your specific requirements: If you are interested, I implemented OAuth 2.0 for Azure Active Directory for our Dash apps. I would be happy to provide you with some code to get you started if this is of any help for you.

Have a great weekend
Alex

3 Likes

This is an interesting thread, balancing open source and commercial development and community development are difficult.
The key is honesty from both the supporting company, and the end users.
I’ve left open source projects in the past because of companies attempting to screwing over contributors to make a buck.
Dash I find different, and attractive because

  1. The front page says dash / plotly are open source but here is the commercial side of things a different product that uses dash & plotly as building blocks.
    – Ok got it, I know what I’m walking into
  2. The API / SDK are there and open
    – Could they be better and better documented, of course but considering my own level of documentation I’m not going to throw stones. I do feel it’s a best effort and I appreciate that.

Now why do I use Dash? Versus say D3… because ain’t nobody got no time for creating those hooks and callbacks.
How about Dash vs an off the shelf BI platform

  • Dash / Plotly are agnostic of the data source, you provide the data it’s job is to render and make interactions possible.
    – I can use whatever DB I want
    – I don’t have some silly cache or ETL process to babysit
  • I can design for scale as single / multi-tenant without having to bend my architecture or deployment to accommodate a proprietary solution generally created by a company who think 1Gb is a huge, HA is failover and a mounted file system, and wouldn’t know SSO if it bit them on the ass.

Are things frustrating in Dash / Plotly, yes, first time figuring stuff out and building your own modules hell yeah…
It felt like I was shoe horning python into React in a manor that feels unnatural, but eventually it makes sense and even starts to feel like it’s smart and somewhat brilliant.
Although what I wouldn’t give for it to have jinja so I can more easily embed it.
Are things fully python friendly, nope, you’d probably see more pandas wrappers around graphs rather than trying to extract series or axis yourself.
But I think that will come eventually, somebody will be tired of doing it for the 100th time and add their solution to the code base to help.

I only have 1 contribution to the eco system and have had a slew of folks asking for support, to the point I’d try to take 1 day every 2 weeks if I had time and see I can answer questions, fix bugs etc…
And i’ll be honest with you, I wanted to ask folks to please dust off their own skills and try to solve some of the problems themselves. It’s not an end user library, it requires some level of coding skill to make it work.
And I think people are missing that.

If you’d like something to be better, help out. If you’re not comfortable with the code, it’s definitely not night time reading, research how the problem has been solved elsewhere, test out things and even look at how to frame questions. I’ve lost count how many times I’ve had to go and look something up because someone says feature X doesn’t work…

  • What’s feature X?
  • Do you have a link to it?
  • How are you using it, can you give me an example? Anything, Bueller? Bueller?

Everybody has priorities, even in open source, and they usually don’t align to the consumer of the software… respecting that with helping solve the problem any way you can it goes a long way.

7 Likes