By: Carol Vercellino, CEO & Co-Founder

Today, I’m going to highlight our top 3 programming languages in 2021 and discuss their benefits. I’m going to talk about Javascript, Python, and Swift. And also the reasons why we’ve selected these three as our top picks. 

If you’re new to the programming world, make sure to use this video in conjunction with our other video, How to Choose a Programming Language for Your Product

But, let’s get to the programming languages.

Javascript

First up, we have Javascript. Javascript is widely used now because it was first used for prop and programming language. What that means is it’s used to render the very first thing that your eyes see when you go to a web page

It also began being used on the backend as well, which is all that code on the back that tells the server what to do. And it was really facilitated by Google in trying to help people learn more software development. And so, that’s why it’s a top pick for 2021.

Python

Next up, we have Python. Python has been around for a long time. But, it’s widely used for statistics and science, and pretty much anything. You can spin up a website really quickly with Python, and you can do a whole lot of complex things on the backend, especially for a complex app. It continues to grow because of interest in data science and analytics. So, that’s why it’s our second top pick for 2021.

Swift

Finally, we have Swift. If you google the top languages for 2021, Swift may be a little bit lower on the list. And, yes, I am biased because we do use Swift a lot in our company. But, Swift is the language you would use for an iOS application, or a Mac application, or anything that’s going to run on an iPad.

It’s not only growing for those types of apps, but it’s also starting to be used on the server side. You’ll see Apple really push Swift going forward for the next few years. And we’re super excited to see what they do with it as well.

For 2021, we’re going to keep that as our third top pick at Oak City Labs.

 

I hope this was helpful, and let us know what programming language you’re interested in learning more about in the comments. We’d love to create more content that helps you as you’re developing your software or app.

 

Know what programming language you want to use? Read this post next about setting expectations for your software development project.

By: Carol Vercellino, CEO & Co-Founder

One of the hardest questions you’ll ask when you start developing your software product is what programming language should you use?

Let’s talk through some of the concerns and considerations you should make when choosing your programming language. 

But, before we dive in, if you aren’t familiar with some of the most popular programming languages, we recommend watching our video on the top 3 programming languages in 2021 first. Then come back to this post.

Let’s dive in.

 

Carol: So Jay, when it comes to creating software or apps, what factors do you need to consider when choosing a programming language?

Jay: Well, there are a couple of things you have to think about. One of them, to start with, are there some requirements?

For iPhone apps, you’re going to do those in either Objective-C or Swift for a native app. If that’s the thing you’re looking for, those are your two choices. Objective-C is sort of the legacy at this point, and most new developments use Swift. Similarly, for Android, you’re going to look at Java or Kotlin, Kotlin being the new thing.

On the backend, you’ve got a lot more flexibility. There are several languages: Python, Ruby, Go, Swift, and some others you can use for the backend. 

Another important thing you need to think about is the availability of developers in your area. You’re probably going to start with one developer, so you just have to find that one. But as your product and your team scale, you’re going to need to augment your team and hire people. Is there a big pool of developers in your area who are familiar with that technology?

Carol: So, JavaScript is super popular, right? And it’s mostly used on the frontend, but a lot of people are using Javascript on the backend now?

Jay: Yeah, people use JavaScript on the backend with Node. I think it’s really popular. It got popularized by folks doing frontend work who wanted to do backend work and didn’t want to learn another language. Google sort of facilitated that with developing Node and taking their javascript engine, and making it available on their server.

A lot of people feel like it’s easy to slide from frontend development to backend development with JavaScript.

 

Carol: Like the chicken and egg question, should you choose your programming language first and then find a software developer who understands that language or the other way around?

Jay:  It’s really hard to say. It depends on your project again. If you’re in one of those situations where your project and the space you’re working in determines what language you’re going to use, then that’s pretty much it. 

If you’re building a more generic backend thing, like an API for a service, you’ve got some flexibility there. So, you have more freedom to choose or interview different developers and maybe let them make some of those technology decisions.

