Phones and tablets are becoming as powerful as laptops and desktops. They're cheap, portable, and always with us. Why do we treat them as consuming devices, and not as productive devices? What if we could be as productive on a phone as we are on a computer? What's preventing this from happening? What's the bottleneck? - Performance? - Small display? - Lack of tools? - Design of programming languages? - Design of IDEs? - Slow input? I can obviously tell that Xcode doesn't run on my iPad, and that Visual Studio wouldn't be very usable on my smartphone. I've played with some mobile IDEs, and they're not great, whether I'm writing Java or JavaScript. I'm also aware of the lack of tools for debugging and what not. My question is whether or not we can expect professional software development to be performed on a mobile device in the future, or if we'll always rely on larger devices for some reasons.