# data[].attributes.body
Here i have a fish, puffer fish and a hammer head shark.

# data[].attributes.body
I really want a pet dog, but i can't have one because it's too much hard work and my family and I go travelling a lot and we can't leave the pet home along. If i can make a tamagotchi i don't have to leave my pet at home because i can bring them on holiday. In this unit i will be making a game digitally, making an avatar, 3D printing it then and also program my app to work.

# data[].attributes.body
This website is an online dictionary for design terms.

# data[].attributes.attachment_link.readable_text
CAD (computer-aided design) software is used by architects, engineers, drafters, artists, and others to create precision drawings or technical illustrations. CAD software can be used to create two-dimensional (2-D) drawings or three-dimensional (3-D) models.

CAD/CAM (computer-aided design/computer-aided manufacturing) is software used to design products such as electronic circuit boards in computers and other devices.

# data[].attributes.attachment_link.title
What is CAD (computer-aided design)? - Definition from WhatIs.com

# data[].attributes.attachment_link.description
CAD (computer-aided design) software is used by architects, engineers, drafters, artists, and others to create precision drawings or technical illustrations. CAD software can be used to create two-dimensional (2-D) drawings or three-dimensional (3-D) models. CAD/CAM (computer-aided design/computer-aided manufacturing) is software used to design products such as electronic circuit boards in computers and other devices.

# data[].attributes.headline
What applications can we use to build apps of our own?

# data[].attributes.subject
What applications can we use to build apps of our own?

# data[].attributes.body
This website shows which Adobe applications are for free which we can use to make our apps.

# data[].attributes.attachment_link.title
Features Overview: See What You Can Do With XD | Adobe XD

# data[].attributes.attachment_link.description
Looking for an overview of XD features & capabilities? From designing, prototyping & sharing engaging user experiences, see what you can do with Adobe XD.

# data[].attributes.headline
How do we design a nice looking character?

# data[].attributes.subject
How do we design a nice looking character?

# data[].attributes.body
This website tells you all the things you can create and design on Adobe Illustrator. It is also free to download so its good.

https://www.youtube.com/watch?v=YIZxSZJMU2Y this is a video tutorial to teach me how to make an app for beginners.

# data[].attributes.attachment_link.title
Buy Adobe Illustrator CC | Vector graphic design software

# data[].attributes.attachment_link.description
Create logos, icons, sketches, typography and other vector art with Adobe Illustrator CC.

# data[].attributes.headline
How do we learn to program an app we made? 

# data[].attributes.subject
How do we learn to program an app we made? 

# data[].attributes.body
This apps give me 8 basic skills for me to follow to become a programmer.

# data[].attributes.attachment_link.readable_text
Intro
"What's the best way to learn how to code?" "How to become a programmer" "How to build an app"
These are common questions asked everyday by beginners who are eager to learn how to code. No doubt you've already googled something along those lines and read enough articles/answers to the point where you're sick of the "standard" advice.

If you have not, or if you somehow think I have something new to say and want to hear it anyway (I don't), here is a short and pretty much pointless answer (I shall give it a SEO-friendly click-bait name: "3 Steps to Becoming a Programmer"):
Step 1: Pick a Language
Step 2: Learn the Language

Step 3: Build Stuff and Keep Learning

Hey, don't throw shoes at me. As much as I'd like to say there's a one-size fits all method to learning how to code, there really isn't. (Let me add a Step 0: accept that everyone learns differently).

Countless more detailed answers elaborating steps 1 & 2 already exist on the web, but the common answer to step one is to learn Python or Ruby as your first language (don't get too hung up on the language, you'll never get started). If you need learning resources, we've curated several guides you can check out:

Several of you'd get to this point:

If you're having that moment when you've become a lost sheep, don't freak out because you're not alone.

Pretty much every time you ask "how do I become a programmer", developers will tell you to build stuff, as building things is how you can improve as a programmer and it's the best way to learn, etcetera etcetera.

But how do you build your own app?

You can always follow existing tutorials on how to build a Twitter/Pinterest/Instagram/etc clone with whatever language & technology you're using, but keep in mind that the authors of those tutorials have actually done most of the work for you, and all you are doing is understanding the code and their logic.

This article will attempt to provide you an outline you can follow when building your own app from scratch.

Pre-requisites

Most apps would need a database, so if you're going to be building your own app by yourself (ergo the front and back end), you'll likely have to know a database query language (usually SQL). Unless you're building something that does not need to interact with a database like Flappy Bird, for example.

What's more, if you're looking to build a web app, you'll need to know some basic DevOps to be able to set up your development environment/server, and to be able to actually launch the app.

If you're only aiming to be a front-end web developer, you can hone your HTML, CSS, and JavaScript skills at Codepen or JSfiddle. If you only know JavaScript and don't want to learn another language, then you can try Node.js, as it's a JavaScript platform for back-end development (You can also use MongoDB as your database since it's also based on JavaScript.)

Otherwise, you should also know one of the following languages (and usually a web framework) if you intend to build a complete web app:

