I used HydroSilex Recharge Ceramic coating when I got my m3 in September. Its a DIY ceramic coating. Super easy to apply. Spray on, wipe off.
I applied it twice a couple of weeks apart. It lasted pretty for most of the winter. It feels as slick as any other ceramic coating I have felt. I put on another coat a couple of months ago. I'm very happy with the results. It doesn't last as long as a pro job, but feels great.
It's easy, simple, and inexpensive. About $28 for a bottle that was good for 3-4 coats.