If the mesh renders white or black it means there is some kind of error. If you only use one shader type opengl will automatically add a default shader for the missing one. In you case the error was in the comunication between the two shaders. There are many ways to code is glsl and opengl. It depends on the version you…
The version chaos is indeed a bit ugly with GL, ideally you would at least use #version 120 which is what GLSL ES 2.0 is similar to, #version 150 or 330 would be ES 3.0. Also if it's not too much work, try not to use any of the built-ins (gl_ModelView...) but manage uniforms yourself. Life should be easier by using a GLSL…