contact us

Use the form on the right to contact us.

You can edit the text in this area, and change where the contact form on the right submits to, by entering edit mode using the modes on the bottom right.

           

123 Street Avenue, City Town, 99999

(123) 555-6789

email@address.com

 

You can set your address, phone number, email and site description in the settings tab.
Link to read me page with more information.

stefan-kracht.png

blog

How much would you pay for a macbook sticker?

Stefan Kracht

It's been a while now since I've launched my MacBook sticker shop stickerlicio.us. Over the last couple of years I've shipped a lot of orders from all around the world, have been featured by some awesome websites and received overwhelming feedback from many of my customers.

The only kind of negative feedback that comes up every once in a while regards to pricing. I sometimes stumble upon some people wondering why they should pay 8 € (around 10.70 $) for a simple piece of vinyl decal. A good question that I asked myself too when I first thought about selling MacBook stickers. I always took the time to explain myself and thought I could just as well drop my pants entirely, provide you with an insight into the numbers to make you understand the pricing and help you decide wether you are willing to pay that much for a tiny little MacBook sticker or not.

Let's talk numbers

I order the stickers in smaller batches and after trying a couple of materials and local printers I found a little copy shop next to my workplace. That shop exceeds in production quality, delivery time and friendliness. A sticker costs around 0,50 €. They are cut on a plotting machine and the unnecessary parts are removed by hand. Transparent foil is attached to keep the floating elements in position. Sometimes I do the cutting, it depends on how busy the copy shop is.

Every order comes in a cute little packaging including 2 promotional stickers which do a good job of protecting the stickers against being bend on their journey. I ordered them in larger batches, so it's just 0,10 € of packaging costs per sticker.

Shipping is included in every order and lies around 0,67 € per sticker depending on how many stickers are shipped together and how far they need to travel.

PayPal wants a piece from the cake too and charges an average fee of 0,46 € per sticker.

Doing the math, every sticker bears the cost of 1,73 € to make it from production to your door.

Overview of price ratio

Overview of price ratio

So it's 6,27 € for me. Yeah! But wait...

An income of 6,27 € per sticker may seem like a lot but this is not the end of the story. Stickerlicious is a one-man project. Everything that needs to be done is done by two human hands - mine to be exact. This saves money but requires some extra work on my part.

At the beginning there was quite a lot of initial work required to get everything going. Trying out some sticker designs, switching between different materials and finding a printing shop which provides excellent quality. Coming up with a name, creating a logo, designing a website, finding a web-hoster and making the online shop work: I spent lots of spare time and I never thought it would take so many weeks to make all this work. No money had been earned till that point.

Besides lots of automation, there is some handwork left for each incoming order. Every shipping label needs to be created in the online system of the german post office (2014 and still no API yet. Seriously!). After the label has been printed I do the packaging and take it to the mailbox the next morning. Finally I log into my shopping system and trigger an email informing you that your sticker has hit the road.

macbook-sticker-shipping.png

In addition to the everyday work, I try my best to keep a close relationship to my customers. Doing some social media work, answering support questions, sending replacement stickers if one got broken. I even decided to open source all of my sticker designs so you're able to reproduce or recreate all of my stickers if you are out of money or have great ideas for your own sticker design.

Shut up and take my money

8 bugs for a sticker is still a bunch of money, but you're covering more than just material costs. Thank you everyone who trusted me on that and was willing to pay it without questioning anything.

Feel free to comment, I'd love to hear your feedback!

Creating 3D models with ruby

Stefan Kracht

I'm not sure when or how this idea initially started, but I was so impressed by all the crazy 3D printing stuff out there, that I decided to dive into it and give it a try. I wanted to print a 3D object.

Since I had no clue of how to use 3D modeling software - and I was pretty sure that it's more than just a weekend project to get started - I decided to build on the knowledge and skills I already had. This is why I love to be a developer. We can built websites or robots and don't even have to switch the tools.

So why not create a printable 3D object with ruby? This is why I created the wavefront-obj gem.

Which file format?

I did a lot of research to find a file format that fits my needs best. The requirements are actually pretty simple as I don't need complex texture or animation features by now. All I want is to create points and connect them to surfaces which form the shape of an object.

The Wavefront .obj file won with a fairly good compatibility in the 3D online printing market: it's supported by common 3D modeling software and it even opens in Photoshop (tested with CS5).

A lightweight file format with a simple structure and easy syntax. Here is an example of a very basic file with a triangle:

o triangle
v 0 0 0
v 0 1 0
v 1 0 0
f 1 2 3

