Accepted sessions Icon_feed

These are the currently accepted sessions. This list is subject to change.

Go to lightning talks | All proposals


Workshops

Easier UI Reasoning with Unidirectional Dataflow and Immutable Data Approved_talk

Workshop - Suggested by Torgeir Thoresen and Mikael Brevik, almost 5 years ago.

Let us bring back the days where we could write declarative representations of how we want our UI components to work. We should be able to read our code from top to bottom and intuitively know what the output will be, just like the good old HTML. We should be able to write composable, testable and reproducible components and be free to choose what kind of dependency management we want to use, or how to structure our code.

What if we take inspiration from the functional world and create a UI where we have pure and referentially transparent components; components with no side-effects and predictable output? If we coupled this with immutable data and components with single responsibilities, can we get a blazing fast and smart way to build UIs? It turns out we can!

In this workshop we start by looking at how we can use a virtual DOM and functional cursors of immutable data to isolate components, and making them pure. Once we've grasped the general concepts, we introduce an architecture for doing unidirectional top-down rendering, with very little architectural overhead. After this workshop, you should be able to understand and use unidirectional UI components to build testable and easy-to-reason-about web applications. Technologies used will be Facebook's React and Immutable.js, and Omniscient.js. This workshop is intended for developers who have some experience with frontend development.

Read more...

Temenos - Discover What You Want Approved_talk

Workshop - Suggested by Olaf Lewitz, almost 5 years ago.

“Once we dare to say what we want and give ourselves the freedom to choose, our chances to get it increase immensely.” – Olaf Lewitz

Temenos – trust-building and connection for the people section of your Agile toolbox

Temenos gives us a chance to:

  • understand better where each of us is coming from
  • grant ourselves time to discover what we really want
  • make choices that are relevant in the moment
  • be more inspired and capable
  • clearly see patterns and options we could not see before.

This workshop is for all people who depend on trustful relationships in their team or with their clients. For managers, team members, coaches, scrum masters, product owners and everyone who wants to gain clarity on what they want.

Temenos is a space to experience and learn more effective ways to build stronger relationships in our lives. It invites us to be more open, to learn more quickly and to listen to others with more attention. Temenos helps to strengthen the relationship to ourselves, as well as our empathy and appreciation for others.

The Temenos process is about each person telling their own stories in an environment where trust develops, where we learn to accept different point of views, contradictions and conflicts. It helps us to become aware of where we have a choice. Some typical subjects include: self-management, conflicts in the team, my professional role, my goals, my talents, and dealing more effectively with change. Temenos helps us find out about the essential key to a situation. We focus with the help of the feedback of the group and their stories. We get new ideas how to change a situation in a way that we can be more authentic and happy.

Read more...

Introduction to Docker Approved_talk

Workshop - Suggested by Stian Mathiassen, almost 5 years ago.

This is an introduction to what Docker is, and what it can be used for. We will present each topic as a short talk before the participants get hands-on experience through exercises.

We will cover the various steps for deploying an application, in our case using nodejs. The participants will get to deploy this application and the database it communicates with, each in its own Docker container.

This workshop is geared towards developers with an interest for operations, with little or no prior experience with Docker.

Preperations: Follow the steps at https://github.com/bekkopen/docker-workshop

Read more...

Para-functionality design - not always the expected result Approved_talk

Workshop - Suggested by Fredrik Johnsson, almost 5 years ago.

As user experience professionals we focus on making the easiest, most intuitive, solution for our users, 
but sometimes its useful to reflect on the effect it has by doing "para-functionality".

Taking ideas from art, architecture and design, this workshop will through some exercises and examples let you discover ways of designing that can expose insights to a problemm and its potential solutions. 

Para-functionality is when you look at an issue is a new and different way, that is not always the best for the user, to find new solutions and design to solve it.

This work, like user experience work in general, benefits from working in teams to build upon the different ideas and experiences of the team members.

We will work with every day experiences that you will be familiar with and do para-functional design on them.

The results can not only be thought provoking but also let us reflect on what experiences we are designing.

Read more...

Where's your bottleneck? Approved_talk

Workshop - Suggested by Sveinung Dalatun and Janniche Haugen, almost 5 years ago.

If you want to deliver continuously you must first eliminate your bottlenecks. In this hands-on (and codeless) workshop we will teach you tools you can use to find the bottlenecks in your software delivery process. We will see how value-stream mapping, systems thinking and queue theory can help you understand the present situation and come up with effective measures.

