Showing posts with label future of software. Show all posts
Showing posts with label future of software. Show all posts

Sunday, November 02, 2008

Examining tool complexity

Tools and the science findings they enable evolve in lock-step. Many tools have been quietly transforming into complex entities of their own over the last several years. Exemplar contemporary tools on the landscape include many forms of the microscope, mass spectrometer, chromatograph, flow cytometer, and telescope.

The complex tools of today involve a hardware component together with many layers of software
for operating, enumerating and analyzing. The analytics software layer has become critical as mathematical modeling, simulation, automation, statistical computation and informatics are expected features. For example, the new biology extends traditional enumeration and experimentation with the additional steps of mathematical modeling and software simulation, and building test biological machines in the lab.

The increasing complexity of tools means that it is not possible to just wait for hardware speedups anymore, software is the weakest link (open source collaboration helps but only modestly), mathematical advances have been figuring most prominently and the cultural divide between hard science professionals and computer science, mathematics and statistical experts inhibits progress.

Thursday, October 05, 2006

To Web 2.0 or not to Web 2.0

Yahoo, Google, Microsoft and others are making their APIs open and increasingly easy to use. Often with only a few lines of copied and modified code, a Google map swatch or search bar or Flickr photo cloud providing visual accompaniment or now Yahoo mail information can be added to any website. Google's code is primarily client-side so can run more easily, Yahoo's mainly runs server-side and requires ISPs to have Apache 2.0 and PHP 5 installed.

Those sneaky software companies! At a basic level, open APIs expand the outsourcing trend from user-generated content to user-generated applications too. This actually benefits both the software companies and users.

At the more important conceptual level, open APIs are extending the componentization of software, which has been progressing in fits of cohesion and rollbacks of proprietary standards. As Jaron Lanier and others have long pointed out, the software industry lacks an effective standardized component library and rebuilds the wheel each time. The same point is made in global productivity speak by former McKinsey consultant William Lewis in "the Power of Productivity;" industries that standardized components early became leaders, homebuilding is a notable example.

Users featuring more prominently in the development process as well as other current factors such as Web 2.0 applications being organized in chunkable components may provide a stronger more fungible foundation for software development from which we can all benefit.