> I remember that part of the youtube speech that says to use $apply to switch between angular and non-angular worlds.

You typically use $apply from within browser event handlers, to give Angular a chance to execute the watchers. E.g.

```
elt.addEventListener('click', function() {
   $scope.$apply(function() {
       $scope.myProperty = newValue;
   });
}, false);
```

> I think that we are actually outside the angular world when the shortenUrl() function is called.

No, because we're coming from a ng-click directive. Look at panel.html partial.

> I might be wrong and I'm not trying to be picky...but just trying to understand.

Sure.