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 worldsBig 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
- Apple Automator
- Pd - PureData Dataflow Signal Processing
- Dataflow Programming on Wikipedia.
- Flow-based Programming article on FastCompany
- Flow-based_programming at Wikipedia
- Morrison article in IBM Systems Journal Flow-Based Programming book by Paul Morrison, website
- Article by Justin Bozonier
Flave - Renata Rubinsztajn's thesis - a functional visual language
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.
- Great video biography of Lady Ada Lovelace, the first programmer
- A general link on learning programming from Villanova University
- A page of resources for kids learning to program
- A page of resources relating to computer science and programming
- Some good resources though the domain has nothing to do with STEM
- Computer Science for K-12
- Sentient code from Wolfram Scientific
- Wolfram Alpha
- An artist who learned to code on the web
- Elisabeth Ashmore is a student at Clark High in Plano, Texas, who developed a high level, conversational programming environment.
- Purposive Drift on Hypercard
- This article argues for a return to simpler programming environments.
- A post about Codecademy
- Hypercard's 25th anniversary. That page has a pointer to Infinite Canvas See also an archive.org copy of a Computer Chronicles on Hypercard
- Bret Victor's Inventing on Principle talk and Learnable Programming essay.
- IF This Then That
- Zapier
- Light Table
- Yahoo Pipes
- Processing Language for programming media
- JBoss Drools - The Business Logic integration Platform
- Guide to computer skills (commercial site, but useful)