> DevOps: Devising Opportunities > The Human Intranet > High-Tech Beauty

APRIL 2015 www.computer.org GET MORE, FOR LESS! Interested in geing a digital subscription to another IEEE Computer Society magazine? With a digital subscription, you’ll get videos, podcasts, and interactive links to the latest articles—all delivered via email at the half- year member subscription price of just $19.50 per magazine. This rate expires 10 August 2015. You’ll also get free access in the Computer Society Digital Library to previous issues of the magazines you subscribe to.

Subscribe now by clicking “Subscription options” under the magazine titles at computer.org/subscribe. IEEE COMPUTER SOCIETY http://computer.org • +1 714 821 8380

STAFF

Editor Senior Manager, Editorial Services Mark Gallaher Robin Baldwin

Contributing Editors Director, Products and Services Evan Butterfield Christine Anthony, Brian Brannon, Carrie Clark Walsh, Lee Garber, Brian Kirk, Chris Nelson, Meghan O’Dell, Dennis Taylor, Bonnie Wylie Senior Advertising Coordinator Debbie Sims Production & Design Carmen Flores-Garvey, Monette Velasco, Jennie Zhu-Mai, CN Content Manager Mark Bartosik Margo McCall

Circulation: ComputingEdge is published monthly by the IEEE Computer Society. IEEE Headquarters, Three Park Avenue, 17th Floor, New York, NY 10016-5997; IEEE Computer Society Publications Office, 10662 Los Vaqueros Circle, Los Alamitos, CA 90720; voice +1 714 821 8380; fax +1 714 821 4010; IEEE Computer Society Headquarters, 2001 L Street NW, Suite 700, Washington, DC 20036. Postmaster: Send undelivered copies and address changes to IEEE Membership Processing Dept., 445 Hoes Lane, Piscataway, NJ 08855. Application to Mail at Periodicals Postage Prices is pending at New York, New York, and at additional mailing offices. Canadian GST #125634188. Canada Post Corporation (Canadian distribution) publications mail agreement number 40013885. Return undeliverable Canadian addresses to PO Box 122, Niagara Falls, ON L2E 6S8 Canada. Printed in USA. Editorial: Unless otherwise stated, bylined articles, as well as product and service descriptions, reflect the author’s or firm’s opinion. Inclusion in ComputingEdge does not necessarily constitute endorsement by the IEEE or the Computer Society. All submissions are subject to editing for style, clarity, and space. Reuse Rights and Reprint Permissions: Educational or personal use of this material is permitted without fee , provided such use: 1) is not made for profit; 2) includes this notice and a full citation to the original work on the first page of the copy; and 3) does not imply IEEE endorsement of any third-party products or services. Authors and their companies are permitted to post the accepted version of IEEE-copyrighted material on their own Web servers without permission, provided that the IEEE copyright notice and a full citation to the original work appear on the first scree n of the posted copy. An accepted manuscript is a version which has been revised by the author to incorporate review suggestions, but not the published version with copy-editing, proofreading, and formatting added by IEEE. For more information, please go to: http:// www.ieee .org/publications_standards/publications/rights/paperversionpolicy.html. Permission to reprint/republish this material for commercial, advertising, or promotional purposes or for creating new collective works for resale or redistribution must be obtained from IEEE by writing to the IEEE Intellectual Property Rights Office, 445 Hoes Lane, Piscataway, NJ 08854-4141 or pubs-permissions@ieee .org. Copyright © 2015 IEEE. All rights reserved. Abstracting and Library Use: Abstracting is permitted with credit to the source. Libraries are permitted to photocopy for private use of patrons, provided the per-copy fee indicated in the code at the bottom of the first page is paid through the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923. IEEE prohibits discrimination, harassment, and bullying. For more information, visit www.ieee.org/web/aboutus/whatis/policies/p9-26.html.

IEEE Computer Society Magazine Editors in Chief

Computer IEEE Micro IEEE MultiMedia Sumi Helal, University of Florida Lieven Eeckhout, Ghent University Yong Rui, Microsoft Research

IEEE Software IEEE Computer Graphics and IEEE Annals of the History Diomidis Spinellis, Athens Applications of Computing University of Economics and L. Miguel Encarnação, ACT, Inc. Nathan Ensmenger, Indiana Business University Bloomington IEEE Pervasive Computing IEEE Internet Computing Maria Ebling, IBM T.J. Watson IEEE Cloud Computing M. Brian Blake, University of Research Center Mazin Yousif, T-Systems Miami International Computing in Science IT Professional & Engineering San Murugesan, BRITE George K. Thiruvathukal, Loyola Professional Services University Chicago

IEEE Intelligent Systems IEEE Security & Privacy Daniel Zeng, University of Arizona Shari Lawrence Pfleeger, Dartmouth College www.computer.org 1 APRIL 2015 • VOLUME 1, NUMBER 4

THEME HERE 15 38 44 Customizing When the 3D Models Unique Solutions Physical and And Processing for Software the Cyber Tools: Bridging Become One the Gap 6 Spotlight on Transactions: Do Computers Have Personality? BJÖRN SCHULLER 8 Editor’s Note: DevOps 9 DevOps: Breaking Barriers to Benefit Bottom Lines MARGO MCCALL 12 The Five Properties of Successful Architectural Oversight NICK ROZANSKI 15 Bespoke Infrastructures DIOMIDIS SPINELLIS 18 Cloud-Based Software Crowdsourcing WEI-TEK TSAI, WENJUN WU, AND MICHAEL N. HUHNS 24 Injecting Value-Thinking into Prioritization Decisions JANE CLELAND-HUANG 29 Is Amazon Becoming the New Cool Software Company for Developers? DAVID BERNSTEIN 32 Toward a History of Social Computing: Children, Classrooms, Campuses, and Communities JOY RANKIN

35 Silver Bullet Talks with Nate Fick GARY MCGRAW 38 The Human Intranet—Where Swarms and Humans Meet JAN M. RABAEY 44 Demystifying Quadrilateral Remeshing DANIELE PANOZZO 52 The Future of Work RICHARD MATEOSIAN 55 55 Beauty Technology: Body Surface Computing Digitally- KATIA VEGA AND HUGO FUKS Enhanced 72 Life and Tech: Kideo Games BRIAN KIRK Cosmetics? It’s Possible! Departments 4 Magazine Roundup 60 Career Focus: Software Engineering Economics 61 Career Opportunities CS FOCUS

Magazine Roundup

IEEE Internet Computing

Network developers, the control community, and middleware researchers are providing the building blocks toward a global Internet of Things. How to com- bine such building blocks in the he IEEE Computer Soci- denial-of-service attacks. For design, implementation, and ety’s lineup of 13 digi- the March 2015 issue of Com- validation of IoT software is Ttal magazines covers puter, cybersecurity experts the focus of IEEE Internet Com- cutting-edge computing topics present emerging technologies puting’s March/April 2015 spe- ranging from software design and methodologies to mitigate a cial issue. and computer graphics to Inter- broad array of cyberthreats. net computing and security and Computing in Science & privacy, from scientifi c applica- IEEE Software Engineering tions and machine intelligence to cloud migration and microchip Using the continuous deliv- Improved simulation methods manufacturing. Here are some ery approach, engineering and hardware advances are highlights from recent issues. teams produce valuable soft- changing common biomolecu- ware in short cycles to ensure it lar simulation methodologies. In Computer can be reliably released at any CiSE’s March/April 2015 issue, a time. IEEE Software’s March/ team from the University of Utah Current conditions create mul- April 2015 issue describes observes that certain aspects tiple opportunities for hackers how Irish gambling bookmaker of biomolecular simulation and other malicious actors to Paddy Power adopted continu- workfl ows are facilitated by commit cybercrimes ranging ous delivery and the enhanced access to more heterogeneous from fraud to identity theft to capabilities that resulted. computational resources.

