I'm unsure about what a long and short s sound like, but I think you are wrong about 'glas' having a long-a sound and 'glass' having a short a sound. The long-a sound is English is the sound the 'a' makes in words like 'day'. and 'say'. The short-a sound in English is the sound the 'a' makes in words like 'bat' and 'cat'.
Ice cream or 'glass' in Swedish, should sound similar to the English word 'glass', rhyming with 'class' and 'pass'. Glass or 'glas' in Swedish should sound more like the English word 'gloss', making a vowel sound similar to 'awe' and rhyming with words like 'floss' and 'moss'.
I meant a long a as in a Swedish a sound. The long Swedish a-sound is often misheard by learners as an o sound. You might need to practice listening in order to hear it correctly. There are more resources about pronouncing that can be found from the sticky post under Swedish/Discussions. In English you have fewer vowel sounds than we do and you have a lot of diphtongs rather than pure vowel sounds, so looking at how words are written in English can be misleading.
This is hard to explain in words. The Swedish word "glas" sounds quite similar to the English word 'glass' (the same 'a'-sound as in Brittish 'glass', 'class' and 'car'). The 'a'-sound in the Swedish word "glass" is almost like the 'u' in English 'hut' (which actually sound a bit like the Swedish word "hatt" except that the 't'-sounds aren't the same). Does this make any sence at all?
Whenever I made the mistake of translating what I hear instead of just typing it out in Swedish, Duolingo simply gave an error message reminding me that I should transcribe, not translate without giving me a bad mark.
Now it just marks it wrong. Can we bring that feature back, please?
Unfortunately Swedish noun gender quite often is unpredictable. Have a look at this: https://en.wiktionary.org/wiki/apelsin#Swedish . It denotes the noun as 'c', which stands for common noun, which means it takes 'en'. You can look up the dictionary for any Swedish nouns and it should tell you whether it's a 'c' (in which case use 'en') or an 'n' (in which case use 'ett').