Read more...

Electronic games - PixelHunt with Arduino Approved_talk

Workshop - Suggested by Joachim Haagen Skeie and Haakon Walseng, over 4 years ago.

Are you interested in electronics and how it can be used to make fun and useful projects? Then this workshop is for you!

 

During the last year, I have ran a code club in my local community, where we have had tons of fun with Arduino and electronics. In 2015 we will move beyond the basics and develop a game using Arduino, buttons, potentiometers, a wicked cool LED matrix, Piezo speakers and more. I've purchased 16 complete kits for the code club, which will we get to borrow for the occation :) 

I held a Raspberry Pi workshop at Booster in 2012, which was very well received by the attendees. This is the logical next step :) 

During the workshop we will develop the game PixelHunt, where we will learn how to use buttons and joysticks to control the 8x8 RGB LED panel, which will work as the display for the game. 

In advance, the attendees needs to install the Arduino IDE (version 1.0.x), as well as the NeoPixel library from Adafruit. 

We will start with the basics around Arduon, microcontrollers and how these can be programmed before we hook up the LED panel. Whene everything is ready, we will start programming simple animations on the panel. Once we have control of all the lightbulbs, we can start developing PixelHunt. 

The video below, shows the game we will be developing during the workshop. 

https://vimeo.com/116901057
Read more...

Your Culture in the Mirror Approved_talk

Short workshop - Suggested by Ivana Gancheva, over 4 years ago.

Company culture is this elusive thing that is quite hard to define. And if we don’t own it, it owns us.

Culture is powerful.

How do we see it? How do we see what’s there instead of what we want to see?
Why should you work with your culture, rather than against or around it?

Ivana will share models and tools to visualise it. We will experience how we can discover our company culture, how we could describe it and share it with others.


Read more...

Recognise a Zombie Persona Apocalypse... Approved_talk

Workshop - Suggested by Michael Rawling, almost 5 years ago.

...and how to eradicate Zombie Personas without a 12 gauge!

Are User Personas haunting you? Did your team create some personas at the start of your project but then never use them? Are they fading stuck up on a wall somewhere, technically now just dead weight...irrelevant, moaning...’braiinssss’!!

 

User Personas really help product teams to have productive user-centric conversations with stakeholders that shift away from debating personal opinions into decision-making, based on proven user research - but personas can have a bad reputation though no fault of their own - formulated on shallow bases, being used, abused and left to rot after the intial excitement at the start of a project.

Mike Rawling, a ux veteran of many apocalyptic projects, will share his tried and tested experience of how you can work with personas in a pragmatic way that fits into the world of Agile without compromising either UX or XP/Agile or Lean principles.

Attendees will come away from this session with a firm grounding in how to create and keep alive your User Personas in your Agile/Lean/XP process so they continue to serve as a useful reference for  your team and stakeholders throughout the life of your product.

The session will end with prizegiving including Best Persona of the day!

 

Stand fast against the Zombie Persona Apocalypse!

 

Read more...

Continuous Deployment: The Ultimate Culmination of Software Craftsmanship Approved_talk

Workshop - Suggested by Viktor Farcic, over 4 years ago.

Continuous Deployment is the natural evolution of continuous integration and delivery. It is the ultimate culmination of software craftsmanship. Our skills need to be on such a high level that we have a confidence to continuously and automatically deploy our software to production.

We usually start with continuous integration with software being built and tests executed on every commit. As we get better with the process we proceed towards continuous delivery with process and, especially tests, so well done that we have the confidence that any version of the software that passed all validations can be deployed to production. We can release the software any time we want with a click of a button. Continuous deployment is accomplished when we get rid of that button and deploy every "green" build to production.

We'll try to explore the goals of the final stage of continuous deployment, the deployment itself. We'll assume that static analysis is being performed, unit, functional and stress tests are being run, test code coverage is high enough and that we have the confidence that our software is performing as expected after every commit.

The goals of deployment process that we should aim for are:

* Run often
* Be automatic
* Be fast
* Provide zero-downtime
* Provide ability to rollback

**Deploy Often**

We'll try to explore why it is important to deploy often. What are the pros and cons deploying on every commit instead once a month or few times a year? What are the prerequisites for successful deployment?

