Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Tommi Mikkonen is active.

Publication


Featured researches published by Tommi Mikkonen.


international conference on software engineering | 1998

Formalizing design patterns

Tommi Mikkonen

Design patterns facilitate reuse of good design practices. They are typically given by using conventional notations that lack well-defined semantics and, therefore reasoning about their behaviors requires formalization. Even when formalized, conventional communication abstractions may lead to too laborious formalizations when addressing the temporal behavior of a pattern as a whole instead of behaviors local to its components. We show that rigorous reasoning can be eased by formalizing temporal behaviors of patterns in terms of high-level abstractions of communication, and that by using property-preserving refinements, specifications can be naturally composed by using patterns as building blocks.


international conference on software engineering | 2008

Web Applications Spaghetti Code for the 21st Century

Tommi Mikkonen; Antero Taivalsaari

The software industry is currently in the middle of a paradigm shift. Applications are increasingly written for the World Wide Web. Unfortunately, the technologies used for Web application development today violate well-known software engineering principles, and they have reintroduced problems that had already been eliminated years ago in the aftermath of the ldquospaghetti code warsrdquo of the 1970s. In this paper, we investigate Web application development from the viewpoint of software engineering principles. We argue that current Web technologies are inadequate in supporting many of these principles, but also that there is no fundamental reason for Web applications to be any worse than conventional applications in any of these areas. Rather, the current inadequacies are an accidental consequence of the poor conceptual and technological foundation of the Web development technologies today.


conference on computer supported cooperative work | 2012

CoRED: browser-based Collaborative Real-time Editor for Java web applications

Janne Lautamäki; Antti Nieminen; Johannes Koskinen; Timo Aho; Tommi Mikkonen; Marc Englund

While the users of completed applications are heavily moving from desktop to the web browser, the majority of developers are still working with desktop IDEs such as Eclipse or Visual Studio. In contrast to professional installable IDEs, current web-based code editors are simple text editors with extra features. They usually understand lexical syntax and can do highlighting and indenting, but lack many of the features seen in modern desktop editors. In this paper, we present CoRED, a browser-based collaborative real-time code editor for Java applications. CoRED is a complete Java editor with error checking and automatic code generation capabilities, extended with some features commonly associated with social media. As a proof of the concept, we have extended CoRED to support Java based Vaadin framework for web applications. Moreover, CoRED can be used either as a stand-alone version or as a component of any other software. It is already used as a part of browser based Arvue IDE.


Journal of Systems and Software | 2012

From proprietary to open source-Growing an open source ecosystem

Terhi Kilamo; Imed Hammouda; Tommi Mikkonen; Timo Aaltonen

In todays business and software arena, Free/Libre/Open Source Software has emerged as a promising platform for software ecosystems. Following this trend, more and more companies are releasing their proprietary software as open source, forming a software ecosystem of related development projects complemented with a social ecosystem of community members. Since the trend is relatively recent, there are few guidelines on how to create and maintain a sustainable open source ecosystem for a proprietary software. This paper studies the problem of building open source communities for industrial software that was originally developed as closed source. Supporting processes, guidelines and best practices are discussed and illustrated through an industrial case study. The research is paving the road for new directions in growing a thriving open source ecosystem.


self-sustaining systems | 2008

The Lively Kernel A Self-supporting System on a Web Page

Daniel Ingalls; Krzysztof Palacz; Stephen Uhler; Antero Taivalsaari; Tommi Mikkonen

The Lively Kernel is a complete platform for Web programming written in JavaScriptTM using graphics available in leading browsers. A widget set built from these elements provides a user interface kit, and the widget set is also extensible. A window-based IDE allows users to edit their applications and even the system itself.When a user visits the Lively Kernel page, http://research.sun.com/projects/lively/index.xhtml the kernel loads and runs with no installation whatsoever. The user can immediately construct new objects or applications and manipulate the environment. The Lively Kernel is able to save its creations, and even clone itself, onto Web pages. In so doing, it defines a new form of dynamic content on the Web. Moreover, since it can run in todays browsers, it promises that wherever there is the Internet, there can be authoring of Web content. Beyond its utility, the simplicity and completeness of the Lively Kernel make it a practical benchmark of system complexity, and a flexible laboratory for exploring new approaches to security, simplified graphics, and Web technologies in general. Note to Readers: As of this writing, the Lively Kernel runs with no installation in the Firefox 3 beta and Safari 3 browsers. We are preparing an applet that will allow it to run in other browsers until their internal graphics are adequate for install-free operation


software engineering and advanced applications | 2011

