This paper is a progress report on the Spike scheduling system, developed by the Space Telescope Science Institute for long-term scheduling of Hubble Space Telescope observations. Spike is an activitybased scheduler which exploits AI techniques for constraint representation and for scheduling search. The system has been in operational use since shortly after HST launch in April 1990. Spike has been adopted for several other satellite scheduling problems: of particular interest has been the demonstration that the Spike framework is sufficiently flexible to handle both long-term and short-term scheduling, on timescales of years down to minutes or less. We describe the recent progress made in scheduling search techniques, the lessons learned from early HST operations, and the application of Spike to other problem domains. We also describe plans for the future evolution of the system.