Generalizing from app to software