The blog of , a Ruby on Rails development team
Known from Rails LTS, makandropedia and Nanomize

Introductory interview with Daniel

Introduce Yourself

Hi, I'm Daniel Straßner, living in a town close to Augsburg. During leisure time I like fiddeling with my Raspberry PIs (there's four of them). I use them as Media PCs and server playgrounds so I can experiment with stuff like Docker, which works extremely well (check out hypriot). Other than that I care for the preservation of Bavarian heritage and customs. This means you could see me doing a Schuhplattler or playing the button box at public events around here.

Before I got into the IT industry I studied business mathematics in Augsburg. It was an internship that got me interested in software development. After my bachelor I decided to do a graduate program in computer science. During college I worked for several software companies as a working student.

How did you first learn about makandra and what drew you to makandra originally?

I learned about makandra as I found an ad for a Ruby-on-Rails workshop at the University of Augsburg. I couldn't attend the workshop, however, I checked the makandra webpage from time to time as I really liked makandra's core values and their approach to developing good software. When the time came to decide for a topic for the master thesis, I got in contact with makandra and was lucky that they had plenty of interesting new problems to solve.

What is your role at makandra?

I'm working as a software developer.

What are 3 words to describe makandra?

  • professional
  • efficient
  • caring

What challenges are you looking forward at makandra?

As trends in the software industry are vastly emerging it will be interesting to decide for new technologies we could add to our stack. People at makandra use to make well-considered decisions about software, so don't expect us to do right away.

What book did you read last?

My bedtime reading for the last few years: The Adventures of Sherlock Holmes (pages: ~1400, pages before falling asleep: ~5 => I'm good for the next 280 years with this book)

Vim or Emacs? (Be careful here…)

Vim (but I'm still learning)

Best vacation you've been to?

A trip through the states (west). Quote: "It's not hard to be easy-going when you're living in California"

If you were an animal what would you be?

Some kind of bird (not sure which) as long as I can fly

If you had to eat one meal, every day for the rest of your life, what would it be?

Oma's Apfelnudeln mit Kartoffelsuppe (yeah that's an established term)


Welcome to makandra, Daniel!

2017 web tech predictions and good ideas that will not happen

1. Web devs will start owning performance on mobile

2017 will be the year where 20 seconds time-to-interactive on mid-range phones stops being cool. If you don't think that's an issue, maybe stop testing for mobile with a MacBook Pro and a small browser window.

Every Javascript library, Bootstrap release, web font and icon set adds seconds to load time on low-powered devices. The time has come for developers to own that trade-off instead of piling even more work on overworked CPUs and exhausted batteries.

In 2017 we will see teams succeed in making fast apps by simply loading less stuff. Expect radically smaller Javascript payloads and a move to minimalist CSS boilerplates. I even expect to see see web design with traditional web-safe fonts to save that 500 KB download of Open Sans which looks as dated as Arial these days.

Good idea that will not happen in 2017: Google search results showing how many minutes a page load will suck out of your battery.

2. IoT hype will continue to endanger the public

Pushed by consultants, every device that does not need to bundle Wifi and a web server will do so in 2017. Hence we're going to see a lot more botnets of unpatched toasters and lightbulbs.

I predict that there will be at least one large-scale DDoS attack caused by unmaintained household devices.

Good idea that will not happen in 2017: Regulations enforcing a best before date for networked devices, until which manufacturers are required to produce security patches.

3. Native apps must stop competing with the web (or die)

With two thirds of users having access to Progressive Web App features like store-less installation and offline support, the sweet spot for native apps must move or disappear.

If you're working on native apps right now, make sure to build something that cannot be done on the web: Large offline media, background audio, low-friction payments.

I predict that in 2017, several high-profile media properties will abandon their native apps in favor of PWAs, lowering maintenance costs and increasing engagement.

Good idea that will not happen in 2017: App stores allowing low-friction inclusion of unprivileged PWAs in their listings. We probably blew that chance by not buying Firefox phones in 2015.

Introductory interview with Natalie

At makandra we're welcoming 2 to 3 new colleagues per year. We'll publish short introduction interviews like this one with Natalie, who joined our development team this year.

Introduce Yourself

I am Natalie Krehan, living in Augsburg. Before joining makandra, I studied computer science with multimedia and besides my study worked as working student in the project management of an IT company.

How did you first learn about makandra and what drew you to makandra originally?

Searching for an IT company where I can learn all skills and knowledge to become a professionell developer, I discovered a job opening for makandra's trainee and I thought "that would be perfect". I turned on my heels and walked to the next computer to write my application and voila - now I am here! :)

What is your role at makandra?

In 2016 I have finished the trainee programm and wrote my bachelor dissertation at makandra. Now in 2017 I am joining the team as a developer.

What are 3 words to describe makandra?

  • expertise
  • passion
  • reliability

What challenges are you looking forward at makandra?

Honestly I can't tell what challenges I will face at makandra. I am new to the developer working life and I coudn't possible imagine all challenges waiting for me. But I am really excited to meet and master all of them!

Are you messy or organized?

Some kind of organized mess from my point of view.

Best vacation you've been to?

I can not really descripe the destination of our vacation trip, but I can describe the feeling I had. I loved those trips most, where we just jumped in our old lovely VW bus and just kept driving until we reached a spot we liked and stayed. On those trips we see a lot of cute little cities and gorgeous secret spots on deserted beaches or in mysterious pine forests. And if we fellt like moving on….we just hoped on our bus and were back on the road again…

Do you have a favorite quote?

My favorite quote is from Socrates: "Someone who believes being somebody has just stopped becoming somebody."


Welcome to makandra, Natalie!

Know your APIs

Last month we unrolled another project: A social media center for one of Germany's largest insurance companies. The R+V Newsroom streams activities by R+V and R+V24 from eight different sources, giving a total of 14 different accounts polled, adding about 9 new posts each day. Until today, about 200,000 imports have been performed.

It's all about APIs

Polling APIs is different from usual single-box coding where errors are usually your own bad. Since we need to handle uncertainties implied by remote systems, our code needs to be particularly robust. Since we're talking to eight different systems, we need to talk eight different API languages. And since we're regularly checking data streams, we need a reliable way to find the point we left off for each of them.

Each network has its own associated importer that knows a) how to fetch new posts and b) how to write them to the database. With API client gems like twitter, koala, yt and xing_api, this is no big deal. Some sources had to be consumed more manually, like Wordpress RSS feeds, and to display press releases we're even scraping their web page.

