"Show All" madness



  • So I am currently working on a J2EE project which is basically an ERP and is mainly used by clients for generating contracts and billings and invoices and what not... typical stuff. The application itself is made in JSF with Richfaces. Most of the screens have a huge-ass search section and an equally baffling option to load all results in one go instead of paginating. Recently we have been making basic performance improvements for frequently used screens to load results and the page a little faster.

    Those familiar with JSF, particularly v2.x, will know the concept of partial submission wherein your form is POSTed entirely but processed selectively to avoid triggering unnecessary validations when actually not required. So in our case, the results are, by default, loaded in pagination mode with the option to load all the results if required. Using this "Show All" functionality generally isn't an issue since most of the users are sales guys and they usually limit their results to their location. However, we recently got an email from a user complaining about the loading time. However, after reading his email, I am tempted to reply with just a one liner - "So what did you expect?"

    Below is the email that was sent:


    We are having issues with the load time in the following scenario:

    1. Go to Mass Contract Update Screen
    2. Search for all some_search_criteria (there were a lot)
    3. Attempt to Select All contracts and update

    Issue here is that the page takes a long time to load. User will scroll down, system will try to load more results, users will try to scroll down more but will need to wait for the page to load more data. It took user 35 minutes to put all contracts in the new status because they had to scroll down the page to review all of the contracts before they could do so, and that took a lot of time.


    WTFy stuff:

    • The fact that they are still using IE8
    • The fact that they are not using enough search criteria to limit the results
    • The fact that they think that around 1500+ rows worth of results will load instantaneously all in one viewport without having the user to scroll
    • The fact that they don't know how to use a computer


  • I... don't get what you're trying to communicate. I mean, they want to update 1500 rows, and there's a Select All option for them to do exactly that. Do you expect them to do it page by page, or criterion by criterion? That should take even more time!

    Also, if 1,5k rows takes 35 fucking minutes to load, you do have load time issues. I mean, it would certainly take a few seconds, but minutes, especially half an hour?

    Also also, having the page do a retarded version of infinniscroll (as I understand) by itself is a silly design in its own right. Just slap a modal "Processing" window with some JS until the page is fully loaded, duh.



  • 35 fucking minutes is to update, not to load, because there are multiple business rules that has to be considered for each individual record.

    The retarded version of infiniscroll is not default like I mentioned, it's an option. Even if users do use that option, the results do not cross atmost 100 rows which is pretty less because a sane user inputs multiple criteria to trim down the results instead of entering just one criteria like this idiot did.

    A modal processing window was present. They had it removed because they thought it leads them to believe that the page is stuck during loading.



  • I think the bit of information we might be missing here is the precise purpose of the contract update screen, because it is not entirely clear why updating 1500 contracts in one go is necessarily a wtf.

    More Importantly: I don't think I'd enjoy working at a place where I'd have to take part in Erotic Role Play just to generate a contract.


  • Discourse touched me in a no-no place

    If they have to consider each record individually, why are they even using the mass update function?


  • ♿ (Parody)

    @Buddy said:

    it is not entirely clear why updating 1500 contracts in one go is necessarily a wtf.

    I've had stuff where a cow-orker tried to do something similar by using hibernate and iterating over the objects, doing stuff, checking things, then saving each one. This takes for fucking ever. Because you go back and forth to the DB a zillion times.

    Change to make the work happen in one or two queries and suddenly minutes to hours takes seconds.



  • That makes sense. In general, there's no reason why a computer should take much time to process 1500 of anything*. I suppose if I were to refine my previous comment I would ask:

    1. How many of those 1500 records actually needed to be updated at that time?
    2. How much of the 35 minutes was spent reviewing records, compared to time spent waiting for rows to load?
    3. Should I put on my robe and wizard hat?

    * Hyperbole


  • ♿ (Parody)

    Yeah...if he's using JSF, I suspect he's using Hibernate. And I wonder if a similar thing is going on. Also, in JSF, you're relying on the browser to do a lot of work to load that stuff. IE8 sucks for that sort of thing.

    We had some big pages (by design), and they were unusable in IE. But users loved them once they switched to FF (only semi-approved alternative for them). I suspect that it's a combination of teh suck on the browser's part (though 1,500 rows may suck with any browser, given all that likely has to be done to process and display them in the JSF control) and the ORM's lack of scalability.



  • Wrong. What you do is take that modal dialog you had and add a progress bar to it.

    I'm going to give the OP a benefit of the doubt and assume that he's not TRWTF and updating 1500 records is indeed a lengthy process. But still, they want to update 1500 records. What way could there be around it?

    The complaint was that the page was "stuck". Well, make it appear not stuck, matbe? Make a progress bar, abstract lengthy updates to background jobs which leave the rest of the site usable, or even show an ETA so that they know it's gonna take long.


  • ♿ (Parody)

    @Maciejasjmj said:

    Wrong. What you do is take that modal dialog you had and add a progress bar to it.

    Sorry, forgot where I was. Yeah, a progress bar and an extra busy loop should just about do it. Then you're set up for your review goals for next year.



  • @deadman said:

    The fact that they are still using IE8

    Ok, it's cheating to bring up information that wasn't previously mentioned.

    @deadman said:

    The fact that they are not using enough search criteria to limit the results

    Are you sure about that one? Maybe they were scrolling down to double-check the correctness of the search results. There's not enough information in the bug report to tell whether the search results were correct or not.

    @deadman said:

    The fact that they think that around 1500+ rows worth of results will load instantaneously all in one viewport without having the user to scroll

    I find it charming that you use terms like "screens" and "viewport". That aside...

    Why shouldn't it? 1500 rows isn't very many at all to a computer. They complained it took 35 minutes. (35 seconds and I'd be, eh whatever. but minutes?) I don't see what scrolling has to do with it. Skyrim pumps like 100 times the data you're talking about at 60 frames a second, and it's running on an inefficient joke of a game engine.

    @deadman said:

    The fact that they don't know how to use a computer

    Or maybe they expect to have modern software on a modern computer. Not archaic shit that uses concepts like "screens". Seriously, what decade is it in your little world? You're laughing at this "incompetent" user, but the only incompetent person I see in this scenario is the designer of your ERM system.

    WTF rejected.


  • ♿ (Parody)

    @blakeyrat said:

    an inefficient joke of a game engine.

    Which is still orders of magnitude more efficient than the inefficient joke of a browser that IE8 is.

    @blakeyrat said:

    Not archaic shit that uses concepts like "screens".

    What's wrong with measuring the amount of data in a UI based on what fits on a screen? Is there some hipster trend about this (like how awesome it is to leave out semicolons) that I'm not aware of?



  • As I said, that's assuming updating 1500 rows does, in fact, have to be lengthy. If it can be cut down to a few seconds, then well, OP is TRWTF and just made me hate him for not allowing me to call someone wrong for once.

    If it does have to be minutes, though, then I assume that even putting up a note saying "look, you're updating a shitton of records and our server is a hacked NES, so it's gonna take, say, half an hour or so. Please refrain from calling your local IT department until then" would help.


  • kills Dumbledore

    @boomzilla said:

    What's wrong with measuring the amount of data in a UI based on what fits on a screen?

    For a start, it's different depending on resolution, whether the window is maximised, etc. It's like answering "two hours" when asked how far away something is, you're conflating units



  • @boomzilla said:

    Which is still orders of magnitude more efficient than the inefficient joke of a browser that IE8 is.

    IE8 is slow at running JavaScript, but not "35 minutes to show 1500 results" slow.

    @boomzilla said:

    What's wrong with measuring the amount of data in a UI based on what fits on a screen?

    Because it's running in a window? The unit "screen" is completely useless in a browser. What dimensions are a "screen", exactly? You are aware that here in the futuristic science fiction world of 2015, windows can be resized... right?

    And (if he's using the word like a mainframe developer in 1978 would, like I expect), modern software is designed to be non-modal, where the concept of showing one screen at a time is a ridiculous joke.

    @Maciejasjmj said:

    If it does have to be minutes, though, then I assume that even putting up a note saying "look, you're updating a shitton of records and our server is a hacked NES, so it's gonna take, say, half an hour or so. Please refrain from calling your local IT department until then" would help.

    Hacked NES? You're being generous. Pretty sure it could complete the task in less than 35 minutes too.


  • Banned

    @boomzilla said:

    Which is still orders of magnitude more efficient than the inefficient joke of a browser that IE8 is.

    AFAIK, IE was a pretty good browser in 2000. Just like Skyrim's engine.

    @Jaloopa said:

    It's like answering "two hours" when asked how far away something is

    Which is surprisingly common.


  • ♿ (Parody)

    @Jaloopa said:

    For a start, it's different depending on resolution, whether the window is maximised, etc. It's like answering "two hours" when asked how far away something is, you're conflating units

    That's just overcomplicating bullshit. It's obviously not a precise measurement. But it communicates stuff easily with users.

    @blakeyrat said:

    Because it's running in a window? The unit "screen" is completely useless in a browser. What dimensions are a "screen", exactly?

    For a guy who tends to be plugged into thinking like a user, you're being particularly stupid here.

    Or I'm just feeding the pedantic dickweed trolls.


  • kills Dumbledore

    @Gaska said:

    Which is surprisingly common.

    Seems to be pretty much standard in the US.


  • ♿ (Parody)

    @Gaska said:

    AFAIK, IE was a pretty good browser in 2000. Just like Skyrim's engine.

    I wouldn't know Skyrim from Team Fortress.



  • @boomzilla said:

    But it communicates stuff easily with users.

    No it doesn't. Unless your users recently came off a AS/400 system... the vast majority of users have only used windowed systems.

    Everybody knows what a "page of results" is. Your grandma sees that in Google every day. (Although Discourse shows there is some weird hipster campaign to get rid of those, I guess.) Nobody who started using a computer after 1990 knows the useless unit "screen".

    @boomzilla said:

    For a guy who tends to be plugged into thinking like a user, you're being particularly stupid here.

    Or... you're wrong and users have no idea what "screens" are. Other than the obvious definition. Nobody uses the word "screen" that way; that's why I said it was charming and archaic in the first place. Like someone saying "thou" casually in conversation. But neither word helps actually communicate your message to the listener.


  • ♿ (Parody)

    @blakeyrat said:

    No it doesn't. Unless your users recently came off a AS/400 system... the vast majority of users have only used windowed systems.

    And yet, when one of those windows has focus, they can still use things like PAGE DOWN. And when working (especially with a lot of data), they often have their browser maximized.

    @blakeyrat said:

    Everybody knows what a "page of results" is. Your grandma sees that in Google every day. (Although Discourse shows there is some weird hipster campaign to get rid of those, I guess.) Nobody who started using a computer after 1990 knows the useless unit "screen".

    This is one of those things everybody knows like, "Windows never crashes?" Though this paragraph comes so close to understanding what's going on, I am again suspecting that the person behind @blakeyrat isn't as stupid as @blakeyrat is.

    Maybe you're used to dealing with more technical users or something.

    @blakeyrat said:

    Or... you're wrong and users have no idea what "screens" are. Other than the obvious definition. Nobody uses the word "screen" that way; that's why I said it was charming and archaic in the first place.

    You've just had too many hipster web developer users, I guess? I hear stuff like that all the time. Yeah, it's a bit archaic, but people who aren't immune to language can communicate with them.



  • @boomzilla said:

    And yet, when one of those windows has focus, they can still use things like PAGE DOWN. And when working (especially with a lot of data), they often have their browser maximized.

    Notice how that key says "page" and not "screen"?

    @boomzilla said:

    Maybe you're used to dealing with more technical users or something.

    "screen" hasn't been common computer terminology since about 1990-ish. Maybe 1995. That's all this is about.

    More technical users are the only ones who would know the term. You're in crazy wacko backwards-land.

    @boomzilla said:

    You've just had too many hipster web developer users, I guess? I hear stuff like that all the time.

    Let me guess, you work at IBM? There's a happy medium. But even the happy medium is long-past saying "screen".

    @boomzilla said:

    Yeah, it's a bit archaic, but people who aren't immune to language can communicate with them.

    I'm not saying it's a huge barrier to communication; I'm saying if you're trying to communicate, pick a word that other people know. Don't say "thou" instead of "you" and expect to be understood as easily.


  • ♿ (Parody)

    @blakeyrat said:

    Notice how that key says "page" and not "screen"?

    Are you familiar with the concept of synonyms?

    @blakeyrat said:

    "screen" hasn't been common computer terminology since about 1990-ish. Maybe 1995. That's all this is about.

    Yes, because you're so parochial. I could say that neither have Power Rangers or Transformers, because I stopped paying attention to them, but I'd be as wrong about that as you are. I'm just smart enough to know and admit that my experience doesn't encompass everything.

    @blakeyrat said:

    Let me guess, you work at IBM?

    No.

    @blakeyrat said:

    I'm not saying it's a huge barrier to communication; I'm saying if you're trying to communicate, pick a word that other people know.

    Users have used that word to me, and it's a word I know. The meaning seems pretty damn obvious. Even you seem to have worked your way though it.

    Why is "page" better than "screen?" Users are looking at a screen. The list scrolls smoothly. It's not really like a page at all. There's no page break or anything?



  • That's not a synonym. A page can span multiple screens, and in fact in apps like word processors it most likely will.

    Other than that, you settle that out, I'll just get my nachos and dip.


    Filed under: who likes popcorn anyway?


  • ♿ (Parody)

    @Maciejasjmj said:

    That's not a synonym.

    Have you ever looked at a thesaurus? Not all synonyms are equal.

    @Maciejasjmj said:

    A page can span multiple screens, and in fact in apps like word processors it most likely will.

    This bit of classic pedantic dickweedery brought a tear to my eye. Thank you.


  • Discourse touched me in a no-no place

    @Maciejasjmj said:

    That's not a synonym. A page can span multiple screens, and in fact in apps like word processors it most likely will.

    Not technically no, but they're used as synonyms in userland because users aren't technical people who understand/care about the differences between them.



  • @boomzilla said:

    Yes, because you're so parochial.

    Why do I always get accused of being "of or relating to a church parish"? I mean I get the insults, but that one's just weird.

    @boomzilla said:

    Why is "page" better than "screen?" Users are looking at a screen.

    Right; to normal people, a screen is a physical object that displays images. It's not some weird pre-windowed-OS UI concept. The mostly likely synonym they have attached to it is "computer monitor".

    And to try to get the point across once again: I'm not saying that users don't understand the word "screen" used in that way. I'm saying they're A MILLION TIMES MORE LIKELY to understand the word "page of results". Just as it's possible they'll understand the word "thou", but a million times more likely to understand the word "you".

    It's not a hard-and-fast black-and-white rule.


  • ♿ (Parody)

    @blakeyrat said:

    Why do I always get accused of being "of or relating to a church parish"?

    Because you have difficulty with the English language.

    @blakeyrat said:

    It's not some weird pre-windowedeverything is a web page-OS UI concept.

    FTFY



  • Unless he did a really shitty job, web apps are windowed-by-default. Even Discourse does that properly.

    In any case, I think we can both agree OP is a fucking moron and king of the "blame the stupid users" club. I gotta get on a bus.


  • ♿ (Parody)

    @blakeyrat said:

    Unless he did a really shitty job, web apps are windowed-by-default.

    Yes, but...um...

    Eh...whatever. I should know better than to think that your horizons could be broadened.


  • Discourse touched me in a no-no place

    BTW, in "Read Mode", Word 2013 refers to pages as screens.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    Why do I always get accused of being "of or relating to a church parish"? I mean I get the insults, but that one's just weird.

    Obvious troll is obvious.


  • ♿ (Parody)

    He's just angry at my superior vocabulary.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    Nobody uses the word "screen" that way; that's why I said it was charming and archaic in the first place.

    Good God, but you're insulated. Walk into a Frys or an Autozone sometimes; you'll discover they're still using mainframe-app-looking screens.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    Notice how that key says "page" and not "screen"?

    Are you suggesting than the 80s/90s the key would have been labelled "Screen down"? Because if so you're an idiot.


  • Discourse touched me in a no-no place

    @boomzilla said:

    Are you familiar with the concept of synonyms?

    Going on past indications I'd guess "no".


  • ♿ (Parody)

    @FrostCat said:

    Walk into a

    Nobody walks into a "store" these days. That's why he said it was charming and archaic in the first place.


  • Discourse touched me in a no-no place

    @boomzilla said:

    He's just angry at my superior vocabulary.

    I'm just amazed he actually looked up a word. It shouldn't come as a surprise he did it to troll, and not to gain knowledge.


  • Discourse touched me in a no-no place

    @boomzilla said:

    Nobody walks into a "store" these days.

    I think it would be wildly entertaining to watch him--pretend for the moment he's not using a hybrid--swap the battery to his car without "walking into a store." Good luck mailing the old battery back to Amazon to get his core charge back!


  • ♿ (Parody)

    AAA will come to you and do that.


  • Discourse touched me in a no-no place

    To attempt, briefly, to drag the thread back on topic, I can imagine a situation probably roughly in line with what OP meant, that would put the WTF on the user, but it assumes facts not in evidence.


  • Discourse touched me in a no-no place

    @boomzilla said:

    AAA will come to you and do that.

    You know you've been at TDWTF too long when you take devil's advocacy so far you argue for Blakeyrat's presumed side.

    Also: will they actually swap your battery, or just tow you to a garage/Autozone/dealer?


  • ♿ (Parody)

    I've had them offer to sell me a new battery and swap it out. Never took them up on it. IIRC, I had the car towed to the garage.



  • @FrostCat said:

    Good God, but you're insulated. Walk into a Frys or an Autozone sometimes; you'll discover they're still using mainframe-app-looking screens.

    Our local/regional furniture retailer still uses 'em, too.


  • Discourse touched me in a no-no place

    Lots of places do, because they work, and they're not staffed by ADD weenies who can't handle stuff that's not new for the sake of being new.



  • @FrostCat said:

    Lots of places do, because they work, and they're not staffed by ADD weenies who can't handle stuff that's not new for the sake of being new.

    Yeah. As long as the backend's maintainable...


  • ♿ (Parody)

    Also, with the normal windowed apps that came after terminal emulators but before web pages, people still regularly called those screens (even when they hadn't used a terminal [emulator] thing before).


  • Discourse touched me in a no-no place

    @boomzilla said:

    Also, with the normal windowed apps that came after terminal emulators but before web pages, people still regularly called those screens

    Sure. The windowed app I work on where I am now is that way. Ditto with the last place I worked.


  • ♿ (Parody)

    Thou workest at such charming, archaic places.


  • Discourse touched me in a no-no place

    @deadman said:

    35 fucking minutes is to update, not to load, because there are multiple business rules that has to be considered for each individual record.

    It's taking 1.2 seconds per row. That's a bit… lethargic. Are you sure that that's how long is really necessary? I had similar sorts of problems in a webapp and that turned out to be due to the fact that bcrypt really isn't designed to be friendly with session-less webapps…


Log in to reply