The first line defines a new object (o) with the name triangle. Every line below belongs to this object.

line 2-4 create multiple vertices (v) with x, y and z coordinates

line 5 is connecting the created points to a face (f) by using reference numbers of the points. These numbers equal to the order they were defined. Number one is the first point (0,0,0), two the second (0,1,0) and so on... A face can have as many points as you like and you can add multiple faces to create a 3D object by simply adding more lines with face definition.

The rendered result looks like this:

What does the wavefront-obj ruby gem do?

As you can see the structure of a .obj file is very easy to understand, but the daily routine reveals a big downside as well. You have to manage all the points and their associated reference numbers and this ends up in repeatedly upcoming thoughts like: "Did I already use that point? And if so, what was it's reference number again?" I wanted to solve this and create an interface that allows you to simply throw surfaces with points into the scene and let the library handle the point management.

It will take care about file generation as well and provides access to the raw data as a string or exports it as a file to your disk.

How to use it?

The installation is as easy as

gem install wavefront-obj

Afterwards just load the library, create an instance and give your 3D object a name.

require 'wavefront_obj'
cube = WavefrontObj.new
cube.name = "my awesome cube"

To shape the cube you will need to create 6 surfaces with the add_face method, which expects an array of point arrays (containing x, y and z coordinates).

cube.add_face [[1, -1, -1],[1, -1, 1],[-1, -1, 1],[-1, -1, -1]]
cube.add_face [[1, 1, -1],[-1, 1, -1],[-1, 1, 1],[1, 1, 1]]
cube.add_face [[1, -1, -1],[1, 1, -1],[1, 1, 1],[1, -1, 1]]
cube.add_face [[1, -1, 1],[1, 1, 1],[-1, 1, 1],[-1, -1, 1]]
cube.add_face [[-1, -1, 1],[-1, 1, 1],[-1, 1, -1],[-1, -1, -1]]
cube.add_face [[1, 1, -1],[1, -1, -1],[-1, -1, -1],[-1, 1, -1]]

That's it. Let's have a look at what the file content looks like.

puts cube.get_raw_data

This will result in an output like this:

o my awesome cube
v 1 -1 -1
v 1 -1 1
v -1 -1 1
v -1 -1 -1
v 1 1 -1
v -1 1 -1
v -1 1 1
v 1 1 1
f 1 2 3 4
f 5 6 7 8
f 1 5 8 2
f 2 8 7 3
f 3 7 6 4
f 5 1 4 6

Please note that all points that have been used within the add_face method are defined once at the beginning and inserted by their reference numbers automatically. To store the result on your disk, you can use the built-in filehandler and save it with

cube.save "my_awesome_cube.obj"

The rendered file looks like this

Example project

The explained examples were pretty basic and for simple objects like cubes or triangles you may avoid using a separate library. It just gets handy as the model is growing in terms of complexity.

Here's a sneak preview of what you can do with it, when you sent a generated .obj file to a 3D printer. A separate more detailed article on this topic will follow.

everything starts with a "hello world"

Stefan Kracht

It's a little bit embarrassing how long it took me - a so-called web developer - to finally get started with my blog. And somehow ridiculous as well looking back how easy it was in addition. But in the end the difficulties were more about decisions that had to be made.

ENGLISH OR GERMAN?

English it is. As long as I have no idea which people are going to read this I will assume English to be the most reasonable choice. It's a decision from the coverage point of view, not based on my language skills. So, sorry in advance for all the mistakes that I will make - or even already have made.

WORDPRESS, TYPO3 OR [INSERT YOUR FAVORITE CMS HERE]?

I don't like WordPress. Even if I don't have that much experience with it, all I've seen yet is not as I would like it to be. I always was a huge fan of TYPO3 and it's flexible content idea. Tons of extensions and a great template engine. So that should be easy, should't it? Nope! I started a TYPO3 based blog project some years ago and after many hours of work - tt_news is such a messy place - I just got lost in the details and it actually never went public.

A few weeks ago I stumbled upon Squarespace. I tested it, played around and instantly loved it. It took me about ten minutes to decide to make it the home of my blog and just went premium. No pressure!

WHICH TOPICS TO COVER?

I don't want to follow a general content concept. I'm planing to write about things that I consider to be worth spreading and writing about. This might be pretty technical things in general.

HERE WE GO!

So here it is. Like the shoemaker who's finally made an own pair of shoes. My formal:

hello world.
— sincerely Stefan Kracht

PS: Don't miss to grab my RSS-Feed. <3