Carol: What if you found a developer you really liked, and, not to be too controversial, they use Perl or PHP. What would you say to that?

Jay: Those are both sort of what I would consider legacy languages. Perl especially and PHP moreso. That’s certainly not terrible. A lot of the web runs on PHP. 

Again, as you scale your team, you attract new developers that are going to be versed in that kind of thing. Younger developers aren’t going to be into PHP, and maybe some older ones want to move away from PHP. So, those are some of the concerns you might have.

 

Carol: And let’s wrap up with talking about potential roadblocks. What are some common mistakes people make when choosing a programming language?

Jay: The most common one is to go for the new shiny thing. The new language comes out, and it’s all built cool, and they’ve got really good demos, and they solve some problems. Maybe they take something that used to be hard in an old language, and they do it really, really well because they made the language to do that. 

But, once you get into a really serious project, you have problems with, for example, is their tooling around that? Is it too young to have really good tools to work with? Is it robust? Can it handle edge cases that maybe some of the older languages have already worked out? 

Does it have a really rich library of tools to interface with other things? Python is a really old language at this point. There is a Python library for just about anything. If you need to access this weird service, some dude somewhere in a basement in Nebraska, wrote a library to do it. 

A lot of the newer languages just don’t have that sort of coverage. 

Carol: And support too, just community support. Can you google it and find an answer to it?

Jay: Exactly. Do you want to be out there on the bleeding edge? Maybe not.

Carol: I think we did a video about interviewing software developers, so it might be helpful for people to check out as well.

**The above interview has been transcribed for clarity and brevity.**

Need to find the right developer for your project? Make sure to ask the right questions to get the best fit. Learn how in our video, How to Find an App Developer

How to Find an App Developer

So you’re an entrepreneur, and you’ve got this amazing idea for an app.  Now you’re probably wondering how to find an app developer who can deliver what you envision and help you bring it to market. 

Building an app can be really expensive. A lot of folks have a budget for basically just one shot at version one. So you want to make sure you get the best app for your money, and get a good start to your business. My business partner Carol is joining me to discuss how to screen developers and pick out one that might be right for you. 

Read on or watch the video to learn more about how to find an app developer that’s right for you. 

Jay: Carol, where do we even get started looking for developers?

 

Carol: Well, oftentimes, I would suggest people can ask around in their network. And a lot of people these days might do a Google search. But more often than not, a referral is the very best place to start.

 

Jay: Okay, so we need a referral. Maybe get a couple [of referrals] you’d want to talk to. What kind of questions do you ask those developers?

 

Carol: I might ask them different questions than a lot of people, but most importantly, you want to ask them about their experience. Ask what kind of apps they’ve built before and if they’ve built anything like what you’re looking for. Or if they haven’t built what you’re looking for, maybe learn more about their track record and their history. 

And I often learn from people based on what questions they ask. So just kind of going through that process should help you out. 

Also you may want to ask about things like quality. How did they build quality into the product? How long do their projects typically take? You probably can’t figure out the cost on the first round of questions. But focus on experience, quality – things like that.

 

Jay: Okay. So when you talk to developers, a lot of times you get sort of a firehose of tech speak coming at you. If you’re not really technically-minded, how do you decode that?

 

Carol: So the way I do things is – for example, if they use an acronym, I will ask them to explain it to me like they just met me on the side of the street. And I have no problem being completely ignorant to what somebody is talking about. And I will ask them over and over to explain it to me until I get it, which you are probably familiar with, Jay! But it doesn’t matter if you don’t know what they’re saying, but know that if they can’t communicate a complicated topic to you, then they may not be a good partner for you.

 

Jay: That makes sense. And what kind of red flags do you look for?

 

