Blog

Unhosted web apps

The Unhosted project offers a new path for web development that is technically and socially significant. The key idea is: browser-based apps with no server-side backend. This is done using standardised remote-storage with various new web/browser features (WebStorage, CORS, WebFinger,OAuth). The result: first, it unifies development work into the browser; second, it shifts the balance of control of data toward users. It also leads to a web not of pages but general data.

Posted by HXA on 4th November 2012.

Federated Wiki - the next evolution of the wiki

Ward Cunningham, inventor of the wiki, has extended his original ideas and built a working prototype known as the 'Smallest Federated Wiki'. It is open source and there are Ruby or Node versions. For more information see c2.com/cgi/wiki?SmallestFederatedWiki. (c2.com was the first wiki to appear, it was developed by Cunningham and is about programming).

Posted by Mark on 14th September 2012.

Node.js - Javascript for back-end development

See nodejs.org. The project is immature but seems to be going somewhere; even Crockford blesses it. Node utilises server resources very efficiently and is suitable for developing lightweight networked server processes. It may affect mainstream web development by encouraging a move away from the 'serving pages' model. Node's programming model (event-driven I/O) can have its difficulties but oddly enough front-end developers familiar with Ajax applications may find it quite natural.

Posted by Mark on 14th September 2012.

Javascript ecosystem flourishes

River Trail is a javascript engine that supports data parallel processing. Emscripten allows programs written in many languages to be translated into Javascript. WebGL lets browsers use 3D graphics hardware acceleration. WebRTC enables video/audio/data streaming directly between browsers. Web workers support multithreaded Javascript on the browser. Web Sockets provide efficient low level browser/server network connections. Web apps may soon use cameras, audio, GPS and others.

Posted by Mark on 14th September 2012.

Programming language choice

Small languages are the true way. For low level control of the machine - C or perhaps a very limited subset of C++. For large projects, Go seems like a better choice than C# or Java; fast compilation, built-in concurrency and an interesting way of using interfaces instead of classical style object orientation. For web development Javascript can be used on both client and server and has dynamic typing, nestable key/value pairs, first class functions, closures and prototypical inheritance.

Posted by Mark on 14th September 2012.

The Mother of All Demos

Douglas Engelbart, demonstrating the NLS system at a conference in 1968. It shows the results of revolutionary research concerning the use of computers to 'augment collective human intellect', conducted at SRI in the sixties. Many technologies are shown including the mouse, hypertext, video conferencing and real-time collaboration. Some aspects of the system are not widely available, even 40 years later.

Posted by Mark on 14th September 2012.

Xanadu Space

Ted Nelson discusses the limitations of current technology for managing documents and demonstrates XanaduSpace. Nelson's Xanadu project, which has been running since 1960, is notable for its ideas, but has not led to their wide adoption. See also a playlist for Nelson's 'Computer for Cynics' or a fairly complete list of all his videos.

Posted by Mark on 14th September 2012.

Inventing on Principle

Bret Victor shows a system for interactively visualising the execution of a program. His website contains some interesting material on user interface design and data visualisation. Also see his presentation about the future of programming.

Posted by Mark on 14th September 2012.

Normal considered harmful

Alan Kay gives a talk on research and innovation with a historical perspective. See also his talk on the history of computing.

Posted by Mark on 14th September 2012.