Glass and mirror surfaces are one of the worst for showing dirt, grime and streaking. There are few uncommon and inexpensive ways to help make glass surfaces crystal clear.
Generally, people go for a streak-free glass cleaner that you can find in most shops, some of these being quite costly. One inexpensive method is using vinegar, which is a toxin free, effective way to clean glass, leaving a streak-free finish. You only need to put equal parts vinegar and water in a clean spray bottle and you have a homemade glass cleaner.
Using paper towels is a big no-no! They leave the glass or mirror surface coated in a white dusting of tiny little paper fibres. You can find some very inexpensive micro-fibre cloths that do an incredible job of keeping your surfaces shiny. If you do not have one of those cloths to hand, you can also use newspaper! Yes, newspaper is excellent at cleaning glass, just be cautious not to let the print/ink part of the paper touch any surrounding wood or white surfaces as the ink could stain.
If the glass is particularly grimy, like outdoor windows for example, you can first rinse off dirt and grime before using the above methods to finish.