Carol: Oh, my goodness, let’s see. Red flags you might look for are if they’ve never done development before, or if they can’t explain complicated topics to you. If they don’t know what testing is. You may want to ask them to explain things like the difference between a unit test and a functional test, and then ask them how to [perform] those tests. Ask them what types of tools they use for testing and what kind of language or platform they’re going to use to build your project. 

And then ask them why. If they’re going to do a cross platform app for you, ask them why they like that. And ask them if that makes it a buggier app, or how easy it is to troubleshoot a cross-platform app. Or if they’re going to go [with a] native [platform]. Ask them about how they know what Android would look like, or if they are going to start with iOS, what that development process would be like.

 

Jay: And what other advice do you have for folks who are looking for a developer for their project?

 

Carol: General advice would be looking at that history that we talked about, making sure that they understand testing and have good quality software development practices. Ask them how they stay up to date on things and make sure that they have an excellent explanation as to the tools and the languages that they use. 

You know, sometimes it’s not always the best to go with a developer that uses the latest flashiest network or language that’s trending that day, because it’s going to make it hard for you to find developers to take that project over in the future. And the same thing [is true] with the older languages. I hate to say it, but PHP may not be used for new projects these days. And so if you talk to developers that are going to build your whole app in PHP, see if that’s a trending job post on Indeed in your area, and it might give you a good idea of whether that’s a good idea or not.

 

Jay: All right, well thanks for taking us through all that today, Carol. I always hate to see somebody who sinks a huge chunk of cash into a project that ends up with a bad app or an app that just doesn’t work. So folks if you have an app idea or more questions for us, you can contact us on our website and be sure to follow us on social media and subscribe to our YouTube channel for more tech tips. Thanks.

 

Contact the Oak City Labs team to discuss your app idea!

App Development

By: Carol Vercellino, CEO & Co-Founder

As an entrepreneur or business owner, you probably have a great vision for the product that you want to build. But, do you know how much it’s going to cost and how long it’s going to take?

Much like building a house or buying a car, informing yourself and understanding the process can really help set your expectations and help you have a great relationship with the software development partner that you choose. 

So today we’re going to talk about three things that are really important to understand with software development – or for pretty much anything else you’re going to spend a ton of money on. 

Read on or watch a quick video here.

We call them kind of the three levers in software development: time, quality, and cost. 

What do we mean by those things? Well, when you buy a car, if cost is the most important thing to you, then you might be willing to forgo quality a little bit. And you might be willing to understand that the car is not going to last 10 years and may not retain its value for a decade.

In software development, it’s the same thing. If cost is a driving factor for you, then understand that quality may not be as great. And the delivery of the product timewise may not be as great. 

We often see people who prioritized cost as the most important factor but end up coming to us because the project never got completed [with their first developer]. And what did get completed didn’t have testing built in. If you don’t know what testing is, I’m pretty sure we’ve got a video on that!

So, what if you prioritize quality? You can bake quality into a product really well. But if you have a partner that overemphasizes quality, your timeline can get drawn out. And I know it sounds crazy to say quality may not be as important, but sometimes you need to ship your product to get it out to market. 

Well, what about time? If you emphasize time, then you may find a development partner who deemphasizes quality as well as cost. If you want [an app] done quickly it’s going to cost you more, and the quality may not be there. 

So, understanding these three things and understanding how those categories impact a project can be incredibly helpful to set your expectations – and your partner’s expectations as well. If you have any questions about time, quality, and cost, shoot us an email. We’d be happy to help. 

Test-pyramid

By: Carol Vercellino, CEO & Co-Founder

Today we’re going to talk about software testing. Sometimes software testing can sound a little boring, but today we’re going to cover some really simple terms. Hopefully this can help you collaborate with software developers or even hire a software developer for your project.

Read on or watch our video here.

Why test apps?

Software testing is critically important. Bugs can range from minor things like a misspelling in an app to major things like one single action deleting all of the data in your database. It’s something developers need to place a priority on, and you should too. It will be a part of your risk management plan and can save you money in the future.

 

