Ryan’s Toy Review Is Child Exploitation

Being a parent, as any other parent would attest is rewarding, but hard work. And nothing has made modern parenting more challenging than YouTube.

We managed to not expose our firstborn son to any TV or screens until he was two. We were doing well until we had a trip booked from Australia to the UK, which was a 23-hour trip. We bit the bullet and bought an iPad to load up with some activities for the journey and some carefully selected YouTube videos.

Things started innocently enough, until the YouTube app, when connected to the internet, would begin automatically playing similar recommended videos. I do not recall the exact moment, but eventually, Ryan’s Toy Review found its way into our lives.

If you are a parent of children who watch YouTube, there is a good chance they have come across Ryan’s Toy Review or one of its other associated channels like Ryan’s Family Review.

Ryan’s Toy Review might have started out with good intentions, but estimates place the earnings of the channel at around $22 million (US Dollars) per year. When you are earning that much money, you are a business, not an innocent child playing with toys.

The parents regularly feature in Ryan’s videos, the mother has a very irritating voice and is always shouting. The father seems to be softly spoken and somewhat likeable, but the mother takes centre stage, and it sometimes feels like she is the subject of the video, not Ryan.

Watch any of the videos produced lately on the channel, and you will notice they all have one thing most in common: they’re advertising Ryan branded products. None of the videos has any kind of disclaimer on them that says they are promoting paid products either. Sometimes a flash of text or a few seconds of the video will tell you it’s a promotion, but intentionally short.

In one of the videos, Ryan visits a Colgate factory and does a tour, the video starts off innocently enough until you realise it’s an advertisement for Ryan branded dental products. The way they frame it is Ryan just spends a fun day making toothpaste and mouthwash, like it’s a visit to the museum.

The ironic thing about these videos, is there are numerous ones of Ryan eating and playing with chocolate, talking about McDonald’s and other unhealthy forms of food that would cause decay.

People are beginning to notice that Ryan’s Toy Review and associated channels are deceiving and tricking children into buying their products. So much so, a complaint has been registered with the FTC.

And it is clear the parents are reaping the rewards of the success of the channel. They started another channel called Ryan’s Family Review, where they travel and do things most kids do not get to do. Perhaps most desperate of all is the channel his parents started called The Studio Space.

We blocked Ryan’s Toy Review and Family Review channels, but one channel which is new is Studio Space (since blocked). Most of the videos centre around Ryan’s parents and other weird guests, with a rare appearance from Ryan himself from time-to-time.

I get the impression Ryan’s mother Loann, loves fame and money because she appears the most in these videos. It feels like a desperate attempt to pivot, knowing that Ryan is getting older and becoming more interested in video games like Minecraft over toys.

The Studio Space videos see Ryan’s parents acting out role plays, playing with toys, pushing cardboard boxes into inflatable pools and other nonsense in a desperate attempt to retain their large following and subsequent profits from that following.

In the regular YouTube app, you cannot outright block a channel from being watched or appearing. However, if you download the YouTube Kids app, you can. We actually have blocked the channel in our house, and I recommend everyone else does the same.

Ryan’s Toy Review is a business selling products to vulnerable children disguised as innocent toy review videos.

When To Use State Management In Front-end Applications?

As ubiquitous as state management has become in front-end development, it is still a confusing magical black box to most developers. Data goes in, data goes out, and nobody thinks about what happens in-between.

Some developers believe the answer to the question in my title is: always. While some don’t believe in using state management at all and if you’re like me, the answer is: it depends.

When state management gets added to an application that meets the criteria for using it, a weight gets lifted off your shoulders, and things make sense. Prematurely introduce state management or use it in places where you shouldn’t, and your life becomes a tangled mess.

The complexity of state management starts to get even more confusing when questions arise around best practices for working with API endpoints or dealing with forms. The answers are primarily opinion-based once again.

Avoid state management for forms

I cannot stress this enough. I have seen developers implement hacky solutions to working with form inputs and state management, and it’s a clear case of the right tool for the right job. While Redux and other state management solutions have plugins for dealing with forms, why inflict pain on yourself unnecessarily?

