I vote for Surabaya ferry terminal as the worst place to spend a day waiting to board. You sit in the parking lot – no seats, and the only shade is underneath trucks.
Finally when my ass couldn’t take the concrete any more I sat on the bike to get some relief. Allegedly I was asleep for some time there.
By the standards of Asian ferries, the vessel between Surabaya and Banjarmasin is usually quite good. It’s large enough to ride out swell and it has a decent on-board snack facility. If you lash out for the cabin, you also get a meal service and access to the VIP lounge area. The cabins have a black and white TV that doesn’t always have a signal. A good supply of media on your smartphone is more reliable.
Sometimes there’s also some live entertainment, you youngsters singing local pop songs.
However, there are many vessels servicing this route and some don’t have cabins. The crafty locals stampede on board as soon as the gates open, and quickly occupy any place that is comfortable. That includes most of the floor space. Without a cabin, the journey will be … long. And very uncomfortable.