# Great hardware. The software? meh

**URL:** <https://forum.formlabs.com/t/great-hardware-the-software-meh/2386>\
**Category:** General Discussion\
**Created:** [October 24, 2014, 6:33am UTC](https://forum.formlabs.com/t/great-hardware-the-software-meh/2386 "2014-10-24T06:33:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ChristopherBarr](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.formlabs.com/christopherbarr/32/645_2.png) [@ChristopherBarr](https://forum.formlabs.com/u/ChristopherBarr)\
**Post date:** [October 24, 2014, 6:33am UTC](https://forum.formlabs.com/t/great-hardware-the-software-meh/2386/1 "2014-10-24T06:33:42Z")

</div>

Of course I do not mean to hurt anyone’s feelings with this post, but  
blunt honesty literally guarantees that will happen. So be it. You can  
TLDR this, but I actually care if Formlabs succeeds, I know this is a  
perspective you need to understand, and all of this is true.

Overview

The Preform software is not good enough for the kind of Company I  
think Formlabs aspires to be. It certainly is not anywhere close to  
the caliber of the Machine itself, which I believe is absolutely  
excellent, both from an Industrial Design and an Engineering  
standpoint. Preform, on the other hand, is all about ‘looking’ slick,  
but functionally it’s a train wreck.

Where to begin…

Reporting individual ‘bugs’ is pointless, because the entire  
application is completely flawed. Sometimes it’s simpler, more  
efficient, and more cost-effective to simply admit a program is a  
failure, cut your losses, and just start over from scratch. This is  
definitely one of those situations, because ‘fixing’ all of it’s flaws  
requires a completely new program. The Form1+ was designed for  
Inventors, sophisticated Artists, and Engineers. The application that  
drives it needs to embrace and reflect that fact.

Here are just a few of the reasons Preform needs to go:

GUI

It’s ugly, overly simplistic, not configurable, wastes screen real  
estate, fails miserably at it’s most important core tasks, and it’s  
incredibly slow. More developer time was spent making the build volume  
box ‘zoom in’ when the app is opened, than making useful features that  
actually help users get work done. It’s like they read 'How to write  
intuitive GUIs", and then did the exact opposite. It’s more about the  
developers getting their rocks off on what _they_ perceive as ‘cool’,  
rather than wriing a program for _users_ that’s intuitive, fast,  
utilizes the skills and paradigms user’s already know from multiple  
CAD program interfaces, and has the functionality that users actually  
need to leverage the excellent Form1 effectively. e.g. They failed.

- Why is the rendering and movement so horribly slow? Load a model in  
meshlab and manipulate it. Then load it in Preform. Everything is an  
order of magnitude slower in Preform. Why?

- The ‘flyout’ view widget is incredibly useless. It’s behavior is  
non-intuitive, and it’s use is frustrating. For instance, when you  
mouse-over it, it moves away from your mouse so you need to move the  
mouse again to get to it. Once you do manage to keep it still, the  
buttons do strange things. For instance, the left and right arrow  
buttons do the exact same thing, but spin in different  
directions. Each can spin the model all the way around, so you kinda  
only need one. However, there’s no indication of which side you’re  
looking at. Top and bottom arrow buttons though, for some unknowable  
reason hit a wall, and it’s impossible to rotate the model  
completely all the way around. A slightly off-brown button state  
alerts you to this - if ineffectively.

- The ‘Status’ bar is always wasting 3/4" of screen. Problem is,  
nothing in it is very statusy. And why so huge? Ah, it has big  
buttons in it. Hmm, is it a dialog or a status bar. Identity crisis  
apparently. Again, very amaturish design. None of this data is even  
useful until I hit ‘print’ anyway. Show it to me then.

- The ‘tool bar’ on the left. Massive icons that waste space. But to  
use it, a quazi-modal dialog pops up right in your face - and likely  
right in your way too. But you can’t move it. _You_ have to work  
‘around’ the GUI elements, rather than them augmenting your  
workflow.

- Mouse movement of the model is terrible and painfully slow. The  
scroll wheel does not zoom at a reasonable rate, and changing this  
in Windows has no effect at all (not to mention you should not have  
to change it there anyway, but I was desparate). The user should be  
able to assign which button does what, and exactly how rotating the  
wheel zooms in or out - both in direction and rate.

- No preferences dialog to set anything (like above mouse behavior),  
or model color, or shading/wireframe, or default file locations,  
or…

- Sliders are way too sensitive and practically unusable. Why no  
direct numerical entry as well?

- There is no XYZ widget in the corner of the screen to help you  
understand the orientation of the model. Virtually every CAD program  
in the world has this. Think there’s a reason?

- Why are there no indicators of hinge and front always?

- There’s no useful common zoom controls, like active model bounding  
box, or extents, or percentage, or drawing a window, or…

- Constant shading and unshading of the model on mouseover is annoying  
and pointless.

- Every software update automatically loads the butterfly clip when  
the app starts up. WTF?

- Basically, a ton of time was wasted implementing useless or slick or  
downright crappy ‘features’, and almost zero time spent on making a  
useful tool. Grade: F.

Functionality

Supports. Don’t get me going. Well, I guess I already am, so here’s  
both barrels:

- The heavy gusseted stick with the ball and wedge point is overly  
simplistic, clunky, and wastes a lot of very expensive resin. That,  
and it’s hit or miss if it works at all.

- If you can calculate that the model is poorly supported in a  
location, and you can write code to color that location red, then  
why not simply figure out how to support it right in the first  
place? This is a complete copout. If it’s too hard for you, then  
maybe you’re not up to the task, and maybe you should not really be  
working at Formlabs.

- When manually trying to correct the red areas you bailed on, why  
does the addition of some supports inexplicably use a round rod with  
a point that penetrates through the top of my model? And why does it  
give no indication it’s using a round vs. a clunky support until I  
click to add it? What logic could it possibly be using to decide to  
use one or the other? And why can’t it show me ahead of time? I have  
been driven to almost throwing and breaking things by this shit.

- Why do I have no control over what tip the support uses?

- Why does this stupid tip become my cursor when placing the support,  
and why does it flip all around spastically, making aligning it  
literally impossible?

- Why, when I do manage to get it aligned, by moving my mouse one  
micron at a time, and waiting for the graphics to catch up, does the  
support get put in a completely different place anyway?

- Why, on a small feature that needs a support, do you make that  
clunky support tip go right through my model, destroying the  
feature?

- Why does a big clunky tip hit a flat face of the model at bizarre  
angle, embedding only a corner of it into the model?

- Why, on many added supports, is the ball and wedge not even attached  
to the support post that stops just below it. Waste all of the  
resin, with none of the benefit! And leave a mark on the part  
too. WhooHoo!

- Why do many autogenerated support tips stop just short of even  
touching the model at all?!

- Why can’t I place a support behind another support? Supports get in  
the way and there’s no way to ‘hide’ them so I can place a new one  
where I need to without deleting already good supports, and then  
re-adding them back in later!

- Why do you need to automatically update the support ‘integrity’  
after every single add or delete? Wait, I know the answer - so you  
can color the model. How about you let me push a button to do that.

- It seems like existing posts in the way determine where I can add  
new supports, as if you’ve become emotionally attached to the posts  
you’ve already built, and don’t want to move or hide them. How about  
hiding all existing supports, but make a colored spot where they  
touch on the model. Then I can add new supports easily where I need  
them, (which appear as a simple dot as well), and when I’m done, I  
press the new button to check integrity you’re going to add, and you  
can regen all posts to use the least amount of resin and provide the  
best support.

- Why can’t I drag supports around, or raise and lower them when they  
encroach on a feature? Add and delete are nowhere near enough control.

- Why can’t I manipulate supports when in slicer view - when I can  
actually see exactly where I need to put them?

- Why is pgup and pgdn a single slice anyway? Shouldn’t up and down  
arrow be that, with pgup and pgdn being many slices (like, ahem, a  
_page_ of many slices)? Whatever.

- I already gave you _absolutely free_ a much better support geometry  
paradigm to implement that would likely solve many of these  
issues. Use it.

- Basically _everything_ about the supports in Preform sucks. From how  
clunky they are, to how wrong the algorithm for placement is, to the  
the bad math used to calculate placement height, to how crappy the  
interface for ‘fixing’ them is, to the marks they leave on the  
print.

… I could go on for hours, but why do _I_ need to design usable  
software for the 3d printer I just spent over $3k on? So many software  
design decisions have been made incorrectly on the Preform project  
they’re not even countable. Bottom line: it’s _extremely_ unlikely  
that the current developers are up to the task of writing the correct  
front-end for the Form1. Everything they have done thus far screams  
that.

Please, for all of your users sake, and for the future of Formlabs,  
replace Preform and the entire software dev team with it. Start clean  
and build a _truly_ multi-platform front end that is in the same class  
as the Machine - Absolutely Excellent.

I think you should seriously consider the OpenSource route with the  
software while you’re cleaning house. You will attract a lot more  
ideas and help. You’re selling hardware and giving the software away  
anyway. Why not avail yourselves of the huge worldwide maker/hacker  
community that will undoubtedly help you write better code, and at  
least help you focus on better features? You’ll own and control the  
repo, but can accept the patches and bug fixes you want. I really  
can’t see how that’s not a big win-win for you and your users.

I fear a failure to take bold positive action now could seriously  
impact your future viability. The printer kicks ass, but the software  
is already getting a bad reputation. Since it’s closed source, and  
this software must be used to run the printer, this could be a  
deciding factor for many people to simply buy another device. Of  
course, you will never hear about those decisions.

---

<div class="post-metadata">

**Author:** ![Monger\_Designs](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.formlabs.com/monger_designs/32/181_2.png) [@Monger\_Designs](https://forum.formlabs.com/u/Monger_Designs)\
**Post date:** [October 24, 2014, 7:23pm UTC](https://forum.formlabs.com/t/great-hardware-the-software-meh/2386/4 "2014-10-24T19:23:11Z")

</div>

Here is an idea for you

> **[Applicant Tracking System | Recruitment Software | JazzHR](https://www.jazzhr.com/)**
>
> Optimize the hiring process with JazzHR's award winning applicant tracking system. Save time, make the best hires, and reduce recruitment costs

Go work for formlabs and see if you can do better.

---

<div class="post-metadata">

**Author:** ![sam\_formlabs](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.formlabs.com/sam_formlabs/32/1597_2.png) [@sam\_formlabs](https://forum.formlabs.com/u/sam_formlabs)\
**Post date:** [October 27, 2014, 1:16pm UTC](https://forum.formlabs.com/t/great-hardware-the-software-meh/2386/5 "2014-10-27T13:16:46Z")

</div>

Thanks for the lengthy write-up, Chris — though it’s hard not to have our feelings bruised _a bit_, it’s definitely more important to have frank, honest feedback. We’re always working to improve PreForm and though we’re pretty proud of what we’ve done so far, there’s definitely a lot of room for improvement.

For the record, I know that our software team has been taking a look at your post, so your thoughts have reached the right people–though they may be a bit miffed by your tone!

At any rate, I’m glad you love the machine, and I hope you’ll stick with us as we continue to build the best printer we possibly can.

Because this thread is a bit of a monster, I’m going to close it. I’m happy to continue the conversation in a more focused thread, perhaps dwelling on say, the top-three features that the community would like to see improved/implemented.

---

<div class="post-metadata">

**Author:** ![sam\_formlabs](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.formlabs.com/sam_formlabs/32/1597_2.png) [@sam\_formlabs](https://forum.formlabs.com/u/sam_formlabs)\
**Post date:** [October 27, 2014, 1:16pm UTC](https://forum.formlabs.com/t/great-hardware-the-software-meh/2386/6 "2014-10-27T13:16:53Z")

</div>


