Table of Contents
As you may already know, alarms have been raised today due to a failure in the group FaceTime Bug that allowed (before picking up).
That the calling user could see and hear the device they were calling without their consent. A privacy error caused by a failure in the app has caused Apple to react by disabling the service and informing that it is preparing an emergency patch shortly.
Facts about Facetime Bug
- As is logical, and being Apple, people have begun to flood social networks and comments wholly offended. Right now, it is a trending topic on Twitter.
- It is usual for us to think that a company like Apple that defends privacy tooth and nail should not have bugs in its software directly related to this issue. And from the first moment, my opinion is clear:
- I agree that it is a significant error and that it should have been detecting and corrected long before the functionality was even releasing to the public.
- 0 days ago, a 14-year-old fond of Apple devices discovered the error, his father tried to communicate it privately through official channels to Apple, and they could not. They ignored them. Only when the press has brought it out, Apple has reacted.
- We will tell a story behind this error, which I, personally. If I find a much more critical Apple failure and should fix. How a 14-year-old boy who discovered this error 10 days ago and you It has been impossible to contact Apple and take it seriously until the media have made the mistake public.
- When a program surfaces its development phase, it goes to testing. These are involuntary and manual. And when we talk about a business as large as Apple with so many developments. The tests are usually more intuitive than manual.
- Involuntary tests, also known as unit tests. Are part of a development architecture called TDD or Test driven-development and translated something like “test-driven development.”
- However, in essence, it is the aptitude to create a program that can test other programs’ functionality. In Apple’s case, there are 2 types: unit tests that verify the app’s functionality and interface tests that prove that they are correct and well defined.
- In the first case, the unit tests, imagine that I have a function that should return a specific result that I know is the correct one at a functional level when called. Keeping it simple: I have a process that takes two numbers and returns the squares’ sum.
Errors, something difficult to manage
The end of the article will serve to clarify two things, as a developer with more than 30 years of experience: detecting all software errors is impossible.
And as obvious or silly as this FaceTime error may seem, the reality, as I have already said. Is that no one (that we know of). Has ever thought of testing the exact use case that leads to that failure until 10 days ago since iOS 10.1 Group FaceTime calls were releasing. Not even Apple. I don’t justify the company:
- I consider a software reality that happens to all companies, including Apple.
- On the other hand, and sincerely, I appreciate Apple’s ability to react when they finally realized the mistake.
- But it seems more severe to me that the communication channels have failed to report this error. And that it has had to be the press that has set off the alarms. For the machinery in Cupertino to react and get to work.
- What they’ve done in reacting seems exemplary to me. But they had a chance to do it earlier without all the fuss. And they’ve proven to have an important lesson to learn about privately reporting bugs to Apple.