Kit

Programming For the Rest Of Us

Democratizing Programming

Programming For the Rest Of Us - Other Projects

We're not the only ones thinking that programming has to be democratized! The phrase "Programming For the Rest Of Us" produces over 250K hits on Google. This is the place to find out about other takes on this problem and links to resources trying to solve the same problem, or having technology that has influenced us.

Learning to Program

There are many efforts to help people learn to program, including Ladies Learning Code, Girl Develop It, Skillcrush, Codecademy, Khan Academy, Hacker School, Programming Without Coding, and Canada Learns Coding. There is an ad campaign and a push on by code.org to help people learn to code, including pointing at several of the sites above. There was also a recent episode of Spark that had a significant piece on coding. A young girl named Zelda recently forwarded a link to a list of resources for Computer Coding for Kids. Another young girl named Amelia forwarded another link to a list of resources for A STEM Student's Guide: Learning to Code and Design Video Games.

The thing that all of these have in common is that they describe coding/programming as hard/tricky/requiring-persistence. And they are all talking about fairly traditional programming languages and environments. The Rise of the Citizen Developer is an interesting article, although they are still talking about traditional programming. While these are all valuable, and there are many things to be learned by programming in these ways, we believe that you will never get 1/2 the population of the world programming that way - either an easier way has to be available or they will all wait until there are artificial intelligence systems that can take verbal descriptions of a problem and write a program to solve it.

But, we believe that, "Everybody should be able to access and manipulate the data in the world that surrounds them." So we're working on languages and environments that impose the smallest possible impediment to getting started, and growing in the ways that seem most relevant to the individual.

Expanding World

Tim Berners-Lee on the making of new worlds

Big Data

Martin Fowler has a very insightful slide deck on "Big Data", pointing out that the importance of the data is not a function of how "big" it might be.

Open Data

Usability

Nielsen Norman Group Study of Modile Web/Apps

Research Forums

Ubiquitous Learning has conferences and journals about the area.

Software Composition Conference

Dataflow Languages

Competitors and Similar Projects

  • Marten is an implementation of Prograph, one of the first dataflow-based visual programming environments.
  • NoFlo is a an open-source, dataflow/visual language for building apps for the browser, connecting together open-source modules. A kickstarter project is funding a visual design editor for the browser.
  • meemoo is a an open-source, dataflow/visual language for building creative apps in the browser, connecting together open-source modules.
  • quadrigram is a commercial project that has similar goals to ours in terms of visual dataflow programming for big data. They are certainly ahead of us in terms of history and support for inputs and visualizations. We are ahead of them in terms of vision, cost, and ease-of-use.
  • Quartz Composer is a language for creating GUI applications, used by Facebook, among others. Produced by Apple, it is free to download.
  • VUO is an open-source "Media Composing" system.
  • Vvvv is a general purpose toolkit with a special focus on real-time video synthesis and programming large media environments with physical interfaces, real-time motion graphics, audio and video. Free for non-commercial work.
  • LabVIEW is a system-design platform and development environment for a visual programming language from National Instruments.
  • Microsoft Touch Develop

Visual Programming

  • Scratch
  • DRAKON is a visual programming language developed by the Soviet/Russian Buran space project. It is a control-flow language, rather than a data-flow language.

Data Visualization

Miscellaneous

For now, this is essentially just a list of links to things we find interesting.