
Our Programs Are Fun to Use - robin_reala
http://blog.codinghorror.com/our-programs-are-fun-to-use/
======
lazyjones
It amazes me how blind people who consider the web browser a great platform
for simple, fun teaching software are to the fact that the browser itself and
typical operating systems aren't simple and fun at all and cannot be easily
hidden from the user. They hit you in the face with a multitude of icons,
windows, menus, annoying animated effects in various tool- and menu bars. It's
in stark contrast to tablets and smartphones, where users just need to unlock
and press an icon to use an app (that will take over the whole display). The
(desktop and to some extent mobile) browser is just a terrible platform for
the user.

------
otakucode
I have been doing something a bit related to this. I've been approaching
programming as teaching. As I read books, I try to write code to accompany
them. If they have exercises, I write code that will solve them. It certainly
takes me to different challenges, things I don't normally face when writing
typical applications. I especially enjoy doing this with completely non-
computer-related textbooks, such as physics or chemistry books. In teaching
the computer how to do these things, I most definitely benefit in
understanding the tasks better myself.

Of course, when I do this I face some common hurdles. For instance, parsing
whatever representation is used (equations or chemical formulas or whatever).
In an 'interactive book' situation, I could see approaching an exercises
section with a proper parser made available, so the 'reader' could easily
manipulate the important portions of the problem. Other things come up too,
such as using clumps of data. Whether a list of atomic masses of a mole of an
elements atoms or proportional relationships between various factors, those
things ought also to be made available in easy-to-use data structures.

I could see the IPython Notebook environment growing in this direction easily.
People are already starting to use it as a platform for putting together
entire books with a great deal of interactivity built in. You execute the code
as you 'read' and see what it does step by step. In my opinion it should
replace any scientific papers presenting any sort of data analysis as soon as
possible. For whole-book projects, though, the platform needs some work. And
the creators are aware of this and intending to fix issues and add features to
support this. Read through their Issues page on Github sometime and you'll see
authors really pushing the bounds of what the Notebook format can do and
developers responding.

~~~
KurtMueller
Do you still do this? I'm currently going back to school for a degree in CS
and was thinking about doing something like this for my Calculus/Stats
class... maybe with Highcharts or even D3.

Do you have any recommendations if I take this approach?

