Don't hard code shader attribute location
Use model-view-projection matrix
Add functions to get unform/attrib locations from a shader
Change MVP matrix
Add camera class with LookAt function
Projection matrix is part of the camera