**Automate everything**

Why automation? What are the pros and cons of provisioning tools like Chef and Puppet? What are containers (e.g. Docker) and how do they help? Do we need provisioning tools if we adopt containers?

**Be fast**

Speed is the key. Can we deploy often if the process is not fast? What is the relation between fast deployments and time-to-market? What is the acceptable deployment duration?

**Zero-downtime**

We cannot deploy often without zero-downtime. If there is any downtime during deployment, it will be multiplied with the number of deploys we do. We'll go through one blue-green deployment as one possible way to accomplish zero-downtime.

**Ability to rollback**

Unexpected happens sooner or later and the ability to rollback is a must. How can we accomplish automated, fast and reliable rollback? What are the major obstacles?

Deployment Strategies
=====================

We'll explore different strategies to deploy software. This session will in no way provide an exhaustive list of ways to deploy applications but will try to discuss few common ways that are in use today.

**Mutable monster server**

We are used to build and deploy big mutable applications. That's how we did it during most of the short history of software industry. What are pros and cons of "mutable monster server"? Can we deploy it often with zero-downtime and easily rollback? Is automation of such a server the way to go? Can it be fast? Are there any alternatives?

**Immutable servers**

What are immutable servers? How can we deploy them? What is blue-green deployment in the context of immutable servers? What are the benefits?

**Immutable microservices**

What are microservices? Why do they fit perfectly into the concept of immutable servers?

Live Example
============

Once we are all familiar with Continuous Deployment and different strategies that can be employed, we'll got through one example of deploying fast, often, automatically, with zero-downtime and the ability to rollback. We'll use Ansible, Docker, nginx, Jenkins, Vagrant and few other tools to release and deploy an application. We'll test that application both before and after the deployment and we'll explore different ways to design architecture of those applications so that the result is best suited for Continuous Deployment. All examples will be run live.

Summary
=======

Continuous deployment sounds to many as too risky or even impossible. Whether it's risky depends on the architecture of software we're building. As a general rule, splitting application into smaller independent elements helps a lot. Microservices is the way to go if possible. Risks aside, in many cases there is no business reason or willingness to adopt continuous delivery. Still, software can be continuously deployed to test servers thus becoming continuous delivery. No matter whether we are doing continuous deployment, delivery, integration or none of those, having automatic and fast deployment with zero downtime and the ability to rollback provides great benefits. If for no other reason, because it frees us to do more productive and beneficial tasks. We should design and code our software and let machines do the rest for us.

Read more...

EcmaScript 6 Workshop Approved_talk

Workshop - Suggested by Lars Barlindhaug, almost 5 years ago.

EcmaScript 6 (ES6) is the future of JavaScript. It is highly anticipated and contains many useful features seen in other programming languages like Python and CoffeScript.

This workshop will be a hands-on guide to some of the new features in ES6. Since ES6 is not fully implemented in any browser yet, we will use Google's Traceur to transpile the ES6 JavaScript code we write to ES5 code that all modern browsers understand.

 

Come and learn the future version of JavaScript and how to use it in your current project now. 

 

View the tasks on GitHub: https://github.com/iterate/es6-workshop

Read more...

Playing Lean Workshop Approved_talk

Workshop - Suggested by Simen Fure Jørgensen, over 4 years ago.

Are you curious about Lean Startup, but too busy to read the book?

Playing Lean is the board game that teaches Lean Startup in a fun, easy and engaging way.

As a player, you assume the role of a company with an idea. You need to build your product to win the market - before your competitors do it.

But what is the best strategy? You can always build it, and hope they will come. You can experiment and learn more about your customers, but will you end up with analysis paralysis?

Playing Lean puts you through the difficult and different choices you need to make while working with the Lean Startup.

More information about the game can be found here: 

https://www.kickstarter.com/projects/44846941/playing-lean

(This workshop will go ahead regardless of whether the Kickstarter succeeds)

 

Read more...

Hot or Not? Let's vote with Polymer Approved_talk

Workshop - Suggested by Wenche Tollevsen and Borghild Vikøyr, over 4 years ago.

Web Components, the new kid on the block, is a collection of standards that enable encapsulation of components, which can be reusable with the power of HTML Imports, Shadow DOM, templates  and Custom Elements. And joining the new wave of web development is Polymer, a library that provides a declarative syntax to make it easier to define custom elements.

Remember Tande-P and his mentometer button to get the audiences vote by pushing the button or not?

In this workshop we will explore Polymers declarative pixie dust by building an mentometer app to find out if Polymer is Hot or Not.

Read more...

Getting started with TypeScript in an AngularJS app Approved_talk

Workshop - Suggested by Eirik Årdal, over 4 years ago.

JavaScript is conquering the world and us developers are scrambling to follow the trends, one uncaught type error, one undefined is not a function, one hair-pulling, frustrating debug session at a time. To solve the issues (features?) we stumble upon, we hunt for TheOneFramework.js that will "solve" JavaScript once and for all.

Enter TypeScript.

TypeScript is a superset of JavaScript which is built on, and compiles to, JavaScript. TypeScript introduses type safety to the JavaScript world, and with it you get interfaces, generics, lambdas, enums, classes, modules, constructors, public/private members, and more.

AngularJS is the most pupular MVV* framework these days with good reasons. It introduces sorely needed concepts such as dependency injection and clear separation between presentation, presentation logic, data retrieval, testability and much more to the front end.

This workshop is a hands-on introduction to TypeScript set in the context of an AngularJS application. Angular is used just to provide a platform on which we can build something with TypeScript. The workshop does not cover Angular training (what it is, the basics, etc) due to the limited time frame. You will get by fine with a I-know-the-basics-but-have-not-done-any-big-projects-with-angular level of knowledge.

 

Read more...

Flow of Product Quality Approved_talk

Short workshop - Suggested by Matt Barcomb, over 4 years ago.

Most agree that creating a quality product is the responsibility of a whole team. But how does this actually work for the critical development functions of design, analysis, coding, test and ops? This session covers concepts and practices that integrate those functions collaboratively, avoiding micro-silos and “smallerfall”.

First, changes to how and when those functions work will be discussed.

Next, the “test volcano” model will be applied to the work. Then, swarming and studio practices will be covered.

Finally, new testing and development concepts will be applied to deployment strategies.

Attendees will leave with a snout-to-tail process and set of practices that can be used to evolve their current teams toward true collaboration that enables the flow of quality throughout product development.


Read more...

Android 101 Approved_talk

Workshop - Suggested by Øystein Strand and Christoffer Marcussen, almost 5 years ago.

Learn how to build native Android apps from scratch by watching us live-code a simple Spotify app and then do it yourself by developing a Twitter-like app.

You choose whether to focus on creating a beautiful app, or supporting all the operations in the API.

During the workshop you will learn and use topics such as:

  • Activities, Events and Intents
  • Creating a flexible UI with layouts
  • REST API integration with Retrofit
  • Take pictures with the camera and upload to Imgur (and our backend)
  • Target the newest version of Android, Lollipop, and create a beautiful app with Material Design
  • If you have an Android Wear watch, why not read and post messages from your watch?

This workshop provides a solid foundation for everyone who wants to learn Android development.

Read more...

Getting started with Octopus Deploy Approved_talk

Workshop - Suggested by Karoline Klever, over 4 years ago.

How do you automate the non-existing deployment routines of an organization with over 100 different customers, each having their own environments? How do you convince the leaders, developers and customers to give you the resources needed in order to automate everything?  Is it really possible to introduce a deployment routine that works for everyone?

In less than six months, Karoline transformed the deployment routines at Epinova by introducing Octopus Deploy to the organization. She will take you through the steps needed to get started, the pitfalls along the way, and success that Octopus Deploy has become.

In this workshop we will start out by installing an Octopus Deploy server and tentacle on your laptop, before looking at the basic concepts of Environments, Machines, Roles and Projects. You will create a project of your own and deploy this using Octopus Deploy before we round off by looking at the advanced topics of Script modules, Step templates, Variable sets and Retention Policies.

At the end of this workshop, you'll have all the knowledge you need in order to create a more efficient and failproof deployment process for your project. Keep calm and deploy to production.

 

Read more...

Metrics for developers: Learning the secrets about your application's life in production Approved_talk

Workshop - Suggested by Espen Fossen and Eirik Bjørsnøs, over 4 years ago.

How much do you really know about the secret life of your application in production? What features are actually being used? Does your performance meet your SLA? If not, why?

To answer questions like these we need to collect, analyze and visualize metrics. Metrics can guide your development efforts by more effectively meeting SLA requirements, reducing waste and achieving business goals faster. We believe that Metrics Driven Development will improve our software and make it more relevant to the organizations paying for it.  

This workshop gives you hands on experience with doing exactly that. We start by giving you the source code of a web application. You’ll then instrument the code by collecting various interesting metrics. Only when our automated tests decide that your instrumentation was successful are you allowed to proceed to the next task! You will also learn how to visualize and analyze your metrics using charts, dashboards and monitoring tools.  

The application is a simple Java web application. For metrics collection, we will be using Coda Hale’s excellent Metrics library.

Attendees are expected to bring a laptop with a Java development environment installed.

Read more...

DevOps Gemba Approved_talk

Workshop - Suggested by Jon Arild Tørresdal, over 4 years ago.

Gemba (現場) - A philosophy that reminds us to get out of our offices and spend time on the plant floor – the place where real action occurs.

  -- leanproduction.com

In this workshop we will take a practical approach to DevOps and dive into some tools you can use to meet the technical challenges. The main tools in question will be ConDep for Windows and Ansible for Linux/OS X (you decide based on your platform of choice). With these tools you can automate your infrastructure and deploy your applications as frequent as you (or your employer) are comfortable with.

You will learn to automate:

  • Bootstrapping/provisioning of servers
  • Infrastructure configuration
  • Continuous Delivery to these servers
  • No-downtime deployments

For more information about these tools, check out condep.io and ansible.com

Read more...

No time for user research? Methods for creating user-centered products without holding up the process. Approved_talk

Workshop - Suggested by Jenny Shirey, over 4 years ago.

We all want to make products that are developed with our users’ needs in mind. But when it comes to user research, many teams view it as too time consuming. After all, when we’re dealing with tight deadlines and a long list of features that have to ship, who has the time to develop a study, recruit users, and analyze the results? Instead, we often end up not even talking to users. This leads to usability problems, or worse, spending weeks or months working on features that our audience doesn’t even want or need.
 
I believe that it doesn’t have to be that way—talking to users doesn’t have to be a time-consuming, formal process led by trained researchers. Getting insights and feedback from users can be done by anyone in a short amount of time.
 
In this workshop, I’ll share several simple but effective research methods that I’ve used in the past while working on software products and apps. Participants will learn about the methods and then practice them in small groups. Finally, we'll wrap up by talking about how to quickly sift through the data and pull out relevant insights. This practical and fast-paced workshop will give you ways that you can check in with your own users, which will ultimately help you to develop more useful, usable, and desirable products.
Read more...

The Power of Review Approved_talk

Workshop - Suggested by Robert Smallshire and Austin Bingham, over 4 years ago.

Review by peers, colleagues, experts and stakeholders is perhaps the most effective tool we have for improving the quality of software.  But if review is so wonderful, why is it used so infrequently?

In this workshop we’ll show how to conduct effective code reviews using a variety of techniques from the relatively informal sort of reviews you’re perhaps doing already, through to the most formal inspections. While this workshop will focus on code reviews in particular, most of what we cover will apply equally well to other kinds of reviews such as designs and requirements,

We’ll work together understand what makes a good review, and help you identify behaviours which lead to poor outcomes, in the form of either defective software or unhappy colleagues.

You’ll get plenty of advice on how to introduce effective technical reviews into your engineering culture.

 

 

Read more...

Go Reactive with Actor Model Approved_talk

Half-day workshop - Suggested by Vaughn Vernon, over 4 years ago.

Description: Learn the foundation of Reactive as a unique approach to software development, building on the primary tenets and system characteristics of Responsiveness, Resilience, Elasticity, and Message-Driven. From these we will build up to how Actor Model provides the tools needed for Reactive Systems. Finally we will take a deep dive into how to design and implement systems that use Actor Model with Akka for Scala and the JVM and Dotsero for .NET.


Read more...

Lightning talks

Shearing Layers: Architectural thinking as Uncertainty Response Approved_talk

Lightning talk - Suggested by Martin Burns, almost 5 years ago.

Smart architects in the physical world build structures that are responsive to unpredictable future change in occupant needs using a layered approach. We replicate this in our technical architectures and processes to reduce the impact of inevitable change This talk explores Stewart Brand’s Shearing Layers model and applies it to approaches in the technology domain.

Read more...

Use more paper! Approved_talk

Lightning talk - Suggested by Ram Yoga, almost 5 years ago.

We have access to a plethora of digital design tools. Yet sometimes it´s smart to throw away these tools and get out some pen and paper. Paper frees your imagination, invites co-design and is easy to gather round for discussion. Leave your PC and use more paper!

Read more...

Making Your Site Printable Approved_talk

Lightning talk - Suggested by Adrian Roselli, almost 5 years ago.

The push for responsive web design has helped web developers consider how the sites they develop can adapt to different devices, including sizes, screen resolutions, and even contexts. It should now be easier than ever to respond to a format that has existed since the start of the web — print. I'll walk through the process for making your responsive sites respond to the format we most often forget and show you how to use Google Analytics to track what pages are printed from your site.

Read more...

Visualisation as a tool for communication Approved_talk

Lightning talk - Suggested by Benjamin Sommer, over 4 years ago.

The lighning talk will take the participants through a case study showing the progress a development team made in 3 months going from a non-visual environment completely based on Jira to visual environment wit physical task boards, signs and signals.

The talk will emphasise on the positive outcomes of the changes the team made, although there was some initial resistance. The presentation will show photos of the progress the team made and summarise the impacts the visual environment had on the team. 

Read more...

Smart First, Phones Later Approved_talk

Lightning talk - Suggested by Tin Kadoic, over 4 years ago.

Smart First, Phones Later

Taking Responsive a Step Further
In a mobile-first world, can we finally start designing smart first and phones later?

Are responsive interfaces really just intelligent interfaces? Should our tools act smarter? Is it too much to ask for designers and developers to invest that extra mile? A few seconds each day X millions of users means hours saved. Intelligence and fewer features always wins over ignorance and more features.

Now that we are designing with screen sizes and aspect ratios in mind, we should go a step further and plan strategically to utilize the device data that’s already collected and available.

Slidedeck: http://bit.ly/smartfirst
Video: http://bit.ly/1Bwhl87

Read more...

10 dos and don'ts for securing your web application Approved_talk

Lightning talk - Suggested by Hallvar Helleseth, over 4 years ago.

The talk will give pointers and compressed facts of things that are important to do and not do in order to have your web application more secure. Some of the points are related to the process and others are related the technical implementation. The points apply to the entire software stack.

The goal is to have the listeners learn something new that they can use immediately when they get back to work after the conference.

The dos and don'ts are selected from my experience implementing parts of the online and mobile bank at a major norwegian bank and from experience getting new applications developed for Rolls-Royce Civil Aerospace approved through a rigorous security review process.

Read more...

CUDA for dummies Approved_talk

Lightning talk - Suggested by Andreas Hunderi, over 4 years ago.

Proteiners tredimensjonale struktur, virtual reality og universets første sekunder. Det er mange ting vi kan modellere med dagens teknologi. Men det krever hastighet om utregningene skal ta minutter istede for dager, eller måneder istede for år. Parallellisering byr på potensielt ekstreme ytelsesforbedringer, men bare for den som vet hvordan man takler problemstillingene som oppstår.

Denne lightningtalken tar for seg CUDA og mulighetene/utfordringene parallelle programmer gir. Til evigheten og forbi!

Read more...

A kind of story mapping Approved_talk

Lightning talk - Suggested by Ingvald Skaug, over 4 years ago.

Attendees will hear about an experience with lightweight planning for a team in a big company.

At the heart of it is a kind of story map, a single-page plan of sorts.  It is a simple tool for discovery and continuous planning with stakeholders.

A few keywords, sources of elements in this custom tool: User story mapping, #NoEstimates, feature slicing.

Read more...

Programmeringspråket CSS Approved_talk

Lightning talk - Suggested by Stian Møllersen, over 4 years ago.

CSS er et veldig enkelt språk, så enkelt at det egentlig er feil å kalle det et programmeringspråk. CSS er også et vanskelig språk. Alle som har jobbet på store, komplekse websider vet at det krever jerndisipin å holde kustus på CSSen. Vi kaster alt vi kjenner til av best practices på CSSen, men likevel kommer ting ut av kontroll. Er det CSS som er problemet, eller er det vi som er problemet? Hvis det er CSS som er problemet, hva er det med CSS som gjør det nesten umulig å beholde kontrollen? Hvis det er vi som er problemet, hva er det vi gjør feil?

Vi ser på programmeringspråket CSS. Hvilke egenskaper karakteriserer CSS og hvordan manifisterer de seg som problemer når vi skal lage layouts? Hvordan relaterer CSS, som egentlig ikke er et programmeringspråk, seg til andre programmeringspråk? Hvor kommer våre best practices fra, og er de egentlig grunnlagt i rett forståelse karakteristikkene til CSS? Et litt anderledes blikk på et ellers velkjent verktøy i verktøykassa.

Read more...

101 things software development didn't learn in architecture school Approved_talk

Lightning talk - Suggested by Marcin Floryan, over 4 years ago.

Almost everyone in software development appears to have their own opinion of architecture. Mine has been evolving slowly over the years and I'm increasingly convinced that we have outlived the building architecture analogy and something constructively new is required. Software Architects aren’t yet an endangered species but perhaps they should. However, before we leave the land of architecture behind altogether there is still an astonishing wealth of ideas in the filed of the physical architecture that we would benefit from adopting beyond just the facade.

In this lightning talk I will share some specific ideas of concepts taught in architecture school and practiced in the design studios around the world that should be adopted into our thinking about systems, design and solutions.

 

Read more...

What tales does your code tell? Approved_talk

Lightning talk - Suggested by Siv Midtun Hollup, almost 5 years ago.

Many people equate coding with writing or telling stories, giving us a whole host of techniques we can use when we write code. 

This opens up some interesting questions: How do other developers read our code stories? What place does our code have from a societal storytelling perspective? What will archeologists in a 1000 years time learn about society from our code?

Read more...

Things of Internet Approved_talk

Lightning talk - Suggested by Rustam Mehmandarov, over 4 years ago.

Ja, du leste riktig. Vi skal snu ting litt på hodet i denne talken. Internet of things tar helt av for tiden. Alle små dingser som skal på nett og snakke sammen. Du kan få en sms fra din støvsuger som minner deg på om å kjøpe nye støvsugerposer i det du går forbi butikken og en mail fra vaskemaskinen om at sengetøyet er vasket og klart. Hvis dette hørtes urealistisk ut kun for noen år siden, kan dette bli vår hverdag om ikke alt for lenge.

Det er jo fint det, men hva med å bruke alle de tingene og data som allerede er på nettet, og heller knytte dem sammen på mer kreative måter. Hva med å bruke data datamaskiner forstår sammenhengen og betydningen (semantikken) av. Hvordan kan disse dataene gi mer verdi for noe du allerede har eller kan lett hente fra nettet? Vi ser på semantiske teknologier, åpne lenkede data og hvordan disse kan brukes til å berike vår hverdag, våre data og våre dingser.

Read more...

Why do we lose so many developers to project management? Approved_talk

Lightning talk - Suggested by Kari Bergh Schjønsby, almost 5 years ago.

I have the best job in the world. Every day I get to challenge myself, both creatively and logically. Every day I learn something new. I create things that help people and make their lives better. To top it all off I get to do this with other people, in a team.
What do I do? I think you guessed it. I'm a developer.

But despite this, despite having the best job in the world, it seems that many developers can't wait to get away from development. They would rather count other people's hours, and argue about contracts with difficult clients. Why? Do they really want want to manage projects? Or do they want to get away from development at any cost?

To find out, I've done a little survey. In this talk I'll share the results with you.

Read more...

Small Lambda Talk Approved_talk

Lightning talk - Suggested by Martin Skarsaune, almost 5 years ago.

You have probably noticed the excitement regarding functional programming and the new lambda expression in Java 8. But did you know that this also brings Java back to its object-oriented roots?

The Smalltalk programming language shows how virtually any task can be achieved through good old object orientation. Everything is built with the basic ingredients of objects, messages and blocks (lambda).

Smalltalk uses lambda expressions for conditional processing, iteration and exception handling. We will look at some fascinating examples, and discuss if and how to apply them in Java.

We Java programmers now find ourselves with a brand new lambda tool in our toolbox. Lets take the time to learn from the past about the power of object orientation and lambdas.

Read more...

Hva er Material Design, og hvilke fordeler har det? Approved_talk

Lightning talk - Suggested by Marius Seim, over 4 years ago.

