Data Programming Data Programming (DP): A new way of programming distributed user interfaces