You might not agree with me on this one, and that is okay. However, every single time, I can recall seeing state management, coupled with forms, was unnecessary. You only have to Google to find a tonne of people asking for help getting state management to work with forms to see why you shouldn’t.

Forms are often always ephemeral state, meaning the data only exists temporarily. An example of a form might be login form with a username and password or a form for adding a new product to your store. You enter the data and dispatch an action, the form gets cleared, and that’s it.

Instead of replicating and nesting properties in a massive state tree for one specific part of your application that some users might not even use, use local state instead. If you’re working with React, this would be local state within a component (using something like the useState hook) and similar with Aurelia or Vue, local state within your view-model or component.

Just because you can doesn’t mean that you should.

Working with API’s

Depending on your state management solution of choice, the approach for working with API’s can vary depending on plugins and workflow. However, the principle is the same. Your action(s) make an API request and update the state, or you make the request and dispatch an action with the response.

I know in Vue’s VueX state management plugin, many in the community advocate for making your API requests inside of your actions. There isn’t anything wrong with that; however, in Aurelia’s state management library Aurelia Store, I advocate for making the request and then notifying the store.

It doesn’t matter how your data gets into the state, more-so what kind of data you are putting in the state is what truly matters.

Do I need this data again, will I use it more than once?

State management is recycling your data. Will you need that value again in other parts of your application? Use state management. Do you only need to store the value temporarily and reference it in a specific component, only for it to be discarded shortly after that? Don’t use state management.

Asking yourself the following question should be the litmus test you apply to your development workflow. Will you need this value again and will you need it in other parts of your application? Type it up, print it out and hang it up on your wall.

The purpose of state management is not to play the role of “random kitchen drawer full of miscellaneous items”, it exists to make cross-component and cross-application data access easier as well as ensuring the integrity and shape of the data remains intact (in part due to Javascript passing everything by reference).

Using GraphQL?

You might not need state management at all. GraphQL offerings like Apollo offer an all-in-one package for working with data, including state management like functionality that makes syncing and working with your GraphQL server a breeze.

While there is nothing stopping you from using GraphQL with state management libraries, and some GraphQL clients might require them to meet your needs, in many cases you only need one or the other.

State management can introduce unnecessary complexity

If you have ever seen a React + Redux application, you know what I am talking about, a mess of folders and files scattered through your application. You have to open up seven files to change something, and it’s a tonne of cognitive overload.

Something I want to make very clear here: the complexity of using something should never be the deciding factor in whether to use it or not. The next time you start on a new application, don’t be so quick to add in state management but don’t leave it too late.

If you’re validating an idea or prototyping, it can slow you down having to write all of the boilerplate most state management libraries require. Sometimes you need to be “agile” and flexible, and state management can be quite rigid and the opposite of that.

When it comes to state management, do what works for you. Trust your intuition, and if something feels complicated and unnecessary, your gut instinct is probably right. Posts like these are great as a guide, but ultimately you should never take everything as gospel.

TAD (Test After Development)

Testing is a crucial part of any modern development process. If you’re not testing your code, you might as well be writing it blindfolded and hoping when you push to production that it works, if the company doesn’t go bankrupt from all of the bugs first.

But, I am a realist. Being honest, we all start out wanting to build things right. We want to test everything, writing both unit and integration tests to make sure everything works as intended. The company you work for might even allow for time to write tests until reality hits you on the back of the head.

Priorities change. The higher-ups want the product you’re working on to ship in two months, and there is easily four months of work in Jira, it’s going to be a mission to get it all completed in time.

In my experience, tests are usually the first thing to be removed in the face of more pressing priorities (like actually building the product and making money).

A word on Test Driven Development (TDD)

I have always been a fan of test-driven development. And I have been fortunate to be in a position where I have been able to explore TDD, and when it works, boy does it work. By works, I mean when a company agrees to invest the time into a test-driven development process.

Every project I work on, my first thought is “TDD would be great for this”, but once again, priorities shift, and it becomes hard to justify the short-term investment for the long-term gain that TDD provides. Even if your entire development team wants something, management gets the final word, and it all comes down to money in the end (we’ll talk about that later).

