Microsoft, IBM highlight software development advances

Event at Big Blue's Silicon Valley facility focuses on the future of development, bridging the gap between developers and designers, and upcoming developer tools

Microsoft, IBM, and Adobe cited during a conference at an IBM facility on Thursday ongoing  efforts to improve the lives of programmers and designers.

The event also  featured a university professor emphasizing how difficult it still is for non-programmers to get involved in programming.

[ Check out the highlights of Microsoft's Visual Studio 2010 IDE. ]

Revelations and perspectives were offered at a conference entitled "The Future of Design and Software Development," held at the IBM Almaden Research Center in San Jose, Calif.

Microsoft Senior Researcher Gina Venolia cited a  Microsoft Research project called "Code Canvas," which falls under the domain of code "spatialization." She likened the concept of code spatialization to a roadmap of code, helping developers understand complexities and changes in code.

"I think of it as a map. Just like a roadmap that you would unfold that conveys information of different types and at different levels," she said in an interview after her presentation. "That's what we're trying to do, we're trying to give developers a roadmap to their code."

With Code Canvas, Microsoft seeks to incorporate spatial orientation of code as the foundation of an IDE, according to a blog entry on Code Canvas by Microsoft Research Software Design Engineer Kael Rowan.

"It is a spatial (2.5D) representation of source code, visual designers, and project-related artifacts that utilizes infinite panning and smooth semantic zoom for navigation. It is also extensible to allow analysis overlays and graph-based relationship visualizations,"  Rowan said.

"Whenever a developer draws their code on a whiteboard, they are applying a sense of space to their software that includes directional relationships and architectural boundaries. Code Canvas lets developers write their code on a two-dimensional infinite canvas instead of in tabbed editors, so all of their source code is arranged in the same way as it would be on the whiteboard.  They can still write code as they do today, in C# or C++ or whatever, but the directional relationships and architectural boundaries are part of the same canvas, and they can easily navigate and zoom smoothly in and out to understand everything at once," said Rowan.

Asked if Code Canvas might form the basis of some future technology for Microsoft's Visual Studio IDE, Venolia responded that Code Canvas was just a research project at this point. Code Canvas is not related to the HTML 5-based Canvas technology for 2D drawing on Web pages.

IBM, meanwhile, cited several ongoing efforts in the tools space, including Highlight, a tool for taking a complicated Web site designed for a desktop environment and porting it to a mobile system. The tool watches what is done a Web site and collects what is needed to put it on a mobile device, said IBM researcher John Barton.

Another project, Firebug, is an open source application already in use for Web site development. "It's a debugger for Web pages that works in FireFox, and it's widely used for developing Web sites," Barton said in an interview.

IBM's CoTester project leverages the CoScripter language for automating Web sites and sharing scripts that automate sites. "Now, we're applying that scripting technology to the testing problem, to testing Web sites," Barton said.  Another effort involves using the ShapeWriter text input technology as a mechanism for handheld devices.

An Adobe official cited disconnects between developers and designers and suggested ways to make programming more accessible for designers. Access to a system should be easy and the experience playful, , said Adobe's Eithan Eismann, experience design manager the company.  He suggested a workflow involving phases including inspiration, access, experimentation, failure and investigation.

"Designers aren't developers, and they don't think like developers," Eismann said. He also touted Adobe's Flash Catalyst design tool for building user interfaces without coding.

Also at the event, Brad Myers, a professor in the Human Computer Interaction Institute School of Computer Science at Carnegie Mellon University, pointed out obstacles that still exist to enabling non-programmers to program, even as more people are getting involved with computers in various capacities.

"It's amazing the breadth of people who are doing programming," such as musicians processing sounds, Myers said. Still, programming remains mostly out of reach for the untrained, he stressed.

"Clearly, end-user programming, even after 40 years of research, hasn't really succeeded," said Myers. He cited WordBasic as an attempt at end-user programming that then evolved into more complex Visual  Basic, and then developers turned to C# to meet their needs, he said.

There have been varying efforts to bring programming to the masses, including visual programming, which does not scale, said Myers. Other efforts have included programming by example, simpler textual languages like Basic and Pascal, and structured editing.

Copyright © 2009 IDG Communications, Inc.