Our mission has always been to make it fast, easy, and fun to build great mobile apps and to help any developer deliver apps on any platform and any device. Blank Slate Systems has a similar philosophy: allow people of all ages and across all sectors to turn creative ideas into reality. Their first app, Zotebook (currently available for iOS), is an easy alternative to CAD, turning rough sketches into precision drawings ready for 3D printers and laser cutters.
Today, Kyle Kuczun, Blank Slate’s CEO, tells us how Zotebook brings sketch recognition technology and 3D printing to the masses, from high school STEM workshops to professional architects and designers, and why .NET is the only option to get the precision and quality their users demand.
Tell us a little bit about your company and role.
We aim to make it easy for anyone, from sellers on Etsy and Kickstarter to engineers at large industrial and manufacturing companies, to go from concept to product, from idea to manufactured creation. 3D printers turn designs into physical objects, but complicated design software and a fragmented tool chain makes the “making things” process more challenging than it has to be.
Together with my CTO and co-founder, Gabe Johnson, who has been programming software for 25+ years, Blank Slate offers a solution to this problem by turning anyone into a creator. Gabe and Dr. Mark Gross founded the company in 2012, and I joined in 2016. Our software, born out of Gabe’s PhD work with Gross at Carnegie Mellon, uses innovative algorithms and interaction techniques to make it simple and straightforward for anyone to use a tablet to create and edit a design that can be fabricated with laser cutters or rapid manufacturing devices.
Describe Zotebook for us, and what it allows your customers to accomplish.
Designers typically capture ideas with paper and pencil and only move on to pixels when they’re ready to commit, because traditional CAD programs require immediate specification like line thickness, line length, and alignment. At Blank Slate, we use computational media to re-think how people design, and our platform provides an easy way to turn sketches into physical objects. Zotebook, our Xamarin-based mobile app, uses sketch recognition technology to capture and clean up rough drawings; users sketch an idea with their fingers, and we turn it into a precision drawing (known as a CAD file). The next problem is preparing the file for specific output devices, like a laser cutter or 3D printer, which is where our cloud service does its magic by simplifying the workflow pipeline, from initial concept to physical object, whether it’s manufactured with a 3D printer, laser cutter, or CNC (Computer Numerically Controlled) router.
For example, say you want to laser cut several designs in one run; you’d need to assemble shapes from separate files into one file and pack shapes together to optimize the material you’re cutting, reducing waste and saving money. Zotebook works with Blank Slate’s cloud app to automatically tightly pack (or “nest”) your shapes together in your cutfile, so you don’t waste material. You can even re-use material with holes by indicating areas to avoid when laying out sketches.
We also integrate with top CAD companies, like SketchUp and Onshape, and we partner with on-demand manufacturers like Voodoo Manufacturing and Ponoko. Our customers can automatically save their designs to our cloud app, import them to other design software, and import/export them to other 3rd party sites.
Why did you choose Xamarin?
After building our proof of concept targeting laptop computers in Java, we knew we needed to move to the tablet to allow users to interact with their designs and use their fingers to “sketch.”
We considered writing our apps with platform-specific code (e.g. Objective-C or Swift for iOS and Java for Android) or as a “web-app-to-native” product. But, the former is too heavy an investment in any one platform, and the latter lacks the ability to tap into native graphics.
We’re making a design tool, so our technology must provide superior graphics and better UX. Access to hardware-accelerated graphics is essential, and native is the only way to achieve that. Xamarin gives us access to native OpenGL graphics for all the platforms we support. For engineering reasons, C# and .NET are a good platform for building apps that evolve over time; there’s a huge developer community, great documentation, and an evolving 3rd party library ecosystem. The toolchain is also excellent, from the IDE for development to the package management and regression testing.
Xamarin makes it easy for us to develop apps for all platforms, which is critical for reaching our customers. After four years, we’re delighted with Xamarin.
How did you get up to speed with cross-platform mobile development?
When we first jumped into this, both platform providers and developers were still figuring out how mobile worked.
For us, trial-and-error and lots of reading blogs and forums for advice resulted in success. Additionally, the community, both inside and outside of Xamarin/Microsoft, has been a great learning resource.
Walk us through your development process. Has it evolved over time?
At a high-level, it’s pretty straightforward: we use Xamarin Studio on Mac (Visual Studio for Mac Preview), conduct unit testing, and then manually build and deploy.
Our first iOS release (in 2014) took a fair amount of time. It was the first commercially available sketch recognition application. Although we had to build the machine learning and UX components ourselves, it would have taken twice as long with Objective-C, the only other (viable) option when we started.
The .NET software ecosystem and community has been important to our success, and we’ve incorporated open source tools to go faster with fewer bugs. As of today, we’ve deployed our sketch tool on iOS, and the response has been amazing.
Tell us more about how your users are responding. What’s your favorite review?
The overall response has been great! Because of our tool’s broad applicability and ease of use, we appeal to a wide range of people with varying degrees of design expertise. We allow designers, engineers, and architects (or whoever else!) to create their ideas, faster. The result is an increase in iteration speed, resulting in better designs and products.
We’ve had four–year old kids sketch an idea and, within minutes, successfully laser-cut a physical object. Most four-year olds can’t tie their shoes, and our technology lets them build—imagine what a trained designer can do!
One review on the Apple AppStore says, “Crazy simple, but it works!” This is my favorite, because it illustrates our goal. We want anyone to be able to make their ideas; we want to take you from thought to thing. To do this, our tools have to be crazy simple.
To date, we have 36K+ downloads, including STEM educational organizations, maker labs, and an array of professional designers and engineers.
What’s your team planning to build next?
Sketching is the beginning of design. Just as Xamarin supports the programmer and integrates with the full C# and .NET ecosystem, Blank Slate’s sketch application supports the designer or engineer and integrates with the full lifecycle of thought to thing.
We are simplifying the entire workflow, which includes integrating with various software and hardware tools that complement and augment our solution. For example, our in-development SketchUp integration lets SketchUp users import their sketches and apply advanced 3D editing. We’re about to ship another feature that allows architects and engineers to explode 3D models into 2D flatpack parts (from OnShape and SketchUp), and further optimize their files to work on their desktop manufacturing devices, creating physical models out of paper, plastic, or wood.
Lastly, working in the 3D world is important, even if you’re starting from a 2D design. We have an upcoming release to enable users to extrude designs into 3D.
After we deliver this next round of features, we’ll port our app to other platforms. 90% of our codebase is already cross-platform.
What advice do you have for developers who are just starting out or investigating mobile development?
One of the important things that experts have is intuition. To develop and hone intuition, you need to understand underlying organizing principles. Software development is more than a bunch of lines of code; there are organizing principles to good programs: how to design, write, maintain, collaborate, and debug. The sooner you understand the patterns that underlie mobile development, the faster you’ll start having success.
Visit xamarin.com/customers to learn how our customers across industries and geographies deliver amazing mobile apps and xamarin.com/download to start building your own.