Techblog

Floorplanner's adventures in foam

Company culture: it’s fun!

Working at Floorplanner can sometimes be hard, but most of the time it’s fun! We have passionate people, hard problems and millions of users waiting for your updates.

We want you to do your best work possible, so we want to give you the tools necessary to make that happen. This means a nice office with a great view, state of the art hardware & software and most important, smart and positive colleagues.

All of that is nice to have, but I think most of the fun comes from working on – and solving – hard problems. And we have plenty of those! And since we have a lot people using our products, they’ll be happy when we improve them.

Sounds like a good ol’ win-win situation to me.

Company culture: chaos

Yes it is chaotic, stuff crashes and priorities change (a lot). But it’s success we’re after, not comfort.

Why do priorities change one might ask? I think there are two reasons for that; changing business models and changing tech.

The business model for Floorplanner is now pretty clear, but it took us a while to get it right. After we acquired Mydeco we had to try out several business models to figure out how we could make money with Roomstyler. I think we are on the right track now. For Yoostyler we are now in the middle of experimenting with different business models. We have to try out different things to see what sticks. As we don’t know what will work and what won’t, it requires us to be nimble and yes, that might feel a bit chaotic.

Business models change, but technology seems to be changing even faster. From Flash to JavaScript and WebGL, from RealityServer 3 and Blender to RealityServer 4, from Rails 2 to 3 to 4, from Xapian and Solr to ElasticSearch, mobile first, responsive design and the list goes on and on. The world changes fast and we have to keep up to stay relevant.

Besides that, we are hiring new people which will also add to the chaos. So buckle up and enjoy the ride!

Our company culture

I’m trying to write down how we do things at Floorplanner, our culture. It’s more about describing how it is now, than writing down how it should be. Because I think we already have a culture, we don’t have to invent it, and actually I’m pretty happy with our culture. By writing it down I want to make it more concrete, more tangible. I think it can help us to get us all on the same page, but it can also help newcomers to make it easier to do their job and be successful at Floorplanner.

Rendering interior designs at 4K in only a couple of minutes

image

The rendered interior designs on Roomstyler are by default 640 x 480px, and they are free. When you need more pixels we offer renderings at a higher resolution for a couple of euros, either 1280 x 960px or 2048 x 1536px.

With our new hardware – adding machines on a regular basis – we want to create better images in less time. For this experiment we wanted to render an interior design at an Ultra HD resolution of 3840 x 2180px aka ‘4K’ or ‘2160p’. And we wanted to render it under 5 minutes!

I’m very pleased to say that this experiment turned out even better than we anticipated! Have a look at these results which have been rendered in only a couple of minutes.

Rendering at a 4K resolution is not ready for production at the moment, but we will keep working on it to be able to offer it to our community soon.

Architectural Sections

cross section, also simply called a section, represents a vertical plane cut through the object, in the same way as a floor plan is a horizontal section viewed from the top. — WikiPedia

Well we don’t have the vertical ones yet, but even the horizontal ones proved to be very helpful when visualizing living space.  Without them, much of the interior is occluded by walls, and you have to take a bird’s eye view to see what’s in.

[twentytwenty]Before

After[/twentytwenty]

 

Now the procedural geometry that our walls are made of is tricky in itself. Luckily the approach that we took to make it, allows us to create and render architectural sections rather easily. The trick is to use the geometry as a set of surfaces, and apply set theoretic boolean operations on these sets: union, subtraction, intersection.

step0

Ordinary floorplan…

step1

…minus a box…

step2

…et voilà!

That’s it, we just need to create a box covering all walls, with its ground facing face elevated where we want our section to be, then simply subtract this box from every (or all) the walls.

HTML5 floorplan viewer renders 2D view a lot faster

A lot faster than our current Flash floorplan viewer that is. Try it out yourself with this massive floorplan.

Btw. our WebGL engine is not fully up for this task of rendering this floorplan in 3D (yet).

New (beta) HTML5 2D/3D floorplan viewer available for all floorplans

We made a fair bit of progress with our new HTML5 floorplan viewer app. Last time the 3D view (WebGL) was only available in a test app, but now we merged it with the 2D view (Canvas) to create an actual viewer app.

