Basic Examples (2) 
Display the structure of a Graph expression's input form:
Explore the low-level structure of a graphics object produced by Plot. Try selecting subexpressions with the mouse, navigating with keyboard shortcuts, copying and editing code:
Copy a subexpression from above and use it in Graphics:
Applications (2) 
Compare the internal structure of similar objects generated in different ways:
Check the result of applying Normal to a graphics object:
Properties and Relations (4) 
InputForm always produces a one-dimensional representation of the expression in the form of pure text, suitable to be typed as Wolfram Language input via text-based interface. Within the notebook interface, semantic selection and code highlighting aren't available with InputForm expressions:
ShortInputForm produces shortened two-dimensional output, suitable to be used as input within the notebook interface. Semantic selection and code highlighting are turned on by default:
Special forms like NumericArray by default are kept untouched for readability, but can also be converted by applying ShortInputForm to them separately:
Such forms usually can be converted to normal expressions by applying Normal:
Possible Issues (3) 
By default ShortInputForm[expr] keeps untouched compound-type atomic objects when they are part of the supplied expression:
Use ShortInputForm[expr, Unevaluated] to convert most of them into actual input expressions revealing their low-level structure:
Alternatively, apply ShortInputForm to the atomic objects directly:
Neat Examples (3) 
Box structure inspection (1) 
Explore box structures generated by ToBoxes taking advantage of the easy-to-read representation generated by ShortInputForm:
PDF formatting (2) 
Create an auxiliary function that exports a supplied expression to PDF and then immediately imports the results as vector graphics:
Inspect the internal contents of returned graphics with ShortInputForm: