We present a model based on a dipole picture with a hard and a soft pomeron in which large dipoles couple to the soft pomeron and small dipoles couple to the hard pomeron. The parameters in the model are fixed by protonproton scattering and the proton structure function F 2 (x, Q 2 ). The model is then applied successfully to the proton charm structure function F c 2 (x, Q 2 ), the proton longitudinal structure function F L 2 (x, Q 2 ), J/ψ photoproduction, deep virtual Compton scattering γ * p → γp, the real photon-proton total cross section σ Tot γp (s), the real photon-photon total cross section σ Tot γγ (s), and the photon structure function F γ 2 (x, Q 2 ). Differences between our predictions and and data on charm production in real photon-photon interactions and the γ * γ * cross section σ Tot γγ (s) are discussed.