A squeegee with a long handle. It should actually be used after every shower to avoid water spots.
Products would depend on what your shower is made from. I have marble so all my cleaning products are safe for marble including for toilet and mirrors.
Use liquid soap to avoid having scum build up. That helps keep any shower cleaner.