A Debugging Perspective on End-User Mashup Programming

Total Page:16

File Type:pdf, Size:1020Kb

A Debugging Perspective on End-User Mashup Programming 2010 IEEE Symposium on Visual Languages and Human-Centric Computing A Debugging Perspective on End-User Mashup Programming Jill Cao1, Kyle Rector1, Thomas H. Park2, Scott D. Fleming1, Margaret Burnett1, Susan Wiedenbeck2 1Oregon State University 2Drexel University {caoch, rectorky, sdf, burnett}@eecs.oregonstate.edu {tp352, sw53}@drexel.edu Abstract Our first goal was to understand the debugging In recent years, systems have emerged that enable strategies that end users use in programming mashups. end users to “mash” together existing web services to Prior studies on debugging have identified debugging build new web sites. However, little is known about strategies used by end users in spreadsheet [16] and how well end users succeed at building such mashups, scripting environments [7]. Understanding such strate- or what they do if they do not succeed at their first at- gies has provided valuable insights into how such envi- tempt. To help fill this gap, we took a fresh look, from ronments can be improved to support debugging strat- a debugging perspective, at the approaches of end us- egies [16]. ers as they attempted to create mashups. Our results Our second goal was to understand the impact of reveal the end users’ debugging strategies and strategy gender differences on how end users debug mashups. barriers, the gender differences between the debugging Prior work in the context of spreadsheet and scripting strategies males and females followed and the features environments has shown that gender differences can they used, and finally how their debugging successes play an important role in the adoption of strategies [7, and difficulties interacted with their design behaviors. 16] and the usage of features that support the strate- gies [2]. Understanding such differences has revealed 1. Introduction gender biases and informed tool designs that narrowed the gender gap while benefitting both males and fe- Mashup programming is a relatively new paradigm males [6]. We seek to extend these findings to mashup in end-user programming. Mashups repurpose and environments. combine existing web content and services to meet the Our third goal was to understand how debugging specific needs of the user. For instance, an avid news interacts with design when end users create mashups. follower might build a mashup that combines news Our prior study [3] revealed that instances of design feeds from MSN, New York Times, and Fox, and that permeated the end users’ programming processes while filters the content based on his favorite topics (e.g., creating mashups. Furthermore, viewing mashup pro- world news and business). There are a wide variety of gramming through the design lens produced promising mashup programming environments, such as Microsoft design implications for mashup environments. In this Popfly, Intel Mash Maker, and Yahoo! Pipes. Howev- work we seek to extend these findings and implications er, little is known about how well these environments by focusing on debugging. support the “mashing” needs of end users. Our work Given these three goals, our investigation sought to seeks to fill this knowledge gap. answer the following research questions: While conducting a recent study of end users build- RQ1: What debugging strategies do end users adopt ing mashups [3], we noticed that participants spent a when they are creating mashups? What bar- substantial amount of time (76.3%) debugging. This riers do they encounter? observation suggests that they tended to “debug into existence”—that is, they created their mashups through RQ2: Are there gender differences in end users’ a process of successive refinement, which was driven usage of debugging strategies in mashups? by the finding and fixing of bugs [13]. Given the pre- RQ3: How does debugging interact with design when valence of debugging activity, we believe that effective end users are creating mashups? debugging support is critical for successful mashup environments. 2. Related Work Therefore, in this paper, we report on a new analy- Despite the proliferation of mashup environments, sis of that study, from the perspective of end users’ research has found that end users’ lack of technical debugging behaviors and barriers while creating ma- expertise is a serious barrier to creating mashups [10, shups. Our investigation had three main goals. 19]. In response to this problem, researchers have pro- 978-0-7695-4206-5/10 $26.00 © 2010 IEEE 149 DOI 10.1109/VLHCC.2010.29 posed mashup environments (e.g., Vegemite and Ma- Procedure. The study used the think-aloud method, so shroom) that reduce such barriers by using techniques we conducted it one participant at a time. Participants such as direct manipulation, programming-by- first filled out a background questionnaire and worked demonstration, and intuitive nested-table data struc- on a 20-minute tutorial that familiarized them with tures. Usability studies have demonstrated that such Popfly. They then completed a self-efficacy question- environments can significantly benefit end users. naire [4], which we adapted to the task of mashup crea- A few studies have explored end-user perceptions tion. Participants then practiced “thinking aloud” be- of mashups systems. In a survey of end users [22], fe- fore proceeding to the main task. males expected mashup creation to be more difficult The task involved creating a mashup to include (1) than did males, suggesting gender differences in self- a list of local theaters, (2) the movies being shown at efficacy. To inform the design of mashup tools, Zang each theater along with information such as show and Rosson [23] investigated end users’ mental models times, (3) a picture for each movie, and (4) a news sto- of mashups—for example, how users thought about ry about each movie. Participants had 50 minutes to relationships in online data, and how they might like to complete the task. If they were unable to make integrate data. Jones and Churchill [8] studied the on- progress for 15 minutes, the researcher administered an line forums of Yahoo! Pipes users to understand how additional 5-minute mini-tutorial. Although this tutori- end users collaborate to resolve problems. al may have influenced participants’ behaviors, we Our investigation complements the above research relate its effect to encountering a well-chosen example. by investigating how users go about debugging while Half of the participants (2 males, 3 females) received building mashups. The investigation differs from the the mini-tutorial, and it proved helpful to three of them existing literature on end-user debugging (e.g., [7, 16]) (2 males, 1 female). We collected video data (including in two ways. First, prior studies asked participants to facial expressions) as well as the final mashups. find and fix seeded defects in spreadsheets or scripts. Our study asked participants to create mashups; thus, 4. Analysis Methodology debugging was not the central goal. Second, our inves- Participants debugged intermittently as they created tigation is the first to look at strategies, design beha- their mashups. Thus, we first identified sections of the vior, and gender differences in the debugging of ma- transcripts in which participants were debugging (i.e., shups. attempting to correct problems they had introduced). We then performed a protocol analysis on those sec- 3. Empirical Study tions. This investigation entailed a new analysis of data Grigoreanu et al.’s collection of debugging strate- from a previous study [3] in which we observed ten gies [7] served as the basis for our strategy analysis participants engaged in a mashup-creation task using (Table 1). Two researchers independently coded all Microsoft Popfly Mashup Creator. transcripts with the strategy codes, then jointly re- Participants. Participants comprised four female and six male college students from a wide variety of majors (e.g., biology, nutrition science). None were CS stu- dents, and none had taken CS courses beyond the ele- mentary level. One female and four males had past programming experience either in high school, college, or both (no more than two courses). Popfly Mashup Creator. In Popfly, users build ma- shups in a dataflow style using blocks. A block per- forms a set of parameterized operations such as data retrieval and data display. Users connect blocks to route the output of one block into the input of another. Figure 1 shows a Flickr block sending images and geographical coordinates of “beaches” to a Virtual Earth block (top, middle) to display the images on a map (bottom). Popfly users can make their projects public and access others’ public projects. (More details of Popfly are given later.) Figure 1. Example mashup in Popfly. Top: the blocks. Mid- dle: block settings. Bottom: the running mashup. 150 solved any inconsistencies. spection co-occurred the most (99 participant minutes), Framing captures a designer’s efforts to understand agreeing with previous results [16]. Other frequent co- and define a design problem, and determines the boun- occurrences were Dataflow and Testing (58), and Code daries for designers’ actions in solving the problem Inspection and Dataflow (53). [14]. Designers frame a problem by identifying areas In the remainder of this section, we focus on Code of the solution space that they want to explore [5]. Inspection, Dataflow, and Help, which were the strate- When designers choose an unworkable frame, they gies in which barriers arose. We also describe an anti- must reframe, which involves assessing and then mod- barrier associated with Feedback Following. ifying or replacing the current frame. Code Inspection: Getting eyes on the code. In Popf- As a conservative approach to coding reframing, we ly, Code Inspection involved scrutinizing the mashup coded only those instances that were evidenced by ac- logic, such as block settings and inter-block connec- tions. Two types of actions indicated reframing: (1) tions. Participants encountered two prominent barriers adding/removing a block, and (2) adding/removing in applying this strategy. First, Popfly blocks are connections between blocks.
Recommended publications
  • Information on the Web: How End Users Make Use of Data
    2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) Information on the Web: How End Users Make Use of Data Nan Zang College of Information Sciences and Technology The Pennsylvania State University [email protected] 1. Introduction In this paper I briefly review my preliminary studies of end users’ understanding and expectations of online In recent years, the proliferation of online authoring information activities. I consider some features of cur- tools and services has encouraged end users to share rent tools that might be useful to such users and de- their own creations on the web. As of January 2009, scribe how this preliminary work has led to a set of the video web site YouTube is averaging 15 hours of research questions that will be used to guide the next video uploaded every minute [6]. For many users, the phase of my work. best and sometimes only way to sift through the enor- mous amount of information that results are search 2. What information do end users deal with engines. But while search engines provide users with a on the web? general method for locating information, a single query is not always sufficient. Moreover, search engines pre- Our past work has identified a population of end us- sent users with pages related to their search terms, but ers who have little or no programming skills, but do further analysis and integration of the information be- have the technical initiative to take on new challenges comes its own task. As for any open-ended task, Web to improve their experiences online [7].
    [Show full text]
  • Enterprise 2.0
    Enterprise 2.0 Social Networking Tools to Transform Your Organization © 2013 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business Jessica Keyes CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2013 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Printed in the United States of America on acid-free paper Version Date: 20120523 International Standard Book Number: 978-1-4398-8043-2 (Hardback) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmit- ted, or utilized in any© form 2013 by any electronic,by Taylor mechanical, & Francis or other means, Group, now known LLC or hereafter invented, CRCincluding Press photocopying, is an imprint microfilming, of Taylor and recording, & Francis or in any informationGroup, storagean Informa or retrieval business system, without written permission from the publishers.
    [Show full text]
  • Improving the Responsiveness of Internet Services with Automatic Cache Placement
    Short Paper: Improving the Responsiveness of Internet Services with Automatic Cache Placement Alexander Rasmussen Emre Kıcıman Benjamin Livshits University of California San Diego Madanlal Musuvathi [email protected] Microsoft Research femrek,livshits,[email protected] Abstract To receive the optimal benefit, a cache must be placed with careful consideration of incoming workload distribu- The backends of today’s Internet services rely heavily on tions, cached data sizes, consistency requirements, compo- caching at various layers both to provide faster service to nent performance, and many other issues. Unfortunately, common requests and to reduce load on back-end compo- many of these are cross-cutting concerns, and fully under- nents. Cache placement is especially challenging given the standing the implications of a particular cache placement re- diversity of workloads handled by widely deployed Internet quires a deep understanding of the entire system. services. This paper presents FLUXO, an analysis technique Today’s deployed systems largely rely on developer’s in- that automatically optimizes cache placement. Our experi- tuition accompanied by localized profiling to select between ments have shown that near-optimal cache placements vary cache placements [Henderson 2008]. For instance, a service significantly based on input distribution. architect might use cross-tier caching to alleviate a locally Categories and Subject Descriptors H.3.5 [Online In- observed performance bottleneck. However, he or she might formation Services]: Web-based services; D.4.2 [Storage not realize the implications of this local decision on the re- Management]: Distributed memories; D.4.7 [Operating mainder of the system. Making matters more difficult, both Systems]: Distributed systems; D.3.2 [Language Classifi- the service itself and the input workload are subject to rel- cations]: Data-flow languages atively frequent changes.
    [Show full text]
  • Mashup 2. Mashup
    Mashup 2. Mashup: A mashup is a Web page or application that uses and combines data, presentation or functionality from two or more sources to create new services. The term implies easy, fast integration, frequently using open API (Application Programming Interface) and data sources to produce enriched results that were not necessarily the original reason for producing the raw source data. 3. Good ideas behind Mashup: Allow information to be viewed from different perspectives (e.g., view real estate data on a ¬ map) Combine data from multiple sources into a single unified view (e.g., compare gas prices in the ¬ neighborhood). Enrich raw data with new information (e.g., view eBay real estate auction along with Amazon) ¬ 4. Mashups have recently exploded on the web, for two main reasons. • First, many of the major internet companies, such as Yahoo! , Google , and Amazon ,have opened up their data to be used with other data sources without a lengthy licensing negotiation. In just a minute or two, you can set up and use the data resources they make available. • The other reason for this rapid growth is the advent of new tools that make creating mashups easy for anyone, regardless of their technical know-how. 5. Recent Common Services! (Similar to mashup) a) Web Portals: Yahoo! provide information of different kinds under a single unified theme. 6. Recent Common Services! (Similar to mashup) b) Web Information Aggregators: (MySimon) etc. provide price comparison services for many products. c) RSS (Really Simple Syndication): collect feeds from different news sites to create a news channel.
    [Show full text]
  • Web GIS in Practice VI: a Demo Playlist of Geo-Mashups for Public Health Neogeographers Maged N Kamel Boulos*1, Matthew Scotch2, Kei-Hoi Cheung2,3 and David Burden4
    International Journal of Health Geographics BioMed Central Editorial Open Access Web GIS in practice VI: a demo playlist of geo-mashups for public health neogeographers Maged N Kamel Boulos*1, Matthew Scotch2, Kei-Hoi Cheung2,3 and David Burden4 Address: 1Faculty of Health and Social Work, University of Plymouth, Drake Circus, Plymouth, Devon, PL4 8AA, UK, 2Center for Medical Informatics, School of Medicine, Yale University, New Haven, CT, USA, 3Departments of Anesthesiology and Genetics, School of Medicine, and Department of Computer Science, Yale University, New Haven, CT, USA and 4Daden Limited, 103 Oxford Rd, Moseley, Birmingham, B13 9SG, UK Email: Maged N Kamel Boulos* - [email protected]; Matthew Scotch - [email protected]; Kei- Hoi Cheung - [email protected]; David Burden - [email protected] * Corresponding author Published: 18 July 2008 Received: 6 July 2008 Accepted: 18 July 2008 International Journal of Health Geographics 2008, 7:38 doi:10.1186/1476-072X-7-38 This article is available from: http://www.ij-healthgeographics.com/content/7/1/38 © 2008 Boulos et al; licensee BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Abstract 'Mashup' was originally used to describe the mixing together of musical tracks to create a new piece of music. The term now refers to Web sites or services that weave data from different sources into a new data source or service.
    [Show full text]
  • Scientific Mashups
    Scientific Mashups: Runtime-Configurable Data Product Ensembles Bill Howe1?, Harrison Green-Fishback2, and David Maier2 1 University of Washington ([email protected]) 2 Portland State University (fhgmf, [email protected]) Abstract. Mashups are gaining popularity as a rapid-development, re- use-oriented programming model to replace monolithic, bottom-up appli- cation development. This programming style is attractive for the \long tail" of scientific data management applications, characterized by ex- ploding data volumes, increasing requirements for data sharing and col- laboration, but limited software engineering budgets. We observe that scientists already routinely construct a primitive, static form of mashup|an ensemble of related visualizations that convey a specific scientific message encoded as, e.g., a Powerpoint slide. Inspired by their ubiquity, we adopt these conventional data-product ensembles as a core model, endow them with interactivity, publish them online, and allow them to be repurposed at runtime by non-programmers. We observe that these scientific mashups must accommodate a wider audience than commerce-oriented and entertainment-oriented mashups. Collaborators, students (K12 through graduate), the public, and pol- icy makers are all potential consumers, but each group has a different level of domain sophistication. We explore techniques for adapting one mashup for different audiences by attaching additional context, assigning defaults, and re-skinning component products. Existing mashup frameworks (and scientific workflow systems) emphasize an expressive \boxes-and-arrows" abstraction suitable for engineering individual products but overlook requirements for organizing products into synchronized ensembles or repurposing them for different audiences. In this paper, we articulate these requirements for scientific mashups, describe an architecture for composing mashups as interactive, reconfig- urable, web-based, visualization-oriented data product ensembles, and report on an initial implementation in use at an Ocean Observatory.
    [Show full text]
  • Mashup Development Seminar
    Mashup Development Seminar Tampere University of Technology, Finland Prof. Tommi Mikkonen Dr. Antero Taivalsaari Fall 2008 http://www.cs.tut.fi/~taivalsa/kurssit/MADS2008/ Background • History of computing and software development is full of disruptive periods and paradigm shifts. • The computing industry reinvents itself every 10-15 years. • Examples of disruptive eras: > Minicomputers in the 1970s > Personal computers in the 1980s > Mobile software and Web 1.0 in the late 1990s 2 The Next Paradigm Shift! • The widespread adoption of the World Wide Web is reshaping our world in various ways. • Documents, photos, music, videos, news and various other artifacts and services have already started migrating to the Web. • Many industries (e.g., publishing and entertainment) are currently undergoing dramatic transformations. • The software industry is on the brink of a similar transformation, or a paradigm shift. 3 Evolution of the Web 1) Simple pages with text and static images only (e.g., http://www.google.com) 2) Animated pages with plug-ins (e.g., http://www.cadillac.com) 3) Rich Internet Applications (e.g., docs.google.com) What's Next? 4 Web Software – Implications • Web-based software will dramatically change the way people develop, deploy and use software. • No more installations! > Applications will simply run off the Web. • No more upgrades! > Always run the latest application version. • Instant worldwide deployment! > No middlemen or distributors needed. • No CPU dependencies, OS dependencies, ... > The Web is the Platform. 5 Unfortunately... • The web browser was not designed for running real applications. > It was designed in the early 1990s for viewing documents, forms and other page-structured artifacts – not applications.
    [Show full text]
  • Open Linked Widgets Mashup Platform
    Open Linked Widgets Mashup Platform Tuan-Dat Trinh1, Peter Wetz1, Ba-Lam Do1, Amin Anjomshoaa1 Elmar Kiesling1, A Min Tjoa1 1Vienna University of Technology, Vienna, Austria {tuan.trinh, peter.wetz, ba.do, anjomshoaa elmar.kiesling, amin}@tuwien.ac.at Abstract. Since the emergence of the mashup concept on the web around 2005, a large stream of academic research and industrial development resulted in nu- merous architecture proposals, platforms and editing tools. This strong initial interest in mashup technologies and promising use case demonstrations not- withstanding, however, commercial platforms such as Microsoft Popfly, IBM Mashup Center, and Google Mashup Editor failed to gain widespread adoption by consumers and enterprises and were eventually discontinued. This failure may be attributed to a number of common limitations of these platforms: (i) they are each useful only for a single or a limited number of restricted problems in specific domains; (ii) they are closed, i.e., developers cannot contribute and share their widgets; (iii) widgets, which are crucial elements of any mashup platform, are usually not modeled in sufficient semantic detail to support widget search and composition features that facilitate reuse. This paper addresses these limitations by introducing an open mashup platform based on semantic web technologies. We present a novel architecture in which widgets equipped with a semantic, graph-based model can cooperate with each other in a mashup created by end users through simple drag and drop operations. Widgets created freely by independent developers and hosted on arbitrary servers can be discovered and combined easily through our introduced semantic search feature. 1 Introduction Mashups are based on the idea of “using content from more than one source to create a single new service displayed in a single graphical interface” [5], thereby making existing data more useful.
    [Show full text]
  • Definition, Challenges, Methodical Guide and Tools for Mashups
    Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups Agnes Koschmider Victoria Torres Vicente Pelechano Institute of Applied Informatics and Centro de Investigación Pros Centro de Investigación Pros Formal Description Methods Universidad Politécnica de Valencia Universidad Politécnica de Valencia Universität Karlsruhe (TH) Valencia, Spain Valencia, Spain Karlsruhe, Germany +34 963877000 +34 963879350 +49 721 6084522 [email protected] [email protected] agnes.koschmider@ aifb.uni-karlsruhe.de ABSTRACT transparent in comparison to conventional application integration platforms. Mashups are a current hype that is attracting high interest by When undertaking a literature review about mashups then the academia and industry now and in the next years. The idea behind search results about methodologies or infrastructures for mashup a mashup is to create new content by reusing and combining constructions are disillusioning. The amount of comprehensible existing content from heterogeneous sources. Advantages of approaches proposed so far is minimal and no clear line exists mashups are that even people with no knowledge of programming between mashups and technologies such as Service-oriented languages can easily build new Web applications and create new Architecture (SOA). The confusion even starts when looking for a forms of visualizations. To support the mashup construction generic definition of mashups. The definitions proposed in the process several tools have been proposed with easy-to-use literature span technical, business (in sense of economic) or functionalities. However, from the research perspective it is industry perspectives. The next confusion follows when searching dissatisfying that neither a clear definition and classification for a classification model for mashups.
    [Show full text]
  • Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups
    Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups Agnes Koschmider Victoria Torres Vicente Pelechano Institute of Applied Informatics and Centro de Investigación Pros Centro de Investigación Pros Formal Description Methods Universidad Politécnica de Valencia Universidad Politécnica de Valencia Universität Karlsruhe (TH) Valencia, Spain Valencia, Spain Karlsruhe, Germany +34 963877000 +34 963879350 +49 721 6084522 [email protected] [email protected] agnes.koschmider@ aifb.uni-karlsruhe.de ABSTRACT transparent in comparison to conventional application integration platforms. Mashups are a current hype that is attracting high interest by When undertaking a literature review about mashups then the academia and industry now and in the next years. The idea behind search results about methodologies or infrastructures for mashup a mashup is to create new content by reusing and combining constructions are disillusioning. The amount of comprehensible existing content from heterogeneous sources. Advantages of approaches proposed so far is minimal and no clear line exists mashups are that even people with no knowledge of programming between mashups and technologies such as Service-oriented languages can easily build new Web applications and create new Architecture (SOA). The confusion even starts when looking for a forms of visualizations. To support the mashup construction generic definition of mashups. The definitions proposed in the process several tools have been proposed with easy-to-use literature span technical, business (in sense of economic) or functionalities. However, from the research perspective it is industry perspectives. The next confusion follows when searching dissatisfying that neither a clear definition and classification for a classification model for mashups.
    [Show full text]
  • Introducing Microsoft Web Technologies
    Software + Services : Extending Rich User Experience to the Web Linda Chong Architect Evangelist Developer & Platform Evangelism Microsoft Singapore Agenda • Software + Services • The Next Web Evolution • Microsoft Next Web Technologies • User Experience – Silverlight • Windows Live Platform Services • Real life examples/showcases What's Next? SaaS? SOA? Web 2.0? ??? Web Client- Server Mainframe The Common Denominator SaaS Service delivery SOA Service composition Web 2.0 Service experience & economics Services are software + Take an expansive view + Need integration + Want platform = Software + Services The Next Wave Software + Services Web Client- Server Mainframe Software + Services iTunes Service – Updates, Music + iPod – device software iTunes – Software, Rip / Rich User Interface Software + Services XBOX LIVE – networked game-play, updates, profile, arcade + Xbox – device and state- of-art gaming experience Xbox.com – personalized portal Partners Roles within the organization Customers Silverlight Streaming Messenger Photos Contacts Expo Live Search Live ID Microsoft® Office SharePoint Gadgets Custom Virtual Server 2007 Domains Earth Software Services A Continuum of Experience Web “Supplemented Platform ” Web Optimized Rich Internet Applications The Next Web The Web will continue to Evolve… Geospatial Web – “hyper-local” context Richer User Experience Transform web into a Database Rise of Semantic Web Ubiquitous Connectivity Federated Identity Mashup Web application that combines data and services from more than one source into a
    [Show full text]
  • Microsoft from Wikipedia, the Free Encyclopedia Jump To: Navigation, Search
    Microsoft From Wikipedia, the free encyclopedia Jump to: navigation, search Coordinates: 47°38′22.55″N 122°7′42.42″W / 47.6395972°N 122.12845°W / 47.6395972; -122.12845 Microsoft Corporation Public (NASDAQ: MSFT) Dow Jones Industrial Average Type Component S&P 500 Component Computer software Consumer electronics Digital distribution Computer hardware Industry Video games IT consulting Online advertising Retail stores Automotive software Albuquerque, New Mexico Founded April 4, 1975 Bill Gates Founder(s) Paul Allen One Microsoft Way Headquarters Redmond, Washington, United States Area served Worldwide Key people Steve Ballmer (CEO) Brian Kevin Turner (COO) Bill Gates (Chairman) Ray Ozzie (CSA) Craig Mundie (CRSO) Products See products listing Services See services listing Revenue $62.484 billion (2010) Operating income $24.098 billion (2010) Profit $18.760 billion (2010) Total assets $86.113 billion (2010) Total equity $46.175 billion (2010) Employees 89,000 (2010) Subsidiaries List of acquisitions Website microsoft.com Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions. Established on April 4, 1975 to develop and sell BASIC interpreters for the Altair 8800, Microsoft rose to dominate the home computer operating system (OS) market with MS-DOS in the mid-1980s, followed by the Microsoft Windows line of OSes. Microsoft would also come to dominate the office suite market with Microsoft Office. The company has diversified in recent years into the video game industry with the Xbox and its successor, the Xbox 360 as well as into the consumer electronics market with Zune and the Windows Phone OS.
    [Show full text]