I have a medium-sized list (about a few dozen items, the container is very likely to have internal vertical scrolling). There is no sorting, so items are displayed in the order of their addition to the list. They are added through a series of controls located above the list with a "submit" button at the end. A colleague and I disagree as to where the new items should appear – at the bottom of the list, or at the top.
No ordering is a missed opportunity
If you have 'no order' it is a missed opportunity to make the list easier to navigate. Chronological order of addition, or alphabetic order can only improve on 'no definite order' as far as navigation goes. Once you have an order, you have an answer as to where to add.
I'm assuming a time-of-adding order is more useful to your application than alphabetic, or you'd be already using alphabetic and not have a question - so you're left with a choice between chronological or reverse chronological.
Chronological or Reverse Chronological?
Are users more likely to be interested in older entries or newly added entries? That can decide whether chronological or reverse chronological order of addition is the right order. Put the most interesting at the top. If the preference might vary, then add the sort up/down arrow, so the user can choose. Again you now have a definite order and know where to add entries. If there is almost never a difference of interest in older or newer, so that it's not worth adding the sort arrow, then make the new entries appear at the end of the table that is nearest the submit button. That way, with their focus of attention on the button, they see the change as it happens.
Something near to the submit button needs to change when its clicked, e.g. a count of records, if not actual appearance of the new entry, so there is some visual feedback near to the button that something happened. It's where they are looking.
In my mind if you have no ordering in your list. You should add it on the top with a highlightning effect.
If the user can add more then one item without reloading the site. it could be good to seperate the existing items from the new items e.g. with a line.
I think one problem her is, that there is no ordering in your list. If there are so many items, that users have to scroll through the list, they will lost the overview.
I was thinking it could depend on the ordering of your list, and the position of the list.
If your list starts at the first item, and has not moved, i would add at the top, as the end of the list is possibly out of sight. So the users gets immediate positive feedback that the item is added to the list.
But in that case, since the items are ordered as they were added, i would reverse the order and show the newest items first (so that the list keeps the same appearance if you would refresh or return to the application later).
Now i am not sure what would happen if the user has scrolled through the list, and the list is positioned for instance at the end (and the first items are out of sight). I guess I would still add at the front, and position the list accordingly to make the new item visible.
If the order of the items is important, and you want to keep the same order, i would add them at the end, where they would be located anyway (e.g. after refresh); and then jump to the position of the newly added item, to give the visual feedback. Since jumping to a position is a big change, the addition of the new item might not be immediately clear, so maybe using a fading highlight.
Using a fading highlight to indicate the new item clearly might in any case be a good idea.
Personally I would add them to the top of the list. If I saw such a control in the wild and the new item was added to the bottom of the list and focus was set to the new item as each one is added I would not have a problem with it. The challenge of having the new item added to the bottom of the list is keeping the new item visible "above the fold" and in front of the user. Highlighting the new item as it is added, maybe a highlight that slowly dissolves, may help.
Adding the new item to the top should allow for more items to be visible in a list at any given time.