Highlight general point about software dev and design in general.

John Colvin john.loughran.colvin at gmail.com
Thu Oct 22 11:48:31 UTC 2020


On Tuesday, 20 October 2020 at 21:58:16 UTC, Johan Engelen wrote:
> On Tuesday, 20 October 2020 at 20:21:56 UTC, aberba wrote:
>> On Tuesday, 20 October 2020 at 17:36:11 UTC, kinke wrote:
>>> On Tuesday, 20 October 2020 at 16:08:47 UTC, aberba wrote:
>>>> It's an option but doesn't fill the need for an installer. 
>>>> Not sure why its hasn't been done.
>>>
>>> See https://github.com/ldc-developers/ldc/issues/1754.
>>
>> From the discussions, it seems you still don't see the value 
>> of an installer...backing it with the idea that LDC is for 
>> "developers". I'm a developer myself and I use installers all 
>> the time when on Windows...there are very few people I 
>> personally know who would go for an archive file to set it up 
>> themselves.
>>
>> So not everyone is like you. The reason why I personally go 
>> for DMD over LDC is convenience (especially when introducing D 
>> to newbies)...even though LDC is more optimized for 
>> performance.
>>
>> Unless what you guys are doing is an artificial barrier to get 
>> others to not use it.
>
> Guys, all points have been made, there is no wrong and right 
> here, let's stop arguing over this.
>
> What is needed is someone who thinks it is useful to have an 
> exe installer and wants to do the work. It cannot be done by 
> someone who thinks it is not useful, because there are 
> decisions to be made (like which folder to install it in, 
> whether to overwrite old or not), that can only be made by 
> someone who actually cares about it. There is no point in 
> trying to convince kinke or me.
>
> I'm sure noone will be against uploading the installer exe onto 
> github release page once it's been made and checked.
>
> -Johan

Johan hits an important nail right on the head here.

While it is possible to design for others who are unlike you, 
it's much harder than designing for yourself or those who have 
similar values and priorities w.r.t. the thing in question. A lot 
of talk about "we (and by we I mean you) should do this thing I 
think is important" isn't pushing in the most productive 
direction, because

_*_*_{
even if one becomes convinced that there is value in something, 
that does not mean one has the relevant understanding necessary 
for good design of that thing
}_*_*_

Either the person with the problem works on understanding the 
tools to fix the problem, or the person with the tools works on 
understanding the problem. When values and "user experience" and 
"ease of use" are in play, I think the latter usually gets harder 
than normal, because understanding what will be easy or pleasing 
for others who are unlike us is not something everyone is good 
at.* This shifts the balance towards preferring the former 
approach where the person with the problem works towards doing at 
least a significant part of the design.** There will always be 
other considerations of course, this is just one force out of 
many.

This is not to say that developers shouldn't be thoughtful about 
their users - they definitely should be - but that doing a good 
job of that when the users are unlike the developer is _hard_.

* Perhaps in practice that ability is negatively associated with 
a strong sense of personal taste, e.g. great musicians writing 
the music _they_ want, not trying to specifically please people; 
the magic isn't that they understand other people, it's that 
their particular tastes resonate with others strongly. Maybe 
truly great mass-market businesses come from people who both have 
that magic _and_ a strong ability to experience their work from 
other's perspectives, the combination being rare and the ability 
to integrate the two effectively being even rarer (Steve Jobs 
comes to mind).

** Design and implementation often don't separate very cleanly in 
practice, so this probably means implementing it too, at least to 
proof-of-concept quality.


More information about the Digitalmars-d-announce mailing list