The Web as an Application Platform: The Saga Continues

Antero Taivalsaari; Tommi Mikkonen

The World Wide Web is the most powerful medium for information sharing and distribution in the history of humankind. In this paper we take a look at the evolution of the Web from a relatively simple document sharing system to a massively popular, general purpose application and content distribution environment. We focus especially on the rapidly increasing use of the Web as a software platform. So far, a number of obstacles have hindered the development and deployment of full-fledged, truly interactive web applications. However, emerging standards such as HTML5 and Web GLare removing the limitations, and transforming the Web into a real application platform. We believe that in the future the use of conventional binary programs will be limited to system software, whereas the vast majority of end user software will be developed using web technologies.


software engineering and advanced applications | 2008

Web Browser as an Application Platform

Antero Taivalsaari; Tommi Mikkonen; Dan Ingalls; Krzysztof Palacz

For better or worse, the web browser has become a widely used target platform for software applications. Desktop-style applications such as word processors, spreadsheets, calendars, games and instant messaging systems that were earlier written for specific operating systems, CPU architectures or devices are now written for the World Wide Web, to be used from a web browser. In this paper we summarize our experiences in using the web browser as a target platform for real applications. As a concrete example, we use the Sun¿ Labs Lively Kernel, a system that implements an exceptionally interactive web programming environment running in a web browser without any plug-in components. Based on this work, we analyze the limitations, challenges and opportunities related to the web browser as an application platform.


acm symposium on applied computing | 2011

Transforming the web into a real application platform: new technologies, emerging trends and missing pieces

Matti Anttonen; Arto Salminen; Tommi Mikkonen; Antero Taivalsaari

The World Wide Web has evolved from a simple document browsing and distribution environment into a rich software platform in which desktop-style applications are increasingly becoming first class citizens. The document-oriented origins of the Web are still evident in many areas, though, and traditionally it has been difficult to compose truly interactive web applications without using plug-in components or browser extensions such as Flash. However, the ongoing standardization work and emerging technologies such as HTML5, JavaScript 2.0 and WebGL are quickly altering the landscape of web application development. In this paper, we present a number of prior challenges and shortcomings, and describe how new technologies can be used for solving many of the problems. The research is based on our hands-on experiences in building various web-based systems in which a number of different web application development technologies have been used extensively.


computer software and applications conference | 2014

Liquid Software Manifesto: The Era of Multiple Device Ownership and Its Implications for Software Architecture

Antero Taivalsaari; Tommi Mikkonen; Kari Systä

Today, the digital life of people in developed markets is dominated by PCs and smart phones. Yet, as successful as PCs and smart phones are, the dominant era of PCs and smart phones is about to come to an end. Device shipment trends indicate that the number of web-enabled devices other than PCs and smart phones will grow rapidly. In the near future, people will commonly use various types of internet-connected devices in their daily lives. Unlike today, no single device will dominate the users digital life. The transition to a world of multiple device ownership is still rife with problems. Since devices are mostly standalone and only stay in sync in limited ways, the users will have to spend a lot of time managing them. These device management chores become much more tedious as the number of devices in a persons life increases. In this paper we look at the ongoing paradigm shift towards multiple device ownership and its implications for software architecture. We argue that the transition to multiple device ownership will eventually lead us to liquid software - an approach that will allow data and applications to seamlessly move between multiple devices and screens. The new era will imply significant changes in the development, deployment and use of software, opening up new opportunities in software engineering research as well.


human centered software engineering | 2012

Agile user experience development in a large software organization: good expertise but limited impact

Kati Kuusinen; Tommi Mikkonen; Santtu Pakarinen

While Agile methods were originally introduced for small, tightly coupled teams, leaner ways of working are becoming a practical method to run entire enterprises. As the emphasis of user experience work has inherently been on the early phases before starting the development, it also needs to be adapted to the Agile way of working. To improve the current practices in Agile user experience work, we determined the present state of a multi-continental software development organization that already had a functioning user experience team. In this paper, we describe the most prevalent issues regarding the interaction of user experience design and software development activities, and suggest improvements to fix those. Most of the observed problems were related to communication issues and to the service mode of the user experience team. The user experience team was operating between management and development organizations trying to adapt to the dissimilar practices of both the disciplines.

Collaboration


Dive into the Tommi Mikkonen's collaboration.

Top Co-Authors

Avatar

Antero Taivalsaari

Tampere University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Timo Aaltonen

Tampere University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Sampo Suonsyrjä

Tampere University of Technology

View shared research outputs
Top Co-Authors

Avatar

François Christophe

Tampere University of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge