Image for post
Image for post

Unit testing RxSwift apps is the topic I want to talk about today. This is the last part of my series ‘How to use RxSwift with MVVM’, where we have learned to use RxSwift by implementing the Friends application. The only remaining thing is to unit test the application. Unit testing of RxSwift applications is pretty similar to unit testing a normal swift application. Once again, the biggest change is that we handle all the callbacks and data updates with observers. In this post, we’ll see how to:

  1. Handle Observables and subscribe to events.
  2. Mock network layers for unit testing.
  3. Handle data validation in unit tests. …


Image for post
Image for post

This article is all about how to use RxSwift with MVVM. RxSwift has been a hot topic in the swift community for a few years now, but somehow I’ve managed to avoid it. It took me a while to switch my brain to the state that everything is an Observable. I also had some trouble at first to figure out when to use Variable, Observable, PublishSubject and how I should bind values to UI components. I'll cover all these topics in this blog. I'll show how to use RxSwift with MVVM, UITableView with RxSwift, how to write a network layer and how to test a RxSwift app. I won't go through the MVVM pattern from the ground up but after you've read the series, you'll be able to use RxSwift with MVVM. …


Image for post
Image for post

Ever made an app that is impossible to use? There’s a chance you have. Technology users are a diverse bunch, which means that some of your users are using your app much differently than you would expect. That’s where accessibility comes in: Designing for everyone regardless of disability. Here are some tips and resources to get you started.

Don’t rely on a single sense

Whenever I ask people what comes to their mind when thinking about accessibility, the answer is almost invariably: “Putting alt texts on pictures!” That is indeed an essential part of making your product accessible. This isn’t just about <img>'s though. If a user wouldn't know what to do if an image is missing, it needs a label. For example, if you were to write something like this:
<button class="glyphicon glyphicon-arrow-down" />
A screen reader would announce it as just a "button". …


In a previous blog post about my summer at Vincit, I went over some general information and user experiences about HoloLens. This post picks up right where the last one ended and offers some insight in to the development process for HoloLens.

Diving into development

Developing for HoloLens requires a Windows OS and Visual Studio. Most of the holographic apps are made in Unity with C#, but you can deploy 2D Universal Windows Platform apps to the device as well. There’s a HoloLens emulator and personal editions are available for both Unity and Visual Studio, so you can start fiddling with them for free if you feel the need to scratch the AR itch. Microsoft provides plenty of resources to get started with HoloLens development. There are tutorials which show you how to implement each of the input methods, design guidelines for holographic UIs and more. Additionally, I recommend checking out MixedRealityToolkit (MRTK, formerly HoloToolkit) and Vuforia SDK (integrated in to Unity in version 2017.2) …


I had just landed a summer job at Vincit and I was grinning like a maniac the moment I heard I would be working with Microsoft’s HoloLens. Growing up with computers and being interested in all sorts of gadgets, still not having had any previous experience with Augmented Reality (AR) glasses and now getting to work with the stuff that Sci-Fi adventures are made of, who wouldn’t be excited? Now that the premise has been set, let’s move on to the actual content.

AR Today

Even though Augmented Reality is still young, the AR hype train is gathering momentum steadily, as more and more companies invest in the technology. Quite a few of the big players in Silicon Valley are already working on their own AR projects, including Microsoft’s HoloLens, Apple’s ARKit and rumoured AR glasses, Facebook’s AR image filters and Google’s ARCore and Tango to name a few. Microsoft is also blurring the line between AR and VR with Mixed Reality, allowing development of applications that work on both the HoloLens and the newly released Windows Mixed Reality headsets. …


Image for post
Image for post

What do designers actually do?

There often is quite a bit of confusion about what “UX designers” and “service designers” actually do in a software project. A common misconception is that they mostly just design the pretty visuals and draw UI mock-up pictures, so that the aesthetically challenged code monkey, such as myself, has a reference to go by while implementing the UI. I used to hold that same misconception when I was starting out my career. Now, after a couple of years, I have learned that I was wrong.

A modern software project tends to be a very cross-disciplinary undertaking and agile software teams are often relatively small. This leads to people having to wear many hats. On the technical side, this has led to the rise of roles such as the much coveted “full-stack developer”, which emphasizes flexibility and versatility. However, designers are often overlooked and underappreciated in this regard, even though a good designer can give many full-stack developers a run for their money in terms of both. …


Image for post
Image for post

Vincit was founded in Tampere in 2007 but it has since expanded to Helsinki, Turku and all the way to California. Every month we have an internal meeting where we go through what has happened during the previous month. It is important to share this information with all the people in the company, so when we first expanded to Helsinki in 2014 we needed to start sharing these meetings online. At first this meant just a random laptop and a webcam pointed at the presenter. The stream was shared to others using Google Hangouts. Very soon it became clear that this approach did not work at all. The quality of video and especially audio was bad. …


How functional programming in Clojure made me a better person

Image for post
Image for post

My name is Toni and I’m a programmer

I wrote my first choose-your-own-adventure game when I was eight years old. I had learned to instruct my trusty C64 to wait for input, process the input, print output, rinse and repeat. My first university classes were basically the same, although the process was much slower because my Java code had to be compiled in each iteration. However, we soon ditched any notion of quick prototyping and moved on to Real Programming, which evidently involved lots of modelling, diagrams, classes, objects, and instances.

Now, having used Clojure for a year at work, I’m back to being that kid who enjoyed programming. I write functions that take data as input, do stuff with that data, and output data. That’s it. I can try out stuff in the REPL, look what I got out of it, and try something else. I see the data. I can touch the data. I get immediate feedback. …


“Something’s a little bit off here.” That’s what I predict your first thought to be upon seeing my cubicle for the first time. There’s no screen or mouse in sight. Instead there’s a guy hammering away on a keyboard, staring at seemingly nothing.

Image for post
Image for post

It’s only me, and my colleagues can assure you that I’m mostly harmless. I’m a software developer working at Vincit offices in Tampere. I’m also blind. In this blog post I’m going to shed some light on the way I work.

Are you blind as in actually blind?

Correct. I can perceive sunlight and some other really bright lights but that’s about it. In essence, nothing that would be useful for me at work. …


Image for post
Image for post

It’s Monday August 21, 2017. Fifteen developers and designers are creating solutions for our ten US based clients at Vincit California’s office. The designers are currently reviewing the work of our extended team in Finland, where they have already worked a full day and delivered their day’s output for the Team California to take on. It’s almost the anniversary of my relocation and official start date of Vincit California operations. Looking back, a year ago we only had one local client, hot-desk from a shared office space, big plans and even bigger dreams. We have grown fast.

About

Team Vincit

Passionate Software & Design Company

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store