HomeBlogRick RRRR - Rick Rolling jouw app gebruikers op een nieuwe trillende manier!
Rick die helemaal los gaat
#Engineering #Culture
Bas - DeveloperBas de Vaan
1 april 2024

Rick RRRR - Rick Rolling jouw app gebruikers op een nieuwe trillende manier!

Heb je ooit wel eens jouw app gebruikers in stilte willen Rick Rollen? Wil jij ook het beste van de haptic feedback motors in smartphones gebruiken voor een leuke easter egg? Dan is Rick RRRR echt wat voor jou! Het is super simpel! In deze blog vertel ik je wat Rick RRRR is, waarom jij het wil en hoe we het gemaakt hebben.

Key Takeaways
  • Rick RRRR is een leuke manier om jouw gebruikers van jouw Flutter app te Rick Rollen
  • Flutter Gaimon is een mooi package om haptic feedback in te jouw app ervaring te brengen.
  • Open Source samenwerkingen hebben ons tot fantastische resultaten geleid!

Rick RRRR

Rick Rollen is iets van alle tijden. Maar heb jij wel eens een andere dimensie gegeven aan deze grap? Ik heb wel eens een geanimeerde QR-code van Rick Astley gezien een aantal jaar (Ja, het danst en het scant!).

Terwijl ik aan het experimenteren was met Haptic Feedback, kreeg ik de inspiratie om Rick RRRR te ontwikkelen, een revolutionair package dat een trillende versie van Never Gonna Give You Up naar jouw Flutter app brengt!

Bekijk Rick RRRR op pub.dev!

Laten we beginnen

Allereerst moet je het package aan je pubspec.yaml toevoegen

dependencies:
  flutter:
    sdk: flutter
  rick_rrrr: 1.0.0

Voer daarna flutter pub get uit in je terminal

Gebruik

Het gebruik is erg simpel. Importeer het package en run: Rick.rrrr(); Moeilijker dan dat wordt het niet om een easter egg toe te voegen aan je app.

Gaimon

Gaimon Flutter

Toen ik verschillende Haptic Feedback packages onderzocht, stuitte ik op Flutter Gaimon. Gaimon is een package om op een simpele manier Haptic Feedback toe te voegen aan je app. Het ondersteunt verschillende basis acties in een gemakkelijke manier. Dit maakt het toevoegen van haptic feedback gemakkelijk en snel!

Dit package ondersteunt zelfs custom patterns zodat je je eigen Haptic Feedback patronen kan ontwerpen! Maar…

Ahap ondersteuning voor Android

Redenen waarom custom vibration patterns niet werken op Android of iOS

… helaas, Gaimon had nog geen ondersteuning voor custom patronen in Android! Voor een ander app project wilde ik erg graag toegang tot deze custom patronen voor haptic feedback, en met voorkeur zou deze op dezelfde manier moeten werken en voelen op alle telefoons.

De auteur van het package vroeg om hulp voor het ondersteunen van deze custom patronen in Android, en dit voelde voor mij als een Batman styled lichtstraal, die me roept om bij te dragen aan dit package. Ik wilde immers toch toegang tot deze functionaliteit, dus waarom zou ik het dan niet in een public space bouwen zodat nog meer mensen er gebruik van kunnen maken?

Wat is een AHAP

.ahap is een bestandsformaat wat haptic feedback specificeer, en is een afkorting voor Apple Haptic and Audio Pattern. Ontworpen door Apple, specifiek voor het besturen van Haptic Feedback op Apple apparaten. Het is dus logisch dat het fantastisch werkt op iPhones.

Android is compleet andere koek. Aangezien zelfs de motor in de apparaten volledig anders werkt (een tikkende t.o.v. een roterende motor), is het aanroepen van de motor ook compleet anders.

Gelukkig is de documentatie van de .ahap standaard erg duidelijk. Door deze documentatie goed door te nemen was ik in staat om een aantal van de details van de .ahap specificatie om te zetten in een Waveform met timings en amplitudes. Dit zorgt voor een vergelijkbare ervaring, je kon in ieder geval de meeste .ahap files herkennen in vergelijking met dezelfde .ahap file op een iPhone.

null

Voor het afronden van het pull request op Github had ik al wat tractie gecreëerd voor deze nieuwe feature! De maker van het Gaimon package was snel met het bekijken van de pull request en het mergen ervan.

Er zijn nog wat extra features die we in een latere iteratie willen implementeren, maar dit voelt als een goede start voor .ahap ondersteuning in Android!

Even terug naar Rick RRRR

Als laatste test leek het me een leuk idee om een erg uitgebreid trillings bestand te nemen en dit op Android apparaten te testen. Ik kwam sound2ahap al ergens tegen, wat me in liet zien dat je muziek kan omzetten naar een .ahap bestand 🤯. Dit gaf me het uiteindelijke idee om iemand te Rick Rollen met alleen maar trillingen!

Het sound2ahap package gaf me niet genoeg tools om een liedje om te zetten naar een trilbestand, dus kocht ik de extra software toolkit Haptrix om dit te doen. Haptrix is speciaal bedoeld voor het ontwerpen van vibraties en deze te delen met de Haptrix community!

Na het samenvoegen van dit alles is het Rick RRRR package geboren!

Tot slot

Het schrijven van dit package was echt heel erg tof, en het eindresultaat vind ik persoonlijk erg grappig. Maar achter deze lol zit ook een gave open source samenwerking en ik ben trots op wat we hebben gemaakt. We gaan dit zeker inzetten voor klanten in de toekomst!

Wil je nog meer lezen over mijn open source avonturen? Lees dan mijn voorgaande blogs op deze website, of volg me op X (https://x.com/bassiuz). Tot de volgende keer!

About the author
Bas de Vaan

App Developer

Bas de Vaan is app developer, specialised in Flutter. He writes about his work on a regular basis, sharing his knowledge with the community and helping others grow in their field of work.

Dit vind je misschien ook interessant:

Laat je project niet stranden omdat een goede strategie ontbreekt. Kijk of jouw idee klaar is voor ontwikkeling met onze Digital Readiness Scan. Binnen 5 vragen weet je wat je volgende stap naar succes is.

Naar de scan