4 April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE IEEE Security & Privacy about future or unknown out- considers privacy and security comes. With big data, predictive from the perspective of pervasive For 35 years, the IEEE Sympo- analytics must run faster and computing. sium on Security and Privacy more accurately using larger, has provided a venue for experts to more heterogeneous sources. The IT Professional share ideas. The March/April 2015 March/April 2015 issue of IEEE issue of IEEE S&P brings together Intelligent Systems surveys this An ISO/IEEE 11073 personal presentations at the most recent expanding fi eld. health device system enables symposium on topics including legacy healthcare devices to system security vulnerabilities and IEEE MultiMedia transmit vital sign data to net- challenges in large-scale untrusted work application-hosting device. systems. Sonifi cation is especially suited for Authors in the January/February studying complex, dynamic data- 2015 issue of IT Pro argue that IEEE Cloud Computing sets, especially the large and multi- standardizing existing health- variate time-based datasets that care devices for interoper- Powered by large datacenters appear in climate science. IEEE ability will require redesigning with numerous virtualized serv- MultiMedia’s January–March 2015 current hardware and software. ers, high-bandwidth networks, issue off ers sonifi cation designs and cooling and power systems, that explore conceptual links IEEE Micro cloud computing already consti- between climate science and tutes more than one percent of sound. Mobile CPUs are impacting Web the world’s electricity use. IEEE browsing performance and energy Cloud Computing’s January/Feb- IEEE Annals of the History of consumption. An article in the ruary 2015 issue looks at current Computing January/February 2015 issue of approaches for cloud processing IEEE Micro argues that achiev- energy effi ciency. Begun in 1969, a 20-year series of ing energy-effi cient mobile Web ARPANET maps produced by Bolt browsing requires considering IEEE Computer Graphics and Beranek and Newman signifi es the both CPU and network capabili- Applications earliest eff orts to represent a cen- ties, looking beyond individual tral piece of the modern Internet. components and rather at the full With the decline of a one-size-fi ts- IEEE Annals’ January–March 2015 system. every-customer strategy, manufac- issue looks at this project, which― turers are recognizing the need to though initially met with skepti- Computing Now reinvent how their factories oper- cism―proved a major success in ate, sparking the Industrie 4.0 and computer networking. The Computing Now website Industrial Internet initiatives (http://computingnow.computer. based on cyber-physical systems IEEE Pervasive Computing org) features up-to-the-minute and the IoT. IEEE CG&A’s March/ computing news and blogs, along April 2015 issue focuses on visual To achieve their full potential, per- with articles ranging from peer- challenges for these initiatives. vasive computing technologies reviewed research to opinion by must allow authorized users easy industry leaders. IEEE Intelligent Systems access to data and services while making access extremely diffi cult

The fi eld of predictive analytics for unauthorized users with bad Selected CS articles and columns uses statistical or machine-learn- intentions. The January–March are also available for free at http:// ComputingNow.computer.org. ing methods to make predictions 2015 issue of IEEE Pervasive www.computer.org/computingedge 5 SPOTLIGHT ON TRANSACTIONS

According to the authors, comput- Do Computers ing domains concerned with person- ality consider three main problems: automatic personality recognition Have Personality? (APR; inferring the actual personal- ity based on the individual’s observed behavior), automatic personality per- Björn Schuller, University of Passau and Imperial College London ception (APP; predicting a person- ality attributed to an individual by This installment highlighting the work published others), and automatic personality synthesis (APS; generating articial in IEEE Computer Society journals comes personalities through embodied vir- tual agents). The distinction between from IEEE Transactions on A­ective Computing. APR and APP is worth noting in terms of terminology, as aective comput- e all have specic per- the possibility of collecting behav- ing often grapples with dierentiat- sonality traits that are ioral evidence through smartphones, ing between what’s true and what’s reected in our behav- and the idea of providing machines perceived, especially where emotion ior (or at least those with social and aective intelligence is concerned. Wwe pretend or appear to have), and we so they can interact with humans. APR and APP use personality anal- often have strong opinions about the As such, “personality is relevant to ysis methods rooted in pattern rec- personalities of those surrounding us. any computing area involving under- ognition. Depending on the analysis But what about computers? Do com- standing, prediction, or synthesis of modality—such as video, speech, or puters have a personality, or can they at human behavior.” social media behavior data—fea tures least model dierent types of personal- The paper introduces personality like acoustic vocal cues or facial ities? Can they perceive or understand computing, explaining that “several expression parameters are extracted. the personalities of their human users? works [in the literature] investigate Then, statistical machine- learning methods such as the support vector machine model can be used to train a recognition or prediction model. New, Personality is relevant to any computing area previously unseen behavior can then involving understanding, prediction, be analyzed for personality cues based or synthesis of human behavior. on the extracted features. Two approaches prevail in APS. In machine learning, labeled data is Alessandro Vinciarelli and the interplay between personality collected from human behavior to Gelareh Mohammadi pose this ques- and computing by measuring the link train a machine to produce behav- tion in “A Survey of Personality Com- between [personality] traits and use ior fitting the current situation that puting” (IEEE Transactions on Aec- of technology.” Thus, users external- induces the target personality in tive Computing, vol. , no. †, ‡ˆ‰Š, ize their personality through the way the human observer. In rule-based pp. ‡‹†–‡Ž‰), which explains that they use technology, and personal- systems, specific parameters such the computing industry’s interest in ity traits can be indicative of users’ as pitch, intensity, speaking rate, personality has risen steadily since behavior. For example, certain traits length and frequency of pauses, hes- the mid-‡ˆˆˆs due to the increas- can predict whether a user will acti- itations, and word choice are fitted ing amount of personal information vate a blog or will use a mobile phone by rules to the modeled personality. available through social networks, in public spaces. For virtual agents, parameters also

6 April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE 6 COMPUTER PUBLISHED BY THE IEEE COMPUTER SOCIETY 0018-9162/15/$31.00 © 2015 IEEE SPOTLIGHT ON TRANSACTIONS

include body movements, gestures, So it seems that computers can under- technology to better predict users’ and facial behavior including eye stand and show personality, without needs and preferences, helping contact and expression. actuallyPENN having one. STATmachinesE | interactONLINE with humans more The authors show that reasonable realistically. According to the authors, comput- APR results can be obtained by ana- Do Computers ing domains concerned with person- lyzing text and nonverbal and spoken ith the increasing ow of ality consider three main problems: communication, as well as through data from social media automatic personality recognition computer gaming, social media, and andEarn elsewhere, a personalityMaster’s BJÖRN Degree SCHULLER is a professor in of (APR; inferring the actual personal- W Have Personality? wearable device data, and by consid- computing will help mine the digital complex and intelligent systems at ity based on the individual’s observed ering the user’s speaking activity, traces people leave online, make sense the University of Passau, Germany Engineering—Entirelyand a senior lecturer Online in machine behavior), automatic personality per- proximity to others, and movements. of social media users, target advertise- Björn Schuller, University of Passau and Imperial College London learning at Imperial College London, ception (APP; predicting a person- Similar ndings were reported for ment campaigns to the right potential UK. Contact him at [email protected]. ality attributed to an individual by APP through nonverbal behavior and customers, or tune retrieval technol- • This installment of Computer’s series highlighting the others), and automatic personality social media exploration. With APS, ogies to users’ personality. Personal- Software Engineering synthesis (APS; generating articial certain personality traits can be suc- ity computing is also likely to play an• Systems Engineering work published in IEEE Computer Society journals comes personalities through embodied vir- cessfully simulated through speech or important role in technologies aimed Selected CS articles and tual agents). The distinction between columns are also available for from IEEE Transactions on A ective Computing. facial expression synthesis. Accord- at detecting personality disorders.• Engineering Management APR and APP is worth noting in terms ingly, virtual agents and robots might Finally, human–computer interaction free at http://ComputingNow .computer.org. of terminology, as aective comput- already have a perceivable personality. (HCI) can adopt personality computing e all have specic per- the possibility of collecting behav- ing often grapples withinclude dierentiat body movements,- gestures, So it seems that computers can under- technology to better predict users’ Five- or seven-week courses sonality traits that are ioral evidence through smartphones, ing between what’s and true facial and what’s behavior including eye stand and show personality, without needs and preferences, helping over six semesters reected in our behav- and the idea of providing machines perceived, especiallycontact where and emotion expression. actually having one. machines interact with humans more ior (or at least those with social and aective intelligence is concerned. The authors show that reasonable realistically. GREs not required Wwe pretend or appear to have), and we so they can interact with humans. APR and APP use APRpersonality results anal- can be obtained by ana- Finish in as little as two years often have strong opinions about the As such, “personality is relevant to ysis methods rootedlyzing in pattern text and rec- nonverbal and spoken ith the increasing ow of personalities of those surrounding us. any computing area involving under- ognition. Dependingcommunication, on the analysis as well as through data from social media But what about computers? Do com- standing, prediction, or synthesis of modality—such as video, speech, or Achieve your career goals— computer gaming, social media, and and elsewhere, personality handlesBJÖRN SCHULLER is a professorthe of details puters have a personality, or can they at human behavior.” social media behavior data—features W Eric Lasway apply today! wearable device data, and by consid- computing will help mine the digital complex and intelligent systems at Systems Engineering Graduate least model dierent types of personal- The paper introduces personality like acoustic vocal ering cues the or facialuser’s speaking activity, traces people leave online, make sense the University of Passau, Germany and a seniorso lecturer you in machine don’t have to! ities? Can they perceive or understand computing, explaining that “several expression parametersproximity are extracted. to others, and movements. of social media users, target advertise- learning at Imperial College London, the personalities of their human users? works [in the literature] investigate Then, statistical machine-Similar learning ndings were reported for ment campaigns to the right potential UK. Contact him at [email protected]. methods such as theAPPinclude support through body vector nonverbal movements, behavior gestures, and customers,So it seems orthatProfessional tune computers retrieval can management technol- under- technology and production to better predict of your users’ publication machine model can besocialand used facial media to train behavior exploration. a including With APS, eye ogiesstand to and users’ showInclusion personality. personality, into Personal withoutthe IEEE- needs Xplore and and preferences, CSDL Digital helping Libraries recognition or predictioncertaincontact model. personalityand New,expression. traits can be suc- ityactually computing having is one. also likely to play an machines interact with humans more Personality is relevant to any computing area Access to CPS Online: Our Online Collaborative Publishing System previously unseen behaviorcessfullyThe authors can simulated then show through that reasonable speech or important role in technologies aimed realistically.Selected CS articles and involving understanding, prediction, be analyzed for personalityfacialAPR results cues expression based can be synthesis. obtained Accord by ana-- at detectingChoose personality the disorders.product media typecolumns that are works also available for foryour conference: or synthesis of human behavior. on the extracted features.ingly,lyzing virtual text and agents nonverbal and robots and spoken might Finally, human–computerith the increasing interaction ow of free at http://ComputingNow .computer.org. include body movements,Two approaches gestures, alreadycommunication, prevailSo it seems have in that APS. a perceivable computers as well personality. as can through under- (HCI)technology can adoptdata Books, to personality better from CDs/DVDs, predictsocial computing media users’ USB Flash Drives, SD Cards, and Web-only delivery! includeand facial body behavior movements,In machine including gestures, learning, eye Socomputerstand labeled it seems and data gaming, showthat is computers personality, social media, can without under and- technologyWneeds andand to elsewhere, preferences, better predict personality helping users’ BJÖRN SCHULLER is a professor of Alessandro Vinciarelli and the interplay betweenandcontact facialpersonality and behaviorexpression. collected including from eye human standwearableactually behavior and having device show to one. personality,data, and by without consid- needscomputingmachines and interact will preferences, help with mine humans the helping digital more complex and intelligent systems at Gelareh Mohammadi pose this ques- and computing by measuringThe authors the link show train that a reasonable machine to ering produce the behav user’s- speaking activity, tracesrealistically. people leave online, makeContact sense the CPS University for of Passau, a GermanyQuote Today! contact and expression. actually having one. machines interact with humans more and a senior lecturer in machine proximity to others, and movements. of social media users, target advertise- worldcampus.psu.edu/psueng tion in “A Survey of Personality Com- between [personality]APR traitsThe results authors and can use show be ior obtained that fitting reasonable bythe ana current- situation that realistically. www.computer.org/cpslearning at Imperial College or [email protected] London, puting” (IEEE Transactions on Aec- of technology.” Thus,lyzing users textexternal and nonverbal- induces and the spoken target Similar personality ndingsith thein were increasing reported ow for of ment campaigns to the right potential UK. Contact him at [email protected]. APR results can be obtained by ana- U.Ed.OUT 15-0242/15-WC-0348bkh/sss tive Computing, vol. , no. †, ‡ˆ‰Š, ize their personality lyzingthroughcommunication, text the and way nonverbal asthe well human and as through spoken observer. APP In through rule-basedithdata nonverbal the from increasing socialbehavior ow media and of customers, or tune retrieval technol- pp. ‡‹†–‡Ž‰), which explains that they use technology,communication,computer and personal gaming,- as socialsystems, well as media, through specific and parameterssocialW mediadata and such exploration. elsewhere, from social personality With media APS, ogiesBJÖRN to users’SCHULLER personality. is a professor Personal of - the computing industry’s interest in ity traits can be indicativewearable of device users’ data,as and pitch, by considintensity,- certaincomputing speaking personality will rate, help traits mine can the be digital suc- itycomplex computing and intelligentis also likely systems to playat an computer gaming, social media, and and elsewhere, personality handlesBJÖRN SCHULLER is a professorthe of details personality has risen steadily since behavior. For example,ering certain the traits user’s speakinglength and activity, frequency Wcessfullytraces of pauses, people simulated hes leave- online, through make speech sense or importantthe University role of in Passau, technologies Germany aimed Selected CS articles and wearable device data, and by consid- computing will help mine the digital complex and intelligent systems at and a senior lecturer in machine the mid-‡ˆˆˆs due to the increas- can predict whether proximity a user will to acti others,- itations, and movements. and word choicefacialof social expressionare media fitted users, synthesis. target advertise- Accord- at the detecting University personalityof Passau, Germany disorders. columns are also available for ering the user’s speaking activity, traces people leave online, make sense learning at Imperial College London, MARCH 2015 7 and a seniorso lecturer you in machine don’t havefree at http://ComputingNow to! ing amount of personal information vate a blog or will useproximitySimilar a mobile ndings phoneto others, wereby and rules reportedmovements. to the formodeled ofingly,ment social personality. campaignsvirtual media agents users, to the and target right robots advertise- potential might Finally,UK. Contact human–computer him at [email protected]. interaction learning at Imperial College London, .computer.org. For virtual agents, parametersalready have alsoa perceivable personality. (HCI) can adopt personality computing available through social networks, in public spaces. SimilarAPP through ndings nonverbal were behavior reported and for mentcustomers, campaigns or tune to the retrieval right potential technol- UK. Contact him at [email protected]. APPsocial through media nonverbal exploration. behavior With APS,and customers,ogies to users’ orProfessional tune personality. retrieval Personalmanagement technol-- and production of your publication www.computer.org/computingedge 7 6 COMPUTER PUBLISHED BY THE IEEE COMPUTER SOCIETY socialcertain media personality exploration. traits can With be APS, suc0018-9162/15/$31.00- ogiesity computing to © users’ 2015Inclusion IEEE is personality. also likely into to Personal the play IEEE an- Xplore and CSDL Digital Libraries certaincessfully personality simulated through traits can speech be suc or- ityimportant computing role is in also technologies likely to play aimed an Selected CS articles and Access to CPS Online: Our Onlinecolumns areCollaborative also available for Publishing System cessfullyfacial expression simulated synthesis. through speech Accord or- importantat detecting role personality in technologies disorders. aimed Selected CS articles and free at http://ComputingNow ingly, virtual agents and robots might Finally, human–computer interaction columns are also available for facial expression synthesis. Accord- at detectingChoose personality the product disorders.ce4spot.indd media 7 type.computer.org that works. for your conference: 3/25/15 12:18 PM ingly,already virtual have a agents perceivable and robots personality. might Finally,(HCI) can human–computer adopt personality interactioncomputing free at http://ComputingNow Books, CDs/DVDs, USB Flash.computer.org Drives,. SD Cards, and Web-only delivery! already have a perceivable personality. (HCI) can adopt personality computing handles the details Contact CPSso for you a Quote don’t Today! have to! www.computer.org/cps or [email protected] Professional management and production of your publication handlesInclusion theinto the IEEEdetails Xplore and CSDL Digital Libraries handles the details soAccess you to CPS don’t Online: Ourhave Online Collaborativeto! Publishing System soChoose you the don’tproduct media have type that to! works for your conference: MARCH 2015 7 Professional management and Books,production CDs/DVDs, of your publication USB Flash Drives, SD Cards, and Web-only delivery! ProfessionalInclusion into management the IEEE Xplore and andproduction CSDL Digitalof your Libraries publication InclusionAccess to into CPS the Online: IEEE XploreOur Online and CSDLCollaborative DigitalContact LibrariesPublishing CPS System for a Quote Today! AccessChoose to the CPS product Online: media Our typeOnline that Collaborative works for yourwww.computer.org/cps Publishing conference: System or [email protected] ChooseBooks, CDs/DVDs,the product mediaUSB Flash type thatDrives, works SD for Cards, your conference:and Web-only delivery! Books, CDs/DVDs, USB Flash Drives, SD Cards, and Web-only delivery! Contact CPS for a Quote Today!

Contactwww.computer.org/cps CPS for a or [email protected] Today! MARCH 2015 7 www.computer.org/cps or [email protected]

MARCH 2015 7

MARCH 2015 7 EDITOR’S NOTE

DevOps

hen solicited to write something how developers can prioritize decision making to on this issue’s theme, a colleague add product value. W responded, “DevOps. Ughh, that In addition, two articles―one from IEEE Inter- word just makes me cringe (it’s like one of those net Computing and another from IEEE Cloud unword words, you know?).” Computing―consider how the cloud is shaping And the term does crystalize an annoying ten- software development in terms of the opportuni- dency in tech and biz speak to create acronyms ties it provides for crowdsourcing (bringing as (like “MOOC” and “FIFO/LIFO”), initialisms (like many stakeholders as is feasible into the process). “IoT” and “SLRs”), and combinations of the two And from IEEE Annals of the History of Computing (like “NoSQL”)―shorthand terms ostensibly comes a short look at social computing, a concept meant to speed and thus facilitate communication, fundamental to any discussion of DevOps. but just as likely to separate “insiders” from “out- Beyond this month’s theme, you’ll fi nd an inter- siders” in terms of understanding. view with an Afghan War veteran turned cyberse- Which is ironic, actually, because the whole curity expert, from IEEE Security & Privacy; a vision point of DevOps (a “development/operations” port- of ubiquitously connected devices, from IEEE Per- manteau) is to encourage greater cooperation, col- vasive; a stunningly vivid tour of 3D-modeling tech- laboration, and coordination among people who niques, from the March/April 2015 issue of IEEE don’t always speak the same “language,” who Computer Graphics and Applications; a review of may be so narrowly focused on their own role in a book on the future of work, from IEEE Micro; and the software engineering process that they’re blin- from our fl agship magazine Computer, a whimsi- dered to the project’s larger, more important goals. cal foray into the world cosmetic computing. Not surprisingly, this month’s theme articles draw heavily on IEEE Software: a Pragmatic Archi- tect column focusing on the leadership needed to ringing together Computer Society “ensure that development teams design and build off erings across fi elds that don’t always systems in the right way for their stakeholders”; B speak the same “language” is a pri- a Tools of the Trade column about bespoke infra- mary goal of ComputingEdge. We hope this issue structures to support an organization’s overall will provide readers a chance to devise their own goals; and a Requirements column that looks at opportunities for new understanding.

8 April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE DEVOPS FOCUS

DevOps: Breaking Barriers to Benefi t Bottom Lines

Margo McCall

evOps―a merging of “development” and “operations”―is rapidly changing how software is produced and released. By Das early as next year, market-research fi rm Gartner expects DevOps to move from a niche strategy to the mainstream, embraced by fully a quarter of Global 2000 companies.

But why this sudden shift in institutional focus?

What Is DevOps?

It’s been nearly a decade since software developer Andrew Shafer and systems administrator Patrick Debois met at the Agile 2008 Conference in Toronto and formed the Agile Systems Administration Group as a way to resolve confl icts between developers and systems administrators. Since then, much discussion’s revolved about what DevOps is―and how it’s changing the software production landscape for

2376-113X/15/$31.00 © 2015 IEEE Published by the IEEE Computer Society April 2015 9 DEVOPS ACTION ITEMS

ere’s a quick look at what DevOps is all ■ careful release planning; H about. ■ continuous integration, delivery, testing, monitoring, and feedback; and Basic Principles ■ collaboration, cross-operational sharing, and At heart, DevOps aims to team-building eff orts.

■ perform all development and testing against Return on Investment production-like systems; Bottom-line, DevOps provides signifi cant return ■ deploy with repeatable, reliable processes; on investment by creating ■ consistently monitor and validate operational quality; and ■ enhanced customer experience; ■ amplify feedback loops throughout the ■ increased capacity to innovate; and process. ■ faster time to value.

Techniques Adapted from Sanjeev Sharma and Bernie Coyle, DevOps is achieved through DevOps for Dummies, 2nd IBM Limited Edition, 2015; www-01.ibm.com/software/rational/ ■ incremental improvement; dummiesbooks/devops.

enterprises and their developers and operations Why DevOps? employees. Sanjeev Sharma and Bernie Coyle’s DevOps DevOps adoption is being driven by growing use for Dummies, an IBM Limited Edition publication, of agile development processes and methodolo- describes DevOps as “an approach based on lean gies, demand for faster production releases, vir- and agile principles in which business owners and tualized and cloud infrastructure capabilities, and the development, operations, and quality assur- increased exploitation of datacenter automation ance departments collaborate to deliver software and confi guration management tools. in a continuous manner that enables the business Concurrent with slowly changing legacy sys- to more quickly seize market opportunities and tems that function as systems of record, consum- reduce the time to include customer feedback.” ers―and investors―now expect enterprises to According to Laurie Wurster, research director at rapidly deliver easy-to-use forward-facing systems Gartner, “In response to the rapid change in busi- that facilitate user engagement. ness today, DevOps can help organizations that are Commonly, enterprises off er only one or two pushing to implement a bimodal strategy to support systems of record releases yearly, but systems their digitalization eff orts. Digital business is essen- of engagement must be continually updated to tially software, which means that organizations that address customers’ changing needs. And because expect to thrive in a digital environment must have the two are linked, systems of record must also an improved competence in software delivery.” be updated with each new engagement systems

10 ComputingEdge April 2015 release. This creates pressures that DevOps can “With respect to culture, DevOps seeks to change help alleviate. the dynamics in which operations and devel- opment teams interact,” notes Wurster. “Key to All about People this change are the issues of trust, honesty, and responsibility. In essence, the goal is to enable At its root, say Sharma and Coyle, DevOps is a each organization to see the perspective of the cultural movement that’s all about people. DevOps other and to modify behavior accordingly, while spans the full range of organizational stakehold- motivating autonomy.” ers: business owners; architecture, design, and The result: more effi cient procedures, products development engineers; those in charge of qual- that please stakeholders and customers―and, along ity assurance, operations, and security; even with these, strengthened profi ts across the board. enterprise partners and suppliers. Excluding any stakeholder can lead to incomplete DevOps implementation. o fi nd out more, attend the complimen- To summarize Sharma and Coyle, even the tary 21 April DevOps Unleashed event most effi cient processes or automated tools are T in Mountain View, California. Visit http:// useless unless they address the full organizational www.computer.org/devops for details. needs of the people who must execute those pro- cesses and use those tools. Margo McCall is editorial content manager for the Thus, building a DevOps culture is critical. Computer Society’s Computing Now destination Such a culture is characterized by close collabo- site (http://computingnow.computer.org). Have an ration across roles, a focus on business rather idea for an article or wish to contribute? Contact than departmental objectives, trust, and valuing Margo at [email protected]. learning through experimentation. But achieving this requires bringing together people from dif- ferent backgrounds, with diff erent experiences Selected CS articles and columns are also available for free at http://ComputingNow.computer.org. and predispositions―a major challenge for most organizations.

Team Building Is Crucial

Organization leaders must work with teams to build this culture, which rewards collabora- tion, facilitates sharing, and removes barriers to cooperation. Typically, for example, operations teams are rewarded for uptime and stability, while devel- opers are measured on new features delivered. FOLLOW US These diff erent interests can pit the groups against one another. But if developers and opera- tions teams share responsibility for delivering new features quickly and safely, these diff erences can be reduced. The DevOps trend goes beyond implementa- tion and technology management to a deep focus @securityprivacy on how to eff ect positive organizational change. www.computer.org/computingedge 11 THE PRAGMATIC Editor: Eoin Woods Artechra ARCHITECT [email protected]

The Five Properties of Successful Architectural Oversight

Nick Rozanski

ARCHITECTURAL LEADERSHIP is Architectural oversight is about keep- probably the most important part of a ing a watchful eye on projects as they software architect’s role. A key aspect move from concept and architecture to of architectural leadership is architec- building, testing, and deployment, en- tural oversight, which helps ensure that suring adherence to the original vision development teams design and build and architecture. (And if not, ensur- their systems in the right way for their ing there are good reasons for this and stakeholders—the people who have an that architectural changes are properly interest in the system’s success. Unfortu- evaluated, communicated, and agreed nately, “the right way” means different upon.) Overseeing in a way that ensures things to different people. that the system has the right architecture Obviously, a system’s architectural can easily become overly bureaucratic or components must meet its functional poorly leveled (for example, focusing on requirements. For example, a sales- some characteristics in detail while ig- ordering system will probably need or- noring others). Worst of all, this process der entry screens, an order manager, and can fail to ensure that the delivered sys- an order database. These components tems are sound and  t for the purpose. will need to be wired correctly so that Effective architectural oversight has the system can perform correctly. New  ve important properties: it must be orders will need to ow from the order timely, objective, systematic, construc- entry screens to the order database via tive, and, most important, pragmatic the order manager. (see Figure 1). Here, I examine each However, the system will also need to property to understand what it means, exhibit the right quality properties, such why it’s important, how you can achieve as scalability, resilience, and security (of- it, and what might happen if you don’t. ten called nonfunctional requirements). For this article’s purposes, I’ll as- Orders should be accepted only from au- sume you’re an architect with several thenticated customers, and the system systems in your portfolio, including new should be able to scale to adapt to the builds or systems undergoing substantial volume at busy times. It’s necessary— changes. You might be the architect of a and often more dif cult—to put as much collection of systems that perform a par- thought into these architecture aspects ticular business function, or of the sys- as you would into functional and infor- tems in one location. However, if your mation architecture. role is different—for example, you’re a

12 110 IEEE SOFTWAREApril 2015 | PUBLISHED BY THE IEEEPublished COMPUTER by the SOCIETYIEEE Computer Society 0740-7459/15/$31.002376-113X/15/$31.00 © 2015 © 2015 IEEE IEEE

s1pra.indd 110 12/9/14 3:05 PM THE PRAGMATIC Editor: Eoin Woods Artechra THE PRAGMATIC ARCHITECT ARCHITECT [email protected]

solution architect looking after a sin- and crystalize during subsequent ag- The Five Properties of gle system or an enterprise architect ile sprints or iterations. You’ll need Timely Objective responsible for the whole systems ongoing oversight to ensure that the landscape—much of what I describe architecture is moving in a sensible Pragmatic here will still apply to you. direction and that important aspects Systematic Constructive Successful Architectural aren’t being ignored. Timely Architectural oversight per- Architectural oversight must occur formed at the wrong time (for in- FIGURE 1. The ve properties of Oversight at the right times. Get involved in stance, after the big architectural de- effective architectural oversight. development projects early, when the cisions have already been made and architecture is still being formulated acted on) has little chance of improv- Nick Rozanski and important decisions are being ing the system’s architecture. Subjective architectural oversight made. Such decisions include can lead to inconsistent, arbitrary Objective guidance, which is confusing for • what the system’s fundamental Architectural oversight must be development teams, leads to resent- ARCHITECTURAL LEADERSHIP is Architectural oversight is about keep- structure will be, based on clearly stated principles, ment, and will likely be ignored (or probably the most important part of a ing a watchful eye on projects as they • how the system will manage guidelines, and patterns, rather than worse, blindly followed at a dispro- software architect’s role. A key aspect move from concept and architecture to data and use other systems’ data, on a subjective opinion. We all have portionate cost). of architectural leadership is architec- building, testing, and deployment, en- • how it will scale and be resilient our own ideas about how best to tural oversight, which helps ensure that suring adherence to the original vision and secure, and build software systems. An old joke Systematic development teams design and build and architecture. (And if not, ensur- • how it will use advanced or says that if you put two architects Architectural oversight must follow their systems in the right way for their ing there are good reasons for this and unfamiliar technologies or in a room, they’ll come up with at well-de ned, repeatable processes stakeholders—the people who have an that architectural changes are properly approaches. least three ways to design a system. whose objectives and outcomes are interest in the system’s success. Unfortu- evaluated, communicated, and agreed Although there are common archi- clearly understood. Systematic over- nately, “the right way” means different upon.) Overseeing in a way that ensures These decisions are dif cult to over- tectural principles and patterns that sight, whether lightweight or thor- things to different people. that the system has the right architecture turn or change later during the proj- we all work toward, there’s more ough, will follow a de ned sequence Obviously, a system’s architectural can easily become overly bureaucratic or ect. For example, if your team starts than one “good” way to build a sys- of steps with known inputs and out- components must meet its functional poorly leveled (for example, focusing on out building a monolithic system, tem to meet a given set of functional puts to achieve a well-de ned goal requirements. For example, a sales- some characteristics in detail while ig- turning it into a collection of loosely requirements and quality properties. in a nite (and hopefully relatively ordering system will probably need or- noring others). Worst of all, this process coupled, semi-independent compo- In these cases, the choice between brief) time period. The participants der entry screens, an order manager, and can fail to ensure that the delivered sys- nents will be a lot of work. architectures will come down to the are known, and everyone under- an order database. These components tems are sound and  t for the purpose. If you’re using waterfall or itera- architect’s experience, preferences, stands their role and responsibil- will need to be wired correctly so that Effective architectural oversight has tive development, expect to scruti- and (sometimes) prejudices, which ities. The tasks are clearly de ned, the system can perform correctly. New  ve important properties: it must be nize the architecture at the start of might differ from yours. and all participants clearly under- orders will need to ow from the order timely, objective, systematic, construc- high-level design. There are strong The goal of objectivity is to come stand the overall objective. entry screens to the order database via tive, and, most important, pragmatic arguments for you to be involved to the same overall conclusions Ensure your outputs are recorded the order manager. (see Figure 1). Here, I examine each even earlier, while the architecture is about the architecture regardless of in enough detail so that they are un- However, the system will also need to property to understand what it means, still being formulated. This lets you who does the actual oversight and, derstood, can be acted on, and are exhibit the right quality properties, such why it’s important, how you can achieve give your team the bene t of your speci cally, how that person would clearly communicated to your stake- as scalability, resilience, and security (of- it, and what might happen if you don’t. experience and knowledge of what have designed the architecture. This holders. Itemize actions and close ten called nonfunctional requirements). For this article’s purposes, I’ll as- works (and what doesn’t). helps ensure a fair, objective process. them when complete, and record Orders should be accepted only from au- sume you’re an architect with several If you’re using agile methods, A good way to achieve objectivity is decisions along with their rationale thenticated customers, and the system systems in your portfolio, including new your interaction model will be a lit- to have a set of written guidelines, (why the decision was made) and im- should be able to scale to adapt to the builds or systems undergoing substantial tle more uid. Most agile methods standards, and patterns that project plications (what must happen next). volume at busy times. It’s necessary— changes. You might be the architect of a include some architecture envision- teams can follow (or are required Clearly document exceptions involv- and often more dif cult—to put as much collection of systems that perform a par- ing early on, although this might to follow). These guidelines should ing noncompliance with policy, stan- thought into these architecture aspects ticular business function, or of the sys- be less precise than it would be for quickly lead team members to the dards, or general good practice, along as you would into functional and infor- tems in one location. However, if your waterfall or iterative development. right decisions, while leaving room with the reasons for the exceptions. mation architecture. role is different—for example, you’re a The architecture will likely evolve for innovation and creativity. If your oversight isn’t systematic,

110 IEEE SOFTWARE | PUBLISHED BY THE IEEE COMPUTER SOCIETY 0740-7459/15/$31.00 © 2015 IEEE www.computer.org/computingedge JANUARY/FEBRUARY 2015 | IEEE SOFTWARE 111 13

s1pra.indd 110 12/9/14 3:05 PM s1pra.indd 111 12/9/14 3:05 PM THE PRAGMATIC ARCHITECT

your stakeholders won’t clearly un- such as time, cost, and the avail- necessary architectural capabilities. derstand who’s involved, why the ability of skills, without diluting the Be prepared to compromise when it’s oversight is being done, when it was oversight’s purpose or effectiveness. right to do so, but ensure that these started or nished, and its outcomes. You’ll most often have to deal with compromises are understood, agreed time and cost constraints. There’s no on, documented, and communicated Constructive point in insisting on an architectural to all stakeholders. Architectural oversight must lead capability or feature if implement- to better architecture. Constructive ing it would substantially overrun or oversight results in real, signi cant, blow the project’s budget. You must NICK ROZANSKI is a lead architect in a major and valuable change. In practice, this be ready to compromise while ensur- UK bank’s Chief Technology Of ce. Contact him often means that the resulting archi- ing the architecture’s overall integrity. at [email protected]. tecture is more scalable, resilient, Start by ensuring that you and highly available, and secure. These your stakeholders have a common qualities often receive less attention understanding of the business im- than they deserve when developers portance of the system you’re look- are ensuring that a system meets its ing at. This will help you pitch your This article originally appeared in functional requirements. However, oversight at the right level. You can IEEE Software, vol. 32, no. 1, 2015. a system that is unreliable, is too then assess the bene ts and risks to slow, or has security holes won’t be help you come to a decision. viewed as a success and might even For example, a proposed business- be abandoned. critical system with no disaster recov- Selected CS articles and columns The most constructive oversight ery capabilities would be a high risk are also available for free at http://ComputingNow.computer.org. leads to speci c architectural changes because a signi cant incident could or improvements. For instance, shut down the business. This aspect should be re- • functional components might be mediated before the system added, goes into production. On • the system might be better the other hand, it‘s probably erin designed for resilience or high reasonable to not implement ine g R ng ad availability, such a feature for a proof- E io The podcast for professional developers e • the system might be given scale- of-concept system that will r is looking for hosts to interview some of out or scale-up features so that be rewritten anyway if it’s a the top minds in software engineering. w

it can continue to perform under successful. t

f Contact [email protected]

high loads, or In any case, don’t expect o for more information.

• security features might be im- everyone to understand and S proved to better control access agree on all the details of a Sponsored by to sensitive functions or data. system’s architecture, espe- cially at the early stages of a If architectural oversight doesn’t project. If some architecture The podcast for professional developers lead to speci c improvements, your aspect is still being devel- is looking for hosts to interview some of stakeholders will view it as a waste oped, focus on tracking this the top minds in software engineering. of time or a bureaucratic form- to a decision rather than la- lling exercise they must endure, beling the system as “non- Contact [email protected] rather than an important part of compliant” in some way. for more information.

software development. Sponsored by

Pragmatic on’t aim for archi- Architectural oversight must take tectural perfection into account real-world constraints D or demand un-

14 112 IEEE SOFTWAREComputingEdge | WWW.COMPUTER.ORG/SOFTWARE | @IEEESOFTWARE April 2015

s1pra.indd 112 12/9/14 3:05 PM Editor: Diomidis Spinellis TOOLS OF THE TRADE Google, [email protected]

Bespoke Infrastructures

Diomidis Spinellis

IN THE 1920s, the Ford Motor ternal use can take many forms: tailored to  t your organization’s Company embarked on an ill-fated operating systems; compilers; pro- unique needs. For example, you can attempt to establish an industrial gramming languages; version con- optimize the design of a bespoke town in an Amazon rainforest as a trol systems; platforms for building, database management system or way to secure a cultivated rubber testing, and continuous integration; cache server to  t exactly your or- supply for its cars’ wheels. At the database management systems; ap- ganization’s load and query pro le. time, it already owned ore mines, plication development frameworks, Aggressively tailored solutions can forests, and a steel foundry to pro- game engines; or utility libraries. run circles around offerings that try duce the raw materials for its cars; Bespoke infrastructures can also to please everyone, supporting fea- today, it buys from external suppli- extend to methods for doing work, tures particular to your organiza- ers, even for its cars’ electronic con- such as the development process, tion’s unique needs: a programming trol units. How do these two phases code reviews, work ows, code style language construct, a database col- of the automotive industry’s history rules, and testing and integration umn type, or a game engine interac- relate to the way we currently de- practices. tion style. velop and adopt infrastructure in Then there’s the exibility: as the our profession? The Case For owner of the infrastructure, you de- Infrastructure developed within The obvious reason for creating a cide where it’s going. If you want to your organization for its own in- bespoke solution is that it can be add a new feature or  x a bug, you

www.computer.org/computingedge0740-7459/14/$31.00 © 2014 IEEE JANUARY/FEBRUARY 2014 | IEEE SOFTWARE 23 15

s1too.indd 23 12/5/13 11:02 AM TOOLS OF THE TRADE

devote the required resources, and, port—a convenience that we take for But the problems don’t stop here. presto! Your wish is ful lled. In con- granted today. Given that infrastructure is critical trast, if you adopt a commercial of- Maintenance is another issue. to operations, the owners of bespoke fering, you can only hope that the Let’s assume that, at the time you solutions can (often unintentionally) vendor moves in the direction you set up your bespoke infrastructure, hold the organization ransom to se- want; if you work with an open it suited your organization better cure cozy working arrangements. source solution, you have to coordi- nate with its developers (and some- times jump through multiple hoops) to integrate your changes upstream. It takes just two years for some brilliant Put simply, bespoke infrastruc- tures allow your organization to software to turn into a nightmare without innovate and keep the fruits of any changing a single line of code. ndings to itself, which can provide it with tactical or even strategic ad- vantages over the competition. As examples, consider the bespoke da- tabase and caching solutions that than any alternative. However, to This drives down morale and en- allow big social networking compa- paraphrase Robert Anton Wilson, it courages empire building by piling nies to drink data from a re hose takes just two years for some bril- new layers of bespoke stuff on top of and the awesome proprietary data- liant software to turn into a night- existing ones. As you might expect, center infrastructures developed by mare without changing a single line such vested interests in an organiza- the largest cloud service providers. of code. Unless aggressively main- tion stand in the way of looking at Even if the bene ts of a bespoke in- tained and developed, bespoke infra- better alternatives, and the organiza- frastructure are dubious, its mere ex- structures can easily fall behind the tion misses out on the bene ts of the istence can serve as a selling point or state of the art. What was once a latest and greatest technology. a differentiator in the market. nimble trailblazer opening new di- Finally, consider developer mo- rections for your organization can bility. On one hand, developers who The Case Against quickly become a dinosaur that holds for years have been writing code in Proprietary infrastructure is only progress back. I’ve heard developers your organization’s obscure pro- known within the organization that complaining that their organization’s gramming language that no one else hosts it. Consequently, new em- bespoke development tools, probably uses will nd it dif cult to get an of- ployees face a signi cant hurdle be- once a source of pride, are in such fer that will lure them away. On the fore they can become productive a state of disrepair that they spend other, the smart people who work and stop inundating their colleagues more time waiting for their environ- with your niche infrastructure will with questions. Contrast this with ment to work than the time they in- quickly realize that it negatively af- the case of a widely used offering vest in actually writing code. fects their career prospects and will that lets newcomers add value to the Then come the development and start looking for alternatives. Thus organization from day one by fold- support costs, which will include not you’ll end up working only with ing in their relevant knowledge, ex- only the (typically highly paid) en- those unfortunate souls who have perience, and improved practices. gineering time needed to bring the nowhere better to go. The use of a bespoke infrastructure infra structure to life, but, just as imposes its own vocabulary, hinder- importantly, management distrac- A Balancing Act ing the informal communication of tion during both its early days and its Maintain a healthy amount of skep- developers with colleagues in other (inevitably capricious) ending ones. ticism regarding homebrew solu- organizations. Along the same lines, Add to this the opportunity cost of tions: the cards are stacked against users of a bespoke solution won’t be depriving other pro table projects of the adoption of infrastructure that’s able to reach out to the global online engineering resources, and the price “not invented here.” By de nition, community for answers and sup- can really go up. bringing in such infrastructure

16 24 IEEE SOFTWAREComputingEdge | WWW.COMPUTER.ORG/SOFTWARE | @IEEESOFTWARE April 2015

s1too.indd 24 12/5/13 11:02 AM TOOLS OF THE TRADE

means change, and this triggers peo- in uence your decision either way. an open source tool and improve it ples’ conservative instincts. Devel- Rather, you should simply consider to address your organization’s re- opers who have learned to use the the relative merits of the two solu- quirements. Then, cooperate with bespoke tool or library will have to tions, the cost of the alternatives, the tool’s developers to contribute learn the new one, and, worse, those and any switching costs. Sadly, mis- your changes back to the commu- who developed it will have to nd placed loss aversion regarding a nity. This isn’t just out of altruism; other ways to contribute. sunk cost often taints an organiza- feeding your changes back upstream It’s impossible to break new tion’s judgment. ensures that they remain part of the ground with established solutions, If universally available tools don’t tool in the future. so the need to come up with a never- quite t the bill, consider custom- Finally, when called to make a ending stream of bespoke solutions izing a general-purpose solution to choice, consider that the trend is to- might just be the cost of doing busi- your needs. Thankfully, modern ward a transition from bespoke in- ness at the frontier. Yet, the prob- technologies are often easily cus- frastructures to widely used, general- lem may not be in creating and us- tomizable via myriad con guration purpose technologies. I’ve seen this ing these infrastructures, but in not options, plugins, and modules. (Of- transition happening in many orga- letting them go when they’ve served ten to the point of absurdity; con- nizations, often with pain and regret their purpose. sider the 12,000 theme downloads for the earlier decision to follow the You might hear arguments about available on eclipsecolorthemes.org.) bespoke solution sirens. the investment put into a bespoke Look for existing customizations be- infrastructure’s development. Given fore launching your own. that this is a sunk cost, it shouldn’t Another approach is to adopt hen you design infra- structures, train your W instinct to go with the  ow: adopt and build on the best and greatest technologies used by for Articles your community. DIOMIDIS SPINELLIS works at Google as a Call IEEE Software seeks practical, readable site reliability engineering software engineer. Contact him at [email protected]. articles that will appeal to experts and nonexperts alike. The magazine aims to deliver reliable

information to software developers and managers to This article originally appeared in help them stay on top of rapid technology change. IEEE Software, vol. 32, no. 1, 2015. Submissions must be original and no more than 4,700 words, including 200 words for each table and fi gure.

Author guidelines: www.computer.org/software/author.htm Post your comments online LISTEN TO DIOMIDISFurther details: [email protected] SPINELLIS by visiting the column’s blog: www.computer.org/software “Tools of the Trade” Podcast www.spinellis.gr/tools www.computer.org/toolsofthetrade See www.computer.org/ software-multimedia for multimedia content related to this article.

www.computer.org/computingedge JANUARY/FEBRUARY 2014 | IEEE SOFTWARE 25 17

s1too.indd 25 12/5/13 11:02 AM View from the Cloud Editor: George Pallis • [email protected] Cloud-Based Software Crowdsourcing

Wei-Tek Tsai • Arizona State University

Wenjun Wu • Beihang University

Michael N. Huhns • University of South Carolina

In addition to providing large-scale, highly available computational resources, clouds also enable a new methodology for software development via crowdsourcing, in which crowd participants either collaborate or compete to contribute software. Using a crowd to develop software is predicted to take its place alongside established methodologies, such as agile, scrum, pair programming, service-oriented computing, and the traditional waterfall.

rowdsourcing software development, or Based on its organizational style, software software crowdsourcing,1 is an emerging crowdsourcing can be either competitive or col- C software engineering approach. Software laborative. In competitive crowdsourcing, only development has been outsourced for a long winning participants are rewarded. TopCoder time, but using a cloud to outsource it to a crowd (www.topcoder.com), an online programming con- of developers is new. We’ve found that all soft- test site, is an example of this approach. In col- ware development tasks can be crowdsourced, laborative crowdsourcing, people cooperate with including requirements, design, coding, testing, each other on various aspects, including funding, evolution, and documentation. Software crowd- concept development, user interface design, code, sourcing practices blur the distinction between test, and evaluation. AppStori (www.appstori.com) users and developers, and follow the cocreation represents this approach. The process design (such principle — that is, a regular user becomes a as activities, duration, and number of participants), codesigner, codeveloper, and comaintainer. This support infrastructure, and software projects are is a paradigm shift from conventional industrial different for these two approaches. software development, with developers distinct from users, to a crowdsourcing-based, peer-pro- Crowdsourcing Development duction software development, in which many Processes users can participate. Crowdsourcing can be incorporated into con- A cloud provides a scalable platform with suf- ventional software development processes such cient resources, including computing power and as waterfall or agile and can contribute to any software databases, for a large crowd of devel- software development phase.2 It can be used with opers. With emerging cloud software tools such most design techniques, such as object-oriented, as DevOps (a portmanteau of development and service-oriented, and user-centered design (UCD); operations) and large-scale software mining, a software-as-a-service (SaaS); and formal methods. cloud signi cantly reduces the amount of man- For example, TopCoder directly supports the fol- ual labor needed to set up software production lowing process: conceptualization, speci cation, environments and empowers peer developers to architecture, component production, application perform software crowdsourcing tasks ef ciently assembly, certi cation, and deployment. Each can in design, coding, and testing. be crowdsourced competitively.

78 Published by the IEEE Computer Society 1089-7801/14/$31.00 © 2014 IEEE IEEE INTERNET COMPUTING 18 April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE

IC-18-03-VftC.indd 78 10/04/14 5:00 PM View from the Cloud Cloud-Based Software Crowdsourcing Editor: George Pallis • [email protected]

Crowdsourcing Goals computing resource lets crowdsourc- • participant ranking and recom- Cloud-Based Software Crowdsourcing’s bene ts accrue from ing organizers cope with uctuations mendation tools; organizations attempting to achieve in the numbers of participants as well • software development tools for the following goals: as computational workloads that occur modeling, simulation, code editing Crowdsourcing with crowdsourcing competition activ- and compilation, design notation • Quality software. Such software ity. For example, the largest crowd- and documentation, and testing; comes from competent participants sourcing site for data analytics, Kaggle • cloud payment and credit man- Wei-Tek Tsai • Arizona State University who try to outdo their peers in sub- (www.kaggle.com), adopted Windows agement tools; and mitting innovative concepts, design, Azure to run software services and • a repository of software devel- Wenjun Wu • Beihang University code, or tests. host crowdsourcing contests. opment assets, such as modules, • Rapid acquisition. Crowdsourcing speci cations, architectures, and Michael N. Huhns • University of South Carolina organizers can post a competition Industrial Software design patterns. hoping to nd that something sim- Crowdsourcing In addition to providing large-scale, highly available computational resources, ilar has already been developed. Several websites have been estab- All these elements are encapsu- • Talent identi cation. An organizer lished to support crowdsourcing, such lated in the reference architecture for clouds also enable a new methodology for software development via might be interested in identify- as TopCoder, uTest (www.utest.com), a cloud-based software crowdsourcing crowdsourcing, in which crowd participants either collaborate or compete ing talented developers, as dem- AppStori, oDesk (www.odesk.com), system (Figure 1). Metaphorically, we to contribute software. Using a crowd to develop software is predicted to onstrated by their performance in and mob4hire (www.mob4hire.com). can regard this architecture as synergy competitive efforts. Furthermore, most of the industrial between two clouds — machine and take its place alongside established methodologies, such as agile, scrum, pair • Cost reduction. A crowdsourcing software giants are actively engaged human — toward the ultimate goal of programming, service-oriented computing, and the traditional waterfall. organizer can acquire software at in crowdsourcing, including Microsoft developing high-quality and low-cost a low cost owing to the need to and Oracle. Microsoft used crowd- software products. With the properly pay only winners, and could even sourcing for Windows 8 development speci ed platform-as-a-service (PaaS) pay below-market costs, given that by starting blogs,3 crowdsourcing recipes, software project managers can rowdsourcing software development, or Based on its organizational style, software participants might seek reputation mobile devices for Windows 8, and establish a customized cloud software software crowdsourcing,1 is an emerging crowdsourcing can be either competitive or col- rewards rather than monetary ones. offering US$100,000 for security test- environment to facilitate the following C software engineering approach. Software laborative. In competitive crowdsourcing, only ing.4,5 Oracle also adopted crowd- software crowdsourcing process: development has been outsourced for a long winning participants are rewarded. TopCoder Other goals include solution diver- sourcing for its customer relationship time, but using a cloud to outsource it to a crowd (www.topcoder.com), an online programming con- sity, idea creation, broadening par- management projects.6 1. A manager uses software net- of developers is new. We’ve found that all soft- test site, is an example of this approach. In col- ticipation, marketing, and participant working and collaboration tools ware development tasks can be crowdsourced, laborative crowdsourcing, people cooperate with education, such as encouraging people Architecture and Models to design a reward mechanism to including requirements, design, coding, testing, each other on various aspects, including funding, to use or learn speci c tools. To ensure The distributed development of a motivate crowd workers. Depend- evolution, and documentation. Software crowd- concept development, user interface design, code, a good outcome from software crowd- software system by a crowd requires ing on the software product’s sourcing practices blur the distinction between test, and evaluation. AppStori (www.appstori.com) sourcing, organizations can leverage a the guidance of a reference architec- value and the development scale, users and developers, and follow the cocreation represents this approach. The process design (such cloud infrastructure to accelerate the ture and models for the development a project manager can specify principle — that is, a regular user becomes a as activities, duration, and number of participants), process of setting up the development process. the appropriate budget to attract codesigner, codeveloper, and comaintainer. This support infrastructure, and software projects are environment and enabling distrib- as many talented developers as is a paradigm shift from conventional industrial different for these two approaches. uted and large-scale development by a Software Crowdsourcing possible and provision comput- software development, with developers distinct highly dynamic community. Architecture ing resources to sustain their from users, to a crowdsourcing-based, peer-pro- Crowdsourcing Development The turnout for a software crowd- Different software crowdsourcing pro- activities. duction software development, in which many Processes sourcing event varies due to crowd- cesses can have different needs, but 2. The manager uses project manage- users can participate. Crowdsourcing can be incorporated into con- sourcing’s open and online nature. A also share some commonalities. Such ment tools to coordinate devel- A cloud provides a scalable platform with suf- ventional software development processes such project with a high reward will attract common themes for software crowd- opment tasks among the crowd cient resources, including computing power and as waterfall or agile and can contribute to any a relatively large number of crowd sourcing processes include workforce by ranking individuals’ software databases, for a large crowd of devel- software development phase.2 It can be used with workers. Moreover, computational expertise and matching their skills opers. With emerging cloud software tools such most design techniques, such as object-oriented, overhead and data traf c for differ- • a cloud service management dash- with the different task levels and as DevOps (a portmanteau of development and service-oriented, and user-centered design (UCD); ent software development tasks lead board for system administra- types. operations) and large-scale software mining, a software-as-a-service (SaaS); and formal methods. to spikes in the resources that crowd- tors and software crowdsourcing 3. Toward a speci c software project, cloud signi cantly reduces the amount of man- For example, TopCoder directly supports the fol- sourcing activities require. To address organizers; a manager sets up a virtual sys- ual labor needed to set up software production lowing process: conceptualization, speci cation, this issue, cloud-based software • collaboration and communication tem platform with all the neces- environments and empowers peer developers to architecture, component production, application crowdsourcing combines advantages tools, such as a distributed black- sary software development gears perform software crowdsourcing tasks ef ciently assembly, certi cation, and deployment. Each can of both paradigms: pay-for-use and board system where each party to assist crowd workers with in design, coding, and testing. be crowdsourced competitively. pay-for-performance. An elastic cloud can participate in discussions; their tasks.

78 Published by the IEEE Computer Society 1089-7801/14/$31.00 © 2014 IEEE IEEE INTERNET COMPUTING MAY/JUNE 2014 79 www.computer.org/computingedge 19

IC-18-03-VftC.indd 78 10/04/14 5:00 PM IC-18-03-VftC.indd 79 10/04/14 5:00 PM View from the Cloud

Software development tools Requirements System Coding and Test and analysis design integration deployment Social networks and collaboration tools

Task Task Task Task Task Project management tools

• Description • Expertise • Experience • Redundancy • Matching Crowd • Instantiating Cloud software platform • Ranking workforce • Monitoring • Rewarding • Backup & recovery • Funding PaaS recipe

Figure 1. Reference architecture for cloud-based software crowdsourcing. We regard it as a synergy between two clouds — machine and human — toward the ultimate goal of developing high-quality and low-cost software products.

4. Both the platform and its work ow be viewed in terms of crowdsourc- By using platforms that incorporate can operate elastically to yield ing (www.dellingadvisory.com/ open source software repositories, such cost-efcient resource utilization. blog/2013/4/10/crowdsourcing- as Github and commercial crowdsourc- the-prisoners-dilemma). ing sites, we can conduct experiments We discuss the cloud tools in detail in • Economic models. Economic com- to understand software crowdsourc- a subsequent section. petition models provide strategies ing’s nature and validate theories. Such and incentives to generate crowd experiments must model tasks, work- Software Crowdsourcing Models participating and reward-structur- ers, and costs for effort and resources. We can characterize software crowd- ing rules for organizers to maxi- We can verify various worker ranking, sourcing in terms of the crowd size, mize crowdsourcing returns. The incentive, and matching algorithms to software scale and complexity, devel- recently developed contest theory7 simulate possible virtual team forma- opment processes, and competition introduces new mathematical tools, tion, and to isolate design factors. Both or collaboration rules. Formal models such as all-pay auction, to describe professional engineers and students for designing and modeling software the synergy among individual can be involved in experiments, and crowdsourcing can have the follow- efforts, competition prize structure, investigators can document and make ing foundations: and product quality. available ontologies of these models, • Optimization theory. Due to the so that others can design new experi- • Game theory. The nature of contests competitive and dynamic nature of ments, collect data, and exchange in competition-based crowdsourc- software crowdsourcing processes, ideas. Several platforms are available, ing can be analyzed via game the- coordinating unstable virtual including OW2 Open Source Commu- ory. For example, we can determine teams, optimizing the partition and nity and Trustie (http://forge.trustie. the reputation reward value based allocation of development tasks, net). Simulation techniques, such as on the number of participants and and balancing costs, time, and NetLogo, that are based on multiagent the reward price; participants are quality can be challenging. Thus, systems can also play a role in model- often willing to compete to gain the organizer of a crowdsourced ing software crowdsourcing behavior. reputation rather than receiving a software development effort could reward price determined accord- apply a search-based software Cloud Tool Support ing to a Nash equilibrium.2 Even engineering approach8 to address Given software crowdsourcing’s dis- the Prisoner’s Dilemma game can optimization problems. tributed nature, it needs a powerful

80 www.computer.org/internet/ IEEE INTERNET COMPUTING 20 ComputingEdge April 2015

IC-18-03-VftC.indd 80 10/04/14 5:00 PM Cloud-Based Software Crowdsourcing

Table 1. Cloud tools for supporting software crowdsourcing. Cloud tool type Name Characteristics Software development tools Chef/Puppet Streamlines the environment con guration for cloud-oriented software development and testing PaperTrail Supports large-scale system log administration and analysis CloudIDE Web-based IDE that simpli es and integrates cloud software development Social networking and Conuence A team-based collaboration tool for content creation and collaboration tools sharing Project management tools CloudSpoke on Topcoder A crowdsourcing website for cloud development that ranks developers’ skills and organizes contests for development tasks Github A project-hosting website that supports collaborative software development, and can serve as code repository for cloud-based software crowdsourcing Trustie An online software development site that integrates project hosting, social networking, and programming education

development environment to facili- example, cloud software con guration the context of the dynamic developer tate software design, coding, test, and tools such as Chef (www.opscode.com/ community. In addition to these regu- deployment across distributed and chef/) and Puppet (http://puppetlabs. lar functions, it must incorporate rank- heterogeneous infrastructures. All com) let community members estab- ing, reputation, and award systems community members should be able lish their own virtualized development for both products and participants. to access the same software develop- environments. MapReduce-based log- For example, TopCoder introduces a ment environment customized for a management tools, such as PaperTrail sophisticated ranking scheme, similar speci c project. Moreover, numerous (http://papertrailapp.com), support to sport tournaments, to rank commu- submissions from community mem- large-scale system log administration nity members’ skills in software devel- bers must be quickly screened, evalu- and analysis, and help community opment. Community members often ated, reviewed, and integrated. Thus, members resolve software problems decide to participate in a speci c con- software crowdsourcing efforts require and enhance system reliability using test if they know the ranking of the enhancements to common software log messages. participants already enrolled. development tools for coding, testing, and deployment to support automatic Social Networks and Ecosystem for Software project building, integration, perfor- Collaboration Tools Crowdsourcing mance analysis, and security check- Facebook, Twitter, wikis, blogs, and Both collaboration- and competition- ing. By leveraging cloud computing’s similar Web-based tools let partici- based software crowdsourcing have elastic resource provisioning and pants communicate for sharing and ecosystems with signi cant economic virtual appliances, crowdsourcing collaboration. For example, organiz- implications. These ecosystems cre- practitioners have started to develop ers can use Facebook pro les to form ate jobs and establish career paths for the evaluation pipeline to automate a virtual crowdsourcing team, even developers. They also let organizations testing and review for quality, secu- if the participants don’t know each start new projects, secure funding, iden- rity, and coverage, as well as coding other. A collaborative blackboard- tify talent, and create new products. For standards. A cloud-based integrated based platform can let participants example, Apple’s App Store, a website development environment (IDE) must see a common area and suggest ideas for iOS applications, has an ecosys- have the following features (Table 1 to improve the solutions posted there. tem with 150,000 contributors and has summarizes the various tools). accumulated more than 700,000 iOS Project Management Tools applications in its four years of opera- Software Development Tools Crowdsourcing project management tion. People contribute their innovations An IDE for crowdsourcing integrates should support project cost estimation, for reputation or money via the store’s tools for requirements, design, coding, development planning, decision mak- micropayment mechanism. With such a compilers, debuggers, performance ing, bug tracking, and software reposi- large community, several community- analysis, testing, and maintenance. For tory maintenance, all specialized for based, collaborative platforms have

MAY/JUNE 2014 81 www.computer.org/computingedge 21

IC-18-03-VftC.indd 81 15/04/14 8:02 PM View from the Cloud

been created as incubators, and one Level 1 contributions. A crowdsourcing plat- such incubator is AppStori, an online The rst level is characterized by form at this level contains automated crowd-funding community in which individual developers, well-dened matching of requirements to existing people can collaborate to develop modules, small size, limited devel- components, including matching of iOS apps. opment time span (less than a few specications, services, and tests, and TopCoder, founded in 2001, simi- months), quality products, and cur- automated regression testing. larly has an ecosystem with a global rent development processes such as workforce of more than 500,000 the ones by AppStori, TopCoder, and Level 4 members. Recently, TopCoder and uTest. Coders are ranked; websites The fourth level consists of a multi- CloudSpokes (www.cloudspokes.com), contain online repository crowd- national collaboration of large and which has 72,000 registered mem- sourcing materials; participants can adaptive systems. A crowdsourcing bers with expertise in cloud software, rank software; and crowdsourcing platform at this level might contain merged to form the largest crowd- platforms have communication tools domain-oriented crowdsourcing with sourcing community for cloud-based such as wikis, blogs, and comments, ontology, reasoning, and annotation; software development. About 1,100 as well as software development tools automated cross-verication and test- CloudSpokes projects have been such as an IDE, testing, compilers, generation processes; and automated posted online to motivate developers simulation, modeling, and program conguration of the crowdsourc- to work on the major cloud platforms, analysis. ing platform. It might also restruc- such as Amazon Web Services and ture the platform as SaaS with tenant Force.com. Level 2 customization. Crowdsourcing also needs to focus At the second level are teams of on workers to keep them happy as the people (< 10) and well-dened sys- Pilot Software world enters a worker-centered crowd- tems; a medium-sized system to be Crowdsourcing Projects sourcing society. Essential features of developed, with medium development The University of South Carolina a crowdsourcing platform should show time (several months to less than recently started a cloud-based crowd- past performances and assign proper one year); and adaptive development sourcing project to produce the control ratings based on metrics developed by processes with intelligent feedback software for an ofce robot. The robot the relevant communities. in a common cloud platform where behavior will follow a three-step pro- Team organization is also impor- people can freely share thoughts. At cess: perceiving, reasoning, and acting, tant in crowdsourcing, and teams this level, a crowdsourcing platform commonly known as a PRA architec- can be self-organized by community supports an adaptive development ture. Specically, perceiving occurs or recommendation. Crowdsourcing process that allows concurrent devel- using ultrasonic sensors to detect walls communities must have objective opment processes with feedback from and obstacles. Moving to an ofce is governing rules to arrange bidding, fellow participants; intelligent analy- an action that requires reasoning using matching, job security, career paths, sis of coders, software products, and data collected in the perceiving sub- project management, and often phys- comments; multiphase software test- system. A crowd consisting of students ical environments for participants. ing and evaluation; big data analyt- and faculty will develop software for Trust among team members is impor- ics, automated wrapping of software the robot at the granularity of a behav- tant because teams might be formed services into SaaS, annotations with ior. The goal is to show that the crowd by people who don’t know each other, terms from an ontology, and cross size need not be large. Developers can and it’s necessary to manage trust via references to DBpedia and Wikipedia; act autonomously and collaboratively. multiple strategies such as ranking, automated analysis and classication To ensure interoperability, software recommendation, displayed previ- of software services; and ontology produced will be stateless services, so ous products, and recorded dialogue. annotation and reasoning, such as that they can be independent of each Furthermore, a crowdsourcing plat- linking those services with compat- other, and each module will expose a form must inform workers whom they ible I/O. service specication so that specica- work for and what their role in the tions can be formally reasoned. Fur- development effort will be. Level 3 thermore, software development will The third level has teams of people be done using a common IDE, a cloud- Crowdsourcing Roadmap (< 100 and > 10), a large well-dened based repository (such as Bitbucket or A recent workshop presented the fol- system, long development time (< 2 GitHub), and a Ubuntu Linux platform; lowing four-level roadmap for software years), and automated cross-veri- testing can occur either in the cloud or crowdsourcing.9 cation and cross-comparison among on the actual robot.

82 www.computer.org/internet/ IEEE INTERNET COMPUTING 22 ComputingEdge April 2015

IC-18-03-VftC.indd 82 10/04/14 5:00 PM Cloud-Based Software Crowdsourcing

loud-based software crowdsourc- 8. M. Harman, “The Current State and Future China Computer Federation (CCF). Contact Cing is a new approach for low- of Search Based Software Engineering,” him at [email protected]. cost, rapid software development, and Proc. IEEE Future of Software Eng. (FOSE the existence of large ecosystems has 07), 2007, pp. 342–357. Michael N. Huhns holds the NCR Professorship shown that this approach is viable. 9. M.N. Huhns, W. Li, and W.-T. Tsai, “Cloud- and is chair of the Department of Computer Moreover, it is a ripe area for research Based Software Crowdsourcing (Dagstuhl Science and Engineering at the University on how a crowd of anonymous devel- Seminar 13362),” Dagstuhl Reports, vol. 3, of South Carolina. He also directs the Cen- opers can produce coherent models, no. 9, 2013, pp. 34–58; doi: 10.4230/ ter for Information Technology. Huhns has analyses, simulation components, DagRep.3.9.34. a PhD in electrical engineering from the experimental results, and a support University of Southern California. He is environment. Many research direc- Wei-Tek Tsai is a professor at Arizona State a senior member of ACM and a fellow of tions are possible, including theo- University. His research interests include IEEE. Contact him at [email protected]. retical models, optimization methods, software as a service, service-oriented infrastructure support features, and computing, and crowdsourcing. Tsai social issues, with a clear roadmap. has a PhD in computer science from the University of California, Berkeley. He’s a Acknowledgments member of IEEE. Contact him at wtsai@ This article originally appeared in The ideas in this article were inspired by par- asu.edu. IEEE Internet Computing, vol. ticipants at the recent Dagstuhl Workshop on 18, no. 3, 2014. Cloud-Based Software Crowdsourcing.9 Wenjun Wu is a professor at Beihang Univer- sity. His research interests include crowd- References sourcing, cloud computing, and eScience. Selected CS articles and columns 1. W. Wu, W.T. Tsai, and W. Li, “Creative Soft- Wu has a PhD in computer science from are also available for free at http:// ware Crowdsourcing: From Components Beihang University. He’s a member of the ComputingNow.computer.org. and Algorithm Development to Project Concept Formations,” Int’l J. Creative Computing, vol. 1, no. 1, 2013, pp. 57–91. 2. W. Wu, W.T. Tsai, and W. Li, “An Evaluation Framework for Software Crowdsourcing,” Frontiers of Computer Science, vol. 7, no. 5, IEEE COMPSAC 2014 2013, pp. 694-709. 38th Annual IEEE International Computers, Software and 3. S. Thomas, “Microsoft Launches Crowd- Applications Conference sourcing Blog for Windows 8,” Meme- burn, 16 Aug. 2011; http://memeburn. July 21-25, 2014 com/2011/08/microsoft-launches-crowd- sourcing-blog-for-windows-8/. Vasteras, Sweden 4. S. Simpson, “Crowdsource Your Next COMPSAC is the IEEE Signature Conference on Computers, Software, Windows 8 Device?” Windows RT Source and Applications. It is one of the major international forums for blog, 10 June 2013; www.winrtsource. academia, industry, and government to discuss research results, com/2013/06/10/crowdsource-your-next- advancements and future trends in computer and software technologies and applications. The theme of the 38th COMPSAC windows-8-device/. conference is The Integration of Heterogeneous and Mobile Services 5. L. Bell, “Microsoft Offers a $100,000 Bug in Smart Environments. Bounty for Cracking Windows 8.1,” The Inquirer, 20 June 2013; www.theinquirer. Register today! net/inquirer/news/2276303/microsoft- www.compsac.org offers-a-usd100-000-bug-bounty-for- cracking-windows-81. 6. A. Diana, “Oracle Integrates Crowdsourc- ing into CRM,” InformationWeek, 16 Mar. 2011. 7. L.C. Corchón, “The Theory of Contests: A Survey,” Rev. of Economic Design, vol. 11, no. 2, 2007, pp. 69–100.

MAY/JUNE 2014 83 www.computer.org/computingedge 23

IC-18-03-VftC.indd 83 10/04/14 5:00 PM Editor: Jane Cleland-Huang DePaul University, REQUIREMENTS [email protected]

Injecting Value-Thinking into Prioritization Decisions

Jane Cleland-Huang

MOST PROJECTS have more poten- stakeholders in the room. Better ap- stories. Constructing a story map en- tial requirements than they have re- proaches seek consensus—through gages project stakeholders in actively sources to deliver them. Regardless bringing together key stakehold- planning releases and thrashing out of whether you’re building software ers, identifying tradeoffs, articulat- the delivery sequence. Figure 1 shows to control automobiles, manage pa- ing value propositions, and reach- a simple story map. tient healthcare records, or calculate ing agreement. One way to do this is Agile release planning is often driving directions, you need to think through the approach I describe here, driven by the goal of identifying and long and hard about which features which takes into account the fea- delivering a minimal viable product to include in your product and how tures’ value. (MVP).2 Steve Blank and Eric Reis to prioritize and sequence their de- coined this term to describe the deliv- livery. Your decisions will likely have Story Mapping erable that maximizes feedback from major rami cations on your prod- and Optimizing Value hands-on users at the lowest risk. uct’s success and marketability. Jeff Patton’s latest book describes This makes a lot of sense. Instead of People have proposed many ap- story mapping, an agile practice.1 prioritizing user stories by module, proaches for selecting and priori- Story mapping addresses many prob- you identify a minimal slice of user tizing features. The most popular lems inherent in a traditional back- stories that cut across the system and ones are based on various triaging log and exposes prioritization deci- that, when deployed, bring real value schemes for classifying requirements sions to the team as a whole. A visual to the customer. In my own agile ex- periences, we’ve worked exactly this way. Our team has met, thrashed out ideas, and identi ed an initial product we can place into our users’ It’s a bit naive to believe that a simple rule hands. However, release planning has an- will always produce the winning solution. other aspect. Instead of focusing only on validated learning, you should also consider the nancial impact of the features you deliver. The book Software by Numbers, which Mark into high, medium, or low priorities workspace replaces the backlog’s  at Denne and I wrote over a decade or on assigning points to different list. Essential stories form a horizon- ago, introduced incremental funding features and using the accumulated tal backbone along a timeline. Sto- and showed how to sequence mini- points to rank the features. However, ries detailing each step, or simply mum marketable features (MMFs) these techniques are naive and easily occurring around the same time, are so as to optimize project value.3 in uenced by the composition of the added vertically beneath the essential MMFs are the smallest unit of func-

24 14 IEEE SOFTWAREApril 2015 | PUBLISHED BY THE IEEEPublished COMPUTER by the SOCIETYIEEE Computer Society 0740-7459/15/$31.002376-113X/15/$31.00 © 2015 © 2015 IEEE IEEE

s2req.indd 14 2/4/15 5:12 PM Editor: Jane Cleland-Huang DePaul University, REQUIREMENTS REQUIREMENTS [email protected]

Injecting Value-Thinking Flow of the story line narrative The manager adds a The user subscribes The system The system invoices The user pays the new magazine to the magazine. dispatches the the user. invoice. account to the magazine to users. into Prioritization system.

The magazine The user views The manager The manager views The manager views Decisions owner or manager the available establishes a accounts receivable. the revenue history. uploads a new edition magazines. delivery schedule. of a magazine. The user views or Jane Cleland-Huang The magazine reads sample The system tracks The system forwards owner or manager magazines. bad emails. revenue to the views the current magazine owner subscriptions and The user or manager (minus service fees). MOST PROJECTS have more poten- stakeholders in the room. Better ap- stories. Constructing a story map en- history. views user tial requirements than they have re- proaches seek consensus—through gages project stakeholders in actively subscriptions. sources to deliver them. Regardless bringing together key stakehold- planning releases and thrashing out of whether you’re building software ers, identifying tradeoffs, articulat- the delivery sequence. Figure 1 shows to control automobiles, manage pa- ing value propositions, and reach- a simple story map. FIGURE 1. A simple story map for Mags-R-Us, a hypothetical business that acts as the middleman for online magazine delivery. tient healthcare records, or calculate ing agreement. One way to do this is Agile release planning is often Gray indicates the project backbone, yellow indicates user actions, and blue indicates system actions. driving directions, you need to think through the approach I describe here, driven by the goal of identifying and long and hard about which features which takes into account the fea- delivering a minimal viable product to include in your product and how tures’ value. (MVP).2 Steve Blank and Eric Reis tionality that delivers something of will always produce the winning so- patch, invoicing, and payments. Your to prioritize and sequence their de- coined this term to describe the deliv- value to the customer. Denne and I lution. The mantra creates a rule of business plan is to build your cus- livery. Your decisions will likely have Story Mapping erable that maximizes feedback from measured value in terms of revenue, thumb to be followed regardless of tomer base and iron out problems major rami cations on your prod- and Optimizing Value hands-on users at the lowest risk. reduced operating costs, and intan- whether it’s the best decision for a in your system by launching the rst uct’s success and marketability. Jeff Patton’s latest book describes This makes a lot of sense. Instead of gibles such as increased customer particular project. This also some- magazine without charging a fee, in People have proposed many ap- story mapping, an agile practice.1 prioritizing user stories by module, loyalty. We showed that smart deliv- what contradicts the notion that ag- order to build a customer base. How- proaches for selecting and priori- Story mapping addresses many prob- you identify a minimal slice of user ery sequences enabled early revenue ile team members should be empow- ever, you plan to start charging fees tizing features. The most popular lems inherent in a traditional back- stories that cut across the system and that can fund the remainder of the ered to make their own informed within the rst few months. Further- ones are based on various triaging log and exposes prioritization deci- that, when deployed, bring real value project. decisions. more, several potential magazines schemes for classifying requirements sions to the team as a whole. A visual to the customer. In my own agile ex- Given multiple objectives, it isn’t The approach I now describe in- are already lined up to use your de- periences, we’ve worked exactly this always obvious which parts of the sys- jects value-thinking into prioritiza- livery service. way. Our team has met, thrashed tem to build rst. The goal is to iden- tion. These ideas stem from my ear- You organize your stories into the out ideas, and identi ed an initial tify a set of features that maximize lier work on incremental funding; story map in Figure 1. Yellow indi- product we can place into our users’ validated learning potential while re- here, I present them in a lightweight cates user actions; blue indicates sys- It’s a bit naive to believe that a simple rule hands. turning real value to the customer. To format and integrate them into story tem actions. The story map starts However, release planning has an- complicate issues, necessary architec- mapping. when a manager adds a magazine will always produce the winning solution. other aspect. Instead of focusing only tural decisions often impact the time- to the system. New editions of the on validated learning, you should line. For example, you might need to A Simple Example magazine are regularly uploaded. Us- also consider the nancial impact of decide whether to build the simplest Imagine you’re starting Mags-R-Us, ers can subscribe to the magazine, the features you deliver. The book possible design rst and then refactor a company that acts as the middle- and the system dispatches it on its Software by Numbers, which Mark later to support more functionality, man for online magazine delivery. planned release dates to all subscrib- into high, medium, or low priorities workspace replaces the backlog’s  at Denne and I wrote over a decade or build the necessary infrastructure You need to develop a software ap- ers. The system then invoices the or on assigning points to different list. Essential stories form a horizon- ago, introduced incremental funding early in the project. plication to support your business subscribers (perhaps annually), who features and using the accumulated tal backbone along a timeline. Sto- and showed how to sequence mini- For sure, you could follow the ag- model. You gather together some pay the invoice. In this example, the points to rank the features. However, ries detailing each step, or simply mum marketable features (MMFs) ile mantra and always build the sim- project stakeholders and brainstorm story map isn’t equivalent to a use these techniques are naive and easily occurring around the same time, are so as to optimize project value.3 plest solution rst. However, it’s a a set of user stories. These include case because it captures a more gen- in uenced by the composition of the added vertically beneath the essential MMFs are the smallest unit of func- bit naive to believe that a simple rule sign-up, magazine management, dis- eral life-cycle narrative.

14 IEEE SOFTWARE | PUBLISHED BY THE IEEE COMPUTER SOCIETY 0740-7459/15/$31.00 © 2015 IEEE www.computer.org/computingedge MARCH/APRIL 2015 | IEEE SOFTWARE 15 25

s2req.indd 14 2/4/15 5:12 PM s2req.indd 15 2/4/15 5:12 PM REQUIREMENTS

Magazine ... Magazine ... Subscription ... Customer ... Invoicing ... Payments selection and edition system issue tracker received subscription management (publish/ subscribe) Display available Magazine producers Magazines are Customers log Customers are Payments are magazines add editions to dispatched via complaints and invoiced for their received using including prices. the system. email to issues in the issue subscriptions. an online service A user selects a Magazine producers subscribers. tracker. Accounts receivable that’s integrated magazine and set delivery Issue resolutions are tracked. into the subscribes. schedules. are tracked, and Mags-R-Us system. issues are resolved and closed.

FIGURE 2. In this delivery sequence, called the “big-bang approach,” the minimal viable product (MVP) contains all the essential functionality to support the Mags-R-Us business.

The return on investment (ROI) for the big-bang approach, over time.*

Development period Delivery sequence 1 2 3 4 5 6 7 8 9 10 11 12 Net

TABLE 1 TABLE Magazine –5 00000000000 –5 selection (browser)

Magazine –5 0 0 0 0 0 0 0 0 0 0 –5 edition manager (browser)

Subscription –10 0 0 0 0 0 0 0 0 0 –10 infrastructure

Customer issue –5 0 0 0 0 0 0 0 0 –5 tracker

Invoicing –10 3 4 5 6 7 8 9 32

Payments –5 2 2 2 2 2 2 7 received

* Each gure represents US $1,000.

The story map serves several pur- Figure 2 shows the rst one, which I poses of this illustration. First, most poses. It helps you recognize and call the “big-bang approach.” The rst primary user stories (see the rst col- write several important user stories, release bundles all the essential func- umn of Table 1) take one iteration identify the critical ones, and place tionality to support the Mags-R-Us to develop. So, the development pe- them in the project backbone (in gray business. Although this release might riod is depicted by the negative dollar in Figure 1). But you still need to prioritize user stories into iterations, amount. Also, revenue can be gen- make prioritization decisions. These the Mags-R-Us system won’t come on- erated only when invoicing features decisions don’t change the backbone. line until all functionality is delivered. come online; it will increase once However, they’ll in uence the or- A simple nancial analysis can online payments are possible. The der in which you build and release help determine how choosing this se- cash ow becomes positive only in the features and their supporting quence affects the value proposition period 11, taking into consideration infrastructure. (see Tables 1 and 2). I make a few the net present value (computed at a Consider two delivery sequences; simplifying assumptions for the pur- discount of 2.5 percent per period).

26 16 IEEE SOFTWAREComputingEdge | WWW.COMPUTER.ORG/SOFTWARE | @IEEESOFTWARE April 2015

s2req.indd 16 2/4/15 5:12 PM REQUIREMENTS

Simple ... Email dispatch Invoicing ... Payments single-magazine received sign-up

A user registers to A single magazine Customers are Payments are receive the single is attached to invoiced for their received using

Release 1 magazine that’s email and sent to Release 2 subscriptions. an online service available. all registered Accounts receivable that’s integrated recipients. are tracked. into the Mags-R-Us system.

Magazine ... Magazine ... Subscription ... Customer selection and edition system issue tracker subscription management (publish/ subscribe) Display available Magazine producers Magazines are Customers log magazines including add editions to the dispatched via email complaints and

Release 3 prices. system. to subscribers. issues in the A user selects a Magazine (The initial registration issue tracker. magazine and producers set system is thrown Issue resolutions subscribes. delivery schedules. away.) are tracked, and (Email dispatch is issues are resolved refactored.) and closed.

FIGURE 3. This sequence incrementally delivers the MVP in three parts. In this scenario, it delivers greater value than the rst sequence (see Figure 2).

Cash analysis of the ROI for the big-bang approach.*

Development period

1 2 3 4 5 6 7 8 9 10 11 12

Cash –5 –5 –10 –5 –10 –2 6 7 8 9 10 11 TABLE 2 TABLE Net cash –5 –10 –20 –25 –35 –37 –31 –24 –16 –7 3 14

Present value @ –5 –5 –9 –5 –9 –2 5 6 6 7 8 8 2.50%

Net present value –5 –10 –19 –23 –32 –34 –29 –23 –17 –10 –2 6

* Each gure represents US $1,000.

The second delivery sequence de- ments go online. Finally, increased itself. If, for example, building the composes the MVP into three parts, revenue follows release 3 as the full customer base in advance fails to in- each delivered in a separate, value- functionality is released. Further- crease the starting revenue after the enhancing release (see Figure 3). more, early efforts to grow the cus- full functionality goes online, the sec- Again, a basic nancial analysis tomer base generate revenue. This ond delivery sequence will actually shows how this sequence plays out delivery sequence delivers greater lose money. At the very least, exam- (see Tables 3 and 4). Release 1 pro- value than the rst one, despite ad- ining release decisions’ nancial im- duces intangible bene ts through ditional costs for refactoring the pact and playing around with various building the customer base. Rev- dispatch component. what-if scenarios highlights sensitiv- enue is generated at the end of re- The actual numbers in my exam- ity points in the decision making and lease 2, once invoicing and pay- ple aren’t as important as the process leads to more informed decisions.

www.computer.org/computingedge MARCH/APRIL 2015 | IEEE SOFTWARE 17 27

s2req.indd 17 2/4/15 5:12 PM REQUIREMENTS

The return on investment (ROI) for incremental delivery, over time.*

Development period Delivery sequence 1 2 3 4 5 6 7 8 9 10 11 12 Net

Simple signup –2 00000000000 –2 TABLE 3 TABLE Email –3 00000000000 –3 dispatch

Invoicing –10 2 2 2 2 2 2 2 2 2 2 10

Online –5 0 0 0 0 0 0 0 0 0 –5 payments

Magazine –5 0 0 0 0 0 0 0 0 –5 selection

Magazine –5 0 0 0 0 0 0 0 –5 edition management

Subscription –10 7 8 9 10 11 12 47 system

Customer –5 0 0 0 0 0 –5 issue tracking

* Each gure represents US $1,000.

Cash analysis of the ROI for incremental delivery.*

Development period

1 2 3 4 5 6 7 8 9 10 11 12

Cash –5 –10 –3 –3 –3 –8 4 10 11 12 13 14 TABLE 4 TABLE Net cash –5 –15 –18 –21 –24 –32 –28 –18 –7 5 18 32

Present value @ –5 –10 –3 –3 –3 –7 3 8 9 9 10 10 2.50%

Net present value –5 –14 –17 –20 –23 –29 –26 –18 –9 0 10 21

* Each gure represents US $1,000.

n writing this column, I’m re- they certainly can engage marketing 3. M. Denne and J. Cleland-Huang, Software minded of the conversations that and business folks in project plan- by Numbers: Low-Risk, High-Return Development, Prentice Hall, 2003. I took place shortly after the re- ning and prioritization. Fortunately, lease of Software by Numbers. Some there have been many other conver- folks claimed that software develop- sations with folks who reported sig- JANE CLELAND-HUANG is a professor of ers could never make revenue predic- ni cant success as they started inject- software engineering at DePaul University. tions, therefore nancially driven ap- ing value-thinking into their feature Contact her at [email protected]. proaches would never work. These prioritization processes. I hope you’ll people really missed the point and give it a try! obviously saw software development as an isolated activity. Although busi- References See www.computer.org/ software-multimedia ness analysts and software developers 1. J. Patton, User Story Mapping, O’Reilly, This article originally appeared in 2014. for multimedia content IEEE Software, vol. 32, no. 2, 2015. might not have the skill set or data 2. E. Weiss, The Lean Startup, Crown Busi- related to this article. points to predict revenue streams, ness Books, 2011.

28 18 IEEE SOFTWAREComputingEdge | WWW.COMPUTER.ORG/SOFTWARE | @IEEESOFTWARE April 2015

s2req.indd 18 2/4/15 5:12 PM CLOUD TIDBITS

WELCOME TO CLOUD TIDBITS! In each issue, I look at a different “tidbit” of technology that I con- sider unique or eye-catching, and of particular inter- Is Amazon est to IEEE Cloud Computing readers. When cloud computing came onto the scene, the bene ts of an on-demand, elastic, and ef- cient place where we could deploy applications Becoming became obvious. If you were in healthcare or - nancial services, perhaps concerns about securi- ty and compliance kept you off the cloud. If you were in process control or other real-time appli- the New Cool cations, perhaps the need to have total control over your infrastructure kept you off the cloud. If you were large enough to already be running your own datacenters, such as the social networks, e- Software commerce sites, and search engines we use every day, well, your infrastructure essentially became a cloud. And even when you did keep your on-prem- ise servers, you were able to use VMware or Citrix Company for to gain many of the ef ciencies that public cloud would deliver. Enterprise virtualization became known as “private cloud.” Software developers could create their appli- Developers? cations however they wanted and, with little ef- fort, could deploy on whatever cloud they chose. Even developers who wanted to use a more spe- cialized application runtime infrastructure, such Simple Management Tools and as Ruby on Rails or Map Reduce, could nd mul- Marketplaces tiple providers who would supply that platform on Cloud vendors began to offer deployment automa- demand. In many cases, these would just be a lay- tion options. In 2011, Amazon Web Services came er on top of an infrastructure as a service (IaaS) out with AWS CloudFormation and Microsoft anyhow. came out with AppFabric. Although these were ter- The mode for cloud was always “do your ri c tools, they were very close to the platforms, development as you like, and for deployment, which had previously been quite austere. The rich clouds are the place to be.” Following this man- tra, most developers did indeed easily figure out that cloud platforms—public and private—were in general tremendously compatible. The “atomic particles of IaaS”—compute and storage—al- though varying by platform, were more similar than different and were available everywhere. A host of scripting languages, such as Chef and Puppet, emerged to automate deployment and DAVID management. DevOps engineers could isolate BERNSTEIN the platform-dependent parts in their scripts, or alternatively use products from the emerging Cloud Strategy Partners, ecosystem to handle deployment and manage- [email protected] ment across several clouds.

www.computer.org/computingedge 29 2325 6095/15/$31.00 © 2015 IEEE JANUARY/FEBRUARY 2015 IEEE CLOUD COMPUTING 69

d1tib.indd 69 3/24/15 6:54 PM CLOUD TIDBITS

ecosystem of third-party tools was start- also continued to promote its PaaS envi- Pivotal Software was formed, ying the ing to make deployment and manage- ronment, hoping it would catch on and open source/Cloud Foundry ag, and ment much easier. IaaS was simple, and provide it the “stickiness” experienced many hoped to see Amazon take part simple tools went a long way. in the past with Windows developers. in this direction, allowing the world Marketplaces and reference vir- Google followed Microsoft’s lead by to converge on possibly two models of tual appliances supplied all the add-ons entering the cloud marketplace with a PaaS—Azure, appealing to .NET devel- anyone needed to round out their ap- PaaS-only offering initially, in the form opers, and Cloud Foundry, appealing to plications. Even AWS offered versions of Google AppEngine. This offering was Java/open source developers. of MySQL or Oracle servers, more as seen as very limited, and had only cult Oracle’s approach has been to bring a convenience to developers than any- uptake. Google also eventually released its substantial software development as- thing else. IaaS was the common de- an IaaS offering in the form of Google sets to cloud pretty much as is. Oracle ployment blueprint, cloud platforms Cloud Engine, supporting virtual ma- calls this a PaaS, even though it’s the were commodity, price competition chines directly. same extremely successful middleware pushed costs down, and the use of cloud It seemed like PaaSs were relegated the company has had for some time. platforms exploded. for those hopelessly devoted to their The vendors want developers to use their PaaS systems, of course! But up to now, compared to IaaS, PaaS has simply not caught on. Is it because the PaaS systems so far aren’t that revolutionary? Amazon’s AWS answer, revealed Or is it because IaaS is just ne, thank during the year and announced at the you, largely due to AWS? end of 2014 at its user conference, Amazon Throws couldn’t be more interesting. Down the Gauntlet Amazon’s AWS answer, revealed during the year and announced at the end of 2014 at its user conference, couldn’t be more interesting. Amazon has clearly In Search of Value Added codebase, such as .NET on Azure, or decided that being the leader in IaaS Microsoft had always had a platform- Ruby on Rails on Heroku or Engine- isn’t enough. The company also clearly as-a-service (PaaS) strategy in Azure, Yard. Generic PaaS environments such believes that if a PaaS is compelling— which was fully expected to provide as RedHat’s OpenShift were not catch- forward looking, designed for cloud, .NET developers with an easier migra- ing on. Even AWS’s Elastic Beanstalk and not just “server stuff” repurposed— tion to the cloud. In fact, Azure origi- had limited success. then it will be compelling. Amazon has nally came out as PaaS only, which When IBM entered the cloud mar- decided to become a “software compa- really didn’t work well for Microsoft, ketplace, it wanted to bring its pow- ny” and bring forward its own portfolio which also saw AWS take huge market erful middleware portfolio with it. of middleware (and more importantly share. After losing to AWS year after Seeing AWS as still pretty much “just DevOps tools) to address this PaaS and year, Microsoft was forced to add IaaS. a runtime,” IBM and EMC/VMware tooling innovation gap, even if at the ex- But the .NET-friendly PaaS system pushed Cloud Foundry, a new PaaS pense of commonality/portability with and the presence of Microsoft middle- environment that was supported by anyone else. ware such as SQL servers on the cloud many. Cloud Foundry has unique fea- What’s most important to consider remained as an option, and was used tures and capabilities that everyone was here is that AWS introduced a new tool more as a .NET migration strategy than quite optimistic about. (Cloud Foundry chain, new middleware, and several a main strategy. In a symbolic move, was covered in a previous “Cloud Tid- avant-garde programming models. Microsoft renamed “Windows Azure” to bits” column.1) IBM’s version of Cloud The new tool chain consists of Code- “Microsoft Azure” and promoted a Java- Foundry, IBM BlueMix, included many Commit, Code PipeLine, and Code- and Linux-friendly environment, but Websphere and Rational components. Deploy. With these offerings, Amazon is

30 ComputingEdge April 2015 70 IEEE CLOUD COMPUTING WWW.COMPUTER.ORG/CLOUDCOMPUTING

d1tib.indd 70 3/24/15 6:54 PM hoping that no matter what framework vices including Simple Storage Service maybe it’s time to take another look. developers are targeting, they use AWS (S3), Aurora, and Kinesis. And that, my friend, quali ed it to tooling from the git-go (pun intended; be this column’s Cloud Tidbit. I hope CodeCommit includes a Git repository). Innovation, but Proprietary you enjoyed it. The new middleware includes as Developers who jump in with both feet a centerpiece AWS’s own built-in SQL now on AWS will  nd themselves in a Reference database, called Aurora. Unlike serv- proprietary environment. It’s no longer 1. D. Bernstein, “Cloud Foundry Aims er versions of MySQL, Oracle, SQL a place where you bring your server im- to Become the OpenStack of PaaS,” Server, or DB2, which can be found on ages and conveniently use commodity IEEE Cloud Computing, vol. 1, no. all the other cloud platforms, this is a cloud parts to round out a deployment. 2, pp. 57–60. cloud native pure database as a service It looks more like a complete developer (DBaaS). Aurora is a proprietary tech- environment such as you might expect nology much like DynamoDB. On the from incumbents Microsoft, IBM, or DAVID BERNSTEIN is the managing surface, lock-in isn’t a concern because Oracle. director of Cloud Strategy Partners, co- Aurora supports the MySQL syntax. Its Although these incumbents have founder of the IEEE Cloud Computing highly attractive performance charac- been trying to tempt developers with Initiative, founding chair of the IEEE teristics and pricing are a new competi- their existing offerings, largely repur- P2302 Working Group, and origina- tive threat to legacy database vendors posed for cloud, Amazon is aiming to tor and chief architect of the IEEE In- (all of whom are also cloud platform lead with innovation, with less and less tercloud Testbed Project. His research providers). Add this to AWS’s existing concern about compatibility or migra- interests include cloud computing, dis- cloud native middleware capabilities tion than in the past. tributed systems, and converged commu- such as Simple Queuing System (SQS), nications. Bernstein was a University of Simple Work ow Service (SWF), and California Regents Scholar with highest Simple Noti cation Service (SNS), and IS AMAZON LEAPFROGGING MI- honors BS degrees in both mathemat- you have a pretty complete middleware CROSOFT, IBM, ORACLE, AND ics and physics. Contact him at david@ offering. Add the direct ability to run EVEN PIVOTAL AS THE NEW DE- cloudstrategypartners.com. code in Elastic Beanstalk and there’s VELOPER SOFTWARE COMPANY? not much missing. Amazon has moved way, way past being The new programming models are a cloud service provider platform. It’s This article originally appeared in aggressive entrances to the stream- going soup to nuts for developers. If you IEEE Cloud Computing, vol. 2, and event-programming  elds, with haven’t thought of Amazon in this way, no. 1, 2015. the Amazon Kinesis and AWS Lambda offerings. Amazon Kinesis is a fully managed, cloud-based service for real- time processing of large, distributed datastreams. Amazon Kinesis can con- tinuously capture and store terabytes of data per hour from hundreds of thousands of sources such as website clickstreams,  nancial transactions, so- cial media feeds, IT logs, and location- tracking events. AWS Lambda is an event-driven compute resource offer- ing, allowing developers to write func- tions that focus on their core business logic (called lambda functions). These lambda functions can be triggered from www.computer.org/itpro many different events from AWS ser-

www.computer.org/computingedge 31 JANUARY/FEBRUARY 2015 IEEE CLOUD COMPUTING 71

d1tib.indd 71 3/24/15 6:55 PM Think Piece

Toward a History of Social Computing: Children, Classrooms, Campuses, and Communities

Joy Rankin Yale University Editor: Nathan Ensmenger

During the spring of 1970, Valarie Lamont wrote a com- in front of a keyboard, typing, and responding to mes- puter program to stimulate local environmental acti- sages appearing on a text-oriented display. These students vism.1 By deploying text and images in her program to and educators also created communities to support their present the history of the Boneyard Creek, which ran computing practices, and they fostered social computing. through the communities of Champaign and Urbana, Illinois, Lamont created a compelling narrative about Rethinking Social Computing the stream’s flooding and pollution problems and By social computing, I do not mean the recent academic potential solutions. As a political science graduate stu- discipline of using software to facilitate social interac- dent at the University of Illinois at Urbana–Champaign tion, nor am I referring to particular computing networks (UIUC), Lamont investigated citizen participation in such as bulletin board systems (BBSs), the Internet, community planning, and she produced a program for or Facebook. Rather, I employ the phrase “social that purpose. The users of her program—civic leaders, computing” to emphasize the social connections forged media representatives, local residents, faculty, and stu- around and with computing use. We commonly think of dents—navigated the narrative by operating the key- computing in individual terms—the lone programmer board located below the video screen at their individual or hacker, the personal computer, and the user—yet the terminals. The users gathered information about unfa- practice of modern computing has always involved miliar terms, viewed photographs of the creek and its groups of people. From the heterogeneous team of men pollution, expressed their preferences for solutions to and women who assembled and programmed the ENIAC the pollution, and provided their comments and opin- computer, to the MIT engineers who gathered around a ions to Lamont at any point along the way.2 Lamont screen to play Spacewar, to the high school students who and the Boneyard Creek program users worked on a programmed PLATO, modern computing has involved computing system at UIUC known as PLATO (Pro- the interactions of many people, along with their cul- grammed Logic for Automatic Teaching Operations), a tural norms, values, and expectations. system that by 1970 featured more than 70 terminals The discipline of the history of computing emerged on the UIUC campus and at other locations throughout under the paradigm of the personal computer during the state.2 Lamont later explained that her program- the 1970s and 1980s. The Annals of the History of Com- ming choice stemmed directly from the community’s puting first appeared in 1979. Classic works such as the existing concern for environmental issues, concern that mathematician Herman Goldstine’s biographical his- had been expressed locally and nationally during the tory and the historian Paul Ceruzzi’s Reckoners appeared first Earth Day events of that same spring.3 during this time.4,5 The journalist Steven Levy’s best- Studying Lamont’s Boneyard Creek program illustrates seller Hackers cemented the history of computers (at the how Lamont and her peers at UIUC employed the PLATO time) as a history of machines and the great men who system for personal and social computing, specifically as built them.6 Indeed, many of us have watched the an activist method to educate citizens about and draw uptake of the personal computer, have witnessed the media attention to the problems plaguing the stream. cults of personality around Bill Gates and Steve Jobs, Indeed, Lamont is representative of the individuals I and have employed a once-new Internet to our great address in my dissertation, “Personal Computing before convenience (or frustration, or both). The history of Personal Computers.” I argue that students and educators computing has expanded greatly since then, of course, using academic time-sharing systems during the 1960s as historians have examined topics ranging from the and 1970s transformed computing from a business, mili- history of software to the history of women in comput- tary, and scientific endeavor into an intensely personal ing to the gendering of the computing profession.7 But practice. These time-sharing systems included PLATO, the the personal computer—and the associated elevation of Dartmouth Time-Sharing System, and several education- the individual—still drives our discourse. centered projects in Minnesota, including the Minnesota We historians have only begun to address how people Educational Computing Consortium. The users of these made computing ubiquitous. In an Annals Think Piece systems popularized the now-ubiquitous activity of sitting continued on p. 86

32 April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE

88 IEEE Annals of the History of Computing Published by the IEEE Computer Society 1058-6180/14/$31.00 c 2014 IEEE  Think Piece

continued from p. 88 reports documented knowledge and practices article published a decade ago, Nathan that otherwise would have been tacit and Ensmenger urged us to a social history of com- unnoticed. Such descriptions are immensely puting—that is, a history of the “many thou- helpful for historians seeking to understand sands of largely anonymous individuals who and describe novel computing experiences. contributed to the development of this new This research draws attention to the impor- social and technological environment.”8 I call tant but little studied area of the history of for a history of social computing. Moving the technology in education. The historian of adjective highlights the activity of computing technology Steven Lubar cogently declared, as a social and cultural phenomenon. A history “We have downplayed the skill and knowl- of social computing considers how computing edge required by users of technology, looking has facilitated communication as well as com- at the machine and not the task, looking for putation. A history of social computing complex systems on the production side, not 10 attends to the myriad human interactions that on the consumption side.” Although some have shaped and supported our digital, net- historians have begun to address this lacuna worked world. by considering household or office technolo- gies, historians are only beginning to study Why Education Matters the “skill and knowledge required by users of Technologies of education, such as the PLATO technology” in schools.11 An exploration of system, offer rich opportunities for the study the history of computing in an educational of both personal and social computing. When context is particularly promising. In the case the researchers at UIUC’s military-defense- of interactive computing systems like PLATO, oriented Coordinated Science Laboratory ini- students and educators were some of the ear- tially created the PLATO system as an explora- liest groups of users, and they developed tion of the potential uses of computing in “complex systems” around time-sharing. education, they had users in mind from the Studying technologies in educational set- beginning: students. In 1961 Donald Bitzer, tings also means studying children. Now it Peter Braunfeld, and Wayne Lichtenberger seems axiomatic that young people and digital reported on their new computing system, technologies simply go together; for example, which featured a television screen on which kids teach their grandparents how to use prepared instructional materials were dis- smartphones.12 What is the history here? How played to students as well as keysets (or key- has the relationship between children and boards) with which students could interact technology changed over time? How have with the instructional materials, including technology and the classroom shaped each typing responses and seeking additional infor- other? In answering those questions, we his- mation.9 Bitzer and his colleagues developed torians of computing can engage in fruitful the system with some mental model of “the dialogue with others who study media, includ- student,” a point which is not to be over- ing radio and television, as well as scholars looked. Valarie Lamont also had some concept who consider the history and activity of play. of her users in mind when she wrote her Bone- We must grant young people agency as tech- yard Creek program. When an individual nological actors and study them. Children’s worked on a system or software, several types classroom experiences shape both the chil- of communication occurred: between the dren and the technology, with what I consider individual and the computer, between the an accretion of technological exposure. For individual and her collaborators, and between the K-12 students in New Hampshire, Minne- the individual and her intended user. sota, Illinois, and elsewhere who used time- When students began using the PLATO sharing in the 1960s and 1970s, those early system, Bitzer and his team incorporated their computing experiences were formative. Bill feedback and their teachers’ feedback into Gates had his first computing experience on a changes and enhancements to the system. time-sharing system.13 Moreover, students Indeed, I must underscore the methodologi- and educators were not simply consumers of cal value of studying systems that originated time-sharing. My research demonstrates that in an educational context. Because many of they generated new knowledge about this the project publications were oriented toward form of computing, including writing numer- readers in education, they often included ous software programs and devising modes of meticulous details of users’ encounters with communication and resource management. the terminal, the language, the lessons, the Examining educational technologies also appropriate syntax, and similar issues. These means considering their social setting,

www.computer.org/computingedge 33 86 IEEE Annals of the History of Computing whether the classroom, campus, or commun- Hedgehog: A History of the Software Industry, ity. Indeed, although various forms of com- MIT Press, 2003; N. Ensmenger, The Computer This article originally puting, ranging from mainframe computing Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise, MIT Press, appeared in to time-sharing to mini-computing, prolifer- ated on university campuses during the 1960s 2010; and J. Abbate, Recoding Gender: Women’s IEEE Annals of the through the 1970s, we know little about how Changing Participation in Computing, MIT Press, History of Computing, individuals and groups used and responded 2012. vol. 37, no. 1, 2015. to those computers.14 Most historians have 8. N. Ensmenger, “Power to the People: Toward a depicted the campus protests of the 1960s as a Social History of Computing,” IEEE Annals of rejection of technology and technocracy.15 A the History of Computing, vol. 26, no. 1, 2004, closer examination paints a different picture. p. 96. Although Bitzer and his colleagues developed 9. D. Bitzer, P. Braunfeld, and W. Lichtenberger, PLATO for military research, Lamont later “PLATO: An Automatic Teaching Device,” June deployed it to stimulate environmental acti- 1961, CBI 133, box 1, folder 61jn01. vism. While Lamont was writing the PLATO 10. S. Lubar, “Men/Women/Production/Con- Boneyard program, hundreds of UIUC stu- sumption,” His and Hers: Gender, Consumption, dents protested the installation of the Illiac IV and Technology, R. Horowitz and A. Mohun, computer on campus after they learned that eds., Univ. Press of Virginia, 1998, p. 20. the Department of Defense controlled most 11. R.S. Cowan, More Work for Mother: The Ironies of of the computer time. Shortly thereafter, on 2 Household Technology from the Open Hearth to March 1970, hundreds of students protested the Microwave, Basic Books, 1983); M. W. General Electric’s on-campus recruiting, and Davies, Woman’s Place Is at the Typewriter: Office the university administration called in the Work and Office Workers, 1870–1930, Temple National Guard to enforce a curfew.16 Univ. Press, 1982. For many UIUC students, PLATO repre- 12. See, for example, H. Rosin, “The Touch-Screen sented personal computing and democracy. Generation,” The Atlantic, Apr. 2013; www. At the same time, Illiac IV symbolized the theatlantic.com/magazine/archive/2013/04/ evils of the military-industrial complex and the-touch-screen-generation/309250/. the Cold War. To better understand the nuan- 13. S. Manes and P. Andrews, Gates: How Microsoft’s ces of American activism, protest, and politics Mogul Reinvented an Industry and Made Himself the during the 1960s and 1970s, and to under- Richest Man in America, Simon and Schuster, 1994. stand the environments in which personal 14. Here, I am focusing on the majority of people on computing emerged, we must carefully university campuses (students, faculty, and attend to these contingencies. administrators) who were computing. Histories of computing on campus tend to address partic- ular projects and the individuals who worked on References and Notes those projects, such as MIT’s Multics or Engel- 1. V. Lamont, “PLATO Program on the Boneyard bart’s work at the Stanford Research Institute. Creek,” Inst. Comm. Research, Univ. of Illinois, See, for example, Levy, Hackers; A. Norberg and Urbana, June 1970, in Charles Babbage Inst. (CBI) J. O’Neill, Transforming Computer Technology: Archives, collection 133, box 4, folder 70jn01. Information Processing for the Pentagon, 2. V. Lamont, “New Directions for the Teaching Com- 1962–1986, Johns Hopkins Univ. Press, 1996; puter: Citizen Participation in Community and T. Bardini, Bootstrapping: Douglas Engelbart, Planning,” Computer-Based Education Research Coevolution, and the Origins of Personal Comput- Laboratory, Univ. of Illinois, Urbana, July 1972, ing, Stanford Univ. Press, 2000. CBI Archives, collection 133, box 5, folder 72jl02. 15. T. Anderson, The Movement and the Sixties: Pro- 3. A. Rome, The Genius of Earth Day: How a 1970 test in America from Greensboro to Wounded Teach-In Unexpectedly Made the First Green Knee, Oxford Univ. Press, 1996; S. Leslie, The Generation, Hill and Wang, 2013. Cold War and American Science, Columbia Univ. 4. H. Goldstine, The Computer from Pascal to Von Press, 1993. Neumann, Princeton Univ. Press, 1972. 16. “Student Life at Illinois: 1970–1979,” University 5. P. Ceruzzi, Reckoners: The Prehistory of the Digital of Illinois Timeline, Univ of Illinois Archives, http:// Computer, from Relays to the Stored Program archives.library.illinois.edu/slc/researchguides/ Concept, 1935-1945, Greenwood Press, 1983. timeline/decades/1970.php. 6. S. Levy, Hackers: Heroes of the Computer Revolu- tion, Anchor Press/Doubleday, 1984. 7. Some notable examples include M. Campbell- Joy Rankin is a doctoral candidate in history at Kelly, From Airline Reservations to Sonic the Yale University. Contact her at [email protected].

34 ComputingEdge April 2015 April–June 2014 87 INTERVIEW Editor: Gary McGraw, [email protected]

want to know the answer: How’s lead- Silver Bullet Talks ing a start-up similar to and di erent from leading a combat platoon? It isn’t trite at all. e combat and with Nate Fick start-up worlds are both character- ized by euphoria and terror in rapid succession. I think I got spoiled in Gary McGraw | Cigital the Marines because people actu- ally did what I said, and in the start-up world, that’s not always true. But I think they have a lot of Hear the full podcast at www.computer.org/silverbullet. Show links, notes, similarities. I had the privilege of and an online discussion can be found at www.cigital.com/silverbullet. working for some great leaders in the Marine Corps, and the best of them was a guy who, if he said, “Go up on the roof, do a swan dive, and gure out how to stick the landing cyber domain, for a whole bunch on your way down,” I would have of structural reasons, I don’t think saluted and said, “Aye, aye, sir,” and that’s possible. We need to be very gone and done it. I once asked him careful in how we talk about oen- about his leadership philosophy sive cyber capability and cyberwar. why we all followed him through Another bright red line for me is the gates of hell and were happy to between the federal space and the do so. He said, “I’ll give it to you in commercial. ey’re wildly dier- three words, Nate: ocers eat last.” ent conversations, and too oen we For him, leadership wasn’t about conate them. privilege, it was about responsibil- ity. What did that mean day to day? ate Fick, CEO of Endgame, I loved your book, One Bullet Away. He told us what to do, but he didn’t N discusses cybersecurity, the What made you write it? tell us how to do it. I learned a lot term cyberwar from a Marine’s per- e book’s dedicated to my good from him, so even though I don’t spective, and his time at the Center friend and comrade, Brent Morel. set up machine gun positions or for a New American Security. Brent was my hand-picked replace- plan ambush patrols anymore, a ment; he was killed on April 7, lot of the intangible stu I learned Many of us in computer security 2004, leading the platoon in Anbar in the Marines I still draw on every have no idea what real war is like, so Province. I decided to write about single day. we blithely throw around the term the experience aer Brent was killed cyberwar. Are we watering down because I felt that we had heard After that, you joined the Center reality way too much? from generals, journalists, and poli- for a New American Security as one I see a bright red line between the ticians, but we hadn’t heard much of its founding fellows, eventually kinetic and nonkinetic worlds, and from the guys who were actually becoming CEO of that organiza- philosophically, I learned my les- ghting the war. tion. What does CNAS do, and why sons in the kinetic world. In the is it important? kinetic world, if you’re going to It’s good for people to understand the It’s a nonpartisan research orga- kick a hornet’s nest, you be er be realities of what you all went through nization. Many people would sure you’ll kill all the hornets. In the for us. It feels somewhat trite, but I be surprised to learn how much

www.computer.org/computingedge 35 1540-7993/14/$31.00 © 2014 IEEE Copublished by the IEEE Computer and Reliability Societies July/August 2014 11

j4int.indd 11 7/9/2014 11:22:25 AM INTERVIEW

because you know what? is time About Nate Fick is never dierent. On the war ghter ate Fick is CEO of Endgame, a security intelligence and analytics side, as soon as you’re talking about N company. He has more than a decade of experience in the ring back, you need to abide by a security community, and is an operating partner at Bessemer Venture couple of principles that are intrin- Partners, where he focuses on defense and intelligence technologies. sic to how we as Americans ght Before joining Endgame, Fick was CEO of the Center for a New and to how, I would argue respon- American Security, a national security research organization. He also sible, forces have fought all the way served as a Marine Corps infantry o cer, including combat tours back to omas Aquinas, the fount in Afghanistan and Iraq. His book about that experience, One Bullet from whom these two principles Away, was a New York Times bestseller, a Washington Post “Best Book ow. e rst of them is noncom- of the Year,” and one of the Military Times’ “Best Military Books of the batant immunity. If you’re going Decade.” Fick graduated with high honors in classics from Dartmouth College and holds an MPA to ght back as a state using sanc- from the Harvard Kennedy School and an MBA from the Harvard Business School. tioned power, where the state has a monopoly on the legitimate use of force, you have to do everything possible to make sure that you’re cu ing-edge thinking, innovation, as we would get to it, right? Beyond not impacting noncombatants. and policy formulation is done out- that, I think we have a skillset imbal- e second is that your response side the government, where people ance in the sense that the ability must be proportional. If somebody aren’t living their days driven by to do harm on the oensive side is punches me in a crowd in Iraq, I the tyranny of the inbox, and you becoming increasingly commod- can’t reply by ring my M4 at him, can challenge conventional wis- itized. e barriers to entry are com- right? A sense of proportionality dom openly without worrying ing down around the world, and you and a sacred tenet of noncomba- about the ramications. see it in the marketplace, in compa- tant immunitylet’s acknowledge CNAS was started by Michèle nies operating in that space sud- those and then we can have the con- Flournoy and Kurt Campbell in denly competing with Romanian versation on how achievable those 2007 to bring together a critical teenagers. But ultimately, I think things are in the cyber realm and mass of national security think- we’d all be be er served if we could what that looks like. ers who weren’t aligned with any make defense cool in the same way one political party or in the pocket that oense has this aura about it. We ask the NSA to spy, which it’s of industry. Every project we ever exceptionally great at, but we also did was signed by individual peo- Even if we scrutinize the Snowden ask it to secure our cybersystems, ple; the organization never took an documents, it’s very clear that the which makes spying more dicult. institutional position. It’s a young attribution problem on the Inter- We’re asking these guys, our own organization lled with young peo- net hasn’t been solved. Why does people, to work at cross-purposes, plenot necessarily young in terms knowing exactly who’s attacking which is basically impossible. What’s of age, but fresh in their thinking you matter? a better solution? and willing to challenge conven- It ma ers if you’re going to ght I can agree with you on the problem tional wisdom. In a eld where gray back. If you’re only defending your- statement, but I’m not sure I have beards dominate, where your cred- self, it doesn’t ma er. If we’re talking a be er answer. Go back 30 or 40 ibility oen moves in lockstep with about building be er armor on our years, and you could actually target your age, we wanted to break that tanks, it doesn’t really ma er where collection outside the US. Remem- mold and build a dierent kind of the inbound shells are coming ber during the Cold War, when the think tank. from. If we’re talking about missile US had submarines tapping under- defense, the strategic defense ini- seas cables? We could actually e national security establishment tiative, and everything that owed access dataconversationsthat seems enamored with cyber oense from it, you don’t necessarily need could only be happening outside but is seriously confused about what to know where the shot came from. the US. But with the global distri- constitutes defense. What should If you’re going to retaliate, if you’re bution of soware and the way that cybersecurity defense look like? going to ght back, then a ribution our global communications archi- I think it starts with the mantra, becomes essential. tecture has evolved, the world, tech- build be er soware. If there were I’m always skeptical when some- nology, and norms have changed to be a silver bullet, that’s as close body says, “is time is dierent,” faster than law and policy.

36 ComputingEdge April 2015 12 IEEE Security & Privacy July/August 2014

j4int.indd 12 7/9/2014 11:22:25 AM Our government has to pick up with our guys trying to be er learn Gary McGraw is Cigital’s chief tech- the pace if it’s going to work con- the intricacies of what they do, but nology o cer. He’s the author of structively with technologists and the reality is it’s not how I spend my So ware Security: Building Secu- the private sector. Maybe we need time, and I don’t think it should be. I rity In (Addison-Wesley 2006) a cyber-focused, federally funded think we need leaders who are build- and eight other books. McGraw research and development corpo- ing context and helping their subject has a BA in philosophy from the ration, something like what ND ma er experts have the direction, University of Virginia and a dual in Santa Monica, California, was the resources, and the support they PhD in computer science and for the nuclear era. Imagine some- need to do their jobs well. cognitive science from Indiana thing focused on cyber that doesn’t University. Contact him at gem@ require a classi ed sta you can cigital.com. have a very diverse group of people, he Silver Bullet Podcast with and you don’t have to wear a dark T Gary McGraw is cosponsored suit to work. It could be an excel- by Cigital and this magazine and is This article originally appeared in lent way to try to improve the tidal syndicated by SearchSecurity. IEEE Security & Privacy, vol. 12, no. 4, 2014. ebb and  ow between the two worlds, because right now it’s just not good enough.

Why are liberal arts important for business and military leaders?  e basic tenets of leadership don’t really change, and I think that one of the most important things you can do as a military o cer or as a CEO is to explain and contextualize. Build shared contexts, set a vision, set a direc- tion, build the context so every- Follow and Join body understands it, and then get the troops marching in the same direction. I spend a lot of time feeling as if I’m steering a wooden boat down a river through the rapids, and I try to swing the rud- der enough to avoid the big rocks, but every now and then, we hit one, and a couple people fall out on Facebook! of the boat, and you’ve got to pull them back in and patch the hole, www.facebook.com/ieeecga and keep everybody aboard until you hit the next rock, and you do it all over again. War feels a li le bit like that. I think grow- ing a business feels a li le bit like that.  at’s a fundamentally human thing, right? It requires connecting with, understanding, and communicating with peo- ple in speaking and in writing.  ese aren’t technical skills. Do I wish I could layer an engineer- ing degree in there for myself? Absolutely. I spend a lot of time

www.computer.org/computingedge 37

j4int.indd 13 7/9/2014 11:22:26 AM Smartphones Editor: Nayeem Islam n Qualcomm n [email protected]

The Human Intranet—Where Swarms and Humans Meet

Jan M. Rabaey, University of California at Berkeley

EDITOR’S INTRO health and wellness, art, and social interaction. However, the nature of Over the last few years, mobile phones have evolved from being simple communi- many of the applications envisioned is cations devices to powerful computing devices that let users access to the Internet hampered by the “IoT” name itself. It whenever they want. In the next phase of development of the mobile Internet, we’ll conjectures an image of many devices see a large number of interconnected devices, such as thermostats, cars, and home appliances. This complex system of devices and networks is what Jan Rabaey calls connected through a vast network to a a swarm. These new devices will be interconnected in complex ways, and the users “centralized” cloud that acquires and will consume information in novels ways from the swarm, from a variety of differ- acts on that data. Although this picture ent devices rather than a single device. Rabaey presents a compelling vision for the might work well for some functions, future of connected devices. —Nayeem Islam it misses a great number of scenarios and could act as a hurdle for adopting other ones. he Human Intranet represents a in which we live (see Figure 1),1 giving Instead, imagine a world permeated T natural evolution of the smart- birth to terms such as cyberphysical2 with connected smart devices with phone into a system that features a and cyberbiological systems. For the sensory, actuation, compute, and stor- far broader and richer set of interface rst time, we can engineer systems age capabilities. Some might be static, modalities. This truly transforming that tightly interweave the “real” while others might move around rap- technology will not only change how we physical and “imaginary” cyber- idly—such as those carried by humans interact with our environment but also worlds, often blurring the boundary or mounted on cars or drones. In such how we observe, operate, and extend between the two. an environment, applications would ourselves. It all starts with concepts To imagine how interwoven the two form by opportunistically marshaling that nd their roots in the Internet of might become, consider the projection the resources available to them at a Things (IoT) and swarm technologies. made in 2006 that by 2017, there would given time and place. Such a distributed be 7 trillion wireless devices serving system is called a swarm,4 a term that THE IOT AND SWARMS 7 billion people, which is equivalent captures the organic nature of cyber- There’s no question about it—IoT is to 1,000 sensors per living person!3 physical and cyberbiological applica- happening as we speak and is radically This projection may seem outrageous, tions better than the Internet-centric transforming the information tech- but the current progression of sensor IoT concept. nology platform. In the last decade deployment and its forward projection, While swarms might consist entirely or so, the cloud has emerged as the as illustrated in Figure 2, shows that of non-biological entities (such as clus- keeper, transformer, and interpreter while we may not be entirely on track ters of cars on the freeway, or bands of all data, and mobile devices, such in reaching that goal, we may very well of drones in the sky), often they inti- as smartphones, have changed how we reach it in the mid 2020s. mately involve one or more humans. In enter, access, and interact with infor- Much has been written about the fact, some of the highest-impact uses mation. The IoT adds yet another layer possible effects and applications of the of the sensory swarm might relate to to the onion, providing an extremely IoT, covering virtually every aspect of how humans interact with the physi- high-bandwidth channel between the society: industrial and home automa- cal world around them (and the cyber- cyberworld (represented by the cloud) tion, mobility, energy and the environ- world beyond), how they interact and the physical and biological world ment, agriculture, safety and security, with their fellow human beings, and

April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE 78 38PERVASIVE computing Published by the IEEE CS n 1536-1268/15/$31.00 © 2015 IEEE Smartphones Editor: Nayeem Islam n Qualcomm n [email protected] ultimately how they monitor and intro- spect themselves.

SWARM CONCEPTS AND The cloud TECHNOLOGIES The IoT and swarm concepts aren’t Millions The Human Intranet—Where new by any means. They find their origins in the joint ideas of ubiquitous Swarms and Humans Meet computing (1980s) and sensor nets (1990s), which, despite their initial Mobiles Jan M. Rabaey, University of California at Berkeley appeal, failed to make sizable impact Billions and were con ned to the fringes of the information technology world for a long time. A broad range of argu- EDITOR’S INTRO health and wellness, art, and social ments can be elded to explain why interaction. However, the nature of this occurred: immaturity in low- Over the last few years, mobile phones have evolved from being simple communi- many of the applications envisioned is energy and wireless technologies; the cations devices to powerful computing devices that let users access to the Internet hampered by the “IoT” name itself. It inherent complexity of distributed The swarm whenever they want. In the next phase of development of the mobile Internet, we’ll conjectures an image of many devices systems; and the lack of standards, see a large number of interconnected devices, such as thermostats, cars, and home appliances. This complex system of devices and networks is what Jan Rabaey calls connected through a vast network to a programming interfaces, robustness, Trillions a swarm. These new devices will be interconnected in complex ways, and the users “centralized” cloud that acquires and and ease of use. The most important will consume information in novels ways from the swarm, from a variety of differ- acts on that data. Although this picture reason, however, is probably a missing Figure 1. The evolving information technology platform. Over the past decades, ent devices rather than a single device. Rabaey presents a compelling vision for the might work well for some functions, operational model that could lead to information technology has been moving to a concentric model of centralized future of connected devices. —Nayeem Islam it misses a great number of scenarios “economy of scale” deployments. servers (the cloud) communicating with ubiquitously distributed mobile access and could act as a hurdle for adopting Most sensor-net applications were devices. The emergence of IoT is adding an additional layer of devices to that picture. other ones. developed as stovepipes, addressing he Human Intranet represents a in which we live (see Figure 1),1 giving Instead, imagine a world permeated only a single application space and T natural evolution of the smart- birth to terms such as cyberphysical2 with connected smart devices with resulting in incompatible proprietary phone into a system that features a and cyberbiological systems. For the sensory, actuation, compute, and stor- vertical chains. A perfect example can 1014 far broader and richer set of interface rst time, we can engineer systems age capabilities. Some might be static, be found in the smart building space, modalities. This truly transforming that tightly interweave the “real” while others might move around rap- in which separate technologies were 13 technology will not only change how we physical and “imaginary” cyber- idly—such as those carried by humans developed for environmental monitor- 10 interact with our environment but also worlds, often blurring the boundary or mounted on cars or drones. In such ing, energy management, automation, how we observe, operate, and extend between the two. an environment, applications would and security—but never for all at the 1012 ourselves. It all starts with concepts To imagine how interwoven the two form by opportunistically marshaling same time. that nd their roots in the Internet of might become, consider the projection the resources available to them at a Much has changed in the past few 56%/yr 1011 Things (IoT) and swarm technologies. made in 2006 that by 2017, there would given time and place. Such a distributed years. Ubiquitous wireless connectiv- Abundance 4 be 7 trillion wireless devices serving system is called a swarm, a term that ity is emerging, and a broad range of TI Internet Devices THE IOT AND SWARMS 7 billion people, which is equivalent captures the organic nature of cyber- low-energy wireless transceivers are 1010 QCOM Swarm Lab, UCB There’s no question about it—IoT is to 1,000 sensors per living person!3 physical and cyberbiological applica- readily available and have been inte- Sensors/year 21%/yr Bosch happening as we speak and is radically This projection may seem outrageous, tions better than the Internet-centric grated into both access points and Intel transforming the information tech- but the current progression of sensor IoT concept. smartphones (near-field communi- 109 Hewlett-Packard nology platform. In the last decade deployment and its forward projection, While swarms might consist entirely cation and Bluetooth LE being the Tsensors Bryzek's Vision or so, the cloud has emerged as the as illustrated in Figure 2, shows that of non-biological entities (such as clus- latest). Also, low-energy embedded 222%/yr 108 Yole MEMS Forecast, 2012 keeper, transformer, and interpreter while we may not be entirely on track ters of cars on the freeway, or bands processing platforms, such as Ardu- Mobile Sensors Explosion of all data, and mobile devices, such in reaching that goal, we may very well of drones in the sky), often they inti- ino and Raspberry-PI, are ubiqui- as smartphones, have changed how we reach it in the mid 2020s. mately involve one or more humans. In tous, and multisensor programmable 107 enter, access, and interact with infor- Much has been written about the fact, some of the highest-impact uses modules are available from a range of 2010 2015 2020202520302035 mation. The IoT adds yet another layer possible effects and applications of the of the sensory swarm might relate to vendors. Combine this with the fast Year to the onion, providing an extremely IoT, covering virtually every aspect of how humans interact with the physi- prototyping capability offered by 3D high-bandwidth channel between the society: industrial and home automa- cal world around them (and the cyber- printers, and it’s no surprise that a Figure 2. Actual and projected growth of sensor deployment based on the cyberworld (represented by the cloud) tion, mobility, energy and the environ- world beyond), how they interact slew of creative swarm (IoT) devices predictions from a number of leading research labs or companies. (Image courtesy and the physical and biological world ment, agriculture, safety and security, with their fellow human beings, and are being spawn at a breathtaking of Janusz Bryzek, Fairchild and chair of TSensors Summit; used with permission.)

www.computer.org/computingedge 78 PERVASIVE computing Published by the IEEE CS n 1536-1268/15/$31.00 © 2015 IEEE JANUARY–MARCH 2015 PERVASIVE computing39 79 SMARTPHONES SMARTPHONES

continuously been accumulating addi- Search and unPad tional functionality in terms of connec- rescue tivity options and sensory capabilities. Swarmlets Home security Health monitoring Yet trying to integrate all of these into a single device limits both the user expe- rience as well as the application scope. Swarmware SWARM-OS For example, many meaningful signals, such as ECG, are impossible to acquire in a single handheld device. This moti- vates the various efforts on disaggregat- Actuators/ ing the phone into an ensemble set of Sensors/ Storage Swarmdevs output devs input devs separate but connected components, Networks Computing such as watches, bangles, glasses, con- tact lenses, earpods, and other wearable devices. Figure 3. The SwarmOS as an open intermediation layer (swarmware) between the In this scenario, which researchers at distributed hardware platform (swarmdevs) and the applications (swarmlets). The OS the Berkeley Wireless Research Center concept has worked for PCs, smartphones, the Internet, and the cloud—so why not have dubbed the unPad (see https:// for the swarm? bwrc.eecs.berkeley.edu/research/ unpad-and-ewallpaper), the personal communication device is no longer a single entity; it becomes a collection pace (consider, for example, the inno- This stands in stark contrast with the of devices aggregated in true swarm vative concepts emerging from the Internet model, which is purely func- fashion in an organic and opportunis- Citris Invention Lab; http://invent. tional and—by design—doesn’t de ne tic way. Some of those components can citris-uc.org, as well as various other or impose performance metrics. In the be carried on the person, while others maker labs). swarm space, a failure to address time- might be provided by the augmented While the hardware platform is liness constraints can be catastrophic environment around us. Given the maturing, the supporting software or life threatening. Consequently, at broad diversity of sensory and actua- environment is lagging. Innovative the core of the SwarmOS is a “bro- tion interfaces offered by advanced programming environments are being kerage function,” which dynamically technology, these unPads would offer envisioned, ontologies constructed, trades between the needs of the run- an experience that’s substantially and APIs proposed. Yet most pro- ning applications (the “swarmlets”) richer than what our five natural posed IoT software platforms are and the availability of resources, with senses and traditional motor func- cloud- centric and thus fail to meet the the mechanism of micro-payments tions (speech, motion) can offer. The stringent latency, energy-efficiency, as the means to ensure balance and potential is huge—think empowered robustness, and privacy requirements fairness. humans in an enhanced world. The essential to the swarm concept. At nascent eld of brain-machine inter- the Berkeley Ubiquitous SwarmLab SWARMS AND HUMANS faces offers just a glimpse into what’s (http://swarmlab.eecs.berkeley.edu), While the proliferation of communica- possible.5 we’ve been developing the SwarmOS tion and data processing devices (such Realizing this potential requires over- as an alternative—an open and uni- as laptops and smartphones) has pro- coming a number of barriers, similar to versal platform to foster the creation foundly changed our interaction pat- those the swarm is facing but even more of a broad range of innovative swarm terns, nothing has similarly changed challenging—not only technologically applications (see Figure 3).4 our means of processing inputs (sen- but also in terms of the economical and The development of such a distrib- sory) and outputs (actuation). Many sociological aspects. uted operating system faces many of these interactions are still funneled challenges, but one of the toughest is through a limited set of means (such as THE HUMAN INTRANET guaranteeing service—that is, ensur- displays, headphones, keyboards, touch The transformational opportunity ing that an application performs reli- panels) integrated in a single device. offered by wearable devices has cer- ably and predictably under all possible The swarm could change all of this. tainly not escaped the industry—or the circumstances, even while sharing the Consider the evolution of the smart- press.6 Yet the technological solutions platform among many applications. phone. Over the past decade, it has being forwarded today bear an eerie

ComputingEdge April 2015 80 40PERVASIVE computing www.computer.org/pervasive SMARTPHONES

Neural recording unit Red OLED Sensor board EEG / ECoG (B) Green OLED Flex circuit board (D) Sensor interrogation nodes Photodetector Microcontroller Electrode array Wireless chip Battery pack

(A)

(D)

Biopotential / Bioimpedance signal (C) Oxygenation signal (C) Energy-starved sensor patches (A) Wrist-worn control unit / “Hub”

(E) Actuator unit Inter node communication protocols: controlled by neural Ultrasound Wireless Wired feedback and the “Hub”

Figure 4. An example Human Intranet con guration targeting a neuro-prosthesis application. An exoskeleton is operated based on information obtained from distributed sensors acquiring neural and other biometric signals. A body-spanning network distributes both information and energy.

resemblance to last decade’s sensor- Like the swarm, the Intranet develops nate or malicious actuation/stimula- net scenario. Many devices are single- organically as a heterogeneous mesh tion, any solution should provide rock- purpose gadgets connecting in a point- of connected nodes (wired or wireless), solid reliability, safety, and security to-point link to a smartphone and are collaborating to deliver services in a guarantees, in stark contrast to current only compatible with devices of the guaranteed way, notwithstanding the practice. same company—again, a true stovepipe stringent environmental, energy, and To get an idea of what an Intranet model. size constraints. might look like, consider the neuro- Imagine, in contrast, a Human Again, the vision of body-area net- prosthesis system shown in Figure 4. Intranet realized as an open, scalable works is certainly not new.7 Yet the vast A network of sensors measure neural platform that seamlessly integrates majority of the proposed approaches activity as related to motor function an ever-increasing number of sensor, rely either on point-to-point connec- (using either on-skull EEG or implanted actuation, computation, storage, com- tions or dedicated star networks serv- neuro-electrodes). The information is munication, and energy nodes located ing only a single purpose. For the trans- transmitted through a combination of on, in, or around the human body act- formative potential to be realized, we wireless and wired connections to one ing in symbiosis with the functions pro- need to take a fresh look and harness or more control modules (“hubs”), vided by the body itself. The traditional Metcalf’s law. For this, devices must which translate the intent into actual set of senses and interactions is to be be seamlessly “insertable” and inter- control signals driving an exoskeleton augmented by a set of new capabilities, faces must be seamlessly combinable, or a prosthetic device. Those hubs, an some of which might be hard to even all while the interaction with the envi- evolved version of the smartphone, also imagine today. Added functionality ronment is maintained independent support telemetry and direct interfac- might be extrospective—that is, deal- of the available connectivity options. ing with the surrounding environment. ing with the external world around In addition, given the personal nature Additional sensors could measure us—or introspective—including moni- of the information being acquired and EMG signals at various muscle groups toring, intervention, interaction, and transmitted, as well as the potentially or collect tactile feedback from the augmentation of human operation. life-threatening effects of indiscrimi- exoskeleton.

www.computer.org/computingedge JANUARY–MARCH 2015 PERVASIVE computing41 81 SMARTPHONES SMARTPHONES

This system features many of the and wireless, electromagnetic, resis- ground up and should be an inher- properties that are typical for Human tive, capacitive, inductive, acoustic, and ent property of the basic components Intranet applications: optical—the choice of which is deter- and their compositions. Approaches mined by the local context. to address this include relying on • It’s distributed over the entire body. The evolved smartphone plays an baselining and safe modes, exploit- • It integrates a collection of diverse essential role in this scenario as a hub ing redundancy, and using inherently devices including sensing, actuation, node. It serves as a bridge to the sur- adaptive and recon gurable network processing, and storage. rounding world with a diverse set of strategies. • It combines energy-starved (bat- broadband communication capabili- teryless) devices with energy-rich ties (5G and beyond). While providing Develop a Human Firewall battery-operated nodes (for example, major computation and data storage Given the personal nature of the infor- an evolved smartphone). capacity, it also serves as an energy mation being acquired and transmit- • It exploits a broad range of commu- reservoir for the rest of the Intranet. ted as well as the potentially life- nication strategies (both wired and Devoid of many of its user interface threatening effects of indiscriminate wireless), not only for information functions of today, its form factor could or malicious actuation/stimulation, but also for energy delivery. become really small, rendering it unob- any solution should provide rock-solid • It provides high-capacity, low-latency trusive. A believable model of such a safety and security guarantees. At connectivity to the surrounding aug- hub is presented in a series of videos, Berkeley, we envision a combined and mented environment. called “A Day Made of Glass,” created integrated set of mechanisms—such • It must be continuously operational by Corning Glass (see www.corning. as unique biomarkers, mandatory for extended periods of time— com/ADayMadeofGlass/Videos/index. encryption, and adaptive cloaking8— although the amount of activity may aspx). jointly labeled the Human Firewall9— vary dynamically over time. working to ensure that private data Distribute System Intelligence circulating in the network remains Many similar scenarios can be envi- The Human Intranet operates in a secure and the network is protected sioned including humans immersed dynamic world, subject to both slow from external intrusions. in virtual reality or augmented evolution and extremely fast changes environments. in needs, activity, conditions, and composition—both in the surround- eing transformational, the Human INTRANET CHALLENGES ing environment and in the Intranet B Intranet paradigm raises a broad To realize the Human Intranet, a num- itself. Therefore, the Human Intranet range of issues that transcend technol- ber of technological challenges need to should be constructed as an adaptive ogy and relate to all aspects of human be overcome, some of which I discuss and evolutionary system that combines behavior (including sociology, psychol- here. local decision making with centralized ogy, privacy and security, and legality). global learning and optimization per- The best way to address these issues is Integrate Energy and formed in hub nodes. This approach, to start the discussion now, when the Information Distribution in which intelligence is both global technologies are still in their infancy. Energy sparsity is one of the central and distributed, is essential to address challenges in constructing the Human issues of latency and single points of ACKNOWLEDGMENTS Intranet. While some nodes (hubs) failure, while avoiding the trap of might have a sizable energy reservoir in many distributed entities with limited This article is the result of many discussions with a the form of batteries or energy-harvest- knowledge trying to address a global broad range of people—in particular, my colleagues ing capability, others might not have issue. at the Berkeley Wireless Research Center (Elad. Alon, any storage and thus would require Ana Arias, Robert. Brodersen, Ali Niknejad, Borivoje remotely provided energy when infor- Ensure Fail-Safe Operation Nikolic, Vladimir Stojanovic, John Wawrzynek, and mation is requested. Given the often life-critical nature of Paul. Wright), the Berkeley Ubiquitous Swarm Lab Paralleling, in a sense, the human its applications, basic or partial func- (Bernhard Boser, Bjoern Hartman, Edward Lee, nervous and arterial systems, network tionality of the Human Intranet must John Kubiatowicz, Eric Paulos, Kris Pister, Claire nodes collaborate to form a hierarchi- be retained under all circumstances, Tomlin), and the Center for Neural Engineering and cal and adaptive mesh that delivers even when resources fail or are insuf- Prosthetics (Jose Carmena and Michel Maharbiz). both information and energy. Network ficient, during system overload, or The gracious support of the member companies links exploit a broad range of connec- during denial-of-service attacks. and funding sources of these centers is gratefully tivity mechanisms, including wired Fail-safety must be built-in from the acknowledged.

ComputingEdge April 2015 82 42PERVASIVE computing www.computer.org/pervasive SMARTPHONES

REFERENCES PLoS Biology, vol. 11, no. 5, 2013; doi:10.1371/journal.pbio.1001561. 1. J. Rabaey, “A Brand New Wireless Jan Rabaey holds the Day,” Proc. Asia and South Paci c 6. B Wasik, “Why Wearable Tech Will Be Donald O. Pederson Dis- Design Automation Conf. (ASPDAC), as Big as the Smartphone,” Wired, 17 tinguished Professorship at 2008; www.aspdac.com/aspdac2008/ Dec. 2013; www.wired.com/2013/12/ Keynote-Address-I.pdf. wearable-computers/all. the University of California, Berkeley, where he is also 2. E. Lee, Cyber Physical Systems: Design 7. R. Lauwereins, “Design Technology Challenges, tech. report UCB/EECS- scienti c co-director of the for Integrated Information and Com- 2008-8, University of California, Berke- Berkeley Wireless Research Center (BWRC) and munication Systems,” Competence ley, EECS dept., 2008. Center on Circuit Design (CCCD) founding director of the Berkeley Ubiquitous Workshop, 2002, www.es.lth.se/cccd/ 3. M. Uusitalo, “Vision and Requirements SwarmLab. His current interests include the con- images/Workshop2002-Lauwereins. of the Wireless World,” Technologies ception and implementation of next-generation pdf. for the Wireless Future: Wireless World integrated wireless systems over a very broad Research Forum (WWRF), vol. 2, R. Tafazolli, ed., Wiley, 2006. 8. G. Shyamnath et al., “They Can Hear range of applications, as well as exploring the Your Heartbeats: Non-Invasive Secu- interaction between the cyber and the biological rity for Implantable Medical Devices,” 4. J. Rabaey, “The Swarm at the Edge of world. Contact him at [email protected]. the Cloud,” Proc. 2011 Symp. VLSI ACM SIGCOMM, 2011; http://dl.acm. Circuits, 2011, pp. 6–8. org/citation.cfm?id=2018438. Selected CS articles and columns 5. J.M. Carmena, “Advances in Neu- 9. G. Slack, “The Last Firewall,” Berkeley are also available for free at roprosthetic Learning and Control,” Engineer, Spring 2014, pp. 8–11. This http://articleComputingNow.computer.org. originally appeared in IEEE Pervasive Computing, vol. 14, no.1, 2015.

stay connected. Keep up with the latest IEEE Computer Society publications and activities wherever you are.

| @ComputerSociety | facebook.com/IEEEComputerSociety | @ComputingNow | facebook.com/ComputingNow

| IEEE Computer Society | youtube.com/ieeecomputersociety | Computing Now

www.computer.org/computingedge JANUARY–MARCH 2015 PERVASIVE computing43 83 Dissertation Impact Editor: Jim Foley

Demystifying Quadrilateral Remeshing

Daniele Panozzo ETH Zurich

urface manipulation and representation is This article explains why it is important to rep- becoming increasingly important, with ap- resent surfaces using quadrilateral meshes, while plications ranging from special effects for providing an overview of the conversion tech- S lms and videogames to digital fabrication and niques that I invented to retopologize triangular architectural design. Despite signi cant research meshes. (For a complete literature overview, in- efforts, there is still a large technological gap be- terested readers are referred to the quadrilateral tween the acquisition of 3D models and the tools meshing survey written by Bommes and his col- used to process, edit, and render them. Acquired leagues.1) After showing how these algorithms can 3D objects do not possess a high-level structure; be applied to contemporary problems in architec- they often start as a “point cloud” of surface tural geometry, their limitations and interesting points from which a triangle mesh is derived (see future research directions are discussed. Figure 1). Conversely, the majority of the 3D mod- els used in movies, games, and CAD applications Quadrilateral Remeshing are smooth surfaces with a shape that is controlled The creation of triangle meshes has been exten- by a coarse grid of quadrilaterals. Depending on sively studied in the last 30 years, and many robust the application, the quadrilaterals can be either algorithms are currently available in production- subdivided or used as control points for de ning quality software libraries. A triangle mesh is the high-order polynomial surfaces. preferred choice for real-time rendering because The conversion of a triangle mesh into a quad- it is well-suited for the classic rasterization-based rilateral mesh is a dif cult problem that has been rendering pipeline used by modern GPUs. Its main deeply studied during the last decade. Many differ- limitation is that it does not contain any global ent approaches have been proposed and transferred structure, and it is thus dif cult to edit or use as a from academia to commercial modeling and CAD control grid for higher-order surfaces. This is why software. However, there are still many open prob- quadrilateral meshes are ubiquitous in the movie lems to solve to provide a fully automatic pipeline industry and in CAD applications: they naturally that converts an unstructured model into a high- represent a pair of directions, and they exhibit level representation that can be directly used in a global structures called edge loops (see Figure 2), conventional 3D modeling pipeline. which are chains of edges that can be selected by

(a) (b) (c)

Figure 1. 3D object acquisition. (a) A triangle mesh, (b) a coarse quadrilateral mesh representing the same object, and (c) its Catmull-Clark subdivision limit surface.

8844 AprilMarch/April 2015 2015 PublishedPublished by the IEEE Computer Computer Society Society 2376-113X/15/$31.000272-1716/15/$31.00 © © 2015 2015 IEEE

g2dis.indd 88 2/26/15 1:18 PM Dissertation Impact Editor: Jim Foley

Demystifying Quadrilateral Remeshing

Daniele Panozzo ETH Zurich

urface manipulation and representation is This article explains why it is important to rep- becoming increasingly important, with ap- resent surfaces using quadrilateral meshes, while Figure 2. Edge loops allow quick and precise selection of semantically meaningful parts of a 3D model. A single click on any part plications ranging from special effects for providing an overview of the conversion tech- of a loop will select the entire chain of edges. Such loops might be closed or open. S lms and videogames to digital fabrication and niques that I invented to retopologize triangular architectural design. Despite signi cant research meshes. (For a complete literature overview, in- picking any edge in the loop, increasing the ef - it, and the total number and index of the singu- efforts, there is still a large technological gap be- terested readers are referred to the quadrilateral ciency of modelers, riggers, and animators. larities is a topological invariant that depends on tween the acquisition of 3D models and the tools meshing survey written by Bommes and his col- The de facto approach to model smooth sur- the genus of the surface.2 used to process, edit, and render them. Acquired leagues.1) After showing how these algorithms can faces in CG movies is the Catmull-Clark subdivi- The quality of a quadrilateral mesh is thus 3D objects do not possess a high-level structure; be applied to contemporary problems in architec- sion, which is a recursive algorithm that produces measured by the following: they often start as a “point cloud” of surface tural geometry, their limitations and interesting a smooth surface with a shape that is completely points from which a triangle mesh is derived (see future research directions are discussed. determined by a coarse control grid. Finally, quad- ■ the number of singularities used (the lower the Figure 1). Conversely, the majority of the 3D mod- rilateral meshes are often preferred over triangular better); els used in movies, games, and CAD applications Quadrilateral Remeshing meshes for discretizing partial differential equa- ■ the geometric location of the singularities (the are smooth surfaces with a shape that is controlled The creation of triangle meshes has been exten- tions (PDEs) because of their numerical properties. generated artifacts in the smooth surface should by a coarse grid of quadrilaterals. Depending on sively studied in the last 30 years, and many robust be hidden or not disturbing); and the application, the quadrilaterals can be either algorithms are currently available in production- Mesh Quality ■ the alignment of the edges, aka edge ow (edges subdivided or used as control points for de ning quality software libraries. A triangle mesh is the The quality of a triangular mesh is usually de- should be aligned with meaningful features, high-order polynomial surfaces. preferred choice for real-time rendering because termined by the shape and size of the triangles; thus allowing artists to quickly select semanti- The conversion of a triangle mesh into a quad- it is well-suited for the classic rasterization-based equilateral and uniformly sized triangles are often cally meaningful edge loops). rilateral mesh is a dif cult problem that has been rendering pipeline used by modern GPUs. Its main preferred for rendering smooth surfaces, where they deeply studied during the last decade. Many differ- limitation is that it does not contain any global provide an even interpolation of the per-vertex nor- The last two requirements are dif cult to evalu- ent approaches have been proposed and transferred structure, and it is thus dif cult to edit or use as a mals. High-quality triangular meshes also exhibit ate objectively and are dif cult to incorporate in an from academia to commercial modeling and CAD control grid for higher-order surfaces. This is why better numerical properties when used for solving optimization algorithm. Many quadrilateral mesh- software. However, there are still many open prob- quadrilateral meshes are ubiquitous in the movie partial differential equations. ing algorithms incorporate user input to allow users lems to solve to provide a fully automatic pipeline industry and in CAD applications: they naturally Although similar quality metrics could be de- to adjust the result depending on their preferences. that converts an unstructured model into a high- represent a pair of directions, and they exhibit ned for quadrilateral meshes, they are not use- level representation that can be directly used in a global structures called edge loops (see Figure 2), ful quality measures because quadrilateral meshes Computer-Assisted Quadrilateral Remeshing conventional 3D modeling pipeline. which are chains of edges that can be selected by are not directly used to represent 3D shapes. A Traditional modeling tools allow us to retopologize quadrilateral mesh is usually used as a control a surface by manually placing its vertices and grid for a subdivision or NURBS surface (Figure edges. This procedure is time consuming and prone 1). In both cases, the quality of the nal surface to errors; because the number and placement of is mainly affected by the distribution of singulari- singularitites is a global feature of the mesh, it ties that are the vertices touched by more or less cannot be modi ed using local operations such as than four edges. These vertices are particularly im- insertion of vertices and edges. Thus, if a mistake portant because they are the only ones where the is made while retopologizing a part of a shape, it is quadrilateral mesh is not a regular grid. The limit not possible to x it locally, and the entire model surface of a Catmull-Clark subdivision is only C1 has to be retopologized from scratch. Surprisingly, smooth on singular points, and it is challenging this procedure is still the main method used to smoothly connect more than four NURBS that by artists and CAD engineers to design coarse (a) (b) (c) meet at a single point. quadrilateral control grids, and computer-assisted Figure 1. 3D object acquisition. (a) A triangle mesh, (b) a coarse quadrilateral mesh representing the same object, and (c) its A singular vertex can have a different singularity quadrilateral remeshing methods are only recently Catmull-Clark subdivision limit surface. index, depending on the number of edges touching starting to be used instead.

88 March/April 2015 Published by the IEEE Computer Society 0272-1716/15/$31.00 © 2015 IEEE www.computer.org/computingedge IEEE Computer Graphics and Applications 4589

g2dis.indd 88 2/26/15 1:18 PM g2dis.indd 89 2/26/15 1:18 PM Dissertation Impact

Diagonal collapse Singlet removal Edge rotation

Doublet removal

Figure 3. Local operations used to coarsen a dense quadrilateral mesh.

(a) (b) (c)

Figure 4. Local method example. (a) An input triangular mesh is converted into (b) a coarse quadrilateral grid with a series of local operations. The high-resolution details of the original surface are stored as a displacement map over each quadrilateral, and (c) they can be ef ciently rendered in an OpenGL-based rendering system.

There are three major families of quadrilateral rilateral mesh, and then reduce the number of meshing algorithms: quads using simple and ef cient local operations. Each local operation affects a small part of the ■ Local methods adapt simpli cation strategies quadrangulation, reducing the number of quads by developed for triangular meshes to quads. Al- collapsing one of them or improving the shape of though they tend to introduce a large number the quads by rotating an edge (see Figure 3). of singularities, their ef ciency, simplicity, and Although this technique does not provide ex- stability make them ideal for processing large plicit control over the placement and number of and noisy datasets. introduced singularities, it was the rst completely ■ Global methods use global optimization strategies automatic method able to create coarse quadrilat- to optimize directly the number and placement eral meshes. of the singularities. They generate high-quality The algorithm is simple, robust, and as opposed results, at the expense of ef ciency and control- to some of the methods presented in the next sec- lability. tions, it can be applied to dense meshes. The 3D po- ■ Interactive methods integrate local optimization sitions of the quadrilateral layout can be optimized algorithms with smart user interfaces, providing so that the induced smooth surface (obtained with semiautomatic tools that are both ef cient and Catmull-Clark subdivision) is as close as possible to highly controllable. the original geometry, whose details can be stored as a displacement map (see Figure 4). Note that the Local methods. I proposed two local methods to created mesh is adaptive—that is, it concentrates convert a triangle mesh into a coarse quadrilateral the elements in the regions with more geometric mesh.3,4 They rst trivially pair every two triangles details. This feature can be disabled for applications in a quadrilateral, thus producing a dense quad- that bene t from uniform elements.

9046 March/AprilComputingEdge 2015 April 2015

g2dis.indd 90 2/26/15 1:18 PM (a) (b) (c) (d) (e)

Figure 5. Five major steps of a global, parametrization-based, anisotropic meshing algorithm, from left to right. (a) Constraints (green quads) are provided by an artist, and (b) they are converted into a frame eld, (c) which is deformed together with the shape until it becomes a cross eld. (d) The deformed mesh is quadrangulated using a global parametrization approach and (e) then warped back to its original shape.

Global methods. Global methods rely on a global either prescribed manually or automatically opti- optimization to decide the number and position mized (see Figure 6). Their main disadvantages are of the singularities. In this section, I focus on my the extreme implementation complexity and that algorithm that generalizes previous work by allow- they might fail to generate a pure quadrilateral ing adaptive and anisotropic quadrilateral meshes.5 mesh. Depending on the constraints, these meth- Figure 5 illustrates the algorithm’s ve major steps: ods might introduce triangles or pentagons close to singularities. 1. Edge alignment constraints are manually de- Step 2 can be further enhanced by extracting ned by a user or extracted from principal symmetries from the original object and enforcing curvature directions. The user-speci ed con- them during the interpolation of the alignment straints are a sparse set of quadrilaterals, with constraints to create a symmetric quadrilateral size and edge alignment that will be preserved mesh.9 This is particularly useful for man-made in the nal quadrilateral mesh and interpo- CAD objects that often exhibit multiple bilateral lated in the remaining regions. symmetries (see Figure 7). 2. The constraints are interpolated over the surface, de ning a set of directions over the entire sur- Interactive Methods. Exact control of every edge face. Different algorithms can be used for this of the quadrangulation is required in certain task, each providing different control over the applications, such as the creation of extremely type of constraints that the user can specify.5,6 low-poly videogame characters or the creation of 3. The shape is deformed depending on the inter- high-end movie characters. In these cases, fully polated constraints, enlarging regions where automatic algorithms are not applicable because a higher density of quadrilateral has been they do not provide suf cient control. The cur- prescribed.5 rent solution is to manually draw every quad, a 4. The deformed directions are used as gradients task that can consume multiple days of manual for a global parametrization, whose principal labor on complex models. axes are aligned with the speci ed directions To tackle this problem, I introduced a new in- in the least-square sense. The integer isolines teraction paradigm10 to ef ciently quadrangulate a of the parametrization naturally de ne a uni- surface using a sketch-based interface, while having form quadrilateral mesh on the surface. David accurate control over each vertex and edge wherever Bommes and his colleagues introduced this necessary. In contrast to the parametrization-based method in 2009,7 and many variants and ex- approaches, the users draw a subset of the edges tensions of this algorithm have been proposed they want to have in the nal mesh, and the system in the last four years.8 takes care of lling the regions between the strokes 5. The deformation (step 2) is reverted, revealing with quadrilateral elements. the nal quadrangulation that follows the con- The basic mode allows us to freely draw sketches straints speci ed by the user in the rst step. on a surface: when a loop is formed, the region en- closed by the loop is tessellated (see Figure 8). For The major advantage of global methods is that every region, it is possible to change the number they provide precise control over the singularities of edges on each of its sides and change the con- of the resulting quadrilateral mesh that can be nectivity in its interior.

www.computer.org/computingedge IEEE Computer Graphics and Applications 4791

g2dis.indd 91 2/26/15 1:18 PM Dissertation Impact

Figure 6. Global method example. An artist manually drew the quadrilateral mesh on hands and feet plus a sparse set of constraints (green quads). The algorithm produces a complete quadrilateral mesh that preserves the singularities speci ed by the artist and adds new ones to ensure a smooth interpolation of the constraints. The ve images correspond to the ve steps in Figure 5. Red and blue bullets depict singularities.

To further improve the ef ciency, the system enabling architects to design and build free-form provides a set of tools for the most common structures that were impossible to realize with tra- cases. A brush tool can be used to quickly create ditional techniques. a strip of quadrilaterals, the autocompletion tool automatically lls the region below the cursor, and Planar Panelization the cylinder tool creates a circular pattern around Glass and steel constructions are common because cylindrical regions such as ngers and limbs. of their combination of functionality and speci c aesthetic. However, their construction is expensive Impact and Applications if curved glass panels are used. Tessellating a surface Automatic and assisted remeshing algorithms are with at quadrilaterals is a challenging problem now available in commercial modeling softwares that requires expensive numerical optimization. such as ZBrush and 3DCoat. They are daily used With slight variations to the algorithms pre- by hundreds of artists and engineers to create sented earlier, it is possible to tessellate a surface coarse and dense quadrilateral grids for high-end with planar quadrilaterals. Starting from a planar videogames, movie visual effects, and engineering tessellation, a building can be constructed by re- applications. Quadrilateral meshing algorithms placing each face with a at glass panel that is are also deeply affecting architectural designs, much less expensive to manufacture. Mathemati-

9248 March/AprilComputingEdge 2015 April 2015

g2dis.indd 92 2/26/15 1:18 PM cally, the edges of a quadrilateral mesh with at faces dene a conjugate eld,11 which is challeng- ing to design. I recently proposed a simple and ef- cient algorithm6 that allows architects to quickly experiment with different planar tessellations by simply specifying a set of desired alignment con- straints (see Figure 9).

Free-Form Masonry Structures Another way in which quadrangulation could be used is the design and tessellation of free-form masonry structures. These structures consist of unsupported stone blocks and stand thanks to their special geometry where all blocks are in static equilibrium. Masonry structures have been widely used in the past by following simple patterns for Figure 7. Symmetric quadrilateral meshes of a collection of objects the construction of arcs and vaults, and only re- with several bilateral symmetries. The blue and red spheres represent cently they are being used in modern architecture singular vertices, which are themselves symmetric. to realize free-form designs. I proposed a completely automatic pipeline that Code Complexity converts a sketch of a surface into a masonry The majority of the quadrangulation methods are model consisting of hexagonal blocks.12,13 An au- complex to code, and they must be maintained tomatic quadrilateral remeshing algorithm creates and supported by highly trained programmers. a coarse force layout that is used to transform the This is a major problem that is both slowing down given sketch into a self-supporting surface (see the research in this area (because only a few re- Figure 10). The same algorithm is then used to search groups have access to the state-of-the-art split the surface into a staggered grid of blocks. quadrangulation algorithms) and drastically in- The block pattern is a quadrilateral mesh, where creasing the cost for companies to embrace these specic edges are removed to create a staggering new technologies. effect that increases the interlocking between the To ameliorate this problem, I recently released pieces, simplifying the construction and improving a full implementation of the global method I pre- the structural properties of the masonry building. sented earlier,5 which is available in libigl, a simple We validated our approach by fabricating and as- C++ geometry processing library (https://github sembling small-scale models of masonry buildings. .com/libigl/libigl). The source code and binaries of the interactive retopology system SketchRe- Open Problems topo10 are also available online to foster future Quadrilateral meshing is still an open problem research in this area. An important venue for fu- with many challenges left to address. The plethora ture work in this area is the design of alternative of new applications that use it are adding more methods that are simple to implement and main- constraints to a problem that is already computa- tain, while having a quality comparable with the tionally challenging. current approaches.

Figure 8. Quadrilateral meshes created with the SketchRetopo system. The yellow curves have been manually designed by an artist, while the black quads are automatically created by the system. The yellow lines can be interactively adjusted, while seeing the effect on the nal quadrilateral mesh in real time.

www.computer.org/computingedge IEEE Computer Graphics and Applications 4993

g2dis.indd 93 2/26/15 1:18 PM Dissertation Impact

(a) (b) (c)

Figure 9. Planar quadrilateral meshes are used in architectural geometry to design free-form glass and steel structures. (a) The designer speci es a set of alignment constraints, and (b) the constraints are interpolated in a conjugate direction eld (c) that is automatically converted into a mesh with planar faces.

Figure 10. An input surface is automatically transformed into a masonry 3D model. The equilibrium of the surface is represented by two planar graphs that encode the directions and magnitudes of all forces. The generated blocks are 3D printed and assembled into a physical model of the surface that stands in compression without using glue or reinforcements.

Manual versus Automatic Quadrangulation problem-speci c algorithmic solutions that can- The ideal quadrangulation tool would allow a user not be applied to arbitrary shapes. to automatically tessellate a surface and then re- ne it by adding additional constraints that can be Quadrangulation as a Design Tool incorporated in the quadrangulation in real time. for Architectural Patterns Unfortunately, this is not possible with any exist- Many architectural applications require the de- ing method. Completely automatic methods do not sign of semiregular patterns on surfaces, such as support exact constraints, and they are too slow the design of at panelizations, force-ow-aligned to provide interactive feedback, while interactive beam structures, and brick patterns. Only recently, methods cannot automatically quadrangulate an researchers started to adapt existing quadrangula- entire surface without user input. Combining the tion methods to these problems, and I expect that two approaches is far from trivial and would prob- a plethora of interesting problems and designs will ably require a completely novel solution strategy, be proposed as architects increasingly discover the but it would provide the ideal solution for character potential of these novel design tools. retopology and CAD applications.

Volumetric Tessellation he advent of 3D printing and digital fabrication The advantages of quadrilateral meshes over tri- Tis increasing the demand for tools to quickly angle meshes similarly extend to the volumet- and ef ciently acquire and edit geometric data. ric case, where hexaedral meshes (such as sets Although 3D modeling requires a considerable of cubes) are preferred over tetrahedral meshes. amount of skill and artistic education, the 3D This problem shares many similarities with quad- acquisition and editing of models is a much rangulation, while being considerably more chal- simpler task accessible to the masses. The tools lenging. The singularities can be both vertices or presented in this article are striving to streamline segments inside the volume. This is an exciting the geometry processing pipeline, with the goal of topic, with many problems to solve and only a few fully automating the conversion of a point cloud

9450 March/AprilComputingEdge 2015 April 2015

g2dis.indd 94 2/26/15 1:18 PM into a high-quality coarse control grid that can 7. D. Bommes, H. Zimmer, and L. Kobbelt, “Mixed- be used to edit and digitally fabricate variations Integer Quadrangulation,” ACM Trans. Graphics (Proc. of the scanned model. Many of the basic building ACM Siggraph), vol. 28, no. 3, 2009, article no. 77. blocks required to make this idea a reality are 8. H.-C. Ebke et al., “QEx: Robust Quadrilateral Mesh now available, and I look forward to the research Extraction,” ACM Trans. Graphics (Proc. ACM challenges that lie ahead. Siggraph Asia), vol. 33, no. 6, 2013, article no. 168. 9. D. Panozzo et al., “Fields on Symmetric Surfaces,” ACM Trans. Graphics (Proc. ACM Siggraph), vol. 31, References no. 4, 2012, article no. 111. 1. D. Bommes et al., “State of the Art in Quad Meshing,” 10. K. Takayama et al., “Sketch-Based Generation and Computer Graphics Forum (Proc. Eurographics STARS), Editing of Quad Meshes,” ACM Trans. Graphics (Proc. vol. 31, no. 2, 2012. ACM Siggraph), vol. 32, no. 4, 2013, article no. 97. 2. N. Ray et al., “N-Symmetry Direction Field Design,” 11. Y. Liu et al., “General Planar Quadrilateral Mesh ACM Trans. Graphics (Proc. ACM Siggraph), vol. 27, Design Using Conjugate Direction Field,” ACM no. 2, 2008, article no. 10. Trans. Graphics (Proc. ACM Siggraph Asia), vol. 30, 3. M. Tarini et al., “Practical Quadrilateral Mesh no. 6, 2011, article no. 140. Simpli cation,” Computer Graphics Forum (Euro- 12. D. Panozzo, P. Block, and O. Sorkine-Hornung, graphics), vol. 29, no. 2, 2010, pp. 407–418. “Designing Unreinforced Masonry Models,” ACM 4. D. Panozzo et al., “Automatic Construction of Trans. Graphics (Proc. ACM Siggraph), vol. 32, no. 4, Quad-Based Subdivision Surfaces using Fitmaps,” 2013, article no. 91. IEEE Trans. Visualization and Computer Graphics, vol. 13. M. Deuss et al., “Assembling Self-Supporting 17, no. 10, 2011, pp. 1510–1520. Structures,” ACM Trans. Graphics (Proc. ACM 5. D. Panozzo et al., “Frame Fields: Anisotropic and Non- Siggraph Asia), vol. 33, no. 6, 2014, article no. 214. Orthogonal Cross Fields,” ACM Trans. Graphics (Proc. ACM Siggraph), vol. 33, no. 4, 2014, article no. 134. Daniele Panozzo is a senior researcher at ETH Zurich. 6. O. Diamanti et al., “Designing N-PolyVector Fields Contact him at [email protected]. with Complex Polynomials,” Computer Graphics Forum, vol. 33, no. 5, 2014, pp. 1–11. Contact department editor Jim Foley at [email protected].

EXECUTIVE STAFF Executive Director: Angela R. Burgess; Director, Governance & Associate ADVERTISER INFORMATIONExecutive Director: Anne Marie Kelly; Director, Finance & Accounting: PURPOSE: The IEEE Computer Society is the world’s largest association John G. Miller; Director, Information Technology Services: Ray Kahn; of computing professionals and is the leading provider of technical Director, Membership: Eric Berkowitz; Director, Products & Services: information in the eld. Evan M. Butter eld; Director, Sales & Marketing: Chris Jensen MEMBERSHIP:Advertising Members Personnel receive the monthly magazine Computer, Southwest, California: discounts, and opportunities to serve (all activities are led by volunteer COMPUTERMike Hughes SOCIETY OFFICES members).Marian Membership Anderson: is open Sr. Advertising to all IEEE members, Coordinator af liate society Washington,Email: [email protected] D.C.: 2001 L St., Ste. 700, Washington, D.C. 20036-4928 members,Email: and [email protected] others interested in the computer eld. Phone:Phone: +1 +1 202 805 371 5290101 6790 • Fax: +1 202 728 9614 COMPUTERPhone: SOCIETY +1 714 816WEBSITE: 2139 | www.computer.orgFax: +1 714 821 4010 Email: [email protected] LosSoutheast: Alamitos: 10662 Los Vaqueros Circle, Los Alamitos, CA 90720 Next Board Meeting: 1–5 June 2015, Atlanta, GA, USA Sandy Brown: Sr. Business Development Mgr. Phone:Heather +1 714Buonadies 821 8380 • Email: [email protected] EXECUTIVEEmail [email protected] COMMITTEE MEMBERSHIPEmail: [email protected] & PUBLICATION ORDERS President:Phone: Thomas +1 714 M. 816Conte 2144 | Fax: +1 714 821 4010 Phone:Phone: +1 +1 800 973 272 3046657 4123• Fax: +1 714 821 4641 • Email: [email protected] President-Elect: Roger U. Fujii; Past President: Dejan S. Milojicic; Asia/Paci c:Fax: +1 973 Watanabe 585 7071 Building, 1-4-2 Minami-Aoyama, Minato-ku, Tokyo Secretary:Advertising Cecilia Metra; Sales Treasurer, Representatives 2nd VP: David S. Ebert; (display) 1st VP, 107-0062, Japan • Phone: +81 3 3408 3118 • Fax: +81 3 3408 3553 • Member & Geographic Activities: Elizabeth L. Burd; VP, Publications: Email:Advertising [email protected] Sales Representatives (Classified Line) Jean-LucCentral, Gaudiot; Northwest, VP, Professional Far East: & Educational Activities: Charlene IEEE BOARD OF DIRECTORS (Chuck)Eric Walrad; Kincaid VP, Standards Activities: Don Wright; VP, Technical Heather Buonadies President & CEO: Howard E. Michel; President-Elect: Barry L. Shoop; Past & ConferenceEmail: [email protected] Activities: Phillip A. Laplante; 2015–2016 IEEE Director Email: [email protected] President: J. Roberto de Marca; Director & Secretary: Parviz Famouri; & DelegatePhone: Division +1 214 VIII: 673 John 3742 W. Walz; 2014–2015 IEEE Director & Phone: +1 973 304 4123 Director & Treasurer: Jerry Hudgins; Director & President, IEEE-USA: DelegateFax: Division +1 888 V: 886 Susan 8599 K. (Kathy) Land; 2015 IEEE Director-Elect & Fax: +1 973 585 7071 Delegate Division V: Harold Javid James A. Jefferies; Director & President, Standards Association: Bruce P. Kraemer; Director & VP, Educational Activities: Saurabh Sinha; Director & Northeast, Midwest, Europe, Middle East: Advertising Sales Representatives (Jobs Board) BOARDAnn OF& David GOVERNORS Schissler VP, Membership and Geographic Activities: Wai-Choong Wong; Director Term Email:Expiring [email protected], 2015: Ann DeMarle, Cecilia Metra,[email protected] Nita Patel, Diomidis & VP, Publication Services and Products: Sheila Hemami; Director & VP, Spinellis,Phone: Phillip +1 A. 508 Laplante, 394 4026 Jean-Luc Gaudiot, Stefano Zanero TechnicalHeather Activities: Buonadies Vincenzo Piuri; Director & Delegate Division V: Term Fax:Expriring +1 508 2016: 394 David 1707 A. Bader, Pierre Bourque, Dennis J. Frailey, SusanEmail: K. [email protected](Kathy) Land; Director & Delegate Division VIII: John W. Walz Jill I. Gostin, Atsuhiro Goto, Rob Reilly, Christina M. Schober Phone: +1 973 304 4123 Term Expiring 2017: David Lomet, Ming C. Lin, Gregory T. Byrd, Alfredo Fax: +1 973 585 7071 Benso, Forrest Shull, Fabrizio Lombardi, Hausi A. Muller revised 27 Jan. 2015 www.computer.org/computingedge IEEE Computer Graphics and Applications 5195

g2dis.indd 95 2/26/15 1:18 PM Micro Review ...... The Future of Work

RICHARD MATEOSIAN

...... In this column, I look at a book half of all WordPress-based blogs are in that book, but the one I remember that describes the author’s experience hosted there for free. Mullenweg nearly 50 years later is that in order to working for a company with essentially wanted to try a new organizational succeed, companies must abandon top- no physical offices and with workers all approach within . Partly as a down decision making and recognize over the globe. He draws some conclu- result of Berkun’s advice, he split the that management will increasingly lack sions about the future of work. company into 10 teams, and he invited the knowledge needed to make day-to- Berkun to lead one of them. Berkun day operational decisions. In this era of The Year Without Pants: WordPress.com agreed to join the company as an agile organizations, that seems like a and the Future of Work by Scott Berkun employee. Going in, he made it clear that quaint insight, but getting from there to (Jossey-Bass, 2013, 266 pp., ISBN 978- he would leave to write this book in here was a long, bumpy ride. Automattic, 1-118-66063-8, $26.95) approximately one year. He wound up as described in Berkun’s book, seems In the July/August 2010 Micro staying for a year and a half, the last few like the culmination of that journey. Review column, I briefly discussed months of which as a team member Scott Berkun’s Confessions of a Public after recommending that one of his team A virtual company Speaker (O’Reilly, 2009), a book he members be promoted to succeed him. In January 2003, Matt Mullenweg wrote while trying to make a living as a The book tells a fascinating story—fas- established the WordPress open source talking head. But in the 1990s, Scott dis- cinating because of both the personal community by forking code from b2/ tinguished himself as a development details and the company’s unique organi- cafelog, a GPL-licensed open source manager at Microsoft, where he was zation. In the early 1980s, I read Tracy Kid- project whose founder had stopped sup- instrumental in making Microsoft’s bela- der’s Soul of a New Machine (Little, porting it. Mullenweg’s founding princi- ted embrace of the Web and browsers Brown and Co., 1981), and the personal ples were transparency, meritocracy, successful. His other books qualify him side of Berkun’s book reminds me of Kid- and longevity. In August 2005, dis- to be called a management guru, so it der’s story. Kidder was a reporter and not tressed about the existing options for was with trepidation that he stepped a participant, but he did see some of the deploying WordPress-based blogs, he back into a management job. same dynamics at work as the ones Ber- founded Automattic with three commun- kun describes. The workers who were ity volunteers and no venture backing. The backstory passionate about the goal made the proj- They designed an antispam plug-in called About the time my review of his pre- ect succeed by working behind the backs —still one of the first things a vious book was published, Berkun was a of the hard-driving project managers. At new WordPress blogger installs—and WordPress blogger and a consultant to Automattic, there are no hard-driving man- used income from that to keep Automat- Matt Mullenweg, the creator of the agers, and everything is out in the open— tic afloat until they could obtain more WordPress blogging software and almost painfully so—but passion and com- substantial financing. Toni Schneider founder of Automattic (note the extra mitment are the prime motivators. joined the company as CEO in November “t,” so the company name includes As a development project leader in 2005, and he and Mullenweg jointly man- Mullenweg’s given name). Automattic the 1960s, I read John Kenneth Gal- aged a totally flat organization until they runs .com, one of the most braith’s New Industrial State (Houghton created teams in 2010, when the com- popular sites in the world. Approximately Mifflin, 1967). Galbraith said many things pany had 60 employees......

54 Published by the IEEE Computer Society 0272-1732/15/$31.00 c 2015 IEEE 52 April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE Micro Review ...... Automattic has a simple business made blogging and reading blogs easier. made most of those techniques nearly model. They sell upgrades to bloggers In his year leading that team, they devel- impossible to use. In fact, one of his The Future of Work who want more than the many features oped Jetpack, a WordPress plug-in accomplishments was to move team they can get for free. They sell advertis- designed to make wordpress.com meetings out of IRC and into Skype ing on a few popular blogs, and they features available to WordPress-based video. work special deals with premier clients blogs hosted on other sites. It’s the other Another problem Berkun identified, like CNN, Time magazine, CBS, and NBC first thing a new WordPress blogger but really had no answer for, is the Sports, which host their websites on installs. They also unified the comment- dynamics of online threads. You might WordPress.com. ing facilities of all WordPress blogs in make a thoughtful post about an impor- Because of the way the company order to integrate IntenseDebate, a pop- tant issue and see no responses. You started, it was completely natural for ular commenting product that Automat- have no idea whether anyone has read it everyone to work where they pleased. tic had acquired because it worked on or is thinking about it. Or someone might ICHARD ATEOSIAN R M While the company eventually acquired other blogging systems as well. react to one small point in your post, and highly desirable premises on Pier 38 in The integration was called Project the thread mutates to focus on that point San Francisco, employees rarely used Highlander to suggest (a science fiction rather than on the one you set out to them, though Mullenweg occasionally allusion) that it was a fight to the death direct attention to. Berkun raised this ...... In this column, I look at a book half of all WordPress-based blogs are in that book, but the one I remember called on locally based employees to between IntenseDebate and the other issue by posting about it, and the that describes the author’s experience hosted there for free. Mullenweg nearly 50 years later is that in order to come in as props when media represen- WordPress commenting facilities until responses frustratingly exhibited the working for a company with essentially wanted to try a new organizational succeed, companies must abandon top- tatives or premier clients came calling. only one survived. With 120 blog the- very problems he hoped to highlight. no physical offices and with workers all approach within Automattic. Partly as a down decision making and recognize Mullenweg regards remote working mes, WordPress had many different Berkun liked the company culture of over the globe. He draws some conclu- result of Berkun’s advice, he split the that management will increasingly lack as ideal. It flattens everything, producing ways of making and presenting com- fixing things immediately, but he noted sions about the future of work. company into 10 teams, and he invited the knowledge needed to make day-to- higher lows and lower highs—a generally ments, and those had to be uni- that people respond to the most recent Berkun to lead one of them. Berkun day operational decisions. In this era of more mellow experience. Automattic fied before Project Highlander could problem, and if something doesn’t get The Year Without Pants: WordPress.com agreed to join the company as an agile organizations, that seems like a can afford to be a low-friction company succeed. fixed right away, it tends to be forgotten, and the Future of Work by Scott Berkun employee. Going in, he made it clear that quaint insight, but getting from there to because it supports the WordPress com- Project Highlander called on project regardless of its importance. Berkun (Jossey-Bass, 2013, 266 pp., ISBN 978- he would leave to write this book in here was a long, bumpy ride. Automattic, munity and relies on satisfied customers. management skills that Berkun brought tried to introduce a system of priorities 1-118-66063-8, $26.95) approximately one year. He wound up as described in Berkun’s book, seems It feels little competitive pressure. It to Automattic from his days at Micro- that would make it more likely that tricky In the July/August 2010 Micro staying for a year and a half, the last few like the culmination of that journey. doesn’t need schedules because it soft—skills that pushed Automattic in but important issues would not be swept Review column, I briefly discussed months of which as a team member doesn’t do marketing. It has minimal the direction of a more mature develop- under the rug. He hoped to engender Scott Berkun’s Confessions of a Public after recommending that one of his team A virtual company hierarchy, so decisions can be made ment process. This was a recurring more strategic thinking to go along with Speaker (O’Reilly, 2009), a book he members be promoted to succeed him. In January 2003, Matt Mullenweg with little fuss. theme of Berkun’s time there. In terms the company’s tactical mindset. wrote while trying to make a living as a The book tells a fascinating story—fas- established the WordPress open source Most of the time employees commu- of Eric S. Raymond’s classic book The Berkun also tried to institute some talking head. But in the 1990s, Scott dis- cinating because of both the personal community by forking code from b2/ nicated on Internet Relay Chat (IRC) and Cathedral and the Bazaar (O’Reilly sort of usability testing. The program- tinguished himself as a development details and the company’s unique organi- cafelog, a GPL-licensed open source their team blogs (known as P2s). Media, 1999), Automattic had grown up mers who worked on WordPress fea- manager at Microsoft, where he was zation. In the early 1980s, I read Tracy Kid- project whose founder had stopped sup- Although email was by no means prohib- at the Bazaar end of the spectrum. Ber- tures generally came from the Word- instrumental in making Microsoft’s bela- der’s Soul of a New Machine (Little, porting it. Mullenweg’s founding princi- ited, few Automattic employees used it, kun, primarily because of his time at Press community, so they had reason to ted embrace of the Web and browsers Brown and Co., 1981), and the personal ples were transparency, meritocracy, because it is closed. If you do not receive Microsoft, brought in aspects of the feel that they understood their target successful. His other books qualify him side of Berkun’s book reminds me of Kid- and longevity. In August 2005, dis- a copy of an email message, you have no Cathedral approach whenever that was a audience, but Berkun was able to identify to be called a management guru, so it der’s story. Kidder was a reporter and not tressed about the existing options for way to find out about it. Every word ever more effective way to approach a prob- many areas where users had difficult- was with trepidation that he stepped a participant, but he did see some of the deploying WordPress-based blogs, he typed on IRC or a P2 is archived and avail- lem. Automattic had 60 employees ies that simple design changes would back into a management job. same dynamics at work as the ones Ber- founded Automattic with three commun- able to every employee. when Berkun joined and 170 by the time alleviate. kun describes. The workers who were ity volunteers and no venture backing. The whole company held occasional he finished writing this book, so some The backstory passionate about the goal made the proj- They designed an antispam plug-in called all-hands get-togethers face to face in evolution in the Cathedral direction was High jinks About the time my review of his pre- ect succeed by working behind the backs Akismet—still one of the first things a exotic places, and teams did the same inevitable, but Berkun’s expertise made A major part of the story Berkun tells vious book was published, Berkun was a of the hard-driving project managers. At new WordPress blogger installs—and somewhat more frequently. A tradition it easier. is about the people he worked with, how WordPress blogger and a consultant to Automattic, there are no hard-driving man- used income from that to keep Automat- for these events, which usually lasted While embracing the Automattic way they worked together, and how they coa- Matt Mullenweg, the creator of the agers, and everything is out in the open— tic afloat until they could obtain more several days, was to decide on team proj- of working, Berkun also struggled lesced into an efficient team. Many of WordPress blogging software and almost painfully so—but passion and com- substantial financing. Toni Schneider ects to develop and publish before going against it. He had mastered the techni- Berkun’s anecdotes concern his team’s founder of Automattic (note the extra mitment are the prime motivators. joined the company as CEO in November home. ques of face-to-face interaction—main- meetings in places like New York, Seat- “t,” so the company name includes As a development project leader in 2005, and he and Mullenweg jointly man- taining eye contact, reading body tle, and other, more exotic, places. Mullenweg’s given name). Automattic the 1960s, I read John Kenneth Gal- aged a totally flat organization until they Berkun’s role language, detecting emotional nuance, Seen from the outside, the team runs wordpress.com, one of the most braith’s New Industrial State (Houghton created teams in 2010, when the com- Berkun’s team was called Team and so forth. He had to learn to compen- seemed like a bunch of hard-drinking popular sites in the world. Approximately Mifflin, 1967). Galbraith said many things pany had 60 employees. Social. Its job was to invent things that sate for the fact that virtual interactions young men, a few years out of college ......

54 Published by the IEEE Computer Society 0272-1732/15/$31.00 c 2015 IEEE JANUARY/FEBRUARY 2015 55  www.computer.org/computingedge 53 ...... MICRO REVIEW

(more than a few in Berkun’s case), who employees come from a tradition of his short and seemingly lightweight enjoyed playing around the edges of working remotely on open source proj- Tbook actually contains a lot of meat, trouble. For example, on the way to a bar ects. They are self-sufficient and highly and I haven’t covered all of it here. If in Athens after the one they’d been motivated, passionate about what they you’re interested in the future of work, drinking in closed at 2:00 am, one team hope to achieve. Their way of working you should read it. MICRO member miraculously escaped serious might not work for everybody, but it injury. On a dare, he jumped between 3- works for them. Berkun believes that foot-high traffic bollards spaced 4 feet Automattic has answered many ques- Richard Mateosian is a freelance techni- apart and missed his second jump, tions that the working world is afraid to cal writer in the San Francisco Bay Area. crashing toward the sidewalk. As Berkun ask. Results trump traditions, and the Contact him at [email protected]. describes it, “either through Australian most dangerous tradition is that work is training for drunk jumping or a special both serious and meaningless, as exem- Krav Maga technique he’d learned, mid- plified by Dilbert. A short definition fall he realized his predicament and man- of work is “something I’d rather not aged to tuck and roll. …The silver-dollar be doing.” Automattic’s management— sized patch of skin missing from his with its vision, mission, and long-term This article originally appeared in elbow seemed a fair price to pay, and he thinking—might be atypical, but it IEEE Micro, vol. 35, no.1, 2015. was glad.” has given work meaning. Automattic’s Despite this sort of incident, their workers have great freedom and take meetings in exotic places were highly great pride in their work. And, as Ber- productive. Their time together seemed kun’s anecdotes show, they have a lot to fill a need that their usual distributed of fun. virtual interactions did not. Oddly, though, when working side by side, they often continued to communicate through IRC and their P2, as if they were conti- nents apart.

Lessons The first lesson learned from Auto- mattic is that a virtual company can exist and be productive. It’s not the only such company; GitHub has a similar distrib- uted structure. But Google, the dominant force in Silicon Valley, believes in coloca- tion and with few exceptions requires employees to work in the office, not remotely. With Marissa Mayer’s move from Google to the helm of Yahoo, that meme has taken root at Yahoo as well. Many other Silicon Valley companies have also held that belief for years. Partly, they believe it’s a more efficient way to develop software, and partly they don’t trust their employees. Trust is the key. Automattic believes in hiring great people, setting good prior- ities, granting authority, removing dis- tractions, and staying out of the way. The way Automattic works makes it no harder to detect slackers than if you were looking over their shoulders every minute of the day. But most Automattic ...... 56 IEEE MICRO 54 ComputingEdge April 2015 COLUMNINVISIBLE SECTION COMPUTING TITLE Beauty Technology: Body Surface Computing

Katia Vega and Hugo Fuks, Pontifical Catholic University of Rio de Janeiro

As wearable technology assumes an increasingly important function in daily life, sensors and other electronic devices applied directly to the skin, in forms like artificial nails and makeup, might further revolutionize human experience.

beauty technology, a wearable Up to now, my interest in arti cial nails, false eyelashes, and makeup has been lim- computing paradigm that uses ited, to say the least. But when I rst saw Katia and Hugo’s prototype for arti cial the body’s surface as a creative, nails with embedded RFID tags, I must say I was intrigued. Technically, the applica- interactive platform by integrating tion is pretty straightforward, basically gluing RFID tags onto one’s ngers (much technology into beauty products less exciting—but also far less controversial—than implanting chips into the applied directly to one’s skin, fin- body). Conceptually, however, the implications may prove quite signi cant. gernails, and hair. Their Beauty Tech products’ easy implementation and convenience to ax on the body oer a particularly strong case for widespread adoption. Many THE HUMAN BODY AS AN people already wear arti cial nails, so moving to digitally enhanced ones would INTERACTIVE PLATFORM be simple, probably even invisible. I believe the bene ts derived from this kind Reliable miniaturized computing of digitally enhanced product—for, example, being able to open a door or pay technologies have made pos- for coee using, literally, your ngertips—are immediately obvious. With their sible a wide array of incredibly widespread adoption, access and authentication technologies could become small wearable devices. Creating truly invisible in the very near future. wearable products isn’t limited I hope this article inspires readers as much as I’ve been inspired and helps us to tech companies like Google, all think more deeply about technologies coming into closer, more intimate Motorola, and Apple. Clothing in- contact with the human body. Another interesting question for me is whether dustry icons like Nike and Adidas Katia and Hugo’s beauty technologies might lead to more ubiquitous beauty have also made significant invest- product use (especially among the male population). ment in the wearable market, a Albrecht Schmidt, column editor clear suggestion that wearables are on the cutting edge in fashion design. The next logical step is to utilize the human body’s roughly s the revolution in for both functional and purely two square meters of skin as a wearable technology— aesthetic reasons—continues to canvas for applying sensors and miniature electronic flourish, why not extend the con- attaching other computing de- A devices attached to cept to include the human body vices in ways that enhance the clothing and fashion accessories itself? To this end, we propose human experience.

0018-9162/14/$31.00 © 2014 IEEE Published by the IEEE Computer Society APRIL 2014 71 www.computer.org/computingedge 55

r4inv.indd 71 3/20/14 1:28 PM INVISIBLE COMPUTING

BEAUTY TECHNOLOGY FOR ACCESSIBILITY

ith Winkymote, we are exploring how beauty technologies on a necklace worn around his neck. Based on Felipe’s voluntary W can allow greater accessibility for people with disabilities. winking, the switch closes, sending a digital signal from an The application was inspired by Felipe, a 33-year-old master’s infrared LED to the microcontroller that operates the functions of degree student who was injured practicing jujitsu and has been a a television. It also activates an audio feedback informing Felipe quadriplegic for 13 years. As pictured in Figure A, Winkymote that an appropriate signal has been sent. Blinking with his left eye, provides Felipe an infrared-controlled interface that uses FX right eye, or both eyes, he can turn the TV on, turn it o , or change e-makeup connected to an infrared-transmitting module mounted the channels up and down.

Figure A. Winkymote, an infrared-controlled interface specifically designed to allow Felipe, a quadriplegic, to operate a television using voluntary eye blinks.

Throughout the millennia, the INVISIBLE COMPUTING, but without the expected sci-fi ap- skin—extending also into nails NOT CYBORG FASHION pearance. Makeup and other similar and hair—has played a crucial role Fully implementing Mark Weiser’s beauty products might very well be as a protective barrier, a sensory influential ubiquitous computing visible, but they appear to function monitor, a heat and moisture regu- paradigm1 means creating technol- decoratively, as makeup always has, lator, and an integral part of the ogy that assists in our everyday lives and not as a technology platform. body’s immune system. And since by functioning invisibly and unob- The project we envision modi- our earliest days on the savannah, trusively. Clearly, current functional fies beauty products using widely we humans have applied various wearable technologies fail to achieve accepted and broadly available products to the skin to disguise, en- this ideal because, like Google Glass, technologies to create functional in- hance, highlight, alter, and decorate they are so obviously distinguish- terfaces designed to attach on the our bodies. Yet despite becoming able from the human body. Moving body’s surfaces. We are already in- more sophisticated as advances closer to the body, however, and vestigating embedded electronics in chemistry created new formu- making the skin itself interactive, for metalized eyelashes, special- las and application processes, such one can actually create invisible effects (FX) makeup, and artificial beauty products have remained technologies. Our project proposes nails.2,3 We also see opportunities largely nonfunctional. interfaces for cyborg empowerment for applications that can improve

72 COMPUTER 56 ComputingEdge April 2015

r4inv.indd 72 3/20/14 1:28 PM (a) (b) (c) Figure 1. Metalized plastic eyelashes that use conductive technology to trigger electrical signals when the wearer blinks. The eyelashes are chemically metalized in two phases, (a) activation and (b) electrolysis, so that (c) the finished product mimics the natural color of human eyelashes.

accessibility for those with dis- For example, Superhero (http:// at precise points onto a latex facial abilities (see the sidebar “Beauty superhero.katiavega.com) levi- mask. The mask, when applied to Technology for Accessibility”). tates objects with just a wink. The a human face, is capable of sens- conductive makeup is connected ing muscle movements as the skin Conductive eye makeup to infrared emitters hidden in a folds on the musculature of the face, Change the world with just a blink. headband. A wink triggers infra- acting in effect as a second skin. Wink your left eye, and turn on red commands, decoded from a LEDs attached to the sensors dem- the lights; wink your right eye, and remote control, in order to make onstrate this sensing effect visually, check your email. Beauty technol- a drone fly. Another application is as shown in Figure 2. ogy uses conductive eye makeup Arcana (http://arcana.katiavega. that senses voluntary blinking. com), a futuristic human “angel” Beauty Tech nails Chemically metalized plastic eye- who through her blinking alters the Radio frequency identification lashes, as shown in Figure 1, are environment surrounding her. The (RFID) and near field communica- specially treated to maintain a natu- conductive makeup is connected to tion (NFC) microchip technologies ral color but at the same time act as a radio module hidden in the per- integrated into plastic cards and switches. These send an electrical former’s wig that communicates keys—and increasingly emulated signal to a microcontroller via con- with a computer to activate music in cell phones—are widely used for ductive materials attached to the tracks and change the images being access control and customer pay- skin as eyeliner. Then, specific tasks projected. This demonstration took ment. But imagine opening a hotel can be associated with winking place in an auditorium, with the room door or paying your bus fare either the left or the right eye or by projected images displayed directly without having to pull out a card, closing both eyes at the same time— on the actress. entering a movie theater without gestures that trigger activators on carrying a ticket, or shopping at the the wearable and other wirelessly From eyes to face: supermarket or checking out a li- connected devices. FX e-makeup brary book without either a wallet Most people blink involuntarily Could your skin alone act as an or ID—just point and pay with liter- 10 to 15 times per minute, and interface? Can you control a com- ally everything at your fingertips. normal eye closure duration when puter, for example, using just your As early as 1998, Kevin Warwick blinking lasts from 150 to 250 mil- facial movements? Can we create was experimenting with implant- liseconds, with an upper limit in the beauty technologies that apply the ing RFID chips into human bodies 270 to 300 millisecond range. For activator directly to the skin? We (www.kevinwarwick.com), but most purposes of triggering a signal, we explore these and other questions people find the idea of RFID im- defined voluntary blinking as eye with Kinisi (http://kinisi.katiavega. plants scarily intrusive. However, closure lasting between 0.5 and 2 com), an FX e-makeup application attaching an RFID tag to one’s body seconds. Based on this, we’ve cre- that activates different light patterns in a semi-permanent way poses a ated multiple applications that have through smiles, raised eyebrows, much less threatening prospect. been demonstrated in public pre- lip movements, and the like. Our FX With Beauty Tech nails, we have sentations to confirm the concept’s e-makeup represents a beauty tech- created a fashionable, inexpensive practical feasibility. nology prototype with sensors glued wireless device that can attach to

APRIL 2014 73 www.computer.org/computingedge 57

r4inv.indd 73 3/20/14 1:28 PM INVISIBLE COMPUTING

with a musical box containing an RFID reader that translates each fin- gernail’s tag signal into a different note on the scale. Other Beauty Tech nail devices can interact, almost magically, with water, sand, and wood interfaces: AquaDJing (http://aquadjing. katiavega.com), depicted in Figure 3, is a music controller that that allows a DJ wearing Beauty Tech nails to manipulate tracks by touching a water controller connected to a com- puter that creates sound effects and displays visualizations. In addition to these more whim- sical uses, Beauty Tech nails can replace conventional RFID cards for many, more practical applications. Figure 2. Kinisi FX e-makeup. Sensors are glued at precise facial points onto a latex mask, and then attached to corresponding LEDs. Paint colors the user’s face black to demonstrate the light activation caused by facial muscle movement. e foresee wearable technology assuming W an increasingly impor- tant role in daily life, making pos- sible many novel interactions not previously imagined. As part of this trend, a variety of computer- ized applications, already available on clothing and accessories, can be applied directly to the skin’s surface as our project shows, trans- forming the body into an interac- tive platform with exciting new digital functionalities. Artificial eyelashes, makeup and cosmetics, acrylic nails—these all represent things people are used to seeing and having on their bodies. One can envision new prototypes that make use of these and other body- Figure 3. AquaDJing using Beauty Tech nails, shown in the inset. The DJ mixes tracks surface additions such as sensor by “touching” the water. The controller is connected to a computer that plays sound tattoos and conductive hair exten- effects and music tracks while coordinated image visualizations are displayed. sions, all empowering wearers without giving them a cyborg look. Our work so far is only a small fingernails with no external power just passes her finger over a scan- step toward bringing comput- components. These plastic or gel ner, which then reads her unique ers into greater intimacy with the nails hide electronics such as RFID ID, allowing contactless interaction human body. tags that create interfaces to identify with the interface. We have ex- the wearer. plored this technology’s utility for Beauty Tech nails function like a various entertainment applications. References conventional ID card into which an For example, Twinkle Nails (http:// 1. M. Weiser, “The Computer for RFID tag is embedded. The wearer twinklenails. katiavega.com) interact the 21st Century,” Scientific

74 COMPUTER 58 ComputingEdge April 2015

r4inv.indd 74 3/20/14 1:28 PM Amer., vol. 265, no. 3, 1991, Katia Vega is a postdoctoral re- Brazil. His research interests in- pp. 94–104. searcher in computer science in the clude beauty technology, software 2. K. Vega and H. Fuks, “Beauty Department of Informatics at Pon- of places, wearables, and computer- Technology as an Interactive tifical Catholic University of Rio supported collaborative learning. Computing Platform,” Proc. de Janeiro, Brazil. Her research in- Contact him at [email protected]. 2013 ACM Int’l Conf. Interactive terests include beauty technology, Tabletops and Surfaces (ITS 13), wearable computers, and tangible 2013, pp. 357–360. Interfaces. Contact her at katia@ This article originally appeared in 3. K. Vega and H. Fuks, “Beauty katiavega.com. Computer, vol. 46, no. 4, 2014. Tech Nails: Interactive Technol- ogy at Your Fingertips,” Proc. 8th Hugo Fuks is an associate professor Editor: Albrecht Schmidt, University Int’l Conf. Tangible, Embedded, of computer science in the Depart- of Stuttgart, Germany; albrecht@ and Embodied Interaction (TEI ment of Informatics at Pontifical computer.org 14), 2014, pp. 61–64. Catholic University of Rio de Janeiro,

Subscribe today for the latest in computational science and engineering research, news and analysis, CSE in education, and emerging technologies in the hard sciences. www.computer.org/cise

GET HOT TOPIC INSIGHTS FROM INDUSTRY LEADERS

• Our bloggers keep you up on the latest Cloud, Big Data, Programming, Enterprise and Software strategies. • Our multimedia, videos and articles give you technology solutions you can use. • Our professional development information helps your career.

Visit ComputingNow.computer.org. Your resource for technical development and leadership.

Visit http://computingnow.computer.org

APRIL 2014 75 www.computer.org/computingedge 59

r4inv.indd 75 3/20/14 1:28 PM CAREER FOCUS

Software Engineering Economics

Mastering software engi- neering economics also involves understanding optimization, learning to apply the “good enough” principle, creating “friction-free” economic envi- hy do software business goals. Key aspects of ronments, maximizing use of engineering proj- software engineering econom- software ecosystems, and know- W ects come in over- ics include ing when off shoring and out- budget, yet under-optimized? sourcing are appropriate. What is it about that the process • general fi nance concerns to The IEEE Computer Soci- that developers most often lose account for cash fl ow, valu- ety’s Professional Education sight of―sometimes antago- ation, infl ation and deprecia- division off ers online review nizing their organizational con- tion, taxation, and the like; courses covering all these topics, stituents and bringing down • life-cycle budgeting based on and more, that can be applied management’s wrath? understanding product-and- to multiple real-world software One common answer is soft- process life cycles, using projects. Open to members and ware engineering economics― portfolios and proposals, nonmembers, these help prepare that is, making decisions related and considering time-value participants to gain the Software to software engineering within investment, pricing, costing, Economics Certifi cation of Pro- a business context. Any proj- and strategies with regard fi ciency, a credential useful for ect’s success depends partly to termination, replacement, professional growth as well as on eff ective business manage- and retirement; and career advancement. ment: systematically examining • risk and uncertainty analysis software attributes in ways that in terms of project prioritiza- relate them to clear economic tion, for-profi t decision mak- nterested in learning more measures. ing, minimum acceptable about these courses, other In essence, software engi- rate of return on investment I courses leading to certifi - neering economics aligns tech- and capital, break-even eval- cation, or CS partner education nical development decisions uation, and cost benefi t/cost providers? Visit www.computer with the organization’s larger eff ectiveness comparisons. .org/web/education/index.

60 April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE CAREER OPPORTUNITIES

PLAID TECHNOLOGIES, INC. in San in our Cedar Rapids, IA o” ce - Master’s Advanced Java, J2EE, EJB 3.0, Web- Francisco, CA seeks Sftwr Eng. to dsgn, Degree or foreign degree equivalent in services (SOAP & REST),Spring Frame- bld, test, & launch new sftwr prdt w/ CS, CIS, Engineering or Math and ex- work 3.0,Struts 2.0,Hibernate 3.0,JMS, code lrgly cmpsd in Javascript and Py- perience with Visual Studio Team, ASP. HTML5, CSS3, Javascript, JQuery, Ajax, thon. Chrgd with expndng cmplx mrchnt Net, C#, SSRS, SSIS and SQL Server. (In WebSphere ESB, Design patterns, WAS idntfcation matching algrthms which lieu of a Master’s Degree, employer will 7.0, Glass fi sh servers,DB2, SQL/PLSQL. invlv dvlpng, creating, & modifying the accept a Bachelor’s Degree and 5 yrs. Must be willing to travel & reloc. Reqs MS API sftwre & anlyzng user needs. Some experience). To apply, emailcareers@ in sci, comp sci, eng or rel. Mail resumes invlvmnt with visual dsgn & user intrctn. limolink.com or by regular mail : Hu- to Strategic Resources International, 777 Resumes: Plaid Technologies, Inc, Attn: man Resources LimoLink Inc. 701 Tama Washington Rd, Ste 2, Parlin, NJ 08859. B. Khwaja 25 Maiden Lane, Suite 304, Street, Building A Marion, Iowa 52302. San Francisco, CA 94108. PROGRAMMER ANALYST (Mult. Open- SAMSUNG SEMICONDUCTOR INC. has ings) sought by Riviera Consulting, LLC ENGINEERING. Ruckus Wireless, Inc. a Sr. Director, System Architecture (job in Parsippany,NJ w/a MS in S/ware Engg has job opp. in Sunnyvale, CA: Con- code: 5FX0120) job opportunity in San or rltd. Candidate will provide applic ser- sulting Systems Engineer. Support Pre- Diego, CA: Analyze standards and spec- vice mgmt across di¬ erent envrmts by Sales Account Teams on co. products. ifi cations, coming from 3GPP, operators confi guring an n-tier architecture (Web- May telecommute from home o” ce any- and customers. Mail resume to Sam- server, Applic Server). This will help to where in U.S. Mail resumes referencing sung Semiconductor, c/o Sta” ng – PTCL, deploy Java based applics on multiple Req. #CSE37 to: Attn: N. Enzminger, 350 601 McCarthy Blvd., Milpitas, CA 95035. domains. In addition, the Prgmr Analyst W Java Dr, Sunnyvale, CA 94089. Must reference job code to be considered. will perform tasks such as confi guration, customization, performance tuning & SENIOR SOFTWARE DEVELOPMENT SOFTWARE ENGINEER - Design, De- load balancing, & maintenance of We- LEAD COMPANY/INSTITUTION: Limo- velop, Test & Implement large scale en- blogic Applic Service. Mail resumes to: Link, Inc.Ad: LimoLink, Inc. has an open- terprise & web apps using knowledge Riviera Consulting, LLC, 239 New Rd, Ste ing for a Sr. Software Development Lead of OOP languages like C++ , Core & B205, Parsippany, NJ 07054, Attn: HR.

Full Professor in Information Society Technologies (tenure-track)

JOB DESCRIPTION The Department of Informatics of Tallinn University of Technology, Estonia, and internationally recognized reputation. EU, seeks to ll the position of a Full Professor in Information Society Tech- • Successfully supervised doctoral students are an advantage. nologies (tenure-track position with dedicated funding from the Estonian Government). RESPONSIBILITIES We are looking for an ambitious and inspiring person successfully ful lling the The selected candidate will have an opportunity to join an effort by a multi-dis- following responsibilities: ciplinary research team in building up the Competence Centre on Research in • Applying information society technologies in areas such as information e-Government at Tallinn University of Technology. We expect from the person systems, cybersecurity, open data management, sociotechnical systems, ful lling the new position the integration and advancement of technologies public administration, and regulation. utilized by information society and e-government and also teaching and cur- • Teaching and designing courses in MSc curricula and particularly in the ricula development in that eld. International MSc Curriculum in E-Governance Technologies and Ser- Estonia is a worldwide leader in digital society and e-government. The coun- vices, and teaching courses at the PhD level. try is known as a pioneer in introducing digital services such as e-voting, • Preparing and running R&D projects funded by the EU and by the Estonian e-signature, and e-taxation, and more recently, e-residency for foreigners. Research Agency and Enterprise Estonia. Tallinn University of Technology is a key enabler of e-Estonia. It is a public • Contributing to consolidation and expansion of the department’s inter- university established in 1918 that employs over 2000 staff supporting 14000 national network via joint research projects with industry, governmental students. The Department of Informatics performs research in software en- organisations, and universities. gineering, information systems, e-government, data mining and fusion, and • Supervising MSc and PhD students and postdoctoral researchers. intelligent systems. The department is also running the International Master’s HOW TO APPLY Program in E-Governance Technologies and Services. In building up the Com- petence Centre, our research team collaborates with the Estonian govern- Candidates are required to submit the following documents: mental ICT agencies. 1) an application addressed to the Rector of the university; 2) copies of documents showing that the candidate possesses the required REQUIREMENTS academic degree and education (in English); We expect from the successful candidate: 3) a curriculum vitae and a list of publications; • A PhD in information systems, computer science, informatics, or the 4) vision/action plan of the research/teaching activities. equivalent, and an active interest in e-governance. • A proven track record of the highest quality research in relevant areas. Documents should be sent to: • A proven experience with industrial or e-governance applications. Personnel Department, Tallinn University of Technology • Excellent teaching skills and experience and a strong vision on academic Ehitajate tee 5, 19086 Tallinn, Estonia education. E-mail: [email protected] Phone: +372 620 2056 • Willingness to participate in curricula development. To receive full consideration, application and required materials should • The vision and competences to initiate and manage research projects and be received by August 15th, 2015 supervise staff members and students. • A proven track record in acquisition of research funds, a strong network Contact person: Prof. Gert Jervan, Dean of the IT faculty ([email protected])

www.computer.org/computingedge 61 COMPUTER 0018-9162/15/$31.00 © 2015 IEEE PUBLISHED BY THE IEEE COMPUTER SOCIETY APRIL 2015 95

r4cla.indd 95 3/27/15 5:00 PM CAREER OPPORTUNITIES

SOLUTIONS ANALYST: Test, maintain, & develop, modify & implement software SPLUNK INC. has the following job op - monitor computer programs & systems. programming for products. Email re- portunities in San Francisco, CA:Senior conduct unit testing & implementation sumes to [email protected] & refer Software Engineer, Systems & Infra- of Microsoft SharePoint & .Net technol- Req#of interest. EOE. struc ture (REQ#9D8U5H). Design, scale ogy based applications. Expand /modify out, & maintain Co.cloud-based infra- system to serve business requirements. PROGRAMMER ANALYST - dsgn, dvlp, structure.Software Engineer (Req#8Z- Utilize Agile (XP and Scrum), ASP .NET maintain, test & implmt applic s/w d/ 8VLE). Design & develop apps sup- MVC, AJAX, CSS, JSON, SOA, XML, bases utilizing knowl of MS BizTalk ported by Co.s core platform. Software SOAP, & WCF. Will work in unanticipated Server, C#, C.HTTP, WCF, Oracle, SOAP, Developer (Req#9DE3UY). Design, locations. Req. 2 yrs exp. Send resume SQL Server and MS Visual Studio; Reqs implement, & deploy performance test- to Silicus Technologies, LLC 2700 Post MS Comp Sci, Engg or rel. Mail resumes ing framework for Co. Cloud products. Oak Blvd Ste 1625, , TX 77056. to Strategic Resources International, Software Engineer (Req#9AAUWN). Inc, 777 Washington Rd, Ste 2, Parlin , Design, develop, & test core server CLOUDERA, INC. is recruiting for our NJ 08859. sub-components in C, C++, Python, & Palo Alto, CA o—ce: Software Engineer: shell scripting languages. Software Engineer in Test (Req#95YVJA). SW plan, design, develop, test, document, SOFTWARE ENGINEERS 3 (Tibco) in design, analysis & development of SW & support new features, improvements Sterling, VA sought by Asurion, LLC, testing tools to improve computer sys. to existing features & artifacts. Mail re- dsgn, code, tst, & debg aplns meet sys UI/UX Designer (Req#9F7W48). Cre- sume w/job code SE-MN to: Attn.: HR, std & func req. BS in Cmptr Sci, Engrg, ate user interface designs for Splunk Cloudera, 1001 Page Mill Rd., Bldg. 2, Math or rltd fld + 3 yrs exp. 3 yrs sftwr products in the form of wire frames & Palo Alto, CA 94304. dvlp exp. 2 yrs dvlp exp wthn Tibco plt- detailed design specifications.Refer frm. Skill diagnsng & slvg cmplx prblm to Req# & mail resume to Splunk Inc., SIEMENS PLM SOFTWARE INC. has the & prvdng dtld tech anlss. Know of the - ATTN: J. Aldax, 250 Brannan Street, following openings: Software Engineer ory & prncpls of proj mngmnt. Know & San Francisco CA 94107. Advanced Req#142380 in Milford, OH exp w/obj-orntd dsgn & implntn. Ablty to create code to enhance & maintain rcgnz & implmt common dsgn patrn. the CMM; Infrastructure Engineer Ad- Ablty dsgn & implmt apropriat infr to ENGINEERS: Axis, Inc., an estab - vanced Req#142381 in Allen Park, MI to sppt crss pltfrm & crss dbs envir, prvd lished engineering services firm, is install, maintain & support Teamcenter scalblty & 2-node implntn. Perm US seeking Sr. Design Engineers; De - software; Software Engineer Advanced Work auth. Aply @ www.jobpostingto- sign Engineers, and Design Engi - Req#142401 in Cypress, CA to design, day.com ref #2101. neers II. Sr. Design Engineer position

salesforce.com, inc. has the following positions open in San Francisco, CA:

Member of Technical Staff, Quality Engineering (Ref. #SP15S19): Perform functional manual and/or automated testing of features, including writing detailed testing plans and relevant test cases to cover business use cases, error handling and boundary conditions as defined in technical specifications.

Lead Member of Technical Staff, Software Engineering (Ref. #SP15S38): As a software development scrum team member, work with product management to gather requirements. Translate those requirements into an architecture and design for a software application, API, and/or frameworks.

Mail resume to salesforce.com, inc., P.O. Box 192244, San Francisco, CA 94119. Resume must include Ref. #, full name, phone #, email address & mailing address. salesforce is an Equal Employment Opportunity & Affirmative Action Employer.

62 ComputingEdge April 2015 96 COMPUTER WWW.COMPUTER.ORG/COMPUTER

r4cla.indd 96 3/27/15 5:00 PM CAREER OPPORTUNITIES

requires: Master’s or equiv. in Me - Little Canada, MN and subject to re - yrs’ relevant indus exp. Sales position chanical Engineering or related and location to various unanticipated sites requires Bach or equiv in bus admin, 12 mos’ relevant indus exp. Design throughout the U.S. Mail resume to: engineering, CS, or related & 2 yrs’ Engineer and Design Engineer II re - Sagitec Solutions, LLC, Attn: Chief relevant indus exp. Lead Software De- quire Bachelor’s or equiv in any Engi - Human Resources Officer & Global veloper requires Bach or equiv in engi- neering field or related and 24 mos’ Head-HR, 422 County Road D. East, neering, CS, or related & 4 yrs’ relevant relevant indus exp. All positions are Little Canada, MN 55117. indus exp. All other positions require based out of company headquar - a Bach or equiv in engineering, CS, or ters in Peoria, IL, and subject to re - IGATE TECHNOLOGIES INC., an es- related & 2 yrs’ relevant indus exp. Po - location to various client sites in the tablished IT consulting company with sitions are based out of Bridgewater, U.S. Mail resume to: Axis, Inc. ATTN: HQ in Bridgewater, NJ seeks qualified NJ HQ & may require relocation to var- Director, HR, 3008 W. Willow Knolls IT & Business professionals & man- ious unanticipated locations through- Drive, Peoria, IL 61614. agers (i.e., Operations Managers, HR out the US. Qualified applicants submit Specialists, Financial Analysts, Sales resumes noting desired position to HR SR. SOFTWARE ENGINEERS sought Professionals, Computer & Network Manager - Mobility, IGATE Technolo - by Sagitec Solutions, LLC, an estab - Systems Administrators, Computer gies Inc., 99 Wood Ave South, Ste 800, lished global technology solutions Programmers, Database Administra- Iselin, NJ 08830. company. Position requires Master’s tors, Lead Software Developers, Soft- degree or equiv. in Comp. Science, IT ware Architects (SAP), Software En- COMPUTER PROGRAMMER: Write, up- Engineering or related and 12 months gineers, Software Quality Assurance date, & maintain computer programs, of work exp. in job offered or as a Engineers, Systems Analysts, User review programs. Data Mapping, Data software designer, developer, tester, Interface/Experience Technicians & Conversion, Report Generation, Ver- or analyst. Sagitec will also consider Web Architects) for its growing team. sion Control Tools, Mainframe,XML, candidates with a Bachelor’s degree Operations Manager requires Bach or Unix, SQL Server, Oracle, Rational or equiv. in Comp. Science, IT Engi - equiv in bus admin, IT, or related & 18 Tools, Waterfall, & knowledge of either neering or related and 24 months of mos’ relevant indus exp. HR position IBM Websphere or Peoplesoft. Req. work experience in job offered, or requires Bach or equiv in Bus, HR, or 2 yrs. exp. Will work in unanticipated as a software designer, developer, related & 2 yrs’ relevant indus exp. Fi - locations. Send resume to NobleSoft tester or analyst. Position is based nance position requires Bach or equiv Solutions, Inc. 405 executive Dr. Lang- out of corporate headquarters in in Acctg, Finance, Bus, or related & 2 horne PA 19047.

CISCO SYSTEMS, INC. is accepting resumes for the following providing technical support regarding the company’s proprietary positions: systems and software. Virtual Consulting Systems Engineer (Ref.# RTP903): Engage customers virtually via collaborative tools AUSTIN, TX: SOFTWARE ENGINEER (REF.# AUS2): Responsi- and technology including web and video conferencing. ble for the de nition, design, development, test, debugging, re- SAN FRANCISCO, CA: TECHNICAL SUPPORT ENGINEER (CNG lease, enhancement or maintenance of networking software. STAFF) (REF.# SF7): Responsible for providing quality technical sup- COSTA MESA, CA: SOFTWARE ENGINEER (REF.# COS3): Re- port for the company’s growing client and partner base. Travel may sponsible for the de nition, design, development, test, debug- ging, release, enhancement or maintenance of backend and client be required to various unanticipated locations throughout the United of digital TV software. States. COLUMBIA, MD: SOFTWARE ENGINEER (REF.# COLU1): SAN JOSE/MILPITAS/SANTA CLARA, CA: USER CENTERED Responsible for the de nition, design, development, test, de- DESIGN ENGINEER (REF.# SJ65): Responsible for the devel- bugging, release, enhancement or maintenance of networking opment of software artifacts to deliver software releases of the software. company’s services and products. Member of Technical Staff (Ref.# SJ150): Design and build capabilities, features and func- DENVER, CO: NETWORK CONSULTING ENGINEER (REF.# tions of cloud computing infrastructure offerings for hosted ser- DEN3): Responsible for the support and delivery of Advanced vices and SaaS products across the company. Services to company’s major accounts. Telecommuting permitted and Travel may be required to various unanticipated locations TEWKSBURY, MA: CONSULTING SYSTEMS ENGINEER (REF.# throughout the United States. TEW11): Provide speci c end-to-end solutions and architecture consulting, technical and sales support for major account oppor- HOUSTON, TX: SYSTEMS ENGINEER (REF.# HOU6): Provide tunities at the theater, area, or operation level. Travel may be re- business-level guidance to the account team or operation on quired to various unanticipated locations throughout the United technology trends and competitive threats, both at a technical States. and business level. Telecommuting permitted. Please mail resumes with reference number to Cisco Systems, RESEARCH TRIANGLE PARK, NC: SOFTWARE/QA ENGINEER (REF.# RTP4): Debug software products through the use of sys- Inc., Attn: M51H, 170 W. Tasman Drive, Mail Stop: SJC 5/1/4, tematic tests to develop, apply, and maintain quality standards for San Jose, CA 95134. No phone calls please. Must be legally company products. Software Engineer (Ref.# RTP3): Respon- authorized to work in the U.S. without sponsorship. EOE. sible for the de nition, design, development, test, debugging, release, enhancement or maintenance of networking software. WWW.CISCO.COM Customer Support Engineer (Ref.# RTP1): Responsible for

www.computer.org/computingedge 63 APRIL 2015 97

r4cla.indd 97 3/27/15 5:00 PM CAREER OPPORTUNITIES

CLASSIFIED LINE AD SUBMISSION DETAILS:

Rates are $420.00 per column inch DEBBIE SIMS ($640 minimum). Eight lines per column inch and Classified Advertising DIRECTOR, SHIP SYSTEMS AND average five typeset words per line. Computer 10662 Los Vaqueros Circle, ENGINEERING DIVISION ES-1301/801 Send copy at least one month Los Alamitos, CA 90720 The Office of Naval Research (ONR) is seeking prior to publication date to: (714) 816-2138; f (714) 821-4010 an outstanding individual to serve in this Civil Email: [email protected] Service position in the Senior Executive Service (SES). The Director, Ship Systems and Engineering Division, is responsible for an integrated program across basic research, applied research, and applied technology. The Division Director is responsible for managing and directing extensive activities in fostering innovative concepts, identifying critical program goals and objectives, developing an S&T program to address these objectives.

For information regarding this vacancy and Juniper Networks is recruiting for our Sunnyvale, CA office: specific instructions on how to apply, go to www.usajobs.gov, log in and enter the QA Engineer Senior Staff #3923: Deliver technically skilled testing methodolo- following announcement number: gy with Company’s Security Products for data center and Campus based net- NW5XXXX-00-13401424H039895S. Please works. Provide technical guidance to testing engineers to achieve committed carefully read the announcement and deliverables per each product release milestones. follow instructions when applying. The announcement closes on April 23, 2015. Hardware Engineer #34413: Knowledge of schematic capture, logic design, Please contact Jennifer Schiller at printed circuit board design, and optical/electrical signaling. Experience with [email protected] for more oscilloscopes and logic analyzers. information. ONR IS AN EQUAL OPPORTUNITY EMPLOYER Technical Support Engineer #5260: Deliver high-quality technical assistance AND PROMOTES DIVERSITY IN THE WORKPLACE. for switching products through telephone and electronic communication. WOMEN AND MINORITIES ARE ENCOURAGED TO APPLY Provide hardware and software technical support including configuration assistance and troubleshooting of mentioned products and other peripheral systems including networking equipment, servers, and clients for timely res- olution of issues. Intuit, Inc. ASIC Engineer Sr. Staff #10899: Define and architect sub-system functionality, develop architectural specifications, and use the Verilog Hardware Descrip- has openings in Plano, Texas for: tion Language to design digital logic, based on architectural specification. Software Engineer #33196: Design and develop software for network analytics on hypervisor, bare-metal-servers or network devices. Debug and fix issues Staff Software in network analytics software as per the company software development pro- cess. Engineers in Quality Software Engineer #30414: Develop detailed software functional and design specifications. Design, develop, unit-test and maintain embedded networking (Job code: I-244) software. Juniper Networks is recruiting for our Westford, MA office: To use knowledge of software Technical Support Engineer #20407: Work with customers to resolve technical and non-technical problems related to routers, protocols and network design. engineering best practices and princi- Troubleshoot complicated hardware and software issues, replicate customer pals to design, create, document, environments and network problems in the lab. Develop technical specialties and prepare technology white papers in these areas. implement and/or maintain test scripts for complex on-demand and integra- Juniper Networks is recruiting for our Herndon, VA office: tion applications. Technical Support Engineer Staff #11720: Provide high level expertise on com- pany specific products. Deliver in-depth diagnostics and root-cause analysis for network impacting issues on routing products (Internet backbone routers) To apply, submit resume to Intuit Inc., to large Internet Service Providers and/or enterprise customers. Attn: Olivia Sawyer, J203-6, 2800 E. Mail single-sided resume with job code # to Commerce Center Place, Tucson, AZ Juniper Networks 85706. You must include the job code Attn: MS 1.4.251 on your resume/cover letter. Intuit 1133 Innovation Way Sunnyvale, CA 94089 supports workforce diversity.

64 ComputingEdge April 2015 98 COMPUTER WWW.COMPUTER.ORG/COMPUTER

r4cla.indd 98 3/27/15 5:00 PM CAREER OPPORTUNITIES

COMPUTER PROGRAMMER: Write, Infinite Loop 104-1GM, Cupertino, CA of test validations of the application; update, & maintain computer programs 95014. Filemaker is an EOE/AA m/f/ ensuring the optimization of the de - & software packages. Create, modify, disability/vets. veloped applications; participating in test code, forms, & script. Implement/ application walk throughs with users; support Oracle ERP(AP,AR,GL,PO,- SENIOR SOFTWARE DEVELOPMENT producing project documentation; INV,HRMS, iProcurement, SCM), P2 LEAD  LIMOLINK, INC. has an open- and resolving functional issues and products. Utilize SQL,PL/SQL, OAF, ing for a Senior Software Development support administrative activities for ADF, Discoverer, BI Publisher, Hyper - Lead in its Cedar Rapids, IA office. systems. Requirements - Master’s De - ion, Java, J2EE, JDeveloper, SOA, SQL Job duties: Planning and executing a gree or foreign degree equivalent in Server, SSIS, SSRS, Informatica, Unix, variety of methodologies as part of the Computer Science, Computer Informa - QlikView, Objective C, Cocoa Frame - concept stage of the overall project tion Systems, Engineering or Math and work, Xcode. Familiar with oil & gas development of three tier applications; one year’s experience in the job of - Production/Revenue concepts & infra - creating GUI prototypes; researching, fered or one year’s experience in the structure. Will work in unanticipated planning and developing project strat - IT field. (In lieu of a Master’s Degree, locations. Req. 2 yrs exp. Send resume egies; coordinating the full life cycle employer will accept a Bachelor’s De - to TecnicsConsulting, Inc. 2640 Foun- of IT projects using .Net framework, gree and five year’s experience). Spe - tain View Dr, Suite 200 Houston, TX C#, ASP.Net, JavaScript, Visual Studio cial requirements - Experience with Vi - 77057. Team, VB Script, HTML, DHTML, XML, sual Studio Team, ASP.Net, C#, SSRS, XSLT, LDAP, .NET Enterprise Services, SSIS and SQL Server. Any Applicant ENGINEER. FILEMAKER, INC. has WCF, Rest-based services, ADO.Net, who is interested in this position may an opening for the following in Santa TCP/IP and SMTP; coordinating the email a resume to careers@limolink. Clara, CA: Product Marketing Engineer development and implementation of com or apply by regular mail (including [Req#9PAMQ8 ] Pln & dsgn SW, iOS, the applications; writing stored pro - Reference Number 10001) to: Human and web user interfaces for FileMaker cedure and completing performance Resources, Attn: Katy Thomas, Limo - prdct line. Refer to Job#: 9PAMQ8 & tuning using SQL Server, SSRS and Link Inc., 701 Tama Street, Building A mail resume: Apple Inc. ATTN: L.M. 1 SSIS; overseeing the implementation Marion, Iowa 52302.

Help build the next generation of systems behind Facebook's products. Facebook, Inc. currently has the following openings in Menlo Park, CA (various levels/types): Manager, Production Database (486EJ) Direct a team of engineers across different time zones to analyze and maintain Company’s service stability by documenting policies & best practices in daily, weekly, & annual-based operations. Data Scientist (4062J) Apply your expertise in quantitative analysis, data mining, & the presentation of data to see beyond the numbers & understand how our users interact with our core products. Front End Engineer (FE315J) Work with Product Designers to implement the next generation of Facebook’s products. Build/design efficient & reusable front-end abstractions/interfaces/systems. Research Scientist (3325J) Research, design and develop new distributed system software architectures, data structures, algorithms & techniques to improve the efficiency & performance of Facebook's platforms.

Facebook, Inc. currently has the following openings in New York, NY (various levels/types): Research Scientist (3502J) Research, design, & develop new optimization algorithms & techniques to improve the efficiency & performance of Facebook’s platforms.

Mail resume to: Facebook, Inc. Attn: JAA-GTI, 1 Hacker Way, Menlo Park, CA 94025. Must reference job title and job# shown above, when applying.

www.computer.org/computingedge 65 APRIL 2015 99

r4cla.indd 99 3/27/15 5:00 PM CAREER OPPORTUNITIES

Apple Inc. has the following job opportunities in Cupertino, CA:

Web Developer (Req#9AHVF4). Mobile Devices. Run simulations for analog IP used in silicon chips for Manage & enhance customer-facing high speed design rules, power layout mobile apps. Java apps. Administer servers which & integrate with the nal des. Travel Sr. Data Analyst (Req# host reporting dashboards. Trouble- req’d 15%. 9M93ET) Des, dvlp & analyze Data shoot system/application issues. Software Development Manager Services & Data Analysis Tools. Software Engineer Applications (Req#9CPNXF). Des, manage and Engineering Project Lead (Business (Req#9GWRDR). Con gure & track build SW architect that meets Data Architect) (Req#9AYUM4). maintain systems for cloud comput- cust require. Design & allocate people & lab ing services. Maintain & upgrade Software Quality Assurance Engi- space environments. systems in production on Solaris, Li- neering Manager (Req#9LKTN4). nux, & other specialized appliances. Systems Design Engineer (Req# Manage team of 3 SW QA Engs for 9AJN4L) Perform parametric eval & Hardware Development Engineer the iAd Serving Syst. front end design of radio frequency (Req#9F4QW9). Lead development ASIC Design Engineer (Req# (RF) products such as cell phones, & quali cation activities to design 9D8VSF). Implement physical de- laptops & tablets. & develop innovative Flat Panel Dis- sign of partitions for highly complex plays used in Mac products. Software Engineer Applications SOC utilizing state of the art process (Req#9N4UZL). Dev SW on iOS & Software Engineer Applications (Req# technology. web platforms for client (user fac- 9EGS6Y). Resp for stndrdizing and Software Engineer Applications (Req ing) apps related to fraud analytics, simplif SW sys. Provide prod support #9LL3FB). Respon for design, de- search, HW diagnostics, & social for iCloud services and back-end velop & deploy of data warehouse networking. apps. solutions for multi bus groups. Software Engineer Systems RFIC Design Engineer (Req # Sr. Bluetooth Software Engineer (Req#9H7TN3). Design, develop, 9BV3LG). Respon for the design of (Req#9JH2QL). Des & dvlp Blue- debug & test SW for camera subsys- radiofrequency integrated circuits for tooth SW, drivers & rmware for tems in Apple’s products. wireless comms. wireless devices & accessories. Software Development Engineer Software Development Engineer Software Engineer Applications (Multiple Positions Open) (Req# (Req#9CYTCK) Res, des, dev, imple (Req#9E52XE). Respon for SW 9H4MAW). Design & dev SW & & debug statistic & determine nat- apps & frameworks used across Ap- rmware for an 802.11 WiFi stack ural lang process SW as part of nov ple internal & customer-facing apps. running on a mobile platform. txt input sys. Test Design Lead (System Design Software Engineer Applications (Req Software Engineer (Req#9MKTB4) Engineer) (Req#9J3NR9). Analyze #9MY4LM). Respon for presenting Design data models for storage large & coordinate the sys design func- uni ed set of worldwide POI avail amnt of data. tions of the TDL Engineering Group. in Apple Maps using data sci & ASIC Design Engineer (Req#9A- Travel req’d 20%. machine learn to conate data from JUWL). Perform phys design & im- multi sources. Software Development Engineer plmnt partitions. Perform placement, (Req#9F4SQL). Resp for crafting the Mechanical Design Engineer clock tree synthesis & routing on the user interface design of iOS & OSX. (Req#9BRRU8). Des & dev textiles design. & fabrics. Dev & impl quality mate- Software Engineer Systems ASIC Design Engineer (Req# rials plans for suppliers & vendors. (Req#9MHVDY). Dvlp & maintain 99QNZT). Design test logics & gen- Travel req’d 35%. an online reporting app. erate test patterns for app processors. Systems Design Engineer Software Development Engineer Systems Design Engineer (Req# (Req#9KA38K) Des & dvlp auto- (Req#9E62RY) Audit & review SW 9DGTMK). Eval Active OTA Perfor- mation tools for cell testing of iOS architecture & source code to iden- mance. Characterize passive/active devices. tify security vulnerabilities & poten- antenna performance incl. ef ciency, tial enhancements. ASIC Design Engineer (Req# gain, & pattern. 9B3NC7) Res for physical design & ASIC Design Engineer (Req# Hardware System Integration Engineer implementation of partitions. 98NVGW) Validate & characterize (Req#9DZUWX). Des & dev HW for

66 ComputingEdge April 2015 100 COMPUTER WWW.COMPUTER.ORG/COMPUTER

r4cla.indd 100 3/27/15 5:00 PM CAREER OPPORTUNITIES

Software Quality Assurance Engineer Software Engineer Applications Software Engineering Applications (Req#9HDTUU). Write, maintain, (Req#9P92EU). Architect solutions Manager (Req#9E5VLU) Direct & run automation test scripts. Inte- while playing a design & dvlpmt activities of SW apps dvlpmnt in grate testing scripts with automation role to deliver products in a highly the delivery of business intelligence framework. available, scalable & integrated solutions. environment. Software Development Engineer Software Development Engineer (Req#9JHMW5). Res for the des & Software Developers, Systems Soft- (Req#9CZQK8) Des & dev media dvlpmnt of advanced map imaging SW. ware (Req#9CZTVH). Devlpmnt of SW for embed sys. SW & HW for survey camera sys- Software Quality Assurance Engineer Senior Software Engineer (Req# tems. In depth data anlysis, incldng (Req#9LUSD9). Create, dev, and 9L5M5N) Design, code & test major image analysis and ight data anlysis. exec all test strategies to ensure high- features & work jointly with team est quality embedded prod sw sol. Software Engineer Systems (Req members to deliver complex changes. #9H4P5N). Respon for design, de- Software Development Engineer Software Engineer Applications velop, implement, & debug of input (Req#9KC2B4) Dsgn, dvlp, implmnt (Req#9NP3NE). Design & dev scal- device sw. & debug statistical & deterministic able, high qual machine learning nat lang proc SW for novel Chinese iOS Performance Engineer (Req platforms to service a variety of in- text input sys. #9SAQ5U). Analyze & improve iOS ternal and external products. sw using performance analysis tools. Hardware Development Engineer Software Engineer Applications (Req#9E623Y). Dsgn & dev RF HW Hardware Development Engineer (Req#9FDVT3). Design & dev SW for future Apple product w/ cellular (Req# 9SU48L) Spprt dsgn of new for app deployment automation. & wireless capability. bat technologies thru use of electro- Systems Design Engineer (Req# chem models. Software Development Engineer 9DCT76). Eval the latest iPad, iP- (Req #9CXTY2). Respon for design Software Development Engineer hone & iPod HW sys. Perform early & implement new feats of iOS pro- (Req#9M4VT2) Dev digital video evals of prototypes & HW sys on ductivity, apps (Contacts & Notes). & audio SW. different wireless technlgies. Travel req’d 30%. Software Engineer, Applications ASIC Design Engineer (Req# (Req#9GJ5K7) Dsgn & dvlp SW for 9L8NF3). Conduct transistor-level Software Quality Assurance Engineer the iTunes App Store. feasibility studies for various systems/ (Req#9T7U27). Perform bus req ckts. analysis & create detailed test plans Software Engineer Applications for large scale & high volume nan- (Req#9SY2NW). Design & develop Software Engineer Applications cial retail system. automation frameworks for existing (Req#9H4NPQ). Design, dev & and & new apps. deploy data warehouse solutions for Software Development Engineer multiple business groups at Apple. (Req#9FZNDR) Design & develop Systems Administrator (Req# computer vision algorithms for cam- 9GHU78). Provide technical support Software Development Engineer era features. for storage, network, & compute infra- (Req#9FNVUW). Qualify latest structure to the Hardware Technology sync techns for iOS & iCloud on team. Windows.

Apple Inc. has Apple Inc. has Refer to Req# the following job the following job & mail resume to opportunity in opportunity Apple Inc., ATTN: L.M., 1 In nite Loop 104-1GM, Grapevine, TX: in Culver City, CA: Cupertino, CA 95014. Systems Design Engineer (Req# Software Development Engineer 9C32E4). Test, debug, & execute (Req# 9LUTMB). Dsgn & dvlp dig- Apple is an EOE/AA m/f/ Wireless Cellular Products. ital signal processing (DSP) software disability/vets. & algorthms for audio & voice sys.

www.computer.org/computingedge 67 APRIL 2015 101

r4cla.indd 101 3/27/15 5:00 PM CAREERCAREER OPPORTUNITIES OPPORTUNITIES Intuit,Intuit, Inc. Inc. ADVERTISER ADVERTISER INFORMATION INFORMATION APRIL APRIL 2015 2015 hashas openings openings in in MountainMountain View, View, CA CAfor: for:

AdvertisingAdvertising Personnel Personnel [email protected]@computer.org DebbieDebbie Sims Sims Phone:Phone: +1 508 +1 508 394 394 4026 4026 SoftwareSoftware Engineers Engineers 2 2 AdvertisingAdvertising Coordinator Coordinator Fax:Fax: +1 508 +1 508 394 394 1707 1707 Email:Email: [email protected] [email protected] (Job(Job code: code: I-47) I-47) Phone:Phone: +1 714 +1 714 816 816 2138 2138 Southwest,Southwest, California: California: Fax:Fax: +1 714 +1 714 821 821 4010 4010 MikeMike Hughes Hughes Email:Email: [email protected] [email protected] To Todesign design and and implement implement highly highly C h rC i s hR r iu s oR u o Phone:Phone: +1 805 +1 805 529 529 6790 6790 SalesSales Manager Manager scalablescalable and and performant performant components components Email:Email: cruo cruo @computer.org @computer.org Southeast:Southeast: of ofa aservice service oriented oriented architecture architecture Phone:Phone: +1 714 +1 714 816 816 2168 2168 HeatherHeather Buonadies Buonadies platformplatform in thein the payments payments domain, domain, and and Fax:Fax: +1 714 +1 714 821 821 4010 4010 Email:Email: [email protected] [email protected] Phone:Phone: +1 973 +1 973 304-4123 304-4123 workwork on onSOA SOA based based platform platform that that AdvertisingAdvertising Sales Sales Fax:Fax: +1 973 +1 973 585 585 7071 7071 RepresentativesRepresentatives (display) (display) enablesenables merchants merchants and and developers developers to to Central,Central, Northwest, Northwest, Far FarEast: East: AdvertisingAdvertising Sales Sales acceptaccept payments. payments. EricEric Kincaid Kincaid RepresentativeRepresentative Email:Email: [email protected] [email protected] (Classi (Classi ed edLine Line & Jobs & Jobs Board) Board) To Toapply, apply, submit submit resume resume to Intuitto Intuit Inc., Inc., Phone:Phone: +1 214 +1 214 673 673 3742 3742 HeatherHeather Buonadies Buonadies Attn:Attn: Olivia Olivia Sawyer, Sawyer, J203-6, J203-6, 2800 2800 E. E. Fax:Fax: +1 888 +1 888 886 886 8599 8599 Email:Email: [email protected] [email protected] Phone:Phone: +1 201 +1 201 887 887 1703 1703 CommerceCommerce Center Center Place, Place, Tucson, Tucson, AZ AZ Northeast,Northeast, Midwest, Midwest, Europe, Europe, MiddleMiddle East: East: 85706.85706. You You must must include include the the job job code code AnnAnn & David & David Schissler Schissler on onyour your resume/cover resume/cover letter. letter. Intuit Intuit Email:Email: [email protected], [email protected], supportssupports workforce workforce diversity. diversity.

SamsungSamsung Semiconductor Semiconductor Inc. Inc. has has the the following following job job opportunities opportunities in San in San Jose, Jose, CA :CA:

Sr.Sr. SW SW Development Development Engineer Engineer (job(job code: code: 5BR1917) 5BR1917) ConductConduct key key research research and and development development activities activities for forSSD/flash SSD/flash memory memory technologies technologies or otheror other future future memory. memory. StaffStaff Engineer Engineer (job(job code: code: 5AV1919) 5AV1919) DesignDesign analog analog integrated integrated circuits circuits such such as Phaseas Phase Locked Locked Loop, Loop, Phase Phase Interpolator, Interpolator, Clock Clock Distribution Distribution circuits, circuits, Analog Analog front-end, front-end, etc. etc. StaffStaff Research Research Scientist Scientist (job(job code: code: 5AL0206) 5AL0206) LeadLead and and perform perform the the research research on onthe the advanced advanced transport transport physics physics in the in the sub-20nm sub-20nm FinFET FinFET and and nano-wire nano-wire devices. devices.

MailMail resume resume to Samsungto Samsung Semiconductor, Semiconductor, c/o c/o Staffing Staffing – PTCL, – PTCL, 601 601 McCarthy McCarthy Blvd., Blvd., Milpitas, Milpitas, CA CA95035. 95035. MustMust reference reference job job code code to beto beconsidered. considered.

68 ComputingEdge April 2015 102102COMPUTERCOMPUTER WWW.COMPUTER.ORG/COMPUTERWWW.COMPUTER.ORG/COMPUTER

r4cla.inddr4cla.indd 102 102 3/27/153/27/15 5:01 5:01 PM PM CAREER OPPORTUNITIES

STC 2015 The 27th Annual IEEE Software Technology Conference (STC 2015)

Call for Presentations 12 October - 15 October Hilton Long Beach, Long Beach, California, USA

STC is a practitioner’s conference focused on Meeting Real World Challenges through Software and Systems Technology. As technologists and as citizens, we are faced with myriad challenges from defending national security, to ensuring the robustness of our critical infrastructure, to sustaining and enhancing large portfolios of legacy systems - all within ever tighter resources constraints.

We invite you to connect with your colleagues and share your ideas, success stories, and lessons learned in applying software and systems technology to meet our common challenges, by submitting an abstract for consideration as one of our conference session or tutorial speakers.

Visit http://ieee-stc.org for abstract submission guidelines and general conference information.

SUBMISSIONS WILL BE ACCEPTED FROM January 25, 2015 - June 15, 2015.

Focus areas this year include:

• Critical Infrastructure Challenges • Agile/Lean Development • Cybersecurity • Supply Chain Risk Management • Cloud computing • Mobile applications • Big Data and Data Analytics • Affordability • Open source • Systems engineering challenges for software-intensive systems • Human capital and workforce knowledge transition

Important Dates (**Updated**) June 15, 2015 - Abstract submission closes July 31, 2015 - Acceptance notices sent August 14, 2015 - Final abstract and Bio submission September 11, 2015 - Final presentation due

www.computer.org/computingedge 69 APRIL 2015 103

r4cla.indd 103 3/27/15 5:01 PM Focus on Your Job Search

IEEE Computer Society Jobs helps you easily find a new job in IT, software development, computer en- gineering, research, programming, architecture, cloud computing, consulting, databases, and many other computer-related areas. New feature: Find jobs recommending or requiring the IEEE CS CSDA or CSDP certifications!

Visit www.computer.org/jobs to search technical job openings, plus internships, from employers worldwide.

http://www.computer.org/jobs

The IEEE Computer Society is a partner in the AIP Career Network, a collection of online job sites for scientists, engineers, and com- puting professionals. Other partners include Physics Today, the American Association of Physicists in Medicine (AAPM), American Association of Physics Teachers (AAPT), American Physical Society (APS), AVS Science and Technology, and the Society of Physics Students (SPS) and Sigma Pi Sigma. Cont. from p. 72 days. Touchscreens are the gateway drugs of the extravaganzas and progressed from tallying high videogame world. Before his second birthday, my scores to tracking persistent profiles. Interfaces son had demonstrated to my mom how to use an have morphed from devices with one joystick and iPad (she’s got it down now, though; Match-3s and a single button to haptic feedback motion con- word search apps fill her phone and tablet—but trollers and touchscreens. We can tell some new that’s another column). Mason would occasion- systems to turn on, and they will (although if a ally play around with a monster truck game on our machine will turn on when you tell it to, doesn’t iPad, and the first time he showed me how to rep- that mean that it was already on?). Our gaming licate a bug, I was wonderstruck. (For reference, libraries have expanded from a few cartridges the truck in question had to drive to the end of an next to the TV to vast compendia of digital con- arena and up to a wall, then back up, then drive to tent (a Steam library with hundreds of games is the wall again, and finally turn its wheels without not uncommon). And coming next? Virtual reality. pushing the pedal. Then it would fall through the Witnessing this gaming evolution has given me a floor and then the ceiling. Craziness.) slightly biased—dare I say “grumpy”—perspective I started him up with some old Nintendo games, on the world of games my son is only beginning to played through an emulator; he liked that enough venture into. Back in my day, we couldn’t just buy a (laughing every time Mario jumped and hit the new truck to race around the track; we had to earn coin blocks with his head). But when we moved it through skill (and, sometimes, sacks and sacks of to racing games, he started getting serious. And quarters). Back in my day, we didn’t have sprawling that’s where we’ve been for the past few weeks. CGI cutscenes; we had a little 8-bit sprite running We’ve had a couple other games enter into the around, with two channels of 1-bit monaural sound mix, and at one point recently Mommy and Daddy providing ambience. Back in my day, we had to find were both playing with him. It was at that moment a directory in DOS and type the .exe file to launch a I realized I didn’t open the door to videogames for game; now, we just click on the app. Mason just so he can play them; I did it so we can speak the same language. Foreign Languages That language is sometimes filled with vio- lence (I could fill up too many pages with my prob- I remember trying to teach my stepdad a baseball lems about the sheer amount of violence in some game on my old Nintendo system. He had played games) and sometimes filled with predatory pric- baseball for the University of Georgia; he was ing models and behavioral psychology−influenced All-SEC one year and even went on to the minor design choices. Online gamers can be rude, racist, leagues briefly (back when working on the family and sexist. But for now, just as they were for my farm was more lucrative). brother and me all those years ago, games are just He sat down in my room, picked up the con- another way to spend time together. troller … and was instantly baffled by the direc- tional pad and two buttons. I tried to explain how to swing the bat (I think it was not much more than nd at some point in the nearish future, “press the A button”), but it proved too compli- maybe Mason and I will venture into cated. Together in our backyard, he could show me A a VR-based racing simulator together. the grip required to throw a knuckleball, the subtle- Then we’ll see how long it’ll take before he can ties of swinging a bat depending on whether I was beat his old man. aiming for power or just trying to make contact. But the simulated version of the sport? It was like Brian Kirk is IEEE Computer Society’s associate man- learning a different language. He gave up. ager for editorial project development. Contact him That language comes naturally to kids these at [email protected]. www.computer.org/computingedge 71 LIFE AND TECH

Kideo Games

Brian Kirk

oost! Boost! Watch out for the rocks! Oof. And I’m not alone. Reports estimate the num- Nice one! Oh … sorry, but we’ve recently ber of gamers in the world at over 1 billion, with B added a new activity to our daily family around 700 million people playing online games in routine: video games. some form at any given time. No longer relegated As the parent of a fi ve-year-old, I didn’t come to to a console in the house, games now follow us this decision lightly. Still, I think there are plenty around, stored in these magic little phones we of reasons why it’s a good idea. carry. How could I not start gaming with my kid?

I, Gamer Pixels, Pixels Everywhere

We had a Pong system when I was a kid; I still I’ve been lucky enough to witness some monu- remember the magic of that little box with mental changes in video games and gaming. switches. My brother and I played it a lot, watch- Beyond Pong and our Atari, my brother and I ing the sticks on the screen move up and down. marveled at the aural and visual sophistication of A few years later, we upgraded to an Atari 2600, games in the arcades. If I were to look at these and we would get lost for hours at a time, jumping today, of course, they’d look like amateur, blocky on alligators’ heads, shooting AT-ATs, and trying approximations of something fun. Back then, to fi gure out exactly what was going on with E.T. we were dealing with RAM measured in bytes, a I enjoyed video games throughout my child- maximum number of colors in the hundreds, and hood, and I used my fi rst paycheck ever to buy a RCA connectors for output. Today, depending on Super Nintendo system. I bought a PlayStation your gaming rig of choice, you could see dedi- when I graduated high school, and when I moved cated video RAM easily in the 2-Gbyte range, with from one coast to the other, my PlayStation 2 was millions of colors, HDMI output, and processing one of the few possessions I packed in my car. I power strong enough for scientifi c work. can track major life moments in my past by what We’ve gone from clunky-looking, two- games I was into, much as other people contextu- dimensional heroes to cinematic, big-budget alize through music, movies, and television. Cont. on p. 71

72 April 2015 Published by the IEEE Computer Society 2376-113X/15/$31.00 © 2015 IEEE Instant Access to IEEE Publications

Enhance your IEEE print subscription with “IEEE is the umbrella that online access to the IEEE Xplore® digital library. allows us all to stay current with technology trends.”

■ Download papers the day they are published Dr. Mathukumalli Vidyasagar Head, Bioengineering Dept. ■ Discover related content in IEEE Xplore University of Texas, Dallas

■ Signifi cant savings over print with an online institutional subscription

Start today to maximize your research potential.

Contact: [email protected] www.ieee.org/digitalsubscriptions

12-PIM-0010_Insertions_Ad_7x10_Final.indd 1 3/30/12 10:07 AM

ce3c3.indd 3 3/1/15 7:43 PM

CHRIS CALVERT Global Director, HP Enterprise Solutions Products

ACHS MARCUSARC H. S VP, National SecurityVerizon Policy

SOOHOO DR. SPENCER CSO/Director, Scienti c Computing Cedars-Sinai Medical Center

27 October 2015 The Fourth Street Summit Center San Jose, CA Win the New Cybersecurity War with the New Rock Stars of Cybersecurity REGISTER NOW Early Discount Pricing Now Available! Cybercrime is no longer a matter of credit card breaches. Cybercriminals are now trying to take down countries as well computer.org/ as top companies. Keep your organization safe. Come to the premier, one-day, high-level event designed to give real, cyber2015 actionable solutions to these cybersecurity threats.

Learn from and collaborate with the experts—