The NoApp framework