Lyntalen omhandler en kort introduksjon til Google sitt nye designspråk, kalt Material Design. Målet ved Material Design er å forene de ulike plattformene under ett felles designspråk. Til forskjell fra lignende rammeverk som Bootstrap, er Material Design ikke bare utviklet med tanke på responsivitet, men også innhold, interaksjon, design og animasjon.

Budskapet med lyntalen er det å gjøre utviklere og designere kjent med Material Design. Dette for å øke produktivitet, kreativitet og samarbeid mellom disse yrkesområdene. Ettersom Material Design er såpass godt dokumentert, vil det da være enklere for en designer å formidle sine ideere til utviklerne. I løpet av min karriere har jeg deltatt på ulike prosjekter der vi hadde mulighet til å benytte Material Design som designspråk for det endelige produktet. Prosjektene var innenfor ulike sektorer, blant annet helse, transport og handel. I denne sammenheng har opparbeidet meg noen tanker om bruksområdet og implementasjonsteknikk for designspråket.

Read more...

Less, but better. Approved_talk

Lightning talk - Suggested by Michael Garvey, over 4 years ago.

Crafting simplicity is your best design strategy in an environment full of different screens and devices. How do you set yourself up for success when apps and websites must be accessible on a watch, phone, tablet, PC and in the living room? Dieter Rams' 10 Principles of Great Design are enormously helpful, and the following 5 are especially applicable to today's UX & UI design challenges:

- Good Design is Innovative (But not more innovative than the technology itself.)

- Good Design is Unobtrusive (It should be personalized, and seamlessly integrate into natural life.)

- Good Design is Honest (It does exactly what it promises or is expected to do.)

- Good Design is Long Lasting (Built to last, and references traditional paradigms.)

- Good Design is As Little Design as Possible (Purity, simplicity. Omit everything superfluous so that the essential is shown to best possible advantage.)

Craft design that is less, but better, and you'll be set for success!

Read more...

How making games can turn you into a better developer Approved_talk

Lightning talk - Suggested by Ricki Sickenger, over 4 years ago.

So you think you know everything you need to know about development? You use the latest and greatest javascript frameworks, displayed in lovely responsive mobile first awesomeness and backed by node.js.

Maybe you are the company's enterprise wizard, delivering massive computing power from a distributed network of Akka-based actors, using event sourcing for persistence with MongoDB as the event storage?

You might be awesome, but you probably don't know shit about how to render a 3D scene at a stable 60 frames per second at 1080p resolution, on a mobile phone, making sure user input is responsive, while streaming textures, sounds and 3d-models into memory as needed.

And why should you?

Because knowing some of this will make you better at the other stuff you do.

I will tell you how to think like a game developer. I will show how learning game development will make you better at resource management, optimizing and agile thinking. Game development is agile by default, and I will tell you how you can use that in other developer environments.

 

 

Read more...

Lessons learned in creating small and simple services Approved_talk

Lightning talk - Suggested by Sanjoy Roy, almost 5 years ago.

Small and simple services are always good. They are easy to understand and change. If any of the services does not meet your requirement, you can throw it and create a new one. That brings a huge developers' mind setup change in terms of building this type of system. Recently my team in Unibet has gone through this process. We have refactored our existing bonus system. It was a monolithic system. It was a big system, hard to make any new changes, time to market new feature was very high. So we have divided the existing system into multiple small and simple services. All the services are created in terms of business capabilities to provide business values to our valuable customers. These services have their own bounded context. They talk to each other using their REST apis. They listen to the events happening across whole Unibet's system and take appropriate action if necessary. These services are also monitored to check their health.

We have used REST level 3, in-memory data grid (Hazelcast), EDA, continuous delivery, different testing strategies (unit, integration, end-to-end).

It is really pleasant and challenging journey for the whole team to learn these concepts and create small and simple services. In this talk I want to share this experience with others.

Read more...

Objects that work Approved_talk

Lightning talk - Suggested by Einar Høst, almost 5 years ago.

Objects as we know them are broken in many ways. They fail to control the state they are given, obscuring rather than assisting our ability to reason about our applications. They are used to build things that aren’t objects by nature, yet lack facilities to properly model things that really are objects, making them a poor fit in both cases. They have a completely ad-hoc approach to identity, states and state transitions. They are tightly coupled to each other through the mechanism of object references. They are not in control of their own execution, relying instead on external threads of execution to enter at will through their methods, sometimes several at once. But we can fix all these things. We can have objects that actually work. I’ll show you how.

Read more...