You need tests

In an ideal world, we would all be writing our tests first and then making our code make them pass, make them fail, make them pass. A good test not only helps you design clean code, but it also has the added benefit of documenting your code as well.

If TDD is more time consuming and harder to justify to your company, does this mean you give up on writing tests completely? Heck no.

In any medium to large application, tests are as crucial as decent server infrastructure; they should be the oxygen to your app brain. No oxygen and the brain will slowly die.

Inevitably, many developers end up resorting to TAD (Test After Development) because it’s easier and faster (at least initially). Writing the code first and then going back and writing the tests after the fact. It is not super ideal, but any tests are better than no tests.

Many would argue that if you get into the habit of TDD, over time, you will get faster at writing tests and code, that the long-term benefits outweigh the short-term caveats. The buy-in from stakeholders is the hard part. If it were easy, everyone would be doing TDD.

The longer you work on a project, the more crucial tests become. As the scope widens and feature set increases, things are more likely to break, and some of your architectural decisions early on are bound to come back and bite you (something that TDD would help you most likely avoid).

The whole point of TDD is that initially, work takes longer to complete than not prescribing to TDD, but your code will be more stable and less error-prone.

An experienced surgeon doesn’t rush to cut you open and perform heart surgery right away; they take their time and slowly get the job done. Programming is not heart surgery, but if you’re working on critical systems where functioning clean code is essential (like a space shuttle or nuclear power plant), it’s equally as important you get it right.

However, it all comes down to cost

The deciding factor in any decision you make within your company always comes down to money. The short-term benefits of TDD are hard to quantify, and if you do your job correctly, the number of bugs and refactoring work you need to do will be substantially lower (almost zero), but how do you prove that to non-technical higher-ups?

You can’t. It’s all well and good to say we have fewer bugs since adhering to TDD principles, but it is challenging to prove that TDD is the reason for that and not just increased familiarity and skill-level being the main factor.

  • Does it take more time to finish a task? Yes.
  • Will it cost the company more time and money? Yes.
  • Will there be a learning curve for inexperienced developers (especially juniors)? Yes.

Once again, you could argue that writing the code and then writing the tests, going back and refactoring your code and then having to fix your tests takes a lot more time using TAD: you’re right. Looking at TDD through neutral coloured glasses, there are more benefits than downsides if time is not an option.

But, the industry is weird. Many managers still measure the value and productivity of developers by the number of lines of code they write and commits they’re pushing up. And what produces the most lines of code and commits? TAD. It’s inefficient, but even non-technical people can see you look busy.

Developer A and Developer B side-by-side, Developer A is writing and shipping code faster than the other. It might be laden with errors and horrendous compared to Developer B’s well-architected and clean code, but it works and if there is one thing managers love more than saving money, it’s shipping code on time.

Conclusion

If you can’t convince the company you work for to give TDD a chance, TAD is still an acceptable albeit less than the ideal alternative of no tests. As long as you have tests, there is always room for improvement.

Your Privacy Is An Illusion

All eyes are on Facebook at the moment as it was revealed that Cambridge Analytica a third-party company exploited loopholes in Facebook’s platform to obtain as much as 87 million Facebook users information through some fake survey application.

While this is a terrifying situation knowing that such a large amount of data was harvested, can we honestly say that we are really surprised something like this has happened?

Facebook isn’t alone

It’s easy to blame Facebook, they’re the biggest social network and they know a lot about us, but they’re not the only online company with a trove of information.

Are we really naive to believe that Apple, Google, Amazon and numerous advertising platforms don’t have the same level of data (if not more) than what Facebook has? Can we honestly say that we know what data these other companies have and of whom they provide access to?

We knowingly give up so much about ourselves, all so Google can tell us how long it will take to get somewhere in Google Maps or so Siri and Google Assistant can tell us funny jokes.

We go out and buy Amazon Echo’s, Google Home’s and Apple Siri Speakers and let them listen to our every word. We knowingly allow companies like Google to track our search history, our viewing history on YouTube.

I can’t help but feel as though Facebook is being used a scapegoat here, if only US senators held other companies and themselves as accountable for data, and acted more harshly when a company is hacked and user information is leaked.

What happened with Facebook is inexcusable and alarming, but we’re focusing on one part of the problem here. There is more to the privacy puzzle than Facebook, let’s get serious about privacy and equally question all large companies with access to a lot of our data.

Hello Equifax

In 2017 arguably one of the largest data breaches so far was when Equifax was hacked, exposing 147.9 million Americans, as well as some Canadian and British nationals information including; drivers licence numbers, social security numbers, tax identification numbers, email addresses (issue dates and states).

And worse of all, it took Equifax four months to report the hack. For four months, information on over one hundred million people was circulating dark parts of the web. Unacceptable.

Not only was the hack bad and failure to disclose it in a timely manner, but Equifax routinely botched its reporting on the hack, failing to disclose more information than they had led on was taken, and revising the number of affected people a couple of times.

Did Equifax get paraded in US Congress and grilled by senators for their recklessness like Mark Zuckerberg? No. Did Equifax get threatened with further legislation and regulation, or maybe a fine? Nope.

The Consumer Financial Protection Bureau (tasked with protecting consumers) who was investigating the incident stopped investigating Equifax after a change in leadership.

To put that into perspective, Facebook users had some of their information harvested (their likes, interests and so on) but nothing that could be used to steal your identity or understand your financial position, but Equifax exposes some seriously private details and nothing happens.

Russia. Russia. Russia.

This whole situation reeks of a strong agenda, like an aged cheese or infected toe and it’s called Russia.

You see, Russia is a hot topic at the moment. This whole situation isn’t about privacy, US senators don’t care about your Facebook likes and friends list being harvested.

But you throw Russia into the mix and say the data was used to manipulate the 2016 election and all of a sudden it becomes more interesting and appealing, it’s a scandal now and scandals are great to push an agenda.

Conclusion

We can slap the handcuffs on Facebook all we want, but you know and I know that Facebook isn’t the only company that has information about you and isn’t forthcoming with how it is used or accessed.

We just witnessed a small-scale atomic data explosion, I am sure we are going to see privacy explosions on the same scale, if not bigger.

The Decline of Medium.com

I still fondly remember when Medium first hit the scene. Everyone loved the quality of the writing and variety, every article I read was seemingly well-written and of high quality.

Fast forward to 2017 and Medium has become the equivalent of a never-ending TED Talk. Everyone wants to improve my life and tell me how to be a better person.

The good articles are still there, but there is a serious imbalance of content going on, with the “X things you need to do for a better life” or “How to be a better X”

At the time of writing this, here are some of the titles of Medium articles under the popular topic. As you’re reading them, picture someone in a argyle sweater holding a piccolo latte and wearing black rimmed glasses on a TED stage reading these out as they pace the stage back and forth with long pauses between their words.

  • Our clothes can change who we are
  • It’s a Good Thing Some People Don’t Like You
  • How To Deal With Uncomfortable Emotions And Reshape Your Identity
  • 5 Mental Biases That Cause Poor Decisions
  • 30 Behaviors That Will Make You Unstoppable
  • Willpower Doesn’t Work. Here’s How to Actually Change Your Life
  • I Once Talked To Seth Godin On The Phone: Here’s How It Changed My Life and Business

I am not saying there isn’t a market for these kind of articles and heck, I would be lying to you if I said I hadn’t read one or two of these do-gooder, improve your shitty life articles on Medium before.

Medium has become a real life living TED Talk with some of Tony Robbin’s, “my life is so great and here is how your life can be great too” mantra injected in there somewhere.

It is for this reason, I find myself not going to Medium as much as I used too. The content doesn’t appeal to me and when it does, there is usually a downside somewhere along the way.

It’s not that I am a negative person, I just find these “positive” improve your life articles to be mostly full of shit. I often wonder if Tony Robbin’s truly believes in what he preaches at his expensive events or if he just likes the feeling of money against his skin as he bathes in it on his elevated mansion overlooking the sad common folk.

