Educational programming systems are booming. More systems of this kind have been published in the last few years than ever before, and interest in this area is growing. With the rise of programming as a school subject in ever-younger age groups, the importance of dedicated educational systems for programming education is increasing. In the past, professional environments were often used in programming teaching; with the shift to younger age groups, this is no longer tenable. New educational systems are currently being designed by a diverse group of developing teams, in industry, in academia, and by hobbyists. In this chapter, the authors describe their experiences with the design of three systems—Blue, BlueJ, and Greenfoot—and extract lessons that they hope may be useful for designers of future systems. The authors also discuss current developments, and suggest an area of interest where future work might be profitable for many users: the combination of aspects from block-based and text-based programming. They present their work in this area—frame-based editing—and suggest possible future development options.