Things end users care about but programmers don't



  • Found this little gem. Thought it might be helpful to somebody:

    https://instadeq.com/blog/posts/things-end-users-care-about-but-programmers-dont/



  • “Use the fonts I use in Office”
    Give me back my “Comic Sans” so I can plaster it all over our website … every line will be a different font if it’s up to me. And a different colour of course. The only thing consistent will be that I will make everything bold and italic. Don’t you miss those websites ?
    : )

    “Send as email periodically”
    Because I am too lazy to look myself … and I won’t look at the email you send anyway … I have an other 2000 unread ones already and I am proud of it.

    “Undo everywhere” & “Multiple undo”
    Nice one. Is there anyway to do this ? I mean any db support … maybe in the world of Oracle I don’t know.

    But a good list. Thank you.



  • @turigeza said in Things end users care about but programmers don't:

    Nice points 🙂

    “Use the fonts I use in Office”
    Give me back my “Comic Sans” so I can plaster it all over our website … every line will be a different font if it’s up to me. And a different colour of course. The only thing consistent will be that I will make everything bold and italic. Don’t you miss those websites ?
    : )

    In the context of Quasar those might be also using many different fonts in WYSIWYG editor and printing with specific fonts (for instance one would prefer sheriff ones in print). I am using locally copied google fonts and this is doable (by Quasar CSS and build system), but it takes time and effort and the easier support from Quasar for custom fonts in components would be nice.

    “Send as email periodically”
    Because I am too lazy to look myself … and I won’t look at the email you send anyway … I have an other 2000 unread ones already and I am proud of it.

    Yep. Agree. I had a situation where one wanted to have one daily email with all the new things he should do in the app. The argument was that he didn’t want to log in and check the app every hour. Reasonable argument, as for me. Anyway, I admit, it is not entirely relevant to Quasar. Oh, maybe if one would want a Quasar component for system level notifications?

    “Undo everywhere” & “Multiple undo”
    Nice one. Is there anyway to do this ? I mean any db support … maybe in the world of Oracle I don’t know.

    Yep - VueX is your friend. There are even components for that:
    https://www.npmjs.com/package/vuex-history

    BUT in the context of Quasar - IMHO - without global “data source” concept it is still hard and every developer needs to implement his own “concept” of undo/redo (even with VueX).



  • @qyloxe Thank you for the link for the history package. I will take a look at it. That bit I assume is the easy bit … how that translate to changes in the relational database is the difficult bit.

    I guess the way I save the state changes in my app to the DB would require a serious rethink. : )



  • @turigeza said in Things end users care about but programmers don't:

    @qyloxe

    I guess the way I save the state changes in my app to the DB would require a serious rethink. : )

    Maybe this would help. I find it useful (in the context of relational<->state<->reactive):

    https://vuex-orm.github.io/vuex-orm/guide/prologue/what-is-vuex-orm.html#what-is-vuex-orm

    BTW there are more modules or patterns in the context of VueX and history/undo/redo.



  • @qyloxe Interesting : ) Thank you!

    So have you done UNDO / REDO before with a relational database ? Did it work well for you ?
    I guess this would also be helpful for offline mode … which again I have never done before. I always just send data to the API in real time and throw a fit if network is not available : )

    I meant to change this approach but never had time to play with other approaches yet … Anyway I don’t want to hijack the thread totally : ) Thanks for the links.



  • This list reminds me of https://goodui.org/

    Good UI used to tell you explicitly “pattern A out-performed pattern B”, but now they make you pay to see that. They just show two patterns side-by-side. Using intuition you can probably guess which ones are better, though.



  • @turigeza said in Things end users care about but programmers don't:

    @qyloxe Interesting : ) Thank you!

    So have you done UNDO / REDO before with a relational database ? Did it work well for you ?

    yes, many times, BUT it of course depends on the definition of undo 🙂
    The most “classic” undo/redo is in banking systems. There is a concept of transaction log, every event has a date, a money transfer, a source, destination and if you want to make a undo, then you just replay needed transaction (banking not db) with opposite value sign.

    There were apps where in some domains the undo were beneficial and where this behaviour was implemented by record version history. It works very well when you do not need to undo many inter-table connections. As a matter of fact, I implement very, very often the record version history and operations log for almost every table. It is beneficial in long run.

    And there are some tables, where it is possible to model the reality in such a way, where the actions and states of the records in those tables mimics the finite state machines. I do prefer and strongly recommend using this technique in relational tables. Imagine that you have a table “Users”. You can add a column “status” with such possible values: “N” - new, “P” - in process of registration, “C” - registration cancelled, “Z” - user active, “B” user blocked, “U” - user deleted. There are possible transitions (just as example):
    N->P
    P->C
    P->Z
    Z->B
    Z->U
    If you have a table with versions of this table, than every update to users table would insert last version (automatically by trigger) to your version table. You have full log, full operations register, full info about who did what and when and… undo/redo possibility.
    FSM (finite state machines) gives you guarantee, that your system, as a whole, will always be in determined and correct state.

    Oh, this is my main modelling/architecture concept which works in most situations. It is of course only a tip of the iceberg, but I’m sure it is somewhat obvious, because all this is described and known from many years.


Log in to reply