I follow programming topics on Medium mostly and even then, for Javascript specifically it has devolved into comparison posts pitting frameworks and libraries against one another.

The comparison articles on Medium (which I am guilty of blogging here myself) are mostly always poorly written and heavily one-sided. It’s rare you encounter a comparison article that is balanced.

Then there is the other side of Medium if you’re a content writer: lost ownership.

When you publish your content on Medium, you’re giving up control. Sure, you get to publish on a large centralised content platform with huge reach, but you’re beholden to a platform which exists to make money for its investors and pay its staff.

This means Medium can change the rules midway through the game and you have to deal with it. If Medium decide you have to start paying them or GTFO, you have a loaded gun pointed to your head (a bit of a theoretical, but still).

Self-publishing is the future of content, not publishing articles on a VC backed content platform.

Developers: Disable Your Adblocker On StackOverflow

If you’re a developer, then there is a very high possibility that at some point, you’ve needed to Google an issue and you encountered a StackOverflow question and got the help you needed.

Personally, I hit StackOverflow a few times per week, sometimes on a daily basis if I am tackling something I do not fully understand.

All of the developers I know use adblockers (I use uBlock Origin in Chrome) and by default blocking advertisements everywhere. But if there is one site that deserves to be whitelisted: it’s StackOverflow.

For general information about a wide range of topics, we have Wikipedia and for answering our development questions: we have StackOverflow.

They ask for no money, you don’t need an account to use it and the advertisements they do show are non-intrusive and tasteful (unlike a site like The Pirate Bay).

And above all else: StackOverflow don’t care if you block ads, although they would prefer it if you didn’t. The value of StackOverflow cannot be understated, it is the Wikipedia equivalent for developers and they deserve our support.

Gimlet Media Made A Mistake Getting Rid of Mystery Show

If you’re not familiar with Gimlet Media, they were famously founded via the StartUp podcast where season one detailed the highs and lows of a couple of seasoned guys experienced in the podcast world to form a podcast company.

As Gimlet Media grew, so did their roster of shows. One such show I enjoyed listening too more than anything else was Mystery Show.

I thought StartUp kind of tapered off a little after the explosive first season, as Gimlet started to become bigger and its show roster grew, something was bound to give.

The premise for Mystery Show was simple. Each episode centred around a “mystery” and the presenter Starlee Kleine would help solve it. The mysteries were brought to Starlee from real people.

In the opinion of many, it was a great show. Nicely paced, well-written and Starlee has a voice made for a podcast.

The show tapped into that part of our brains that found podcasts like Serial and the Netflix hit series Making A Murdered so addictive. Nothing is more alluring to mankind than an unsolved mystery.

Just how popular was Mystery Show?

In 2015, Apple named Mystery Show the Best New Podcast of 2015 in their year-end rewards. In the same list as WTF with Marc Maron and Song Exploder, amongst others.

The Atlantic named episode 3 of season 1 one of the top 50 podcast episodes of 2015.

The Mystery Show Facebook page has 16,316 likes and an incredibly positive sentiment amongst the comments the page receives. For some perspective the Reply All Facebook page only has 12,661 likes. The StartUp Podcast Facebook page has 12,985 likes.

I am well-aware that Facebook likes alone aren’t enough to sustain a show and there are other factors to consider, but it is quite evident that Mystery Show was one of the most popular shows Gimlet Media has (maybe their metrics say otherwise). But the fact Mystery Show has more likes, it has to mean something, right?

The fans that have rallied behind Mystery Show have openly said they would crowdfund the podcast. This comment on the FB page received over a thousand likes about crowdfunding the show.

I really hope that Starlee finds a sponsor or someone else to take the show under their umbrella, because it’s unique and refreshing in the world of podcasts.

The Masters Sale Is A Farce

Chances are if you’re Australian, then you’re well aware Masters the previously Woolworths owned Bunnings competitor that failed is closing down December 11th, 2016.

Just like the Dick Smith “fire sale”, Masters are selling all of their stock at discounted prices. The issue here is the supposed discounts are a farce.

