Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. I need opinions - usability - not sure where to ask this

I need opinions - usability - not sure where to ask this

Scheduled Pinned Locked Moved The Lounge
discussionhardwarehelpquestion
36 Posts 20 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Mike HankeyM Mike Hankey

    Gotcha, only other way would be paging.

    The most expensive tool is a cheap tool. Gareth Branwyn JaxCoder.com

    H Offline
    H Offline
    honey the codewitch
    wrote on last edited by
    #7

    My current solution is to simply make the user wait to load it all. It doesn't handle a lot of files really well anyway because it has to load them all into memory first. The reason is the rotary encoder can be turned much faster than the SD card reader can read file info. So I have to prefetch everything. I have about 320kB free at that point, so it's not terrible, but it can't be excessive. So my current idea is - MIDI files in the root directory only, and then just don't put a ton of them there. It's actually better to use multiple SD cards. If you only have one file on it it will load it automatically so you can punch sets in an out.

    To err is human. Fortune favors the monsters.

    Mike HankeyM 1 Reply Last reply
    0
    • H honey the codewitch

      That's an interesting idea. I'll consider it. My main concern with it is if the list isn't done loading it will be hard to tell when it's done and you've reached the end or if there's more to go. I guess I can squeeze an indicator on there but the screen is very small. Also it displays only one file at a time due to the size of the screen, and displaying information about each file, so there's no "list" to scroll. Plus scrolling is out of the question for performance reasons the way these little gadgets work.

      To err is human. Fortune favors the monsters.

      L Offline
      L Offline
      lmoelleb
      wrote on last edited by
      #8

      The indicator is very important for perceived performance - if you can quickly count the files, I assume you can even show a percentage or similar? Maybe if you detect more than a reasonable amount of files, you can start by displaying a text saying "This will take a long time, do you want to continue" (well, something shorter probably). If you are really fancy, you can start the loading in the background while displaying the message so the time until they react (if they react) is not wasted. If they just insert the SD card and throw it on the table without paying attention - at least it will then have finished loading when they come back from lunch instead of just sitting waiting for them to press the button.

      H B 2 Replies Last reply
      0
      • L lmoelleb

        The indicator is very important for perceived performance - if you can quickly count the files, I assume you can even show a percentage or similar? Maybe if you detect more than a reasonable amount of files, you can start by displaying a text saying "This will take a long time, do you want to continue" (well, something shorter probably). If you are really fancy, you can start the loading in the background while displaying the message so the time until they react (if they react) is not wasted. If they just insert the SD card and throw it on the table without paying attention - at least it will then have finished loading when they come back from lunch instead of just sitting waiting for them to press the button.

        H Offline
        H Offline
        honey the codewitch
        wrote on last edited by
        #9

        Yeah I probably could put an indicator. Do you want to continue is a little tricky, as taking input is always a bit involved when you're dealing with limited user input devices.

        To err is human. Fortune favors the monsters.

        L 1 Reply Last reply
        0
        • H honey the codewitch

          My current solution is to simply make the user wait to load it all. It doesn't handle a lot of files really well anyway because it has to load them all into memory first. The reason is the rotary encoder can be turned much faster than the SD card reader can read file info. So I have to prefetch everything. I have about 320kB free at that point, so it's not terrible, but it can't be excessive. So my current idea is - MIDI files in the root directory only, and then just don't put a ton of them there. It's actually better to use multiple SD cards. If you only have one file on it it will load it automatically so you can punch sets in an out.

          To err is human. Fortune favors the monsters.

          Mike HankeyM Offline
          Mike HankeyM Offline
          Mike Hankey
          wrote on last edited by
          #10

          :thumbsup:

          The most expensive tool is a cheap tool. Gareth Branwyn JaxCoder.com

          1 Reply Last reply
          0
          • H honey the codewitch

            Yeah I probably could put an indicator. Do you want to continue is a little tricky, as taking input is always a bit involved when you're dealing with limited user input devices.

            To err is human. Fortune favors the monsters.

            L Offline
            L Offline
            lmoelleb
            wrote on last edited by
            #11

            "Click to continue". It's not like saying "no" really means anything they can't express by taking out the SD card. The important thing is that they are told what they can do to avoid it being so slow. Do not expect users to think twice about filling an SD card with old data if you do not tell them the problems it will give.

            1 Reply Last reply
            0
            • H honey the codewitch

              So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

              To err is human. Fortune favors the monsters.

              C Offline
              C Offline
              Craig Robbins
              wrote on last edited by
              #12

              For your intended users, is it a reasonable expectation that they can't put 100+ files on the SD card?

              H 1 Reply Last reply
              0
              • C Craig Robbins

                For your intended users, is it a reasonable expectation that they can't put 100+ files on the SD card?

                H Offline
                H Offline
                honey the codewitch
                wrote on last edited by
                #13

                I think so. In practice, this is a little performance box, and scrolling through that many files is not really reasonable. Anything after a dozen and they'll get annoyed just because all you have to work with is a knob and a button. It's not like PC dev, unfortunately. The UI is severely limited by a very limited input interface - tiny screen, no keyboard or mouse. no scrolling because it's too slow. Because of that, I think a user at least once they are familiar with using the thing, isn't going to be put out by not carrying their entire catalog of MIDI sets on a single SD card. In fact, it's kind of optimized for one per SD-Card, such that when it finds just one file it will open that one and start up without prompting. That's because eventually I'll probably make it so you can punch in and punch out SD cards on the fly, but for now i don't have the right hardware for that. It's not hard to get it though, i just haven't yet.

                To err is human. Fortune favors the monsters.

                K 1 Reply Last reply
                0
                • H honey the codewitch

                  So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

                  To err is human. Fortune favors the monsters.

                  P Offline
                  P Offline
                  PIEBALDconsult
                  wrote on last edited by
                  #14

                  Don't allow "scrolling" while files are being imported. Just show the progress of the import and maybe allow cancelation.

                  1 Reply Last reply
                  0
                  • H honey the codewitch

                    So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

                    To err is human. Fortune favors the monsters.

                    S Offline
                    S Offline
                    Southmountain
                    wrote on last edited by
                    #15

                    find a musician like and ask this question, you will have first hand feedback...

                    diligent hands rule....

                    L 1 Reply Last reply
                    0
                    • S Southmountain

                      find a musician like and ask this question, you will have first hand feedback...

                      diligent hands rule....

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #16

                      I have some pretty tiny mp3 players (the size of a thumb drive); with 100's of songs. I'd review how they did it. Mostly single thumb actions.

                      "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                      1 Reply Last reply
                      0
                      • H honey the codewitch

                        So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

                        To err is human. Fortune favors the monsters.

                        L Offline
                        L Offline
                        Lost User
                        wrote on last edited by
                        #17

                        I have some pretty tiny mp3 players (the size of a thumb drive); with 100's of songs. I'd review how they did it. Mostly single thumb actions.

                        "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                        H 1 Reply Last reply
                        0
                        • H honey the codewitch

                          So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

                          To err is human. Fortune favors the monsters.

                          T Offline
                          T Offline
                          trønderen
                          wrote on last edited by
                          #18

                          I have no solution, just a little story: Some years ago, I bought myself a handheld digital recorder (for those who care: a Zoom H4n), and equipped it with a 32 GByte card so I didn't have to shuffle lots of cards around. It is a nice little device, can record plain PCM and MP3 in high quality, even 4 channels. The only thing that frustrated me was the extremely long boot up time - more than a minute and a half before any control could be operated. Either, the recording had to be well planned in advance, or the recorder had to kept 'on' continuously, draining the batteries. A couple of years ago, I made some recordings to an SD card of a friend of mine - a 2 GB card. To my surprise, the recorder booted up a lot faster. At the bottom of a box of old stuff, I found the very first SD card I ever bought, a 256 MB one, and now the recorder boots up in 12 seconds, rather than 95 seconds! It makes noticeable difference if there are lots of data on the card (the Zoom pre-initializes a directory structure with approx. 40 directories when it formats the card; it is unconditionally there). If I replace the 256 MB card with the 32 GB one, it goes back to eight times as slow boot up - the recorder hasn't been 'cured', the boot time is tied to the card size. Putting a hundred recordings on a card does not slow it down further. I have no idea what the Zoom is doing to the card; even though flash cards are fast, it can't possibly do any testing of a full 32 GB in 95 seconds. The size of the directory structure is exactly the same on a small and a large card. So what is it doing with the 32 GB at boot up? I was lucky to find a small pile of 256 MB cards on a web shop trading used electronics - my local computer shop couldn't help me. So now I have cured the major problem with my recorder, at the price of having to shuffle cards.

                          H 2 Replies Last reply
                          0
                          • T trønderen

                            I have no solution, just a little story: Some years ago, I bought myself a handheld digital recorder (for those who care: a Zoom H4n), and equipped it with a 32 GByte card so I didn't have to shuffle lots of cards around. It is a nice little device, can record plain PCM and MP3 in high quality, even 4 channels. The only thing that frustrated me was the extremely long boot up time - more than a minute and a half before any control could be operated. Either, the recording had to be well planned in advance, or the recorder had to kept 'on' continuously, draining the batteries. A couple of years ago, I made some recordings to an SD card of a friend of mine - a 2 GB card. To my surprise, the recorder booted up a lot faster. At the bottom of a box of old stuff, I found the very first SD card I ever bought, a 256 MB one, and now the recorder boots up in 12 seconds, rather than 95 seconds! It makes noticeable difference if there are lots of data on the card (the Zoom pre-initializes a directory structure with approx. 40 directories when it formats the card; it is unconditionally there). If I replace the 256 MB card with the 32 GB one, it goes back to eight times as slow boot up - the recorder hasn't been 'cured', the boot time is tied to the card size. Putting a hundred recordings on a card does not slow it down further. I have no idea what the Zoom is doing to the card; even though flash cards are fast, it can't possibly do any testing of a full 32 GB in 95 seconds. The size of the directory structure is exactly the same on a small and a large card. So what is it doing with the 32 GB at boot up? I was lucky to find a small pile of 256 MB cards on a web shop trading used electronics - my local computer shop couldn't help me. So now I have cured the major problem with my recorder, at the price of having to shuffle cards.

                            H Offline
                            H Offline
                            honey the codewitch
                            wrote on last edited by
                            #19

                            Well at least you know my pain. I've since added a progress tracker "loading 1 of 13" for example. It helps.

                            To err is human. Fortune favors the monsters.

                            1 Reply Last reply
                            0
                            • L Lost User

                              I have some pretty tiny mp3 players (the size of a thumb drive); with 100's of songs. I'd review how they did it. Mostly single thumb actions.

                              "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                              H Offline
                              H Offline
                              honey the codewitch
                              wrote on last edited by
                              #20

                              It might cache. I could theoretically do that.

                              To err is human. Fortune favors the monsters.

                              1 Reply Last reply
                              0
                              • T trønderen

                                I have no solution, just a little story: Some years ago, I bought myself a handheld digital recorder (for those who care: a Zoom H4n), and equipped it with a 32 GByte card so I didn't have to shuffle lots of cards around. It is a nice little device, can record plain PCM and MP3 in high quality, even 4 channels. The only thing that frustrated me was the extremely long boot up time - more than a minute and a half before any control could be operated. Either, the recording had to be well planned in advance, or the recorder had to kept 'on' continuously, draining the batteries. A couple of years ago, I made some recordings to an SD card of a friend of mine - a 2 GB card. To my surprise, the recorder booted up a lot faster. At the bottom of a box of old stuff, I found the very first SD card I ever bought, a 256 MB one, and now the recorder boots up in 12 seconds, rather than 95 seconds! It makes noticeable difference if there are lots of data on the card (the Zoom pre-initializes a directory structure with approx. 40 directories when it formats the card; it is unconditionally there). If I replace the 256 MB card with the 32 GB one, it goes back to eight times as slow boot up - the recorder hasn't been 'cured', the boot time is tied to the card size. Putting a hundred recordings on a card does not slow it down further. I have no idea what the Zoom is doing to the card; even though flash cards are fast, it can't possibly do any testing of a full 32 GB in 95 seconds. The size of the directory structure is exactly the same on a small and a large card. So what is it doing with the 32 GB at boot up? I was lucky to find a small pile of 256 MB cards on a web shop trading used electronics - my local computer shop couldn't help me. So now I have cured the major problem with my recorder, at the price of having to shuffle cards.

                                H Offline
                                H Offline
                                honey the codewitch
                                wrote on last edited by
                                #21

                                I was thinking, and I bet I know why your 32GB card took so long. It uses a different filesystem (exFAT i think?) for cards >=32GB? if i remember correctly - might be > 32GB and I'm wrong about this. That may explain the discrepancy, not that exFAT is especially slow, but it could be that the implementation was poor and nobody cared because at the time nobody used exFAT. frankly, it's kind of a wonder it reads it at all.

                                To err is human. Fortune favors the monsters.

                                1 Reply Last reply
                                0
                                • H honey the codewitch

                                  So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

                                  To err is human. Fortune favors the monsters.

                                  M Offline
                                  M Offline
                                  Member 9167057
                                  wrote on last edited by
                                  #22

                                  Reminds me on certain questions I have to resolve myself and I got a product manager working such questions out for me. However, this product manager talks to our users. From my personal perspective, that's not a trade-off I as the maintainer would make, I'd ask users.

                                  1 Reply Last reply
                                  0
                                  • H honey the codewitch

                                    So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

                                    To err is human. Fortune favors the monsters.

                                    J Offline
                                    J Offline
                                    john morrison leon
                                    wrote on last edited by
                                    #23

                                    Just load the first 10 files. If the user goes for an 11th file then chuck the first 10 away and load the next 10 etc.. Optimised for less than 10 files but more can be reached. I imagine that it is intended to be minimally distracting to a performing musician so you don't want modal selection procedures. This way it remains a simple up/down selection but you get a bump delay as you cross 10, 20 etc. I would think that would be acceptable for such a device.

                                    1 Reply Last reply
                                    0
                                    • H honey the codewitch

                                      So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

                                      To err is human. Fortune favors the monsters.

                                      P Offline
                                      P Offline
                                      PhilipOakley
                                      wrote on last edited by
                                      #24

                                      List them all initially as 'grey', then as the list is parsed/checked change the colour to those for 'working', or 'corrupt'. That way the user is carried along with a little understanding of the apparent 'informative progress bar' style display.

                                      1 Reply Last reply
                                      0
                                      • L lmoelleb

                                        The indicator is very important for perceived performance - if you can quickly count the files, I assume you can even show a percentage or similar? Maybe if you detect more than a reasonable amount of files, you can start by displaying a text saying "This will take a long time, do you want to continue" (well, something shorter probably). If you are really fancy, you can start the loading in the background while displaying the message so the time until they react (if they react) is not wasted. If they just insert the SD card and throw it on the table without paying attention - at least it will then have finished loading when they come back from lunch instead of just sitting waiting for them to press the button.

                                        B Offline
                                        B Offline
                                        BryanFazekas
                                        wrote on last edited by
                                        #25

                                        lmoelleb wrote:

                                        The indicator is very important for perceived performance - if you can quickly count the files, I assume you can even show a percentage or similar?

                                        This is roughly my thought -- when loading will take a long perceived time, I count files, records, or whatever, and post a message that says "loading file xx of yy", and force the screen to update periodically. If there's a thousand files, I won't update display for every file (that will slow down the process), but every 10 to 20 files. If you're expecting a max of 100 files, updating the display every 10 should give the user good feedback while not bogging down the process.

                                        1 Reply Last reply
                                        0
                                        • H honey the codewitch

                                          So I have an app that's designed to run on a piece of hardware intended for musicians, who are not tech savvy. They also use equipment that can produce corrupt files, although that's not exceedingly common. My software boots and reads an inserted SD card. Currently during this process it loads each MIDI file and scans through its entire contents to determine if its valid before adding it to the list of available files. That way, corrupted files do not appear in the list. It also means I can display more information about each file. Once loaded, you scroll through the file list with a small rotary encoder (a knob basically for those of you that don't know what one is) The issue is this: The title screen can take some time to load. It's not terrible with a dozen files, but more than that and it starts to be like "hurry up!" Couple this with the difficulty of scrolling through a ton of files with just a knob. I'm thinking this is okay. Basically, don't put 100 files on an SD card. What do you think?

                                          To err is human. Fortune favors the monsters.

                                          C Offline
                                          C Offline
                                          Cpichols
                                          wrote on last edited by
                                          #26

                                          Offer it with an SD card filing system and you're golden. They have to be loading the midi files onto those SD cards somehow; what if you give them an app that does the whole process: read/scan each midi file, collect data on each, store that info in a db table or json file, and provide a code for labeling the SD card. Then your app can have a look-up tool that uses all of that great info you collected. Offer a special case for the SD cards that fits the labeling scheme you set up in the app. ETA: obv, you'll need the look-up part of the app to be mobile-first.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups