They should focus on implementing ActivityPub instead of their useless proprietary protocol

It's not "proprietary", it's openly specified and is literally being taken to IETF: https://docs.bsky.app/blog/taking-at-to-ietf

Also, unlike ActivityPub, it's actually useful for building features that normal people expect from social apps — for example, algorithmic feeds and search, and a single interlinked world (rather than fragmented "servers").

Eh, AP has its own sets of problems (underspecified protocol, split-brained on discoverability, new developments are met with hostility in the community)