<p>Sowhat's gone wrong? How can we fix this? Quite simply, think of your app'sfunctionalelement(whatitactuallydoes)andturnthatintoalibrary,thenwriteyourappusingthatlibraryinsteadofdirectlyembeddedintoyourappscode.Thisway,anyfeatureavailableinyourappisavailableinanyotherclientthatiscommunitymade.Aperfectexampleofthisis<ahref="https://tox.chat/"target="_blank">Tox</a>,wheretheactualworkisdonebythe<i>toxcore</i>library,andeveryclienthastheabilitytoimplementtheverysamefeatures.</p>
<p>Theonlyreasonnottodevelopinthismannerisifyouarepurposefullytryingtomakeitharderforpeopletomakealternativeinterfacestoyoursoftware,whichdoesn't sound very friendly, and certainly isn'tinthespiritoffreeoropen-sourcesoftware.</p>