I don't have a type of app in mind. I'm exploring several things at the same time:
• What if we took away the row-and-column aspect of a spreadsheet, and just kept the cells, where a cell is something that holds an object definition?
• And what if when you decide to create a new cell/object definition, it’s based on a predefined object type, such as of a number, text, an image, a sound, etc. (as opposed to spreadsheets, where you can't immediately tell whether a number in a cell is numeric or text)?
• And what if predefined object types have predefined attributes, such as ‘value’ for primitive object types, X and Y coordinates for object types that can be displayed, etc.?
• And what if the programmer provides value definitions to whichever attributes she likes, such as literal values or formulas that reference values of other attributes?
• And what if an app is defined as a collection of these cells/object definitions and the value definitions of their attributes, just as in a spreadsheet?
• And what if "running" the app simply means instantiating the cells and letting them "do" whatever their object types "do" (e.g., an image-type object "displays" if its X and Y attributes have values; a sound-type object makes a sound if its ‘volume’ attribute is set to some nonzero value which, according to its value definition, happens when the value of some boolean-type attribute of another object changes)?
• And what if, as in a spreadsheet, a behind-the-scenes manager propagates value changes to various object attributes when the values of other object attributes change, and this is what manages the app’s behavior?
• And what would all this look like as text-based programming (as opposed to visual programming like Scratch)?
• And could we eliminate syntax errors using a structure editor, where the keyboard is only used when naming objects, entering literal values, and editing comments?
• And what if the structure editor is in the form of context menus?
• And what if tapping different types of code elements opens different context menus, each only showing valid programming options based on the tapped code element type?
• And would this mean that we could program on our phones and tablets?