As the title suggests, you can open any floorplan on floorplanner.com in the new floorplan viewer app. It’s not in production yet, but you can get it by manually adjusting the URL. Make sure the URL looks like this:

http://floorplanner.com/projects/{projectID}/desktop

You can see two samples of random floorplans here:

Please try it out yourself and if you encounter any issue let me know.

How to install RVM, Ruby, Rails, MySQL, MongoDB on Mac OSX Yosemite

* Updated on 11th of May, 2015, thanks Jamestoher for the update *

Installing Ruby on Rails on a Mac can be a daunting task. From 10.6 to 10.10, I’ve been through all the issues. Starting with mac ports and all kinds of ruby installers. I’m going to explain how to setup the rails environment as easy as possible. We’re going to start with a clean Yosemite install, so we don’t have any conflicts with already installed software.

Step 1. Install Homebrew

Homebrew is a package manager for the Mac. Just like you have apt or yum on linux. It can install all sorts of applications and libraries. Start off with installing Homebrew by issuing the following command:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

To make sure Homebrew is installed correctly run:

brew doctor

Step 2. Install RVM

RVM stands for Ruby Version Manager. It can manage multiple ruby versions. This is especially handy when you have more than one applications to control. But it’s also handy to isolate ruby and it’s gems. Starting a new app with the latest version of ruby, no problem, while still running your older app simultaneously.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

and

\curl -sSL https://get.rvm.io | bash -s stable

Reload your bash_profile, so it can initialise RVM.

~/.bashrc

Run RVM requirements to install basic required packages with Homebrew. Accept the license agreement and install Xcode Tools. After installing the tools continue the rvm requirements installation.

rvm requirements

Step 3. Install latest Ruby

Install ruby, ruby-head is the latest version. You can also use 1.9.3 for example or even a ruby version with a different patchlevel. For ease of use we use ruby-head. You can call ‘rvm list known’ for all available rvm environments.

rvm install ruby-head

Optional. Install Git

Git a version control system, which can be used to control your code repository.

brew install git

Optional. Install MySQL

Install MySQL database and the client to connect to it. This used to be a tricky ordeal because the mysql2 gem needed specific locations for the files. Right now it should work out-the-box.

brew install mysql

Optional. Install MongoDB

MongoDB is very well known document database. Only install it when you know you need it. There are many alternatives such as Redis for key-value database.

brew install mongo
sudo mkdir -p /data/db/
mongod # to start

Optional. Install PostgreSQL

Postgres is a more advanced SQL database. I think it’s becoming more default now since MySQL was taken over by Oracle. Decide which one you would want to use. Beginners can better start with MySQL.

brew install postgresql

All done!

That’s it after install all these packages you can start a new rails app by running:

rails new your_application_name

Rails shouldn’t be that hard to install anymore. Best of luck!

My working environment

Lastly, here is my Mac working environment. I use all of the applications on a daily basis:

First new Floorplanner tutorial movie: how to draw walls

In a previous post I mentioned that we bought a Yeti microphone to create tutorials with sound. However, for this first new tutorial movie we didn’t use Yeti,  because we didn’t have it yet. For the next ones we’ll use it.

Hopefully you’ll be amazed by the sound quality then!

A Yeti microphone to create tutorial movies with sound

We got a new gadget at the Floorplanner office! It’s an USB microphone called Yeti.

The Yeti is one of the most advanced and versatile multi-pattern USB microphones available anywhere. Combining three capsules and four different pattern settings, the Yeti is an ultimate tool for creating amazing recordings, directly to your computer. With exceptional sound and performance, the Yeti can capture anything with a clarity & ease unheard of in a USB microphone.

Why do those guys need a microphone you might ask. Well, that’s because we are creating a new set of tutorial movies, and this time they will have sound! Yes they will have sound, unlike our silent-hit-movie with over 2.5M YouTube views.

Keep an eye on the Floorplanner help section for the new tutorial movies.

« Older posts

© 2015 Techblog

Theme by Anders NorenUp ↑