Hire Us

Railsware Blog

on product management, engineering, design, culture and many more...

Drift widget for Google Spreadsheets add-ons

Drift widget for Google Spreadsheets add-ons

Since we started to work on our own products, it was clear we have to keep dialog with our users in order to maintain best direction for the products’ evolution. After a few more or less successful tries, we ran into Drift, nice and clean solution for customer support (and …

Using Configurable Shared Examples in RSpec

Using Configurable Shared Examples in RSpec

Shared examples are a good tool to describe some complex behavior and reuse it across different parts of a spec. Things get more complicated when you have the same behavior, but it has some slight variations for different contexts. In this case it’s easy to end-up having a bunch of …

Smart Checklist Tasks Organizer

Smart Checklist – tasks organizer built-in in your JIRA

We are glad to introduce you the new version of Smart Checklist add-on for JIRA Cloud. It’s hard to believe, but the first version of our add-on has been launched on Atlassian marketplace half a year ago!Over this time, Smart Checklist has become a MUST tool in our company’s processes …

Using flowcharts to create consistent scope

Using flowcharts to create consistent scope

In product development, original idea takes lots of transformations on it’s way to the actual implementation (writing code which works and provides desired benefit, that is). One of those is transition from sketches/designs (“sketches” further) done by UX/designer into actual stories that developers would take to iteration. Writing stories should …

Railsware offices in Krakow and Kyiv

New offices, new chapter.

Changes all around! In 2016 we changed locations of our offices both in Kyiv and in Krakow. Railsware has developed a lot in last 5 years and for all that time we’ve felt a strong need of finding new, cosy spaces where we would feel comfortable and productive. After months …

Touch Bar interface for Slack

Touch Bar interface for Slack. Railsware vision.

As it is well known by (almost) every Mac user who is alive and conscious, On October 27th Apple unveiled their updated notebook line. Although there are a ton of buzz about it being underpowered and overpriced, we would not rush to conclusions until actual devices will be shipped to …

Stand-up Meetings - Railsware way

Stand-up meetings: Railsware way

While I don’t think that anyone who has ever used any modification of Agile methodology would require definition of a stand-up meeting, its still needed to have some base to start from. Let’s say this is a team meeting, usually done standing, so physical inconvenience would force people to be …

Manage Client Happiness with Regular Demos

Manage Client Happiness with Regular Demos

Regular Demos – is one of the most powerful instruments of managing your client’s expectations. That’s the way you can formally get acceptance of your team’s work and eliminate frustration risks caused by missing functionality. It’s like “selling” product to the consumer and motivating them to buy it. This article …

Developing desktop applications with Electron and Bozon

Developing desktop applications with Electron and Bozon

A pretty cool and ambitious idea of writing non-web applications with web technologies is all over the place nowadays. We’ve got React Native for developing mobile apps with JavaScript, there are NW.js (formerly node-webkit) and Electron (formerly atom-shell) for building desktop applications with HTML, CSS and JavaScript, and many other …

Slack custom emoji to poll groups quickly

How we use Slack custom emoji to poll groups quickly

Do you know how to make quick, simple pools inside your group without any specific form-based tools? Google or Wufoo survey requires plenty of preparation and distribution time. Slack is good We use Slack messenger as team collaboration tool inside Railsware.Luckily it provides nice ability to add reaction to every …

Understanding PostCSS and plugins potential

Understanding PostCSS and plugins potential

Most front-end developers have already heard about PostCSS, maybe some of them have tried to use it. It is quite a popular tool nowadays, but not yet as massively used as SASS or LESS. However, the buzz around PostCSS is increasing dynamically and benefits over other systems becoming even more …

User stories in product development

User stories: why?

In this article, I am trying to describe my own view on stories in product development and to share some efficient ways of working with them.Let’s start, however, with the question of why there should ever be stories. I have to mention that stories is just one of tools Railsware …

Debugging Capybara: screenshot of error page on CircleCI

Debugging Capybara: screenshot of error page on CircleCI

Having real screenshot of a failed integration spec can save hours of debugging. We had screenshot with error on the local development environment, and wanted to have it on Continuous Integration server. Luckily for us, it’s a real no-brainer, if you use CircleCI. There is no need for custom S3 …

Responsive layout tests with Capybara and RSpec

Responsive layout tests with Capybara and RSpec

Responsive web design is not a feature these days, bur rather a must. So, while implementing responsive layout in your application, you might find helpful adding verifications to your acceptance tests and ensure accessibility/inaccessibility to your app functionality depending on the screen size. Capybara has a method to resize the …

Flexbox as a solution for browser reflow optimization

Flexbox as a solution for browser reflow optimization

While we’ve been developing one of our products (Mailtrap), we needed to create 2 column page layout with inner blocks stretching down to the whole height of browser window with sticky footer and header. The page layout looks like this:This layout has several nesting levels which makes it more complicated to …

Make AngularJS 1.0.7 work with Jasmine 2.0

Make AngularJS 1.0.7 work with Jasmine 2.0

During setup of Jasmine 2.0 for AngularJS 1.0.7 application it turned out that they are not compatible. The reason is that Angular 1.0.7 is compatible with the older version of Jasmine – 1.3. And there were several breaking changes in Jasmine private API which was used by AngularJS. There were …

Git clean-up tutorial

Git Clean-up in Local and Remote Branches, Repositories

After working with branch per feature for a while any Git-repository becomes a mess of outdated and not finished branches. To deal with this issue, we need to clean-up three kinds of branches: In this tutorial we suppose, that “master” – is a default branch, where everything is merged (for …