
The reflectance of the sphere seems a bit unrealistic. Are you using Fresnel's law? In real materials, as the angle between the camera ray and the normal of the object increases, so does reflectivity. Seems here you're using a Phong model. Too bad Phong has become so popular, when it is not at all physically based; it doesn't even meet basic constraints like conservation of energy. There are many other BRDFs that produce far more correct images, and they are not necessarily much more complicated than Phong.
Replying to the person asking why we all start with spheres and planes in our ray tracers, they simply provide the most trivial intersection tests. Additionally, the most common triangle intersection algorithms usually find the intersection with the triangle plane first, and then check if the point lies within the triangle itself (BTW I've tested several triangleintersection algorithms, and the best one is a barycentric coordinates test, where the geometry is projected on a 2D plane parallel to one of the axes).
