I like multi-column design. Alas, it’s really annoying to work with. If your tiles don’t all have the same height, it looks awful.
That’s why we have Masonry (and alternatives) – alas, they use absolute positioning (which can be problematic for lazy loading of images, dynamically adding more elements, etc.). We can try doing it with plain CSS – alas, it either breaks the order of tiles or requires knowing the height of the container in advance.
Forms are complicated. There are many things you must take into consideration: binding an existing object (if any) to each sparate field of the form, validating them after user has submited the form, if invalid redisplaying it with POST data bound and with validation errors, binding the data back to an object...
Avris Forms add an abstraction layer that handles all of that. You just need to define the list of fields you need and their cofiguration options. You’ll get an object that will handle everything for you. Just handle it in the controller and display it in the view.