Generating applications directly on the mobile device: an empirical evaluation