Altijd weten door wie je gebeld wordt

Is het niet super handig als je gebeld wordt, je altijd weet door wie? Met uitzondering van echte onbekende nummers natuurlijk. Ofwel; je wordt gebeld en er staat een nummer in het scherm welke je niet kent. Vervolgens zorgt een app ervoor dat er een popupje komt met de naam van de persoon. Goed nieuws! Zo’n app is er al: Truecaller. Maar, helaas herkent deze app heel erg weinig telefoon nummers en mocht het op 06 nummers aankomen kan je het helemaal vergeten. Dat kan beter!

Het idee

WhoApp! Na het downloaden en starten van de app wordt je gehele adressenboek (enkel namen en telefoon nummers) geüpload naar de server. Dit klinkt misschien gek of eng maar waarom niet? Het zijn maar telefoon nummers en namen en anders kan er nooit een (om te beginnen, landelijk) telefoonboek gemaakt worden met ook mobiele nummers. Mocht je dit niet willen eventueel een tweede betaalde app waarbij dit niet hoeft. Dit is dan gelijk een klein verdien patroon. In de app zelf kan er op telefoon nummer gezocht worden naar namen. Dit aan de hand van de gegevens in de database op de server. Mocht het betreffende telefoon nummer nog niet in de database staan eventueel een koppeling met bijvoorbeeld nummerzoeker.com waar het mogelijk is te zoeken op vaste telefoon nummers naar (bedrijfs)namen en adressen. Daarnaast kan de achtergrond taak aangezet worden welke zorgt voor de volgende functionaliteit:

Wanneer je gebeld wordt komt er bovenin het scherm een venstertje te staan met daarin de naam van diegene met dat telefoon nummer. Dit enkel in het geval dat het nummer niet in je eigen adressenboek staat en uiteraard enkel wanneer aanwezig in de database.

Truecaller

Uitvoering

Enige tijd geleden kwam dit idee en heb hiervoor de naam WhoApp bedacht. Deze naam zodoende geregistreerd, zowel bij de KvK als de domeinnaam (whoapp.nl) en de naam als app voor de Google Play Store. Nu de app nog maken! Op het moment van schrijven ben ik nog niet zo ver met Java en dus native Android apps. Daarin tegen kan ik aardig wat maken met Phonegap waar ik eerder een artikel over heb geschreven: App maken met Phonegap en Phonegap Build. De te ontwikkelen functionaliteiten:

  • Contacten van de telefoon naar de server versturen. Met Phonegap werk je voornamelijk met Javascript, dat in combinatie met de Phonegap API en vervolgens middels Ajax versturen. Dit heb ik inmiddels getest en functioneert.
  • Het telefoonboek. Op de server zal een PHP script in combinatie met een MySQL database alle telefoon nummers moeten verwerken. Deze dienen uiteraard gestandaardiseerd en gegroepeerd te worden. Dit wordt nog even uitzoeken maar is zeker te doen. Ook moet er een algoritme toegepast worden om de juiste naam te tonen. De één heeft in zijn adressenboek simpelweg “Roy” staan, de ander “Roy Duineveld” en weer iemand anders “Roy uit Heiloo”. Aan de hand van de meest voorkomende naam zal deze getoond worden. Dan hopen dat zoveel mogelijk mensen “Roy Duineveld” in hun telefoonboek hebben staan.
  • Van de app een service maken welke op de achtergrond draait. Dit is vanuit Phonegap nog niet mogelijk maar er is wel al een plugin voor gemaakt: Cordova-Plugin-BackgroundService. Ik heb hier nog niet mee geëxperimenteerd maar ik verwacht geen problemen.
  • De service automatisch starten wanneer de telefoon aan gezet wordt. Dit wordt waarschijnlijk in de native code duiken worden maar hoop in de “Background Service” plugin wat te vinden wat dit mogelijk maakt.
  • Wanneer gaat de telefoon over? Ook daar heeft iemand al een plugin voor Phonegap voor gemaakt! PhoneListener. Helaas functioneert deze plugin niet meer met de nieuwere versies van Phonegap maar ook nu heeft een nieuwe plugin zich aangeboden die dit mogelijk maakt: PhoneStateChangeListener. Hierbij krijg je de status “idle”, “ringing” of “offhook” door. Getest en werkt perfect!
  • Wanneer de telefoon gaat; het telefoon nummer bemachtigen. In de extended versie van de verouderde PhoneListener plugin was deze optie beschikbaar: PhoneListener Extended. Na contact te hebben gehad met de maker van de PhoneStateChangeListener plugin is versie 1.1 uitgebracht waar deze functionaliteit is toegevoegd! Ook dit getest en werkt perfect.
  • Als laatste misschien wel een van de belangrijkste elementen, de popup op het scherm weergeven! Na veel zoek werk ben ik hier vast gelopen. Mede door mijn nihile kennis van Java. Momenteel heb ik op Freelancer.com een project lopen en iemand gevonden in China die dit voor mij gaat realiseren voor weinig geld. De verwachtingen zijn laag, maar niet geschoten is altijd mis. Wordt vervolgd!

Vooruitgang

Momenteel draait er een simpele website welke enkel gekoppeld is aan nummerzoeker.com. Wat de app betreft heb ik twee varianten, één op grafisch gebied compleet en met de functionaliteit om alle contactpersonen naar de server te versturen en nummers op te zoeken. De tweede app is enkel om te testen, hierin zit momenteel de PhoneStateChangeListener plugin verwerkt. Het is nog even verder experimenteren met de “Background Service”, het automatisch starten hiervan en de popup.

Het project zit niet heel veel druk achter maar lijkt mij leuk om door te zetten. Mocht er nieuws zijn zal ik dit toevoegen aan dit artikel.

Eventueel geïnteresseerden voor samenwerking is bespreekbaar. Ook aan- of opmerkingen zijn van harte welkom!

Updates

  • 13-05-2013 – Inmiddels is bekend dat het met de “Background Service” plugin het mogelijk is een automatisch startende service te maken. Tevens een aantal test apps mogen ontvangen van “de Chinees” met goede resultaten!
  • 01-09-2013 – Ik heb het aardig druk op het moment, dus dit project staat even op een zijspoor. Inmiddels is wel alles in huis om het project te voltooien.
  • 05-01-2014 – Google heeft een soortgelijke functionaliteit in de nieuwe Android versie 4.4 Kitkat gestopt (zie dit nieuwsbericht op Tweakers.net), ik zal er dus niet meer mee verder gaan.
  • 19-07-2016 – De domeinnaam wordt niet verlengt en komt weer vrij op de markt.