If you're looking to build games, then you can consider learning Lua, though C# is also a very good choice thanks to the Unity 3D game engine and its massive community. As for native mobile app development, you'll need to know Swift/Objective-C for iOS development and Java for Android development.

Without further ado, let's get to how to build an app from scratch.

Step 0: Understand Yourself

First and foremost, build something that you're passionate about. Interest is the best way to keep yourself motivated, so ask yourself what do you care about or what do you like to do.

For example:

What apps do you enjoy using the most?

What apps can't you live without?

Do you like playing games?

Do you enjoy designing things?

Etc.

Identify your interests so you'll be working on something you'll have fun with. This way, you are less likely to fizzle out and give up halfway.

Step 1: Pick an Idea

Now that you've hopefully figured yourself out, it's time to pick an idea to build. Start simple.

Yes...even if you're thinking about building a game, right now you shouldn't be thinking about building the next CounterStrike but instead you should be thinking about how to build games as simple as the infamous Flappy Bird. Hey, don't look down on Flappy Bird─it was a sensation that made people all over the world discover their inner masochist. But I digress.

So, based on your interests, come up with an idea for a simple app that will do something neat. It doesn't matter if the app already exists (in fact it may help you if similar projects already exist).

Here are some pointers to help you get some inspiration:

If you like cooking, maybe you can think of building an app for people to showcase their homemade recipes.

If you always wanted to know how Twitter works, try building a super simple Twitter clone.

If you're a forgetful person who relies on task managers, try building one yourself.

If you're addicted to the League of Legends, you can try looking through Riot's API and build a site that can obtain & display game information.

If you like playing card games, try building a simple one (e.g. Black Jack)

If you're on a diet, try building an app that will log your calorie intake.

And so on, so forth. Here's a list of project ideas if you need more inspiration.

Once you have a direction, write down in one sentence the purpose, and, if applicable, the most important target users for this app.

For example: A pet adoption app for people who pick up stray animals.

Step 2: Define the Core Functionalities

Think about what your app should be able to do and list them out. If you end up listing a bunch of things, take a better look and ask yourself if this app REALLY needs, for example, Facebook login to work? Does it REALLY need to upload data to some cloud to work?

It's great to have a dream project with awesome specs, but right now the point is not building something that's complete with a lot of cool features. Keep in mind that no app is ever complete, and everything starts out simple.

Don't ever try building an all-in-one app. Don't go there. I've seen it happen even in a professional environment, and the result is a lot of pain and little progress.

Unless you have an iron will or you really love challenges, you'll just end up frustrated and discouraged if your first project is too hard to build. You're a beginner...the point right now is to have fun. Fun is the most efficient way to learn.

So, take a look at the list of functions you've made, and if it's too long, start crossing out functionalities your app can work without.

Remember, this is your version 1 and you should just keep things simple. Focus on things that will allow the app to perform whatever it's supposed to do-everything else can be left for a different project.

For a sample core functionality list for a Reddit clone:

users can create an account

users can retrieve lost passwords

users can change their passwords

users can post new links

users can comment on links

users can upvote/downvote links

users have a profile showing their history/activity

The features listed above are the core functionalities you should focus on first. Other features such as:

users can share to social media

users can delete comments

users can edit comments

users can delete their own account

Are secondary and can be saved for version 1.x-only work on these after you can actually launch version 1.0

Step 3: Sketch Your App
CC License
Nothing is quicker than a pen & paper. By now you should have a pretty solid idea of what your app should do, so sketch out the wireframe of your app's UI (user interface). Where buttons should be located, what the purpose of that button is, and so on.

Write down notes and flesh out how the app should work. You're still in the brainstorming stage, so change stuff around until you're somewhat satisfied with it.

Remember, keep things simple. If you shortened your list from step 2, stick to only sketching functions listed there-don't get carried away. If you can't help yourself, then sketch 2 versions: a basic version and the final version in your dreams.

All in all, this is not the final look but rather just a step to help you get a firmer grasp of your app.

Step 4: Plan Your App's UI Flow
(CC License)
All right. You have a good idea of what your app will look like, what every element should should do, and how users can interact with your app. Now it's time to figure out your app's UI flow. Meaning, how a user should use your app from start to end. Chart out every step they have to take, and every scenario they might encounter. Try to consider every use-case.

Include all the actions your user can take in the flowchart. For example, if your app requires users to log in, how do they create an account? What if users forgot their password? What if they inputed the wrong password? What should a user be able to do on each interface (add new list item > save; edit > save/delete)? So on, so forth. This is done the quickest with a pen and paper.

Again, as your app should be fairly simple, your diagram should not be too massive.

Step 5: Designing the Database

All right! After you planned out every possible scenario, take a look at it to determine what sort of data you would need to keep. For example, if your app requires users to create an account, you'd need to keep track of things such as the username, user ID, the user's email, the password, whether user's email is confirmed, when the account was created as well as every time the user has logged into your app.
An example of a course selection site's Entity-Relationship Diagram CC License
If you're building a Twitter clone, you'd need to know the tweet's ID, the tweet's content, when the tweet was published/retweeted, how many retweets it has, and how many stars it has. You'd also need to keep a record of a user's retweets and stars.

