Sponsors

Project co-financed by ACIISI

Agencia Canaria de Investigación Ministerio de ... Plan Avanza

GNOME and the Opportunistic Application Programmer

Printer-friendly versionPrinter-friendly version
Author(s): 
Rick Spencer

When you are developing a platform, developers are your users too, and like any user they deserve the utmost in usability and user-centered design. 

To succeed, a platform must drive usability into developer tools such as editors, IDEs, API design, samples, documentation, and development environment. 

This talk will look at a different kind of developer as user, the opportunistic application developer. We'll look at their influence in the market place, as well as their goals and intentions. We'll look tools for programming on Windows, and on the web, and discuss how that experience compares to the experience of application programming on GNOME-based linux distros. 

How do they think? Many of these developers chose programming as a career for purely pragmatic reasons. While they may enjoy their jobs programming, their number one goal is to leave the office by 5pm. We'll discuss what they consider to be a good solution to a problem, and explore the different between programming in a systematic manner versus on opportunistic manner. 

We'll also look at their existing skills and abilities. 

What kind of apps do they write? 

Aside from customer facing web sites, they also create departmental applications. These are typically database applications that are geared for use in a specific department. They have a limited number of users, no applicability outside the department, and sometimes even a limited lifetime. 

How do other tools support them? 

We'll look at how Windows based tools cater to these users. Also, we'll look at how Ruby on Rails has won the hearts and minds of the opportunistic application developer. We'll look at their tools and their documentation. 

How do they see GNOME-based Linux distros? 

Using Ubuntu as an example, we'll look at what it's like for these users if their consider writing a rich client application for Linux. How do they choose tools and APIs? How do they learn to use those tools and APIs? What is database programming like for these user? What is the deployment process like to them, and how does it compare to the platforms they currently use? 

What can we do? 

We will discuss if a typical GNOME-based Linux distro can meet the needs of this user at all. We will discuss what plans, if any, the Ubuntu project has in this regard.

Author bio: 
Affiliation: Canonical Rick Spencer is the Engineering Manager for the Ubuntu Desktop. He started his career as a community mental health counselor, before joining Microsoft as a leader in usability, design, and program management for developer tools at Microsoft in various divisions. He also spent a stint running the web site for a largish real estate company in the Pacific Northwest. His educational background includes a bachelors in Philosophy, and a masters in Human Factors and Cognition.