We heard good things about Viking and we were not disappointed. The French balcony cabin was comfortable and was well appointed. The food was excellent and the staff were friendly. Unfortunately, the cruise was curtailed somewhat because of the low water on the Rhine. We couldn't dock in town for some stops and we had to go on a day cruise boat for the Middle Rhine part, but Viking did everything they could to mitigate the situation.
One thing that was disappointing was I was expecting some onboard lectures about the history and culture of the cities we stopped at, but there were none.
One other issue is that we stayed in Amsterdam on our own for two days prior to the cruise and Viking did not give us an exact location for where to find the ship. The only email we got (several days before embarkation) said the ship would be in one of three locations, and they didn't update us on which one on the morning of embarkation . We had quite a struggle locating the ship. An email on the morning of embarkation wouldn't be too much to ask.