You can draw an ERM (Entity-Relationship Model) diagram to map out the data relationship.
From Wikipedia
In addition, if you have any future features planned, this is the time to plan them into your database. Here is a nice article to check out while you design a database.

Advanced
CC License
If the app you're planning is going to interact with a server (e.g. if you're building a fullstack web app) or if your app is going to interact with an API (e.g. you're trying to get information from Yahoo! Weather ), then it's likely a good idea to draw a sequence diagram for you to get a better idea of how the processes should operate.

Step 6: UX Wireframes

Okay, you have the back-end planned. Now, it's time to plan your front-end.

Hopefully, you're still as excited as the minions above. You know what you need-now you have a much better idea of what your app should look like.

Since humans are mostly visual creatures, you'd have a better time understanding what you should do if you have a visual of every view you'll be coding. However, if you're like me and your drawing is so messy you can hardly understand the obscure piece of... cough masterwork...you've created, it's naturally unwise to proceed with the this step through abusing your poor artistic braincells.

Luckily, many wireframing and mockup tools exist online to help you plan your UX/UI flow (e.g. Gliffy, Mockflow, Framebox, Wireframe.cc, Invisionapp).

Step 6.5 (Optional): Design the UI

This is an optional step, but if you intend to specialize in front-end development or if you care a lot about what your app is going to look like to the point where a prettier app would motivate you to code, definitely go ahead and design the app so all those wireframe UI elements can be replaced with nicer-looking ones.

If you love designing, you're probably going to design the app before you start anyway-maybe you already designed it during step 2.

If you don't do design but still care about how your app will look like, consider using elements from UI kits. Here are a few resources for UI elements:
(Note: Photoshop required)

For games:
Spriters Resource

Don't get too hung up on the app's appearance, however. Right now you should be focusing on building an app's functions instead.

Step 7: Researching Solutions

Great! You're done with the planning stage...but how are you supposed to code all that stuff?

An important skill you'll have to learn as a programmer is to evaluate when you should use something another developer has already written, and when to build the function yourself.

Since everyone is building a unique app, not every use case is the same. Thus, you have to judge when to use an existing solution and when to build your own, and you'll get better at doing so with experience.

If you're feeling like a directionless boat lost on a vast ocean, take a deep breath and don't panic. You can do this.

As you gain more experience with researching, honing your "Google-fu", and building things, you'll eventually get a hang of this process.

Looking at Solutions

Take a look at all diagrams you've drawn as well as the functionality list you've made in step 2.

What are some things you have absolutely no idea how to build?

For example, do users need to create an account? Does your app rely on real-time updates? What functions do you need?

Most of the time it is a good idea to just use an existing solution for large functions such as handling real-time syncing (e.g. Firebase), networking/routing (e.g. AFNetworking for iOS apps), authentication, and UI-related components (e.g. flipboard or pinterest-esque app).

Many online databases exist for you to search for backend-related components/packages/gems/etc, but you need to be careful with your evaluation of what other people have written-don't just use them blindly. You're hopefully not going to be building anything too complex right now, so right now you're probably not going to need components other people have written.

At any rate, the best way to start out is to study what other developers have done before you and learn the logic behind their decisions. GitHub is your best friend.

For a real-life example of an experienced developer's research process for a particular function, you can check out this post about how Angular-Plunker's creator built Plunker's drag-and-drop directives.

Choosing Tools to Get Started With

If you're building a web app, perhaps you can check out Yeoman as it aims to help you quickly kickstart new projects by helping you set up the structure of your project.

If you're building a React app, you can also check out starter kits and existing Flux implementations. HTML5Boilerplate and Bootstrap are popular front-end templates for your app. More often than not, boilerplates use Gulp or Grunt for task management.

Since you're likely going to be using some existing components or solutions, you should also install bower for dependency management ( npm for those using Node.js and CocoaPods for iOS developers). Don't worry-most of the time these tools come with tutorials that will teach you how to install them.

Step 8: Building the App

Yes! You're ready to build the app now! Here are some tips you should keep in mind when building your app.

Checklist

You should focus on building the app function by function. Thus, if you're not done with one task such as a commenting system, don't suddenly start to build a user profile view. In other words, if you're building a form, for example, you should work on both the front and back-end code until the function is complete.

All in all, to keep track of your progress, you can write down a to-do list of functions and use it as a checklist.

Write Tests First

Unless your building a game app, it's a good idea to write a test for your function first before you actually begin to code the feature. Bugs are inevitable, but testing will greatly reduce your mistakes and your chances of releasing buggy code to production.

Granted, writing unit tests take time and you may sometimes question whether it's worth it. However, if you're looking to build bigger projects in the future in which you'd continue to add new features, this may happen to your app:

Then this (is an exaggeration of what) may happen:

Or god forbid:

And this would be you, trying to fix the app:

...More or less.
7 Steps to Debug Efficiently and Effectively
So, it's a good idea to start small and get into the habit of doing Test-Driven Development (TDD), especially since you're starting fresh and building something simple.

You're not on some deadline with a project manager's pitchfork behind your back now, are you?

For tips on unit testing patterns, you can check out this article. Another tip to keep in mind is to avoid asserting too much trivialities.

Many testing tools are available for you to choose from, such as Jasmine or Karma for JavaScript, Rspec for Ruby, PyTest for Python, PHPUnit for PHP, Quick as an alternative to xCTest for iOS development, or whatever tool you feel would work for you.

In addition, if you're building an iOS or Android app, it's a good idea to check out Crashlytics.

Use Git

Git is a version control system and a full-fledged repository with complete history and full version-tracking capabilities. It's a good idea to start learning how to use Git while building your first app. This way, you can easily undo your mistakes, recover lost data, and more. In addition, if you plan to work with a team of developers in the future, you will need to use git anyway. GitHub is the most popular Git repository hosting service for open source projects, while Bitbucket is for private repositories.

If you end up running into problems when using git, this post about the 10 Most Common Git Problems and How to Fix Them may help you.

If You Get Stuck...

As a beginner, you'll feel like that hamster more often than not.

You're not alone. Sometimes, all you have to do take a break and let the issue simmer so you can clear your mind.

If this still doesn't work, here are some ways to unstick yourself:

Google

I mentioned Google-fu in step 7, but let me stress again that learning how to Google is an important skill all programmers need to acquire. If you get stuck on a bug or you don't know why your code isn't working, it's a good idea to Google.

Ask on StackOverflow

You'd probably notice that your google results will mostly point to questions and answers on StackOverflow. If you still can't find a solution to your problem after googling your ass off, then you can try posting a question on StackOverflow.

Remember to show that you've done your research in your question - you're more likely to get an answer that way.

Alternative: Find a Mentor

Some people will say that StackOverflow isn't beginner-friendly because beginners don't know how to phrase their questions. But what if you don't even know what your problem is?

If you get to the verge of headdesking (or if you're already headdesking...), you don't have to abuse your forehead (if you hit your head hard enough you'll just lose braincells).

One great alternative to facilitating your development and your learning process is to get help from an experienced programmer. You don't need to feel like you're somehow stupid because Person X is a famous expert and a self-taught programmer. People simply learn differently, and all beginners will benefit from personal guidance as you may be making mistakes that aren't a big deal right now but is actually a bad practice.

Remember, back then many self-taught developers didn't have the services that are now available to you.

Thus, you can get help from experienced programmers via live 1:1 sessions on Codementor, where rates of mentors start from $15/minutes. During these sessions, you can have a video chat with an experienced developers and share your screen/code with them, and the mentor will teach you how to fix your code as well as tell you what you have done wrong so you can avoid the mistake in the future. You can also review the code from the session or record the session to your local disk via the video chat tool. Sign up now and try the first 15 minutes for free with mentors offering the deal.

Final Tip

Programmers make mistakes all the time, so don't feel discouraged when you can't even pass a test you've written or if you're constantly tripping over yourself. I mean, think about iOS9, Android Lollipop, or some app you love to use. Surely even the most mature apps out there still have bugs, so don't assume you can build the most perfect, bug-free app out there (of course, this doesn't mean you should set low standards for yourself-you should always strive to build quality apps).

In addition, it's very common for you to spend hours or even days on one thing and to still have difficulty making it work as you want. If programming new features quickly were easy, the world wouldn't need new programmers. Hell, we'd probably be on a flawless iOS100 now and we'd have built a digitalized world like the one in the Matrix.

Thus, a lot of times, you'd hear the term "make mistakes" whenever people are encouraging you to start building things. They mean it. One thing you'll have to accept as a programmer is that you're not going to be a badass coding machine who can conjure up features in a snap. You'll going to be failing a lot and that's ok.

Again, remember you're a beginner, so a lot of things are going to be inevitably difficult at first. You're going to be spending a lot of time on something that you think should be simple and it will seem like a difficult uphill struggle, but as you gain more experience, things will get easier. Look forward to that sense of accomplishment when you finally manage to build your first app.

Happy Coding!

Author Bio

Yi-Jirr Chen || Content Maketing & Operations
Your typical massive geek who games and loves science/tech. Also publishes fiction under a pen name that is a pen name for a reason

Other Articles You Might Be Interested In:

# data[].attributes.attachment_link.title
How to Become a Programmer: 8 Steps to Building an App from Scratch | Codementor

# data[].attributes.attachment_link.description
"What's the best way to learn how to code?" "How to become a programmer" "How to build an app" These are common questions asked everyday by beginners who are eager to learn how to code. No doubt you've already googled something along those lines and read enough articles/answers to the point where you're sick of the "standard" advice.

# data[].attributes.body
In this website i can look at the 10 most common mistakes made by the 3D printing so i can figure out ways to prevent them from happening.

# data[].attributes.attachment_link.readable_text
Want to improve the quality of your 3D printing? Want to know how to deal with print failures? Here is the most comprehensive guide available to help you diagnose and fix your printing issues. 3D printing provides you with an incredible creation and prototyping power. With a 3D printer like the MOOZ 3-IN-1, you possess the ability to create anything from a simple plastic clip to a full-sized Captain America's shield. The only limitation is your imagination.

Now, as fun and interesting as that might sound, your 3D printer can bring you close to frustration. This is because there are a lot of 3D printing troubleshooting issues that are bound to come up when you use your machine. How do we know this? Well, we own and manufacture these printers which make us experts on this subject. We have decided to answer some 3D printing FAQs that a lot of our users and clients have asked us by providing a comprehensive guide on ten common 3D printing issues.

The Problem - Out of Filament

You have correctly configured and set the model in the slicing software but yet nothing seems to be happening; no printing is actually taking place. You have repeatedly sent a print to the printer but all you're getting in return is a filament spit coming out of the nozzle. Or maybe the model is about to be printed and out of nowhere the filament extrusion stops working but the nozzle continues its run, printing nothing.

The Cause

While this problem is obvious on machines that have their filament reel in full views, like the PRUSA i3, there are machines that are not designed with exposed filament reels, such as the MOOZ, Ultimaker, and Robox, which will make it a little difficult to immediately detect the problem. These type of 3D printers either have their filaments encased, or hidden at the back of the printer.

The Solution

The 3D printing troubleshooting process here is quite easy. No matter the type of 3D printer you are using, all you'll have to do is remove the remaining filament and load in new material. Check the filament reel, if there's no material at all, load in another reel. It's as simple as that.

The second 3D printing FAQ we will be looking at on our list of common 3D printing issues is the nozzle being way too close to the print bed.

The Problem

You've loaded the filament correctly and nothing seems to be wrong with the print head, but yet, no filament is being deposited on the print bed.

The Cause

Simply put, the nozzle and the print bed may be too close to each other. You may have inadvertently turned your print bed a little away from your nozzle opening, thereby giving the melted filament little room to escape. The best case scenario with this problem is that your print will possibly miss its first few layers and the chances of it not sticking when the filament does not extrude will be high. As for the worst case scenario, your printer's hot end will have a backup of a melted filament which will definitely increase the chances of a blockage.

The Solution

There are two main ways to do this 3D printing troubleshooting:

1. The Z-Axis Offset - This method involves you raising the nozzle a little bit. Most 3D printers have a Z-axis offset setting in their system setting. With this setting, you can raise your nozzle a little high from the print bed by giving the Z-axis setting a positive value. However, putting a negative value in the Z-axis offset setting will help you fix sticking issues, that is, if your prints are not sticking to the print bed. Therefore, you need to ensure that when setting a value, it isn't too high so your prints can stick to the bed.

2. Lower the Bed - This is an alternate solution as not all 3D printers allow the lowering of the print bed. But if your printer allows it, you can do it to fix this problem. It is a more upsetting fix though, given the fact that you'll have to level and recalibrate the bed.

The Problem - Print Looks Droopy and Stringy

Put in simple terms, this common 3D printing issue simply implies that the printer is taking in more material than what it requires, therefore, it produces more material than what's needed. Printed models will have excess materials on them.

The Cause

Basically, the Flow setting or Extrusion multiplier setting in your slicing software is higher than normal.

The Solution

To troubleshoot this 3D printing problem, go to your slicer software and check your Extrusion multiplier setting. Ensure that you have selected the right value. If all seems to be okay, go to the Flow setting and decrease it.

The Problem

Your print's internal structure is either broken or missing.

The Cause

To be candid, there are a lot of reasons why the internal structure of your model can be broken or missing. Although the most common is having incorrect settings in your slicing software, a slightly blocked nozzle can also bring up this problem.

The Solution

Take a look at the fill density - Open your slicing software and take a look at the infill density. The best value is 20%; if the value is less than this, then you are bound to encounter problems. If you are running large prints though, you might want to increase this value so as to ensure that the model you are about to print gets enough support.

The Problem - Bending

The printed model bends upward at the base until it no longer aligns with the print platform. This leads to the print being unstuck on the print bed and horizontal cracks forming in the upper parts of the printed models.

The Cause

Warping or bending happens because it is a natural characteristic of plastics. As your PLA or ABS filament begins to cool down, it slowly starts to contract. If the plastic's cooling process happens too quickly, it results in warping or bending.

The Solution

There are six different ways to troubleshoot this 3D printing FAQ:

1. Use a heated platform - This is the easiest solution; all you have to do is set the heated platform to a glass transition temperature (a temperature that's just below the melting point of the plastic). You can do this by using the slicer software and you can easily get the recommended filament temperature on the spool or packaging of your filament. If you set the right temperature, the first layer will remain flat on the platform.

2. If the print platform calibration isn't right, then you are bound to encounter this problem. So what 3D printing troubleshooting tip will work here? Well, all you have to do is level the print by rechecking the calibration, ensure that the bed aligns and the nozzle height is perfect.

The Problem

This is another common 3D printing issue faced by a lot of users. A print's first layers are often problematic. The problems are usually a non-sticky print, or the bottom shell has an erroneous look due to unwanted lines. Also, instead of getting a fine detail on your print's bottom, you find a blurry, congealed design that does not look like the surface design.

The Cause

The blurry and undefined detail on your print simply implies that the print bed temperature is too high. Unwanted lines happen as a result of the nozzle and the bed being too far apart, while you get blobs if the nozzle is way too close to the bed. Additionally, a non-sticky print is as a result of a bed that hasn't been properly leveled.

The Solution

Reduce the bed temperature. Do this by bringing the temperature down five degrees at a time; continue reducing the temperature until you get the desired adhesion result without losing any detail.

The Problem

Elephant's foot is a 3D printing term that refers to the outward bulge of a model's base. Simply put, it is when the print bows or curves out at the bottom.

The Cause

This usually happens when the weight of the model is pressing down on its base before it cools back to solid.

The Solution

Another 3D printing troubleshooting tip you can use is to ensure that the base layers get enough coolness so as to be able to support the top structure. You need to ensure that the cooling is just the right amount as too much cooling will cause the base layers to get warped. You might find this part tricky but the best way to go about this 3D printing troubleshooting process is to lower the print platform's temperature by five-degree intervals to about plus or minus twenty degrees of the temperature recommended. If you have your Bottom/Top thickness set to 0.6mm, you can start the fan at a height that's slightly lower than that.

The Problem

This problem is one of the most asked questions in our 3D printing FAQ. The filament has a super resilient characteristic to all misconfiguration types, and this makes it hard for users to detect when the hot-end of their 3D printer is over-heating. You just notice uneven layers and when you take a closer look at the cabin, you'll see that the model is melted while on the chimney you get something that's close to a wax being melted down a candle.

The Cause

The cause of this problem is an overheated hot-end. Your printer's temperature needs to be properly balanced so as to allow the filament to flow well and to also allow it to solidify quickly. A balanced temperature will also make it possible for the next layer to be placed on a more solid surface. However, before you adjust the temperature, ensure that you have the correct material set up for the printer. If you check the material settings and everything looks okay, then all you might need to do is probably a slight adjustment.

The Solution

1. Check if your material setting is right. The proper material temperature settings range between 180 degrees Celsius and 260 degrees Celsius.

2. Reduce your printer's hot end temperature. This can be done with your software or printer's hot end temperature settings. Reduce the temperature by an interval of five degrees Celsius, depending on how hot the temperature is.

The Problem

Nothing is coming out of the nozzle but when you take a look at the filament spool, you can see it's full and the feed tube also appears to have some filament in it. This problem is common to Bowden feed printers; it's not usually found in direct feeds. This is because the filament is usually hidden, therefore, you can't see them immediately.

The Cause

This problem can be caused by different factors but the most common one is cheap or old filament. While it is true that most ABS and PLA filaments have a long lifespan, they can become brittle if kept in bad weather conditions. And once they become bad, no amount of adjustment can make them right when they are fed to the printer.

The Solution

1. Try making use of another filament. If you encounter the same issue after the filament has been reloaded, try using another filament. This would let you know if the brittle filament is actually the cause of the problem.

2. Check your printer's temperature and flow rate. This simply means that if the problem persists, check to see if the hot end is at the right temperature and getting hot like it's supposed to. You should also check to see if the filament's flow rate is not higher than a hundred percent.

The Problem

You get cracks on the sides of your models, especially when you are making taller models. This is considered to be one of the most surprising problems one can experience in 3D printing. This is because it usually shows up in larger prints and it mostly occurs when you are not looking.

The Cause

The cause of this problem is that the materials cool faster in your print's higher layers. The heat generated by the print bed does not get to the upper parts, thereby making the upper layers less adhesive.

The Solution

Increase the extruder temperature by ten degrees Celsius. Take a look at the side of the filament's box, you'll find the recommended temperatures for the hot end. Try to keep your 3D printer's temperature setting within these values.

CONCLUSION

There are a lot of 3D printing troubleshooting issues but these ten are some of the common ones you are bound to come across. Feel free to ask any questions in the comment. You can also send us your email address or contact information so we can provide you with more information on 3D printers.

And if you are looking for the best 3D printer on the market, we recommend that you get the MOOZ 3-in-1 3D printer.

# data[].attributes.attachment_link.title
10 Common 3D Printing troubleshooting Problems you may have | Dobot

# data[].attributes.attachment_link.description
Want to improve the quality of your 3D printing? Want to know how to deal with print failures? Here is the most comprehensive guide available to help you diagnose and fix your printing issues. 3D printing provides you with an incredible creation and prototyping power.

# data[].attributes.body
Gameplay:
has different options for you to do like feeding it, playing with it, cleaning after it and more. You can also collect coins from playing with it. With your coins you can buy more games. You can see your avatar grow everyday just like a pet.There isn't much more exciting about the game, your pet just lives on. The tamagotchi contains no levels or goals to be completed by the owner.

Controls:
the controls on this device is pretty simple. There are only 4 keys around the screen of the tamagotchi.

Looks and graphics:
The screen is very small and its pixelated. It comes in simple colours. It's in black and white

From this i will steal the idea of taking care of a baby pet like feeding it and playing with it. I would also make my app really easy to us like the tamagotchi, with simple instructions and keys to tell you what to do.

I would take away the beeping sound of the tamagotchi because it would get really annoying. I would also take away the fact that it only lasts for 25 tamagotchi years. With my app, you can play on it forever. Also, I will add more game features because if it only has one game, it would get boring and no one would play it ever again.

# data[].attributes.body
Aesthetics: Puppies and other pets are really cute to hold and cuddle with. Whereas with a digital pet, you couldn't physically be with it all the time. Also, looking at your screen for too long can hurt your eyes, but just looking at your dog in real life doesn't hurt at all. It makes you happy.

Cost: Maybe if you really liked a breed and force breed some dogs because you wanted it to be special and cute. That would cost money. But, if you were to get a stray pet then would be free.

Size: the sizes of a real pet is bigger than on screen. Also, real pets are 3D.

I will steal: maybe the sound of a dog braking (but it won't bark as loud and as much as a tamagotchi). I would also take the fact that you need to play with it and take care of it for it not to die.

I will take away the 3D part of a pet, the cuteness because it's hard to draw really detailed on the computer.

# data[].attributes.body
Aesthetic: There isn't really much to this game when it comes to the looks. There are basically squares added on when you eat squares. The only think you can change is the colour. When you press the space button changes you can select which colour you want to play with. There are around more than 15 colours to chose from.

Customers: People who want to have a game on their laptop to play on when bored or when not wanting to do work.

Size: When you feed the snake, it grows longer.

Function: Its a computer game of a snake trying to grow. You use the up, down, and sideways keys to move the snake. The challenge of the game is to make your snake really long by eating the food. You die when your head touches others parts of the body.

What i will steal: the character has to eat food and it will grow. I might steal the idea of having the snake as an option for a character.

What i will take away: You die when you touch your body when you grow.

# data[].attributes.body
Aesthetics: It looks pretty simple. It would look a lot better if it had more than 1 colour. The texture and detail gives a nice touch to it.

Cost: It would cost to get the colour plastic. The machine is also pretty expensive.

Environment: It is wasting a lot of plastic printing it this way.

What i will steal: The textures of my print.

What i will take away: I don't like the design of it and also i will take away the red colour and replace it with a better one.

# data[].attributes.body
here i made a list of all the possible animals i could design.

I drew a blue marlin, crab (that i have chosen for my final animal), a dolphin and a turtle.

# data[].attributes.body
Aesthetics: The character is really cute, small and yellow. It has a big face and big feet.

Customer: Little kids that watch Disney channel for cartoons.

Materials: It was made digitally.

What i will steal: I will steal the cuteness of the pet, the colour and the simplicity.

What i will take away: Her having only 3 mini strands of hair because it just looks a bit random on top of her hair.

# data[].attributes.body
To design a character and a game for it. Later, i will also want to print out my character in 3D.

# data[].attributes.body
Overall, in section A i wrote that i wanted to make a game app with a dog to replace having one in real life. I found useful websites to tell me what CAD meant, how to build an app, how to design a nice looking character, how to program and all about 3D printing.

# data[].attributes.body
My target audience is my family more specifically me and my sister because we really think having a pet dog is cute and nice, so i will make a digital one to have.

# data[].attributes.body
1:  It might be really hard to make and program my own game because i am not good at using computers
2:  The 3D printing might fail and not turn out well
3:  My pet character wouldn't turn out the same as i wanted it to be.

# data[].attributes.body
1.Did the app work?
2.Did the character function properly int he game?
3.Does the character look nice?
4.Is the app easy to use?
5.Is the app programmed well?
6.Did the 3D printing fail?

# data[].attributes.body
I changed my mind and now i want to do a underwater character specifically because i like the water and swimming in the ocean. My character won't have that many unrealistic colours on it. It would be a very simple animal, like a fish or a crab.

# data[].attributes.body
I want options so you can chose what you want to do.
Simple decoration and simple to use
There were be different sections in the game, such as
- a game place where you can play more than 1 game
-a health place where you can see how healthy your animal is
- food where you feed your animal -love where you can see how much your animal loves you.

.

# data[].attributes.body
I got inspiration from a shark game where you can go to a giant crab lair. at first i wanted to do a dog, but then i changed my mind when i was sketching my character designs.
https://www.tinkercad.com/things/a3ASYBaBzPQ-brave-robo-vihelmo/edit

# data[].attributes.body
mostly homepage and settings
I designed 3 different UX designs and then chose one (the 3rd one).

# data[].attributes.body
this is where it takes you when you pressgames, health, love, food

# data[].attributes.body
In my specification i said i would do an underwater animal, which i did.  My character has realistic colours like i want to. Also, a crab is easier to design because i don't have much skills or experience working on Adobe and tinkercad.

# data[].attributes.body
i chose this kind of ux design because it is the most simple and easiest to go around between all the different options. It has all the sections i wanted in my specification (games, health, etc.)

# data[].attributes.body
for 3D printing and my app

# data[].attributes.body
Lesson 1 (now):

Finish all of B and make sure I am missing nothing. Start my lesson planning. 1 class

Lesson 2:

Finish my character and make it ready for 3D printing any time of the week. 1 class

Lesson 3:

Make my images for my app. Might take longer than 1 class

Lesson 4:

Start to make my app - Starting page and activities page

Lesson 5:

Making my app - the eating feature, love feature,

Lesson 6:

Making my app - health feature and bathroom feature

Lesson 7:

Making my app

Lesson 8:

Finish app and complete every section of C in padlet.
Lesson 9:
Test app out and make sure everything works

# data[].attributes.body
1st class working on adobe xd

# data[].attributes.body
this is how a video of how my app works. today i learned how to link one page to another page.

# data[].attributes.body
This is how much work i completed in these 2 lessons today. In total i now have 10 completed pages with the prototyping moves. I am ahead of my plan because we do not need to have our 3D printing ready because we will do that at the end.

# data[].attributes.body
i improved my tinkercad skills by drawing my own shapes, making everything even and getting it ready for 3D printing.

# data[].attributes.body
i need to make sure i have all my images off pixabay because they are free photos.

# data[].attributes.body
linking pages to other pages. When you tap on one food icon it brings you to another page where you are feeding the crab.

# data[].attributes.body
Here i am making a new page to continue on my toilet activity.

# data[].attributes.body
Here every time you click the crab image hearts come out to show that you are giving it love.

# data[].attributes.body
I had a lot of difficulty with changing different things to go behind and some to go in front. I have finally figured it out now and every thing is much easier.

# data[].attributes.body
i learned how to group 2 or more images in Adobe XD

# data[].attributes.body
I am working on my app on Adobe Xd as planned, but in C1 i wrote that i would be starting to make my app on this lesson whereas i have already been making my app.

# data[].attributes.body
In this lesson i worked on my Padlet to complete

# data[].attributes.body
1.At first i thought that my prototype would have really small amount of pages. I thought that the game page would only need 1 page and the game would already work. After i started to work on Adobe, i realised that a game takes lots of art boards and skills and time.

# data[].attributes.body
1.I change the game feature to a toilet feature. I decided not to have a game feature because it was very hard, so i added a toilet feature which is easier to make. In the toilet feature you just clean up the crab's poop.
2. I also changed my character. AT first i really wanted to make a dog, but then decided to use a crab.

# data[].attributes.body
1.The shark game has many languages when my app only has 1 (English).
2.They both an be used anywhere.
3.Both have lots of features and characteristic to use so its not boring.
4.Attractive UX. The apps look professional and nice. But, the shark game looks more complex and nicer.
5. Efficiency.
6.Loading time is different. My app is very quick, whereas the hungry shark app needs to load a bit before you can start.
7.Animations. Only the shark game has different animations, my app you just press and go back, you can see the page changing.

# data[].attributes.body
In this lesson i completed my bath section, done all my prototyping and started working on my Padlet D1. This photo shows every prototyping in did:

# data[].attributes.body
1. There are 11 different languages to chose from.
2.It doesn't need VPN but it does need wifi or else it doesn't work. It works with 4G.
3.It has a lot of features. You have to collect money to buy different sharks and you have daily missions to complete.
4.It looks very good
5.It is easy to go around
6.It takes pretty long to load if you want to play. It will take even longer if you don't have strong wifi.
7.The animations and the speed of the app is very good. The app looks very good.

# data[].attributes.body
I can already see some mistakes.

# data[].attributes.body
1.I could improve my food section. Whenever you press one item to feed,  you have to press the back button to continue. I want it that you can just press whatever food you want and then press another without going back.
2.At the start of making my app, i really wanted to have a game, but it was too hard. I could improve and make my app better by having a game to make it more interesting to play.
3.Animations.Instead of adding just having to click, you could drag the food into the mouth and feed it. My animations should be similar to the hungry shark game if i want my app to be really successful.
4.The health section. When you go to the health section in my game, it brings you to a single page with numbers that show how healthy the crab is. I can improve by adding a new page in where you can feed the crab medicine or check their temperature.
5.Clothes. I could improve by adding clothes you can add on to the crab to make it look better.

# data[].attributes.body
1.To improve my food section, i would have to change my prototyping arrows.
2.To make a game, i could do a very simple game similar to piano tiles. Piano tiles just needs around 6 tiles to repeat themselves. Piano tiles would be one of the easiest games to make.
3.To make animations i would have to first watch a tutorial on youtube on how to do animations on adobe xd and then make them myself in the prototyping area.
4.I am working on making my health section. So far i have the background of the art board complete and now i just need to add the different types of medicine and then do my prototyping.
5.For my clothes i would need to make more art boards on adobe xd and add different clothes the crab could wear. I would also add accessories.

# data[].attributes.body
in this lesson i made my character from lego. I didn't have enough brown blocks to make the arms coming out.

# data[].attributes.body
I think i didn't solve the problem. The problem in A1 i said was that i really wanted a pet dog, but i can't have one so i would have a dog in a game app. When we were designing our apps, I changed my name and decided to use a crab. This shows how i didn't solve my initial problem in A1.

# data[].attributes.body
Beta Evaluation from Violet
I think you had a good entertaining app, however to improve in the food feature you should be able to go from food to food instead of going back. Another improvement would be to able to do something in the medical section.