Feedback greatly appreciated :) I'm proposing a talk about UX design in open source at a UX conference. I'm a bit intimidated bc I don't normally do UX conferences. What do you think:
"Open source technology is now mainstream. Technologies large and small that impact people all over the world are powered by open source platforms, libraries, and backends. There’s an urgent problem, though: open source has become synonymous with shockingly poor user experience (UX)." ... => cont
"In this talk, we'll discuss the imperative need for UX in making software freedom ubiquitous and accessible to all. We’ll talk about how open source’s UX challenges enabled the proliferation of echo-chambered, disjointed, and incompatible social media platforms. You’ll learn about the forces in open source development have lead to its UX challenges, tips for making design work in an open source context," ... => con't
"and how to deal with the culture shock of working in an open source project that may not have much design experience! Let's help people solve problems without becoming a product themselves, using open source."
Any/all feedback / wordsmithing / tomato-throwing greatly appreciated :)
@mairin Your text does have me wondering how you get from application UX to social media echo chambers. They don't seem to be readily related without a few intermediary hops. Would make me curious to attend your talk just to understand that.
This reads like the talk will be a meta-discussion about the subject of getting UX folks into opensource, rather than a talk about specific UX issues and how those specific issues my be resolved. If that's the thrust of your talk, I think you've nailed it.
I need a talk description that is separate from the abstract I already posted a draft of, tell me if this is too cheesy:
"Open source has become ubiquitous with bad UX; in this talk we'll talk how this happened and why reversing this trend matters for everyone, particularly those concerned about ubiquity of the user-as-product business model. Once you're fired up to see this problem solved, we'll talk
about some approches to UX specific to the open source development context, " => cont
"as well as how to get over the cultural barrier between design
culture and open source development culture. Take heart: the foundation and drive behind open source means it has a greater potential to
deliver a great UX than profit-motivated, user-as-product solutions."
@mairin Yes, and probably a good anecodate to use if you're going to a UX conference. I'm trying to do something similar with open source marketing and community management. In general, that's kind of non-existent for general pure open source/free software projects (eg no company behind it)
@federicomena i have a *rough* recorded version from a practice run - i gave a version as a keynote at Ohio Linux Fest, but apparently their video recording didn't work. I gave it better then. Anyway happy to PM you a link to the rough one, I really need to re-record for general consumption.
1. teenagers in my country had (have?) at age 14 to select "options" of subjects when in high school. this splits them into "arts/science" groups.
2.this again at ages 16-18 (a-levels) and at University. I dropped out because I wanted to do cool things with multimedia but it wasn't recognised as "serious idea" in 1992 and not possible to transfer between arts/science courses ++
3. so this split should be dealt with/stopped from *high school* onwards (this does appear to be happening thanks to RPi/Arduino etc)
4. old gender divisions have returned too for teens/YA- where "art is for girls", "tech is for boys" (there was better attitudes in my Catholic junior school in late 1970s, where genders were allowed and *encouraged* to do art together and I saw the same on the "kids hour" of German Catholic TV recently (I watch it to improve my German 😆) ++
5. a lot of FOSS tech is based on command line apps.
GUIs seem to get "bolted on afterwards", and when end users manage to get to the support communities (often on difficult to use things like git*) stuff like UI/UX changes is "batted away" as "cosmetic" and marked "WONTFIX" etc and/or devs say "code it yourself or pay someone to do it" *because* there's noone looking at customer complaints or dwindling sales figures like in Redmond, Cupertino and other "bad" corporates (end)
@vfrmedia People are trained to specialise and forced to make hard choices at all stages of their development.
This doesn't necessarily lead to development of a person's fullest potential. It leads to development of a capitalist state's fullest potential.
It didn't use to be this way in countries like France (and countries that copied their education system), but most of the world today is making integral educaion a thing for the rich only.
exactly and this change (for teenagers) happened fairly recently, around 1987 by my memory. I had mental health probs in late 80s from pressure of parents to do well in exams and really missed being able to do art, music etc, before that time I never had any trouble with highschool, lots of friends across all groups, no bullying etc, was still seen as one of "cool/rebel" kids and that was in spite of having "odd/niche" techie hobbies (I did do some high tech pranks/mischief 😉 )
@mairin Did you try to quantify/categorize problem? There might be a false dichotomy based on hearsay and out focus on some few platforms originated from Silicon Valley obsessed with #UX (I hate the ambiguity of the use of the word "experience" here, but that's another story). I work a lot also with enterprise software and compared to this almost any random #FreeSoftware project really shines. So, if, say 40% is free software, 55％ is enterprise, what is left? How do we measure what matters?
its a good question. im not sure how to quantify. i spent some time getting data on social media posts about open source and UX but thats a self selecting population. I sort of rely on folks to be familiar with the bad UX connotation bc i only have so long for the talk and that could be a whole other one. I think the reasons enterprise UX sucks are diff than the reasons FLOSS is known for bad UX tho
@mairin I don't want to influence your talk in any way, I only want to make sure we do not measure quality of free software just by looking at most visible examples of desktop environments (still trying to catch up with Windows 95?;) or office software. I think free software fails badly mostly when trying to mimic some user interface fashion du jour. Those failures are highly visible but I don't think they matter much in the end. Cool endeavour, hope to be able to attend or listen to your talk!
@mairin Here's what I read (into it):
The "user-as-product business model" uses open source as a backend, and then builds shiny, proprietary, picture frames that entice (and trap) users up front. End users *do care* about being the product if asked, but they have to be able to use the tool 1st.
In part, I'm sensing you're wanting to:
1) create open source UX collaboration
...so there can be...
2) better end-user options
3) less user-as-product
4) a better world
@mairin Are you proposing to include some stuff on not only how it might get fixed, but how we convince everyone that it's fixed once it is? That seems important to me ("open source is crap at UX" has the status of a meme which can't be argued against these days, in my experience, and it makes me sad) but it might be outside the scope of what you plan to talk about? I mean, Fedora and Ubuntu have had design teams for ages, but I can't convince anyone this is even the case...
@mairin I did some edits on the text:
(Note: I do this for the Michigan!/usr/group website so I have some experience punching things up and making them coherent. Hopefully the edits help make this better.
Will this talk be recorded? Seems like an interesting talk. Looking forward to hearing it!
@rysiek I noticed there's a big gap between the "the user is a coder and obviously understands the inner workings" approach and the "the user is an idiot and can't handle more than one button". The user=idiot approach made me quit Windows and I never regretted it. I think most open-source stuff takes user=expert approach as an opposition. However, I want to believe there's something in in the middle that is a good UX for both experts and beginners.If you know how to do it, please tell me
@Wolf480pl @mairin for me that's the difference between GNOME and KDE. In GNOME I always felt like I am being treated like an idiot who can't handle more than 2 options; in KDE it's options galore (which is daunting to many newbie users).
I always thought the right approach is "show the basic options but have the advanced ones available one-two clicks away". Like a checkbox "show advanced options". This seemed to strike the balance in my experience.
@mairin @rysiek what is the UX designer term for helping the user learn the underlaying (data/domain/component) model in a smooth way?
In many situations knowing the underlaying model (eg. knowing that git stores history in a graph of commits) really empowers the users, but at the same time, it's difficult to explain the whole model in a short time, so you probably want the user to learn it gradually.
@rysiek @Wolf480pl we call the ways we make the user's mental model harmonize with the underlying model of the software 'affordances' - eg https://www.slideserve.com/fola/mental-models-and-affordances
@mairin @rysiek Looked through it, and noticed it suggests that making the manifest model close to the implementation model is bad, and suggests making it close to user's conceptual model instead. But what if
a) the user has no conceptual model yet
b) the user's conceptual model is wrong and will lead to mistakes/errors
c) due to the specifics of the particular program, the user will need to know the implementation model sooner or later?
yeh, generally its not advised to make user mental model == system model. they need to be in harmony though. the boundary of where the mental model breaks when applied to the system you hope only fails to encompass the most remote / edge cases. where they are 1:1 is where the user is the developer. there is always a tradeoff between accurate represenation of the system + inscrutable UI vs intuitive simple mental model + weak functionality too narrowly scoped
@mairin @rysiek what I'm concerned about is that the designer may be tempted to introduce an oversimplified model that works well for the 10% of cases/functionalities that happen 90% of time, but when a sligtly unusual case happens, the model will fail spectacularly and the user will feel like standing in front of a wall.
where i see designers and developers clash sometimes is that developers tend to focus on the edge cases because they need full coverage. designers take the opposite approach, and focus on the most common cases. visual hierarchy comes into play here. the most common functions should have the best real estate. edge functions should be more remote / inconspicuous
c) prolly a tired analogy but rings true - ive been driving since i was a teenager and i have the faintest clue about how car runs beyond push clutch to switch gear, push gas to go, brake to stop, turn wheel in direction to go. and i drive stick more advanced than most americans ;-)
yes, but notice that I say "there exists a program that will require the user to learn (something vert close to) the implementation model", not "every program will require user to [...]". It just happens that driving a car doesn't require knowing how it works internally, but that's just one example. There might be others in which case it's the opposite.
there are instances where you need a closer understanding of how a car works to drive it. they are edge cases tho. eg disaster scenario, no gas, need to conserve gas - what things use the least amt of gas for the return? how long will that battery last if you use radio vs dome light vs head lights
I guess this one was the largest
I started using git around 2012, so I guess it wasn't a pile of shell then anymore.
Binary files? I never touch those.
Ok, you're right, I've seen nothing.
Still... how do you manage to corrupt a git checkout? Like... how is that even possible?
I had people doing a force push between repositories clobbering commits.
People doing crazy rebasing on changes that were already shared etc. Plenty of ways to f-up a git repository. Granted all can be attributed to user error but they usual thing people point me at is 'do a fresh checkout' - as no one ever thinks fixing it is sane....
@pony @Wolf480pl @mairin a git corrupt repository can happen with FS corruption, it can also be caused by bugy 1st or third party clients (like an IDE mishandling the format), transfering the repository around without doing checks (like just manually cp'ing it over the network without the git command) or even a fricking bit flip.
In general, this happens - and the usual response is do a fresh clone or the whole repository is hosted.
Reliable power and comms is safety critical to a train (whether or not these resources are shared with the passengers, although thats common now on modern European trains).
in UK a whole days uninterrupted good quality power isn't *always* guaranteed. a UPS will keep your kit online, but you have to hope the batteries in the telecom street cabinet (for VDSL) are good and/or your *ISP* has backup power. Cable providers often do not!
(No idea about how this is elsewhere, but power outlets on the train aren't 100% reliable, they don't run out of the batteries, so there are cut offs when the locomotive doesn't provide power (neutral sections in the overhead wire, etc.))
Older ones did too, except they were not officially for use by the public. A few years back someone did use one to charge his phone, and then argued with the guard and some other train staff when told to stop, might have used some strong language as he ended up being "greeted" at London by British Transport Police and was cautioned/fined!
@vfrmedia They are now putting them into all new and refurbished trains because it doesn't cost very much and competing buses/planes now usually have them too.
Older cars only had single socket on the toilet (for electric razors) and I know people who could spend the entire trip there... These however ran from batteries because those cars didn't have power connections (only HV heating). So it was unfeasible there'd be more of them for the passenger electronics.
@vfrmedia This is a very nice example of a power source of an older railway car.
(It's easy to mistake for a damper on a newer cars.)
Modern cars have boxes with an electronic to step down the heating HV power to be usable for on board stuff.
(Of course, these are all UIC cars, have no idea how the similar UK stuff looks like.)
@vfrmedia Also, it's super funny to imagine that even in the late 60's, it was easier to connect a DC motor to a generator with a shaft in order to get the low AC for the auxiliary on-board systems, because the high power part of the entire electric train was essentially just a big variable resistor used as a voltage divider for the 3 kV DC from the overhead.
@pony I'd have to ask my friend who volunteers with the preserved railway to double check but I think old British Rail locos did have a similar motor-generator system and DMUs had an alternator driven from the engine for lights and some other stuff. Was as strong as 1000V/1500V single phase on some trains but normal 400V 3 phase industrial power was used on others (that can of course be split into 3 x 230V phases))
@vfrmedia Also depends on the heating. When they switched from the hot steam (obviously something easy to come by on a steam train) to the electric heating.
But then, my knowledge doesn't transfer to the UK railways, that's a different world from the continent.
@pony they did the same here, I think thats why 1000V was initially used for the heating. By the end of 1980s BREL and "continental" railways were using many of the same components.
Only the trains looked different on the outside. and I think today now we all get our trains from the same manufacturers
@vfrmedia There are several "standards" for heating, ranging from 1000V AC to 3000V DC, used quite... randomly. Modern cars and locos can deal with most stuff if you ask for it. It's really just "tick the correct boxes on your order form" nowadays. They'll put you what you need there.
For the UK, you however also need to tick a box for a specific loading gauge, so you have to make up your mind, it's either the UK or the continent, but probably not both.
if manifest model != implementation model, then either there are aspects where manifest model doesn't say anything (here be dragons), or there are aspects where manifest model says something contradictory to the implementation model.
If latter is true, i.e. manifest model provides false impressions, IMO it's harmful.
If any of the above happens too early (because some slightly-unusual case was deemed edge-case) it's annoying.
c) (cont) maybe a more relevant analogy - when i draw in inkscape i have a vague notion about how bezier vs spiro vs bspline work... but i dont know the math..beginning inkscape users understand shapes - circle, square, star... over time learn about vector paths... software learning curve unfolds fairly naturally
@dvddpl @mairin @rysiek IMO while designing stuff with the "user is a dev" assumption is not always correct, a better and more important one is "the developer is also a user". You should design your software in a way that you will enjoy using it, too. Doing the "I will hate it but that's what users want" is IMO the worst.
@dvddpl @Wolf480pl @mairin @rysiek The biggest issue is people get used to different things. Some have driven a bicycle, other a motorcycle and yet even other started with a tractor. Now you want these to drive a car. So everyone ends up with a win95 UX with the clutch behind their seat.
You definitely do not have to be an expert to use Linux. Both my parents can fare pretty well. They launch their program, browse the web e.t.c. They know what to do with what they need.. and that is enough.
@Wolf480pl For me, elementary OS is this middle ground.
While it looks very simple and elegant, it's got all the power features you might want tucked nicely away. And while all the excessive configurations are available if you look hard enough, they are very decisive in what they ship.
The only catch is you have to be willing to try something fairly different.
@mairin There is a great story to be told here. Because of the traditional hostility that engineers generally have towards UX design. Plus changing the FOSS model to accommodate UX design is also a significant change that happened as myopic hacker culture continues to break down with greater diversity of ideas and values that UX brings.
@mairin Many proprietary software have a shockingly poor user experience too. I guess there is a pitfall to avoid, like to mistaken proprietary software for GAFAM and open source for whatever Linux distro which obviously can't compete whith multi-billionaries corporations.
Unless you hope to recruit that many developers to work unpaid on your software, and to spontaneously agree with designers vision?
In the late 80s and early 90s I had a custom accounting program
People could have whatever they wanted obviously. It took them a week or 2 to clue in, but then they went nuts for a month or two. Often they asked for the moon's worth of info and I would have to explain to them that *someone* would have to be *paid* to input that info in order for me to pull it out! That discharged many requests.
Anyhow: they like things on obvious buttons + they do NOT read warnings. Ever