[Note: if you’re looking for a knowledgable linguistic or phonological discussion here you would do well to skip this post.]
Croatian spelling is, to an American eye, missing something. Like vowels. This could be because it’s characteristic of the Eastern Herzegovinian Neo-Shtokavian dialect that forms the basis of Croatian, but a more likely theory is that it started with elementary school spelling teachers trying to reduce the memory load on their young charges, resulting in generations of adults who pretend they have no consonants in words such as krv (blood), prst (finger/toe) and grm (bush). Unless you buy into the theory that “r” is sometimes a vowel, which is even weirder. The situation got so bad that The Onion suggested during the Balkan Wars that we air-lift them some vowels with all the other supplies.
Of course, vowels remain part of word pronunciation, you just have to understand which vowels are implied between which consonants. “Vrhnje” (cream) for example is pronounced “versinya”. One can appreciate a certain terseness, a streamlining, in omitting vowels from spelling. But that leaves the question, why have vowels at all? Why not make all words abbreviations, as the English do with “ltd” (limited). Now THAT would be efficient and make for better spellers!