The Pyramid (Not a Scheme, We Promise!)

So to really break things down, we like to think of software testing as a triangle. At the bottom of the triangle is unit testing.

Unit tests are just that. They’re testing really small bits of code to the lowest level possible. They’re fairly inexpensive too, and you can have tons of them. You can run them through automatic testing when code is entered. That’s your first level of defense against a software bug.

And then in the middle of the pyramid we have what we call integration tests. These test third party bits or something your app is going to integrate with. This could be an API for Google Maps or it could be your internal database – really anything that’s a third party. 

And then at the top we have UI testing, sometimes called end-to-end testing or functional testing. The terminology doesn’t really matter. At the end of the day, you want that first line of defense, second line, and the third line of defense.

All of these things should be as automated as possible. Something to think about in software development is that the bottom of the pyramid is your least expensive test. It’s the developer’s time but it’s going to save you because it’s your first line of defense. The top of the pyramid tends to be the most costly because somebody has to write those functional end-to-end tests and automate them, or you have to have somebody manually test those things.

 

Questions to Ask

So we’ve got unit tests at the bottom, integration tests, and then UI tests or end-to-end tests at the very top. When you’re talking to developers, those are important concepts to understand. Ask them, “Where do you put the most importance? What tests are important to you, and what kind of test coverage do you have in each of those categories?’ It’s okay to ask developers those questions, and don’t worry if you’ve never written those tests before. You should be able to talk to a developer, and they should be able to help with those things.

 

If you found this helpful, please subscribe to our youtube channel, find us on social media.

Email us with your ideas for tech topics we should break down in less than three minutes!

 

Additional Resources:

Mobile App Testing

Questions to Ask Your App Developer About Testing

By: Carol Vercellino, CEO & Co-Founder

Mobile app testing sounds really important, but as an entrepreneur with an app idea, what do you really need to know about it? What questions do you need to ask the developer you’re going to work with to build your app to ensure it’s being tested thoroughly, especially if you don’t have a software development background? 

I’m Carol Vercellino, the cofounder of Oak City Labs, and this is my cofounder Jay Lyerly, who also serves as our chief technology officer. He’s going to share his knowledge of testing. 

Watch the video or read on below to learn more.

Carol: Alright Jay, let’s start with the basics. Why is it even important to test your mobile app?

Jay: Testing is all about risk management and how you can manage any changes to your application. So as your app grows and develops, it becomes more and more complicated. It’s easier to introduce problems when you make changes. So, a good solid testing foundation minimizes those kinds of issues.

Carol: So, risk management. Does it also help with the expense later down the road? Does it make it cheaper later?

Jay: Yeah because since you’re doing that risk management, you can feel safer in making changes later. And those later changes are less likely to cause catastrophic failures that sneak up on you.

Carol: You wouldn’t know anything about that! (laughing)

Jay: (Laughing) No, no no!

Carol: So if you were an entrepreneur and you were going to hire an app developer, what advice or what things would you ask about testing?

Jay: So the first thing I would ask is just really generally, “What kind of testing do you do?” Hopefully they don’t say “None!” So what you’re looking for after that is what kind of automated testing they do. Some developers will just do it all by hand. Manual testing is an important step, but you also want to have some automated tests to go with it. 

[You’ll also want to] talk about test coverage. That’s how much of your application gets tested in an automated way. It’s really hard for an end user application like a mobile app to have 100 percent test coverage just because there are a lot of weird cases that aren’t worth testing. But you probably want at least half, 50 percent. Up to 70 or 80 percent would be great numbers to hear.

Carol: Okay, so if a developer said yes, they do automated testing, and have over 50 percent coverage – or they say 100 percent coverage – are there any red flags someone should look for? Especially if they really don’t know what automated testing is, or what test coverage really even means?

