monomi is node.js middleware that provides tools for handling mobile (and other types of) browsers.
Currently, monomi analyzes incoming HTTP requests to detect which type of browser they come from. Default values are ‘desktop’, ‘tablet’, ‘touch’, and ‘mobile’ (meaning non-touch), and the type is put into the request.monomi.browserType property.
The order of preference for the detection, as well as the algorithms used, can all be optionally overridden when the middleware is instantiated.
It’s early days for the project… I have plans to allow the middleware to adapt the outgoing content to be appropriate for the detected device – although this needs to be sensitive to the asynchronous philosophy of node.js
Try it, fork it, experiment, have fun.