three indispensable aspects software implementationpotential uses for an online community