Jay: Well, 100 percent test coverage is a little bit scary because there are always some bizarre cases that are really difficult to reach, and that’s not really an efficient use of a developer’s time. As far as other red flags, you might ask about how those tests get run. Is it all part of an automated, continuous integration kind of thing where they have a system that reproduces tests and builds the product for them? Or is it by hand, just sort of on the fly from their laptop?

Carol: Okay, or you can do what I do. Just ask what tools they use and madly Google them afterward to see if they’re actually legit. (Laughing)

Jay: (Laughing) That’s also a good idea, yeah!

Carol: Alright Jay, before we close – just one question I have to ask. Can you share a nightmare, or a war story from where you should have had a test, but maybe you didn’t test, and things didn’t go so well?

Jay: So one of the hard things is [deciding] how much to test. So we had an app we built one time where people made a list of stuff and could share the list with their friends. And their friends could pin those lists so they could come back to them later. And we had an issue where if a user pinned somebody’s list and they came back and unpinned or deleted that pin  later, there was a database mistake and it would cascade that deletion. It would actually delete the list, which was obviously super bad.

Carol: Yes!

Jay: We had tests to check if the list would go away if the [author deleted his own pin]. But we were not checking for those sort of secondary effects. So, that was a surprise and not good. But you know, the first thing we did was go back and add the test for it. So that’s an interesting way you can use testing to do bug fixes. If you get a bug, you can write a test that illustrates that bug. Then you go fix the bug and that test turns green, which means it passes. That’s a safety check in the future so when you make more changes down the line, you don’t reintroduce that bug back.

Carol: That also could be a good interview question for an entrepreneur who is hiring a developer. You could ask them, if you get bugs, what do you do? Ask about their process with bugs and if they’re writing tests.

Jay: Absolutely.

Carol: Jay, thank you so much for your wisdom on testing. I know you have helped us a lot at Oak City Labs with that, and we’re very thankful for that. If anyone has any questions or would like to hear more about testing or any other topic, just feel free to leave a comment, like this video, follow us on social media or go to our website www.oakcity.io. Thank you!

Contact the Oak City Labs team to discuss your app idea!

Success as an entrepreneur requires more than a great idea. The great idea must have the potential for exponential growth and scale. Is your idea viable? 💡

That is the Question.

 

By: Carol Vercellino, CEO & Co-Founder

 

Hi, I’m Carol Vercellino, the co-founder of Oak City Labs software development agency, and with me here today is my co-founder and CTO of Oak City Labs, Jay Lyerly. Today we’re going to discuss the differences between native and cross platform applications. It’s a question we get asked about all of the time. Hopefully we’re going to give you high-level [information] and maybe some of the pros and cons between the two. Before we start off, we are  a native shop, so keep that in mind.

Watch the video or read on below to learn more about these two options.


 

Carol: Jay, I know this is one of your favorite topics. Could you please explain to viewers what we mean when we say native platform versus cross platform?

Jay: Okay, so native means that you’re using the native development language and libraries for an application. So I’m probably going to talk about iOS, but this applies to Android as well. So for iOS, that means using a swift application using the native Cocoa Touch library to interact as a system. On the other hand you have cross platform. That used to sort of mean a web app wrapped in a very simple wrapper where it was really just a webpage. But now that usually means more that you’re using a non-native language like JavaScript or C#. And those have their own libraries. JavaScript would use something like reactnative, or C# would use something like zamron. And that’s an interface layer between your app and the system libraries.

 

Carol: what about some of the new things in the market like Flutter? 

Jay: Flutter is that same kind of mold. It uses a language called Dash, which is Google’s language. Dash uses the Flutter libraries to talk to the system libraries, so there’s still that extra layer in there to translate between the non-native language.

 

Carol: Okay, so what are some of the benefits of using a native platform?

Jay: So with the native app, you’re going to get access to everything you’re ever going to need. It’s a wide open field. Also you’ve got one less layer in there. You’ve got your code and the system libraries. So that means less software, and less software means less plugs. There’s less to go wrong. 

