We added a section on automatic firmware updates and rearranged things a bit for clarity. The most recent version of the documentation can be found here.
Soon we want to add a few tutorials. If anyone has a topic they want to see a tutorial for, feel free to suggest it.
Injection molding is a high volume process that lets you make complicated, accurate shapes from plastic quickly and at a low cost per part. You can think of it as pushing melted plastic into a hole in a large piece of metal, waiting for it to cool down enough to be hard again, then taking the result out. The finished plastic part will be the same shape as the hole. If you make a complicated shaped hole, you can make complicated shaped parts. The big chunk of metal is usually expensive, so you need to make a lot of parts for the overall cost to be worth it.
We recently acquired a large piece of metal and have started making a WiPhone shaped hole in it. This will give us the plastic frame for the Regular WiPhones. The Pro frames were made by starting with blocks of aluminum and cutting away all the material we didn't want to keep (using a CNC). Injection molding and CNC have different capabilities and in order to make an injection mold the first step was to change a few details of the CNC based design to work better for injection molding.
In general, to make a nice looking, accurate, strong part, you want the plastic to smoothly flow into the steel tool (the mold) and easily fill all corners of the hole (the cavity), cool down evenly without warping, and be easy to take out without scratching the part or needing excessive force. To make all of that happen, these factors end up being important:
Wall Thickness: Plastic shrinks as it cools, and different thicknesses tend to cool at different rates. The pressure used to fill the mold can also do strange things as some areas remain liquid while others solidify and shrink, and again when the pressure is finally released completely and the part leaves the mold. Having everything solidify at the same rate helps prevent these factors from warping the part, and uniform thickness in each area of the part is the easiest way to make that happen. If you're making parts that need to be pretty you might want to keep features like inner ribs to about 60% of the thickness of the outer part surface since that reduces distortion on the visible outside surfaces.
Additionally, if the plastic needs to flow between 2 surfaces, as the 2 sides get closer it starts to take excessive amounts of force to push the plastic through. Keeping the plastic thickness above 0.8mm usually will allow the plastic to flow into all the various corners of the mold.
Draft Angle: If you fill a pipe with a liquid and let it harden, unless it shrinks significantly, friction will make the it very difficult to take the solidified part out of the pipe. Even if the pipe is smooth and straight, the smallest textures inside the pipe will form matching bumps on the part that lock it in place. In practice this means any section of the plastic that would slide against the injection mold as it's taken out should be tapered. Normally the taper should be between 1-3 degrees depending on how rough the surface is and how deep the hole is.
Fun Fact: I once helped explain to Sergey Brin why molds need draft angles. This was the result:
Parting Lines: A mold has to let the part be taken out, and for many shapes you can do that by splitting the mold into 2 halves. Where the halves join will leave lines. Those are usually put on the edges of the part since it's ugly to have them in the middle of surfaces, but if there aren't any edges nearby sometimes they need to cross surfaces.
Weld Lines: When the plastic needs to flow around something to fill the mold, the place it meets back up with more plastic is called a weld line. Visible weld lines on the surface can be ugly and they are weaker than if the plastic never separated. This is because the plastic doesn't really mix back together as much compared to plastic that never separated. Oxidation, trapped air, or debris can also contaminate weld lines more easily than the rest of the part.
In our simulations we found there was going to be one weld line in a critical area that would have weakened the part. Normally you might move gate locations around until the flow pattern gives you better weld lines, but in this case we ended up adding an extra chamber for the material to flow into. That didn't completely eliminate the weld line, but it does let the material mix back together better and will make the part stronger there.
Gates: A gate is the place where the plastic enters the part. The style, position, and quantity of gates are all adjustable when designing a mold, and can be used to help balance different requirements. A small gate often looks nicer, but can sometimes cause problems because it restricts the flow of plastic into the mold. More gates can help keep the plastic flowing freely, but can cause other issues. The more places the plastic enters the mold, the more weld lines there tend to be.
There are a lot of different factors to balance, but luckily injection molding is a mature, well understood process. Software tools can help simulate what will happen and let us adjust different aspects of the design, the mold, and the injection molding machine settings. This lets us find and avoid issues that would otherwise be hard to predict without building and actual mold and seeing what happens. Issues like trapped gas pockets, warping, incomplete filling of the mold, weird appearances on the part surfaces, or weak areas where the plastic meets back up with itself as it flows into the different areas of the mold can all be found and mitigated using software simulations.
We also checked things like the pressure of the plastic as it filled the mold, and the amount of warping in different areas of the part. Then based on the simulation results we tweaked the design, gate style, position, and quantity to improve the overall result. It can never be perfect, but with enough testing and tuning you can usually find a way to do everything well enough.
This particular simulation was not used in the final design because the weld lines ended up in areas that would be highly visible, and the final deflection was relatively large.
If you want to learn more about injection molds, this video also has some pretty good info and some good visuals:
So at the moment we have a pretty nice dev tool that also happens to be a very limited phone. Once this is done I've been contemplating what to do next.
Obviously we will keep making daughterboards and we have 10 or so of those in the pipeline. The obvious other alternative is to make a more capable phone. If we do that, I'd like to avoid the types of anti-features typical manufacturers, service providers, regulators, and software makers end up adding. Similar to to the natural forces that push rabbits toward exponential population growth, it seems to be a rule of nature that than once a large organization gains control of a user base they tend to exploit the system towards their own internal goals while blocking any other organization from gaining any influence. Maybe since we're small we can do it differently.
[Obviously the worst one is what's happening in #4 in your pocket, right now, on your phone.]
I think this is a noble goal since there really aren't any phones that:
1) you can easily run your own custom software 2) various 3rd parties don't automatically get free reign to ride around in your pocket doing who-knows-what 3) minimize the number of intermediaries between you and whoever you need to communicate with.
BUT... making a phone with a even the most basic set of software features for modern use is a pretty tall order. People rely on their phones for chat, navigation, music and movies, storing their personal data. For most people, phones have replaced cameras. It's also an internet browser, which seems near impossible to do on limited hardware or without inviting a whole slew of horny rabbits to thrash around in your pocket.
So maybe we say: how can we make a phone that's good for the user, but bad for the rabbits? And what is the minimum set needed to start in that direction?
Something like:
How much is needed past that?
It's recently become clear that routing modern communications involves many 3rd parties cooperating together. Any communication system will rely on services that can disable the system if they stop working. The number of services controlled by 3rd parties is important, especially if everyone feels entitled to stop cooperating, change the terms of service, or generally act against the user. Other technical factors aside, if you want the ability to communicate freely, a communication platform you control yourself is going to be more resilient to these issues than one involving 30 uncooperative 3rd parties.
Let's say you want to use an app written by someone else to chat privately with a group of friends. I tried to make a list of any entities could block you completely or be used to leak your data:
How many of those are actually required, though? Should we be choosing our communications based on who offers emojis, stickers, and message reactions, or with more of an eye to long term stability? Even if you ignore issues related to deplatforming, being able to look through old messages 20 years later isn't something you can likely expect of any system built as a walled garden or relying on multiple 3rd parties to continue in happy cooperation.
I don't have a clear solution here, but it's something I've been thinking about.
Here's an interesting thought that a quick internet search hasn't yet disproved: assuming we finish shipping all the WiPhones before the heat death of the universe, will that make us the only project so far to launch and deliver an original phone via crowdfunding? Let's say "original phone via crowdfunding" means it can't just repackage Android, it's actually something you could carry in your pocket and use daily, and anything from a phone manufacturer with established product lines doesn't count.