Simon Willison's Building Things Fast and Getting Approval presentation at An Event Apart Chicago outlined several development trends that are making it even easier to quickly build, test, and launch Web applications.
- Web development 4 years sucked. We built the same stuff over and over again. But lately there has been enormous progress on the front end and back end to help us build faster.
- Why do we want to do things faster? It’s cheaper, fun, and gives you an opportunity to get feedback early and fast.
- There’s a number of recent trends that aid rapid development: Web frameworks, APIs, Client-side prototyping, and interactive development.
- Client-side prototyping allows you to build rapid applications just using HTML, Javacript, and CSS. Server-side development often means deployment headaches that you can avoid when you build in the client.
- JSON-P (with padding) allows you to add functional calls to data that exists on third part Web sites. So a Web browser can run code from a different URL This gets around same origin cross-scripting.
- The same origin policy: protected users from un-trusted Web sites running code on a trusted site.
- Server-side prototyping has also changed due to the rise of modern frameworks: Ruby on Rails, Symfony, CakePHP. These are all full-stack frameworks so they handle everything you need to build a Web application.
- DRY = don’t repeat yourself. Identifies common patterns and builds them into a framework.
- Rapid development in a group. Pair programming increases productivity and helps keep focus.
- KJ Method –a way of achieving consensus in a group. Helps to ensure everyone agrees to the same thing. Brainstorm every feature they can think of then post them to a board. After, people group these features into related bundles. All of this is done in silence until the first round is organized. Then everyone gets five votes on prioritizing features. At the end everyone has had an equal say in what is being built.
- Making your organization more hackable. Hack days give people 24 hours to create something and demo it. These events help people bring new ideas into the organization.
- APIs can also increase your team’s ability to explore new ideas and products. If you don’t have a lot of APIs, you can leverage existing RSS feeds or use screen scraping (scrAPIs).
- Open source is an ecosystem. You can evaluate and try software without lock in. If you buy commercial software, you have to use it.
- Should you release your own code? Sites like github allow you to practice “fire and forget” style of code sharing. People can fork code and create their own version.
Check out my notes from three years of An Event Apart presentations.