Now if you look at something cross platform, the big selling point there is that you get to use a different language. So if you have a bunch of JavaScript experience on your team, you can use JavaScript. Or Microsoft shops often have a lot of C# folks, so they can use Xamarin and make these cross platform apps. And the other big selling point is the right ones run anywhere. You build one app, and you can run that on both ioS and Android and some other weird platform that comes up next year. 

So, the downside with that is – with the “right ones run anywhere” thing, it never really turns out that way. First off, iOS and Android are different. Users expect them to run differently, so you often end up with a lot of bifurcated bits of your code where you have one section doing an iOS kind of thing and one section for Android to do an Android thing. So you get really messy code, which is hard to maintain in the long run. 

Also with the platforms, again because there’s an extra layer in there between your code and the system stuff, sometimes they don’t have access to all features. Especially new things that come out, like in iOS 14, which came out a few months ago. It might have features not yet covered by these cross platform libraries. Or more advanced features. If you have an app that does really fancy camera stuff and you want to have access to advanced camera controls, they don’t always cover the whole breadth of the native API.

 

Carol: Okay, that makes sense. So Apple is kind of known for being difficult sometimes to get your app approved and in the store. Is that ever a concern with cross platform?

Jay: Sometimes it is, because for example, there are certain private APIs that you’re not allowed to use. And sometimes those things change and so with this extra layer, they’ve got to keep up with those things too. So, sometimes people run into problems where their cross platform library isn’t in compliance and they need to upgrade. That means they need to do things to their code, or that upgrade isn’t available yet. Or it’s not stable – things like that. So sometimes that can be an issue.

 

Carol: Okay, so it sounds like the pros of a native platform are you don’t have an extra layer there and you get a whole lot more access to function on the hardware and the operating system for what you’re developing for. Cons – do you think maybe sometimes it’s a little more expensive if you need to develop for iOS and Android?

Jay: If you’re doing iOS, usually you get one good iOS team member and one good Android person and they can go to town. I think a lot of problems with a cross platform thing is you get one JavaScript person and you think they’re going to do everything. And they might have to, but then they have to do these platform-specific parts which sometimes require a littlemore expertise in Android, a little more expertise in iOS. So maybe you’ve got one person, but now they have to wear three different hats, so they’re stretched.

 

Carol: Okay, that makes sense. So last question, and i’m sure this is going to be your favorite one. What’s a situation when it would be okay to use a cross platform app or build something with a cross platform language? And, I worded it that way because I know you don’t like it!

Jay: [Laughter] So, the biggest issue when you’re looking at this thing is the complexity of your app. The cross platform frameworks make really simple apps really easily. Like it’s a great M.O. –  they can throw together really simple things. But the complexity of those things grows really rapidly. So as your app gets more complicated, the complexity of the whole system grows really quickly. 

But with a native app, there’s a little more of a hump – especially if you’re not a native developer – to get into that, but the level of complexity of the app doesn’t grow very fast. It’s actually pretty flat. So with a lot of apps, even basic 1.0 versions of your app, you add enough features that those complexity curves sort of cross, and the JavaScript actually becomes more complicated and you have more burden to add new features than a native app. So in my opinion, the native app is really going to be easier to maintain, develop, and add features to in the long run. If you want to do a cross platform app, the only real application I can see for that is when you have something really simple or really static. You want to take a magazine app [for example]. You want to just make some reader packaged as an app. It’s not going to be really feature rich or really performant.

 

Carol: So it sounds like if you’re assertive, you’ve got a low budget, and you do for whatever reason have to go cross platform, maybe a good thing would be to plan ahead for potentially rewriting in native in the future. Just know that might not be the app that you scale on.

Jay: Yeah, if you’re doing a first version or [working] on a shoestring budget, I think you’re going to hit the wall pretty quickly, and you’re going to have to rewrite that thing next year.

 

