Chief Architect at AVIV Group
"Know your code! The unexamined code is not worth maintaining!" Socrates (399 BC)
Sketchlet is an open-source toolset for sketching of novel classes of user interfaces, originally developed by Željko Obrenović at the Concept Lab of the Eindhoven Technical University. Sketchlet extends the concept of paper and pencil sketching to a more generic concept of rapid manipulation of interaction material. Interactive material is any piece of software/hardware that represents or simulates a part of user interactive experiences, such as inputs from sensors, output of audio tools, interaction with Web services, or simple drawings. Through manipulation of interactive materials, designers create “interactive sketches”, which in rough terms illustrate interaction scenario or interaction techniques. Our tool gives a designer freedom to combine elements of traditional freehand sketching and with numerous extensions, such as end-user programming (spreadsheets and scripts), and links to existing software functionality.
Sketchlet build on the results of the Adaptable Multi-Interface Communicator (AMICO) project developed by Zeljko Obrenovic at the Interactive Information Access group at CWI in Amsterdam.
Web site: sketchlet.sourceforge.net
![]() | Z. Obrenovic, E. Stolterman Erik's and my book on design thinking in all design domains: IT, software, interaction design, classical design. A central thesis explored in this book is that complexity characteristic for design activities emerges from an inherent instability of design activities. We argue that this instability is a consequence of messy, dynamic, highly interdependent and unpredictable dynamics between design situations, design outcomes, and design resources. We describe 11 patterns of design dynamics. The patterns of dynamics illustrate how designers deal with ambiguity, uncertainty, and complexity when they attempt to change the world. As such, these patterns are universal to all design disciplines. Design disciplines may differ in which situations they address, which outcomes they create and which resources they use. But the way how people deal with ambiguity, uncertainty, and complexity is cross-disciplinary. Consequently, we present examples of patterns of dynamics from a very diverse set of design disciplines.
|
![]() | Z. Obrenovic In my career, I have been doing research in both academic and industrial settings, experiencing both positive and negative aspects of doing research in practice. With these essays, I want to share the lessons I learned. The central theme of essays is the tension between the value of doing research in practice and difficulties that it brings. |
![]() | Editor: Z. Obrenovic This book contains a selection of 1000 quotes from IEEE Software. IEEE Software is a leading software engineering magazine with a very rich history. Since 1984, many of the leading software engineering professionals from the IEEE Software history website. Visit this site to find more details about IEEE Software and its history. Selected quotes are not intended to serve as a comprehensive overview of the history of software engineering. Rather, the book is designed as a 'coffee table book'. It is intended for casual reading, offering interesting, educative, thought-provoking, and sometimes controversial quotes. |
Email: zeljko.obren (at) gmail.com
Skype: zeljkoobrenovic
Photo: Ed Louwers
Whatever I do, I like to share the lessons I learned. Consequently, I have given a number of lectures, courses, worskshops and tutorials.
I am actively involved in other professional activities, including standardization, reviewing, and conference and workshop program committee memberships.
![]() | Z. Obrenovic, E. Stolterman Erik's and my book on design thinking in all design domains: IT, software, interaction design, classical design. A central thesis explored in this book is that complexity characteristic for design activities emerges from an inherent instability of design activities. We argue that this instability is a consequence of messy, dynamic, highly interdependent and unpredictable dynamics between design situations, design outcomes, and design resources. We describe 11 patterns of design dynamics. The patterns of dynamics illustrate how designers deal with ambiguity, uncertainty, and complexity when they attempt to change the world. As such, these patterns are universal to all design disciplines. Design disciplines may differ in which situations they address, which outcomes they create and which resources they use. But the way how people deal with ambiguity, uncertainty, and complexity is cross-disciplinary. Consequently, we present examples of patterns of dynamics from a very diverse set of design disciplines.
|
![]() | Z. Obrenovic In my career, I have been doing research in both academic and industrial settings, experiencing both positive and negative aspects of doing research in practice. With these essays, I want to share the lessons I learned. The central theme of essays is the tension between the value of doing research in practice and difficulties that it brings. |
![]() | Editor: Z. Obrenovic This book contains a selection of 1000 quotes from IEEE Software. IEEE Software is a leading software engineering magazine with a very rich history. Since 1984, many of the leading software engineering professionals from the IEEE Software history website. Visit this site to find more details about IEEE Software and its history. Selected quotes are not intended to serve as a comprehensive overview of the history of software engineering. Rather, the book is designed as a 'coffee table book'. It is intended for casual reading, offering interesting, educative, thought-provoking, and sometimes controversial quotes. |
Whatever I do, I try to generalize, share and publish the lessons I learned. A short selection of my recent key publications is included here. You may also see the complete list of my publications , or the lists provided by DBLP, Google Scholar, and the ACM digital library. I also occasionally write at BLOGS@CACM the blog site of the Communications of the ACM.
![]() | Z. Obrenovic Conversations with the Past: Quotes from IEEE Software History IEEE Software, Vol. 35, No. 5, September/October 2018, pp. 10-13. Published in the special issue of IEEE Software on 50 Years of Software Engineering. This alternative view of IEEE Software history presents quotes organized in “conversations.” Each conversation pairs a quote from the magazine’s early days (1984–1990) with a more contemporary quote, with at least 20 years between the two. The aim is to illustrate that some key ideas and topics are classic and have value even decades later. Additional pairs of quotes are available in the Web Extra. This article is part of a theme issue on software engineering’s 50th anniversary. |
![]() | Z. Obrenovic Insights from the Past: The IEEE Software History Experiment IEEE Software, Vol. 34, No. 4, July/August 2017, pp. 71-78. Published in 200th IEEE Software issue. Reflection on design of the IEEE Software History site. A look at the IEEE Software history website illustrates the practical value of historical data and offers a glimpse into the magazine's future. |
![]() | Z. Obrenovic Design as a Political Activity: Borrowing From Classical Political Theories ACM interactions, November + December 2015. With this article I support ongoing discussions about the political aspects of design by exploring the meaning of the word politics more deeply. I base my exploration on James Alexander’s recent analysis of definitions of politics in five classical political theories. I argue that classical political theories provide strong, concrete support for claims that design is a political activity. Moreover, looking at design through the lenses of classical political theories reveals interesting and complex sets of political situations. |
![]() | Z. Obrenovic The Hawthorne Studies and Their Relevance to HCI Research ACM interactions, November + December 2014. Here, I want to call attention to some of the breakthroughs credited to the Hawthorne studies, which have made a number of practical, conceptual, and methodological innovations in human factors, management studies, and sociology. I also want to argue that even though these studies were performed more than 80 years ago, the HCI research community can still learn something from them. |
![]() | Z. Obrenovic The Four Points of the HCI Research Compass ACM interactions, May + June 2013. Using the metaphor of a compass I present a new, higher-level view on HCI research as being driven by four main motivators: Curiosity and wonder, where we follow our strong interests and desires to learn new things; Doubt, where we want to obtain deeper and more certain understanding; Belief and vision, where we set or follow research ideals; and Skepticism, where we question the possibility of reaching some research goals. I argue here that these four directions are legitimate motivators for doing research, and that we need to support efforts in all of them. Indeed, each of these motivators has positive and negative sides, and awareness of the pros and cons can help us to do better research. I also contend the main question that we as a community need to answer is not which of these directions to follow, but rather, what is the right balance among contributions motivated by all four sides. I illustrate each of these motivators with concrete examples from the HCI field. |
![]() | Z. Obrenovic Research and practice: the curious case of 'small' researchers-practitioners Communications of the ACM, Vol. 56, No. 9 (September 2013), pp. 38-40. While the research-practice symbiosis seems to be flourishing, doing research as a practitioner is still not easy. It is even more difficult if research is not conducted in big companies or in collaboration with universities. Many of us are researchers-practitioners working in relatively small companies. By researchers-practitioners, I mean practitioners with clear practical tasks in their job, but who have background or skills of a researcher, obtained, for example by getting a Ph.D. or working as a postdoctoral researcher. And I call these practitioners "small" because they usually do research independently or in small teams, and cannot associate with their work research reputation and influence of their institution or companies. In small companies, we may not have a number of things that researchers in universities or big companies take for granted,8 such as an explicit research department, bud-get for conferences, freedom, or even the job description and status of a researcher. But we can bring to practice the benefits of research approach, rigor, and discipline. And we can make accessible to the research community valuable insights and unique lessons from practice. |
![]() | Z. Obrenovic Software Sketchifying – Bringing Innovation into Software Development IEEE Software, Vol. 30, No. 3, May/June 2013, (draft with appendices) Inspired by general ideas about how the automotive industry brings innovation into lean manufacturing, the author proposes introducing an activity called software sketchifying into software product development. Sketchifying aims to stimulate software stakeholders to spend more time generating and considering alternative ideas before making a decision to proceed with engineering. To support this exploration activity, Sketchlet is a flexible tool that empowers nonengineers to work with emerging software and hardware technologies, explore their possibilities, and create working examples - called sketchlets - that incorporate these emerging technologies. Software sketchifying's main output is a set of realistic proposals for new software solutions that give the engineering process a clear focus and goal. The author also presents some lessons learned in applying this idea and tool in several projects. |
![]() | Z. Obrenovic Rethinking HCI education: teaching interactive computing concepts based on the experiential learning paradigm ACM interactions, May + June 2012. (draft) Here we discuss our experiences applying a new educational framework for teaching advanced computing concepts compatible with the practice-oriented educational models used in design and craft schools. |
![]() | Z. Obrenovic, B. den Haak Integrating User Customization and Authentication: The Identity Crisis ACM interactions, May + June 2012. (draft) The integration of user customization with authentication follows four patterns. The local-user pattern tightly couples user authentication and customization. The external-user pattern loosely couples customization and authentication so that the customization module relies on the external authentication provider to authenticate users and return their unique identifiers. The local- + external-user pattern tightly couples customization to a local user account, but that account can be connected to multiple external authentication providers. Finally, the masked-external-user pattern requires extra effort to protect sensitive information about users' identity. |
![]() | Z. Obrenovic Design-Based Research: What We Learn When We Engage In Design of Interactive Systems ACM interactions, September + October 2011. (draft) In this article, I support the view that the design of complex and novel interactive systems can itself be an area of research, complementing other forms of research, and that it is capable of producing useful and trustworthy results. I call this form of research design-based research, a method of inquiry aimed at exploiting the opportunities that designing complex interactive systems provides to advance our understanding of the problem we are solving, the process we are following, and the solution we are building. |
![]() | Z. Obrenovic, J.B. Martens Sketching Interactive Systems with Sketchify ACM Transactions on Computer Human Interaction (ToCHI), Vol. 18, no. 1, April 2011. (appendixes) Also presented at the ACM CHI 2011 conference, in a Design Materiality section. Recent discussions in the interaction design community have called attention to sketching as an omnipresent element of any disciplined activity of design, and have pointed out that sketching should be extended beyond the simple creation of a pencil trace on paper. More specifically, the need to deal with all attributes of a user experience, especially the timing, phrasing, and feel of the interaction, has been identified. In this article, we propose extending the concept of sketching with a pencil on paper to the more generic concept of fluent exploration of interactive materials. We define interactive materials as any piece of software or hardware that represents or simulates a part of the interactive user experience, such as input from sensors, output in the form of sound, video, or image, or interaction with Web services or specialized programs. We have implemented the proposed concept within Sketchify, a tool for sketching user interfaces. Sketchify gives designers the freedom to manipulate interactive materials by combining elements of traditional freehand sketching with functional extensions and end-user programming tools, such as spreadsheets and scripting. We have evaluated Sketchify in the education of interaction designers, identifying both successful aspects and aspects that need further improvements. |
![]() | Z. Obrenovic, D. Gasevic Mashing Up Oil and Water: Combining Heterogeneous Services for Diverse Users IEEE Internet Computing, vol. 13, no. 6, pp. 56-64, November/December, 2009. Connecting heterogeneous services is a complex endeavor that requires support at both the middleware and user-interface levels. Offering users a varied palette of mashup development environments and service interfaces lets users choose elements appropriate to their skill levels and their tasks. The authors discuss their experiences using various development paradigms, such as spreadsheets and high-level scripting, to mash up diverse services. They describe their middleware and service adapters, which abstract the difference between service interfaces, and compare several mashup interfaces aimed at different user groups. |
![]() | Z. Obrenovic, D. Gasevic End-User Service Computing: Spreadsheets as a Service Composition Tool IEEE Transactions on Services Computing, Vol. 1, No. 4, Oct-Dec 2008, pp. 229-242 In this paper, we show how spreadsheets, an end-user development paradigm proven to be highly productive and simple to learn and use, can be used for complex service compositions. We identify the requirements for spreadsheet-based service composition, and present our framework that implements these requirements. Our framework enables spreadsheets to send requests and retrieve results from various local and remote services. We show how our tools support different composition patterns, and how the style of declarative dependencies of spreadsheets can facilitate service composition. We also discuss novel issues identified by using the framework in several projects and education. |
![]() | Z. Obrenovic, D. Gasevic, A. Eliens Stimulating Creativity through Opportunistic Software Development IEEE Software, Vol. 25, No. 6 (Nov/Dec 2008), pp. 64-70 Using opportunistic software development principles in computer engineering education encourages students to be creative and to develop solutions that cross the boundaries of diverse technologies. A framework for opportunistic software development education helps to create a space in which students can combine systems that were never meant to work together or even to be reused, and thus produce innovative ideas and solutions. A case study involving students in a course on intelligent human-computer interaction design demonstrates the approach, and the authors discuss some lessons learned. |
![]() | L. Hardman, Z. Obrenovic, F. Nack, B. Kerhervé, K. Piersol Canonical Processes of Semantically Annotated Media Production ACM Multimedia Systems Journal, 14(6), 327-340. Special Issue of ACM Multimedia Systems Journal on Canonical processes of Media Production (Guest Editors: L. Hardman, Z. Obrenovic, F. Nack). While many multimedia systems allow the association of semantic annotations with media assets, there is no agreed-upon way of sharing these among systems. As an initial step within the multimedia community, we identify a small number of fundamental processes of media production, which we term canonical processes. We specify their inputs and outputs, but deliberately do not specify their inner workings, concentrating rather on the information flow between them. We thus identify a small set of building blocks that can be supported in semantically aware media production tools. The processes are identified in conjunction with a number of different research groups within the community who supply, in the companion papers, descriptions of existing systems and a mapping to them. We give a basic formalisation of the processes and discuss how this fits with other formalisation endeavours. We present a number of frequently asked questions during the development of the model and this special issue. |
![]() | Z. Obrenovic, D. Gasevic Open-Source Software: All you do is put it together IEEE Software, Vol. 24, No. 5 (Sept/Oct 2007), pp. 86-95 With so many OSS choices, it might seem that building a new application is only a matter of finding the appropriate projects and putting them together. We've developed the adaptable multi-interface communicator infrastructure to support rapid prototyping from OSS components. AMICO is based on existing middleware platforms for component integration, but it focuses on pragmatic aspects of OSS integration often absent from existing integration platforms. AMICO satisfies requirements based on our experiences in solving practical problems in several projects. AMICO OSS is based on a publish-subscribe infrastructure for integrating loosely coupled services. In such infrastructures, a publisher updates a shared data repository. The loosely coupled approach can be highly adaptable when using simple data structures, because new applications can use existing data in the model and add their own without breaking the infrastructure. Components communicate by exchanging events through a shared data repository consisting of named slots called variables. Components can update the variables and register for notifications about variable changes. Modules can also derive new variables by processing existing ones. |
![]() | Z. Obrenovic, J. Abascal, D. Starcevic Universal Accessibility As a Multimodal Design Issue Communications of the ACM, Vol. 50, No. 5 (May 2007), pp. 83-88. In recent years, many research activities have focused on design that aims to produce universally accessible systems, taking into account special needs of various user groups. These special needs are associated with many user factors, such as impairments of speech, hearing or vision, cognitive limitations, aging, as well as with various environmental factors. Fields that address this problem, such as Usability, Universal Accessibility, Universal Design, or Inclusive Design have been developed as relatively independent domains, but they share many aspects with other human-computer interaction (HCI) disciplines. However, researchers and practitioners are often not aware of interconnections among concepts of universal accessibility and 'ordinary' HCI. In view of this situation, in this article we show there is a fundamental connection between multimodal interface design and universal accessibility, and that awareness of these links can help both disciplines. Researchers from these areas may use different terminology, but the concepts they use often have essentially the same meaning. We propose a unified conceptual framework where these areas can be joined. |
![]() | Z. Obrenovic, D. Starcevic, E. Jovanov Multimodal Presentation of Biomedical Data Wiley Encyclopedia of Biomedical Engineering, Wiley, 2006. Multimodal user interfaces can significantly improve the presentation of biomedical data. Multimodal presentation uses different modalities, like visual presentation, audio, and tactile feedback, to engage human perceptual, cognitive, and communication skills in understanding what is being presented. Multimodal user interfaces are part of ongoing researches in the field of Human-Computer Interaction (HCI) aimed at better understanding of how people interact with each other and with the its environment. These new interaction techniques, called perceptual user interfaces, combine an understanding of natural human capabilities (such as communication, motor, cognitive, and perceptual skills) with computer I/O devices and machine perception and reasoning. This approach allows integration of the human mind’s exploration abilities with the enormous processing power of computers, to form a powerful knowledge discovery environment that capitalizes on the best of both worlds. Multimodal user interfaces seek to find means to improve human communication with a computer by emphasizing human communication skills. Multidimensional nature and complexity of biomedical data presents a rich field where multimodal presentation feats naturally. |
![]() | Z. Obrenovic, D. Starcevic, E. Jovanov Virtual Instrumentation Wiley Encyclopedia of Biomedical Engineering, Wiley, 2006. A history of virtual instrumentation is characterized by continuous increase of flexibility and scalability of measurement equipment. Starting from first manual-controlled vendor-defined electrical instruments, the instrumentation field has made a great progress toward contemporary computer-controlled, user-defined, sophisticated measuring equipment. |
![]() | Z. Obrenovic, D. Starcevic, B. Selic A Model-Driven Approach to Content Repurposing IEEE Multimedia, Vol. 37, No. 9 (Sept 2004), pp. 65-72 The multimedia metamodel defines platform-independent multimedia concepts, opening the way for novel approaches to designing content repurposing solutions. Designers can use the metamodel to create content and add metadata to existing content, simplifying content analysis and repurposing. This model-driven approach and proposed design solutions are useful not only for many multimedia designers and researchers, where the model-driven tools can help them create better multimedia interfaces, but also for lecturers and students of multimedia courses. In the latter case, the unified multimedia metamodel offers context for sometimes subtle relationships between multimedia concepts. The metamodel can also facilitate the collaborative creation of broader knowledge about multimedia phenomena. In our future work, we plan to extend the proposed metamodel and include domains from related fields, such as user modeling and intelligent tutoring systems that deal with high-level user models. We are also designing multimodal test environments, reusable multimedia components, and data mining tools for evaluating various aspects of multimedia and multimodal communication. |
![]() | Z. Obrenovic, D. Starcevic Modeling Multimodal Human-Computer Interaction IEEE Computer, Vol. 37, No. 9 (Sept 2004), pp. 65-72 Incorporating the well-known Unified Modeling Language into a generic modeling framework makes research on multimodal human-computer interaction accessible to a wide range off software engineers. Multimodal interaction is part of everyday human discourse: We speak, move, gesture, and shift our gaze in an effective flow of communication. Recent initiatives such as perceptual and attentive user interfaces put these natural human behaviors in the center of the human-computer interaction (HCI). We've designed a generic modeling framework for specifying multimodal HCI using the Object Management Group's Unified Modeling Language. Because it's a well-known and widely supported standard - computer science departments typically cover it in undergraduate courses, and many books, training courses, and tools support it - UML makes it easier for software engineers unfamiliar with multimodal research to apply HCI knowledge, resulting in broader and more practical effects. Standardization provides a significant driving force for further progress because it codifies best practices, enables and encourages reuse, and facilitates interworking between complementary tools. |
I maintain and curate the computing history explorers based on articles from IEEE CS and ACM journals as well as SE Radio podcast.
![]() | IEEE Software ![]() Software engineering; 1984 - present |
![]() | Software Engineering Radio ![]() Software engineering; 2006 - present |
![]() | All IEEE Computer Society and ACM Magazines ![]() Aggregation of articles from 18 high-quality authoritative sources |
![]() | IEEE IT Professional ![]() Software engineering; 1984 - present |
![]() | IEEE Computer ![]() Software engineering; 1984 - present |
![]() | IEEE Security & Privacy ![]() Software engineering; 1984 - present |
![]() | IEEE Cloud Computing ![]() Software engineering; 1984 - present |