The key for robustness is asynchronous import scheduled by whenever and performed by Sidekiq. When an import fails (due to an API unavailability like during the the DNS DDoS last month), a clever configuration makes sure it is retried a number of times before we're notified of its failure.

But it's not just flexible input, the R+V Newsroom also provides its data in various formats. Besides the website, it offers widgets that can be embedded into other pages and display a limited, filtered list of posts. Additionally, the post stream is available as RSS and JSON, leaving the choice on how to consume the data to the user.

Great UX with reasonable effort

In the frontend, the R+V Newsroom makes use of a number of great libraries to leverage user experience.

Number one is our more and more established Javascript library Unpoly. Think Rails + intelligent Turbolinks + Angular directives + power modals. Unpoly turns a plain full-page server-side website into a snappy app while requiring only little changes in your code. As a side effect, it leaves the frontend with lean Javascript (~280 lines of Coffeescript) and even has the website still accessible when Javascript should be turned off. You should give it a try!

We further sped up the page by delivering images in the right sizes for each device. Since monitor resolution is ever increasing, images need to be served in higher resolutions, too. At the same time, the traffic from mobile devices increases—devices, that mostly have little bandwidth and usually sport far smaller screens than desktop computers. By using the awesome lazysizes, we could accomplish a flexible and maintainable delivery of "just right" images to whatever device visits the page. Read more in this in-depth blog post.

Another notable improvement was made to file uploading in the backend. You all know these plain file input fields that make any webpage feel like it's 20 years old. It does not have to be this way! jQuery-File-Upload is a mature library that lets you build awesome, snappy file uploads that are customizable and play well with server-side components like CarrierWave. See an in-depth example in the makandropedia.

Hosting by makandra

Having this new platform with a great UX, R+V decided to add the other half of UX: reliable servers. The Newsroom is hosted on makandra's powerful Rails infrastucture. Like web applications from Audi, ABUS and ProSieben, the R+V Newsroom runs on redundant machines that are properly scaled and caringly maintained.

With all this in place, the R+V Newsroom is a solid platform with a snappy UI in both frontend and backend, looking forward to its next 100,000 imports.

Four party cooperation

The R+V Newsroom is the result of a multi-company endeavor. Conception, project management and customer communication was done by d.tales, a content marketing agency from Munich. Christian Ringleb crafted these clean, bluey designs, while we were growing the Newsroom line by line. Thanks for the sweet cooperation!

Introductory interview with Andreas

At makandra we're welcoming 2-3 new colleagues per year. We'll publish short introduction interviews like this one with Andi, who joined our operations team two weeks ago.

Introduce Yourself

I am Andreas Herz, living in Schwabmünchen south of Augsburg. I live there with my little daughter and my wife. In my spare time I like to fool around with my daughter or rebuild the Lego buildings she destroyed. If there is still time left I like to work on technical projects, playing video or board games. Before I joined makandra I worked as a systems developer for Linogate after graduating from Augsburg University, where I studied computer science with physics.

How did you first learn about makandra and what drew you to makandra originally?

I know makandra since the beginning and followed the progress they made. After a nice evening at the summer party I had a great talk with Henning and Thomas about the opportunities at makandra and had the chance to get an valuable insight into the daily work.

What is your role at makandra?

I joined the operations team as senior operations engineer.

What are 3 words to describe makandra?

  • structured
  • organized
  • familiar

What challenges are you looking forward at makandra?

I'm looking forward to learn more about the techniques used at makandra, especially Puppet and Ruby. It's also interesting to see how a more advanced setup with loadbalancer, dedicated servers, failover etc. is working and managed with a huge amount of automatization.

Are you messy or organized?

Sometimes even too organized.

Describe what you were like at age 10.

Imagine a small nerd sitting in front of a PC 24/7 playing video games or trying to fix the PC from other people.

What did you want to be when growing up?

I wanted to be a game developer which also brought me into coding.

Best vacation you've been to?

So far the best vacation was honeymooning in the Berchtesgaden Alps. We had a really nice hotel and liked the relaxing and calm atmosphere there close to nature.

Vim or Emacs? (Be careful here…)

Vim of course :)

What tools are you using that you don't want to miss anymore?

Linux in general (although it's an OS), but without i3wm, zsh, tmux, vim and taskwarrior I would be less productive.


Welcome to makandra, Andi!

Our address:
makandra GmbH
Werner-von-Siemens-Str. 6
86159 Augsburg
Germany
Contact us:
+49 821 58866 180
info@makandra.de
Commercial register court:
Augsburg Municipal Court
Register number:
HRB 24202
Sales tax identification number:
DE243555898
Chief executive officers:
Henning Koch
Thomas Eisenbarth