Carol: Alright, well Jay – thank you for discussing this topic with me. I know it’s one of your favorites, you did a good job not doing a full-on rant on it.

Jay: Thank you, Carol!

 

Carol: If anyone has questions or would like us to explain anything more, we’d be happy to do that. Just please follow along on our Oak City Labs channel, or you can find us on social media. Thank you so much for watching!

 

Contact the Oak City Labs team to discuss your app idea!

One way to end the year well and set yourself up for success in 2021 is to look at your 2020 metrics! Discuss what worked and why so you’ll know how to move forward.

 

Learn From Your 2020 Metrics

by Carol Vercellino, CEO of Oak City Labs


Machine learning is one of the most significant technological advancements in recent history. It’s experiencing incredible growth, and innovators are making breakthroughs in ways that no one ever could have expected. 

Because of this, machine learning has changed and will continue to change a lot over the coming years. You’re probably familiar with the buzzword, but the fact remains that many people can’t really answer the question of what machine learning is – and what it isn’t.

In this article (and video), we’ll talk about what machine learning really means, how it’s changed over the years, and where we think machine learning will go next.

What is machine learning?

Machine learning is a process where you use algorithms to parse data, learn from it, and make a prediction.

For example, one of the most common ways people are using machine learning right now is with stock market predictions. You can try to predict what a particular stock is going to do by combining historical stock data with other data, like weather, GDP, and even election data.

On a more personal note, if you have an iPhone, you can label your pet, child, partner, or friend in one of your photos. You’ll then notice that Apple Photos goes back through your album and labels any other pictures of that person or animal. You can also use search terms like ‘cake’ or ‘beach’ to sort through photos. That’s machine learning on the back end.

Machine learning is not where you have a whole bunch of data that people – or statisticians – manually go through (to learn more about the differences between machine learning and statistics, check out this article).

It’s an automated process, and the data is like a black box to the machine. The machine takes that data, dumps it into different models, and tries to develop the best possible answer. So, the machine doesn’t care whether it’s exploring weather or GDP data. 

A brief history of machine learning:

How does machine learning work?

Within machine learning, there are 3 different types of learning:

  1. Supervised learning
  2. Unsupervised learning
  3. Reinforcement learning

Supervised Learning

Supervised learning is when you give labeled data to the machine. For example, you have a whole data set full of cats and dogs. You give the machine that data set, and the machine learns what a cat is versus a dog. Then, you give the machine a photo that hasn’t been labeled and ask the machine to identify it as a cat or dog. And the machine can do that using algorithms and a little bit of human intervention.

Unsupervised Learning

Unsupervised learning is when the data is unlabeled. Take the same example, but instead of giving the machine images labeled as cats and dogs, you leave the photos unlabeled and ask the machine to look for patterns in those images. Then, you can come up with a label for those patterns. 

Reinforcement Learning

Reinforcement learning is much like playing a video game. In a video game, the user goes through a level and gets a reward or badge before proceeding to the next level. Reinforcement learning is very much like that. The automation or algorithms attempt to find the most optimal way to accomplish a task. 

When the machine does well, it moves onto the next task, and it continues to try and get better and better each time. 

What’s next in machine learning?

Machine learning is becoming more commonplace, but we’re also moving towards getting more information around the data. 

According to Jason Burke of CREO, Inc., the biggest problem in the machine learning space right now is not the algorithms or math; it’s cleaning the data and the context of the data. We need to combine statistics and machine learning to get more context around the data itself. 

We believe we’ll see advancements in that area in the coming years, plus more user-friendly platforms where anybody can sit down and use data science and machine learning.

Machine learning will undoubtedly continue to disrupt every industry. How are you going to use machine learning to impact your company, industry, or the world?

Speaking of advancements in technology…here’s what you need to know about Apple’s new iPads, watches, and the iOS 14 release. 

Subscribe for the latest updates

Where problems get solved.

© 2020 Oak City Labs | A Well Refined Website