First Contact was totally meant for non-fans as evidenced by how far they went completely spelling things out. Take for example Picard's log near the beginning where he actually says "the Borg, our most feared enemy." Anyone in universe listening to the log would know who the Borg are so there's no need to describe them as "our most feared enemy." It's there for the benefit of an audience who doesn't know who the Borg are. Likewise, after the Borg succeed at altering the timeline, Picard takes time to explain (in-movie to himself, apparentally) that they must follow the Borg back and prevent them from changing history before actually giving the order to go through the temporal vortex. This makes no sense in-universe, wasting time talking to yourself about what needs to be done instead of giving the order to take care of business. But it does make sense if there's an audience that this needs to be explained to. There are other examples, the Enterprise is referred to as the Enterprise E more often in this movie than the Enterprise D was referred to as that in the entire seven year run of TNG. Hell, Lily's purpose on board the Enterprise was to give non-fans someone to relate two. But the above two are the ones that really grate on me.