Open pzelchenko opened 7 years ago
Next time you file a bug report you should consider that the person who built your open source software that you're using for free isn't getting paid to maintain it. Maybe consider being nicer? Your behavior has given me zero incentive to fix the issues you're having.
You don't know under what conditions quick survey was built, whether it was a test of sandstorm as a platform or not. It was last edited a year ago, and actually built three years ago. I don't have the time to put into this project because I have to feed myself and my family. If you're expecting free labor for your tools, you can at least be nice.
@simonv3, I can fully appreciate your situation and respect the effort you put into the project. Quick Survey seemed to be the best of all the open source alternatives I researched.
I can also relate to @pzelchenko, since this exact submit-on-mobile issue infuriated one of my gracious survey takers. We sure didn't know there would be a surprise in an otherwise functional application.
Maybe a clearer "project is unsupported" status for Quick Survey would be fair warning for prospective end users like us who could move on to an alternative. If I missed anything already posted to that effect then it's my fault.
Thanks~
@jpw1116 I quickly edited this this morning when I saw @pzelchenko rants.
You two are more than welcome to put in PRs, fixes, or anything else for the project. Take it over if you want! It's open source for exactly that reason, to be made better by the masses.
But don't expect someone's free time to be dedicated to what you think is most important.
the behaviour @pzelchenko has displayed in this issue and a handful of others is exactly why open source maintainers burn out. Expectations from random strangers to fulfill their every needs and desires. @pzelchenko also made assumptions about the work that I do and judged it less important than their immediate needs, based on what I do not know. I'm not likely to work for someone - for free - who on the first opportunity they get, instead of offering to help insults me and the work I did 3 years. ago.
If you can't support the software -- meaning repairing the absolutely simplest and most fundamental functions, or at the very minimum putting up extreme warnings to hapless users who stumble upon your product -- then you have a moral obligation to take it down and put it in mothballs until you have more time. I am not rich and I can sympathize with your having to put food on the table. But I for one stand behind every product I have ever made, and I have made thousands. I would never have let these kinds of deficiencies go for as long as you have, I would have unpublished the product.
Remove it from Sandstorm. The most basic functions don't work. A CSV export needs to handle the commas. It takes very little time to implement. It's not my "every need and desire," it's EVERY survey user's MOST ESSENTIAL need. You simply didn't implement it. A Submit button being the most essential part of a survey app, a simple anti-stutter feature on a Submit button is also a must-have. It's not my "every need and desire," it's one of the first things you need to implement, before coming up with a fancy logo. Your priorities were twisted.
As to my complaints being the cause of open source developer burnout, I think this is misplaced. You failed to implement basic, life-giving functions. You caused me to invest more time fixing and working around your mess than you care to see. Dozens, hundreds, perhaps thousands of others will encounter the same problems. You are creating perhaps thousands and thousands of wasted hours. Because I have 40 years' experience in software development, I immediately understood the CSV issue, then spent two hours searching and replacing. For many, it may take hours for them even to notice the problem, and some may not notice and their data and experiment will be ruined. For many, the work will be a total wash. A conscientious developer would chew on that and strive to prevent it. Open-source programmers must face that moral problem before contemplating a new project, and have ways at the ready in the event that they can't manage. Your way is very clear: unpublish your product, at least temporarily. It should not be on Sandstorm or anywhere else until someone can pull it out of mothballs and repair these and other issues.
@pzelchenko If it makes you feel better I've asked in Sandstorm IRC how to unpublish an app.
That makes me feel much better. I am extremely relieved.
I still think there is absolutely zero excuse for your attitude and behavior.
Perhaps my tone was too harsh and hit a nerve, and I apologize. But I have been in this system as both developer and user for far too long, and as a result I see acutely, immediately, the concerns that users have the moment they arise. I was miffed on my own behalf, of course; at that point most sane people would walk away and simpy avoid the product. But for some reason I have become habituated to think of the next person who happens upon those problems, and the next and the next, and I feel I can't just stand by or ignore. When I'm polite about it, absolutely nothing happens. It's as if I had just walked away. I have to be shrill. You're not the first, but you're doing the right thing. Thank you.
Yeah I think that's a super shitty way to handle social interactions and deal with software that's provided to you free.
What a mess.
For the record, @pzelchenko regularly e-mails support@sandstorm in a similarly disparaging tone. He's honestly the biggest asshole I've had to deal with over the whole life of Sandstorm. Yes, his feedback usually highlights real problems, but he insists on couching it in vitrol. He's clearly very insecure and needs to insult other people's intelligence (and talk up his supposed "40 years' experience") in order to feel good about himself. It's sad, honestly.
Sandstorm itself (and almost every app on it) is just as buggy and incomplete as Quick Survey, and as such I don't think there's any reason to remove Quick Survey from the market.
People using free, open source software from hobbyists should know better than to deploy to production without thoroughly testing that it meets their needs -- especially people claiming to have "40 years' experience". If it doesn't meet your needs, either don't use it or write a patch. That's how we make progress, not by insulting volunteer developers into submission.
Peter, please stop using Sandstorm and never bother us again.
Simon, I understand if you'd still rather take Quick Survey down, but I hope you'll reconsider.
If I preface every message with a citation of my tenure in technology, it could be arrogance. Or, it could be a regular claim to authority. Judging from your attitude, I don't think you listen to most regular people, only to your own equivocations. Simon called me a "random stranger." Really? Am I not, in fact, your user? Check your logs. Do you not have hundreds of other users? If you don't listen to your users, then who is it that is being arrogant? My age and tenure are all I have over these users and you. I can't take over your code for you, I couldn't start. In such a climate, it makes sense for me to have to try to trump your callow arrogance with my experience, especially since we are not sitting in the same room and you are calling me a "random stranger." I'm no stranger -- I was doing what you are doing long before you were born, and now you've invited me into your land. You are the one who invited me; you can't so easily evict me without a fair hearing.
Above, Kenton writes:
Sandstorm itself (and almost every app on it) is just as buggy and incomplete as Quick Survey, and as such I don't think there's any reason to remove Quick Survey from the market.
That's a surprising, but very significant, self-indictment. Because you want people to take your work seriously, you don't advertise this product as "free, open source software from hobbyists" (Kenton's words) -- to your great credit, it looks just like a professional product. And yet here, you admit that it is rife with potholes, such that any self-respecting developer would be embarrassed to publish it. And a genuine humanitarian would immediately take it off the market. Yet, you haven't done either. I know very well how hard it is to admit one needs to shutter an operation. But are you sure it's not your egos that are in the way here?
As to my vitriolic tone, I apologize for being harsh. I include below two e-mails that I recently wrote to Kenton privately, which among other things reiterates and explains it. Yep, I do make the claim to authority each time. There's some pride in it, even a touch of insecurity -- but mostly it's so that perhaps you will finally listen to your user. If you don't, then you are hurting people.
4:39 p.m. to Kenton Varda
I've been "badvocating" on behalf of users for 40 years -- because someone has to do it. Has it ever occurred to you that most users don't even know enough about software design practice to know how to report or complain, and so this monster coming out of nowhere to ruin your day is perhaps a nightmare of your own making, coming only after the pressure of nonreporting builds? That the potholes that you create and leave unrepaired are serious, constant, expansive issues for many unsuspecting users? Do you assume that only when you hear complaints there are problems, or do you acknowledge that for every quietly voiced complaint there may be hundreds or even thousands of the identical issue that go unreported, and so it makes sense that every once in a while you will get that one shrill activist asking you what the fuck is happening here?
Did you know that when you produce software with service gaps and problems, most users actually first suspect that they themselves are to blame rather than thinking that it might be caused by weaknesses in the software? Do you assume that if I were all sweetness and light, that you would somehow find more time to solve these problems?
Do you assume that if you ignore me, these problems will go away, users will be happy again, and that will therefore vindicate you? No, only you will be happy again. Users, not just me, will continue to be miserable.
If your product has faults that users regularly encounter every single day, perhaps almost every single time they use it, then either the problems should be attended to or the product should be taken off the market. I hate to suggest it, because I think there is a great deal to admire about the Sandstorm concept. But I've developed many products for which at a certain point I had to throw in the towel and unpublish or disband because I simply could no longer support it. There is a kind of arrogance among the open-source community in which they feel justified in leaving gaping, undocumented, time-wasting problems in their software because, they say, they are philanthropists. It's not philanthropy if you are causing so much frustration in users' lives, it's injustice. Most regular users have no idea of github and receive no advance warning of some pothole in your software. They use it and encounter a problem, and repeat the problem, thinking that maybe eventually it will go away. But it doesn't, and you are well aware that it can't and won't. That's a moment either to change a dialog, text field, or messagebox to at the very minimum explain the problem exists and warn the user that it is broken and they will need to work around it. If not that, then you must unpublish.
A thought that just occurred to me is for you to go through all known issues. Then, make and implement a tiny "warning" icon for placing wherever there is a known issue -- in the relevant error dialog, near that flaky button, etc. -- and all it does is take the user to the related issue message on github, or possible hovering over it will show a warning of unreliable function. With that, at least, new users encountering your products' faults will not retry a problematic operation over and over five or six times before giving up, nor will they have to "re-troubleshoot" the entire process with each and every new user's encounter, but will quickly know and avoid the pothole or make a workaround.
4:53 p.m. to Kenton Varda
I'm 55 years old, and I have worked in bleeding-edge development since the mid-1970's, so it may pay to listen rather than dismiss my words as a random rant. I'm taking this time to browbeat you because I really think the culture needs to change. Let me make one more analogy that may not be apparent to you. Someone may build a factory, or start a newspaper, or open a shop. When the proprietors later stop running the enterprise, traces of the enterprise will gradually fall into disuse: through entropy, the bricks will start crumbling; you will only see the last paper from six months ago in the vending machine; through the window you'll see that the store's shelves will go empty and fill with dust and cobwebs. Product will stop selling. No such analogy exists online or in open-source products -- for many years, a nicely designed product such as yours will look to passersby as if it were a brand-spanking-new institution with good support behind it. They will use it under that assumption, only later to be very disappointed. Many will waste entire days, weeks, investing, as I have two or three times. The analogy to brick and mortar, and even to profit-based enterprise, fails because things don't visibly grow old and decay online, and you never close down shop.
With that in mind, perhaps you can see the ways in which you have an affirmative obligation to be crystal clear of the status of your software. On the web, an operation should be shuttered and notices put up when support ends. That failure of support seems to more or less have already happened with Sandstorm and several of its products. Warning roadblocks should be put up everywhere to indicate the instability and lack of support of the product. Hard to think of it as an abandoned mine, and it's a damned shame -- but you really don't want kids playing in there.
敬上, Peter Zelchenko | Shanghai Jiao Tong University School of Media and Design 舒彼得 | 上海交通大学媒体与设计学院 邮箱laowai@sjtu.edu.cn | 微信pzelchenko 上海(182)2171-8104 | 芝加哥(312)RED-BIRD
To reiterate, here's what's going on here:
Peter is horribly insecure. He probably doesn't have many friends, and frequently finds his colleagues ignore or dismiss him. They do this because he's an ass, but Peter doesn't understand this. He thinks that other people dismiss him because they just don't understand his genius, that they see him as below them and not worth listening to. Peter secretly worries that they are right, and he really is worthless, and that terrifies him.
But Peter finds that when he writes an eloquent argument for why he himself is amazing, or that those other people are inferior, then it makes him feel better. So he writes them. Like any skilled writer, he is able to write an infinite number of logical-sounding arguments for any position he wants to believe, whether or not that position is true (i.e. "rationalization"). He then reads his own writing back and feels better about himself, because these arguments he wrote are just so good (in his mind), they must be true. He must really be superior to these people he is belittling.
And he writes and writes and writes. The harder you dismiss him, the more he writes, because he's writing to make himself feel better, and he feels really bad.
The sad thing is that Peter actually does provide some good feedback, wrapped in these layers of crap. If only he didn't feel the need to tear everyone down as he does it, he could be adding real value to the project. When answering his support queries, we tried to ignore the crap and address only the nugget of real feedback -- but it wasn't easy.
But when Peter goes past me and starts tearing down and demoralizing Sandstorm's community members, then I can't just ignore it anymore. The nugget of good feedback is no longer worth the cost.
Thanks for the thoughts, history, and support @kentonv.
It's kind of striking to me that someone would rather shut down an open source project provided to them for free than figure out a way to make it better.
It sounds like this quote is pretty spot on:
"You're not wrong, Walter, you're just an asshole".
Frankly, I'd rather be a real asshole than a fake nice guy. You can see that the many nice guys who raised these issues previously got no traction, and the many nice guys who ignored them and simply went off and did something else. But, good. I'm glad we agree.
I assure you, as an asshole, you have achieved no more traction than "nice guys" get.
I added a code of conduct to Quick Survey earlier this week in reaction to the posts from @pzelchenko - it's just the contributor covenant - but it's fairly explicit in that harassment (which you have done across multiple platforms) is not allowed, and that you should show empathy, welcoming, and most of all constructive.
Put shortly, as long as you continue to be an asshole, Peter, I'm just going to close and lock your issues. If I feel like it I'll edit them too to say "I'm an asshole".
This may seem like "censorship" to you. Rest assured: it is. I don't tolerate assholes, and I'm not going to tolerate you. It's people like you who cause people who do awesome work but with less thick skin than Kenton to stop contributing to the public good. It's people like you - with some sick sense of entitlement to other people's labor - that cause burn out and ultimately make the open source community worse.
You're a jerk.
And honestly, I don't give zero fucks if you now consider me your "enemy". What a childish thing to say and think.
Submit button doesn't seem to be functional within WeChat's builtin browser. Are you doing something special in there? I am loathe to have to explain a re-route to a browser to 10,000 survey takers in China. They already spent 15 minutes entering a survey -- the worst thing that can happen to a surveytaker is to have to do it all over again. You might consider checking the browser type and offering warnings and additional choices if your app is finicky. Nobody wants a Submit button not to function.