There are bargains to be had, but for the most part, a lot of the discounted goods are at most discounted 40%, to the contrary 60% and 70% that has been advertised.

A lot of the items that Masters sell/sold are considerably higher than Bunnings or purchasing online elsewhere. A lot of the discounts actually bring prices inline with Bunnings and other stores.

Some might argue that any discount is better than 0% discount, completely ignorant of the fact that Masters is more expensive for most things they sell/sold and therefore the discount only puts them on a level playing field with their competitors.

Apparently the increased floor space of Masters stores meant they had to sell more and therefore that was the reason they failed, the real reason is Masters could never compete with Bunnings or other competitors on price.

RIP Masters, price always wins.

How Microsoft Could Beat Slack: HIPAA Compliance

The curtains have opened on Microsoft’s Slack competitor called Microsoft Teams. Just like Slack it supports channels, group messaging and other communicative features many users of Slack have grown to love.

My first thought when I heard about this was, oh here we go, Microsoft trying to compete with the well-established and universally loved communication tool Slack with a half-baked competitor.

It seems many across the internet share similar thoughts. That is, until you dig deeper and have that oh shit moment when you see Microsoft Teams is fully HIPAA (Health Insurance Portability and Accountability) compliant.

There is a whole untapped market in the healthcare industry as HIPAA compliance is notably difficult to adhere to. This is why the healthcare industry in terms of adopting technology is a lot more restrained and behind the times.

Not only is Microsoft’s offering HIPAA compliant, but it also boasts a plethora of security features and integrations. Whether or not the security aspect is enough remains to be seen. In an era with leaks, I think Microsoft who are targeting startups, businesses and so on might be onto something.

Who knows if Microsoft Teams will go anywhere. The fact remains that when you buy and download Microsoft office you will need an Office 365 subscription, meaning, they’re probably focusing more on existing subscribers and building from there.

The integration with Skype is fantastic, as well as OneNote and all of the other various Microsoft products they offer under the 365 umbrella. It also works out to be currently cheaper per person than Slack.

While Microsoft might not be solely targeting industries which need to be HIPAA compliant, it definitely gives them an advantage over Slack. This plus the seamless integration with other Microsoft products, is it enough? Time will tell.

The New MacBook Pro: A Missed Opportunity

It’s hard to avoid Apple announcements for new hardware and the introduction of the new MacBook Pro is no exception.

I live on both sides of the fence using PC and Mac. I don’t lean in one direction over the other, but when it comes to development, using a Mac is definitely less stressful.

I have been waiting for Apple to release a worthy new MacBook to upgrade my 13″ 2014 MacBook Pro which I use for all of my front-end development projects.

While the new OLED touch bar is cool, it’s not enough to warrant upgrading for me. Apple missed so many opportunities to step up to the plate and change the game.

Where is the touchscreen?

Apple added in a screen touch bar, but they should have taken a page out of the book of $500 Windows laptops and added in a touchscreen.

My wife uses an almost 3 year old $500 HP laptop which has a touchscreen and while you might assume it is gimmicky, it works really well and in confined spaces like bed, a train or on a plane: it can be a Godsend.

I think a touchscreen on a MBP might be more useful than people think. I find 13″ is a good size for a tray table on a plane, but typing means I have to contort my hands into a weird uncomfortable position.

Anyone who questions the usefulness of a touchscreen display on a laptop has obviously never used one before, because they’re incredibly useful and other vendors have shown they work well.

Beyond 16gb of memory

When it comes to working with large files, running virtual machines… the more memory, the better. MacBook Pro’s have notoriously been lacking in the Ram department. To make matters worse, Apple solder in everything, so you can’t manually add in more.

With the new MBP range, the maximum size memory you can add is 16gb. Welcome to 2012, Apple.

I think this is one of the biggest letdowns of the new MacBook Pro range. Memory is important and we can live without Core i7 processors and powerful graphics cards (for professional purposes), but 16gb of memory? Really?

The newly announced Microsoft Surface Book might be more expensive, but Microsoft offer far greater customisation options, a touch screen, more modern hardware like core i7 processors and 32gb of ram as an option.