हेडफ़ोन देर-सबेर खराब हो जाते हैं। इससे पहले, ylih उस एक सवाल का जवाब देता है जो किसी जोड़ी के बारे में सबसे ज़्यादा मायने रखता है: आपने उनसे कितने घंटे इस्तेमाल किए?

जब भी आपके हेडफ़ोन कनेक्ट होते हैं, ylih समय नोट करता है। जब भी वे डिसकनेक्ट होते हैं, वह भी नोट करता है। बस यही पूरी बात है — और चूंकि एक कनेक्शन सिर्फ दो समय-चिह्न हैं, इसलिए ऐप को यह करने के लिए बैकग्राउंड में चलते रहने की ज़रूरत नहीं होती।

यह क्या रिकॉर्ड करता है

• हर भौतिक जोड़ी के कुल घंटे। जब कोई जोड़ी खराब हो जाए, तो उसे रिटायर करें — कुल समय वहीं रुक जाता है, और उसी मॉडल की अगली जोड़ी जनरेशन 2 के रूप में फिर से शून्य से शुरू होती है। आपके पुराने आंकड़े कभी नए के साथ नहीं मिलते।
• हर सत्र, हमेशा के लिए सुरक्षित: कब कनेक्ट हुआ, कब डिसकनेक्ट हुआ, और क्यों खत्म हुआ।
• प्लेबैक समय (वैकल्पिक): उस कनेक्टेड समय में से कितना समय असल में ऑडियो बज रहा था, ताकि "गले में लटके हुए" को सुनना न माना जाए।
• प्रति घंटा लागत, अगर आप बताते हैं कि आपने कितना चुकाया। इसे नीचे गिरते देखना संतोषजनक है।

दो ट्रैकिंग मोड

सिर्फ़ ब्लूटूथ — डिफ़ॉल्ट मोड। ऐप का कुछ भी नहीं चलता, नोटिफिकेशन शेड में कुछ नहीं दिखता, और बैटरी की कोई लागत नहीं है, क्योंकि android बंद होने पर भी ऐप को कनेक्शन इवेंट पहुंचाता है।

विस्तृत ट्रैकिंग — वैकल्पिक। तार वाले और USB हेडफ़ोन जोड़ता है, और कनेक्टेड समय की तुलना में प्लेबैक मापता है। इसके लिए एक शांत, न्यूनतम-प्राथमिकता वाली सूचना चाहिए, क्योंकि android तार के प्लग इवेंट सिर्फ पहले से चल रहे ऐप को भेजता है। यही, और सिर्फ़ यही, वजह है कि वह सूचना मौजूद है।

ब्लूटूथ हर हाल में ट्रैक होता है।

ऐसे आंकड़े जिन पर सालों बाद भी भरोसा किया जा सके

अगर कोई क्रैश या रीबूट चुपचाप बारह घंटे जोड़ दे, तो लंबी अवधि के कुल आंकड़े बेकार हो जाते हैं। इसलिए:

• रीबूट या क्रैश से खुला रह गया सत्र उसके आखिरी ज्ञात हार्टबीट पर बंद होता है, फ़ोन के बूट होने के पल से बाद में कभी नहीं। जितना समय फ़ोन बंद रहा, वह कभी नहीं गिना जाता।
• अगर रीबूट के बाद भी आपके हेडफ़ोन कनेक्ट हैं, तो पुराने सत्र को अंतराल में खींचने के बजाय एक नया सत्र शुरू होता है।
• सत्र खुले रहने के दौरान हार्टबीट होते रहते हैं, ताकि छूटे हुए डिसकनेक्ट का नुकसान सीमित रहे।

बुनियादी तौर पर निजी

ylih के पास इंटरनेट की अनुमति नहीं है। कोई अकाउंट नहीं, कोई एनालिटिक्स नहीं, कोई विज्ञापन नहीं, और कोई ट्रैकिंग नहीं। सब कुछ आपके फ़ोन पर मौजूद एक डेटाबेस में रहता है — उसे डिवाइस से बाहर सिर्फ़ Android का अपना बैकअप कॉपी कर सकता है, अगर आपने वह चालू कर रखा हो।

सेटिंग्स → निर्यात आपका पूरा इतिहास पढ़ने-योग्य JSON के रूप में लिखता है, और आयात उसे वापस लाता है, इसलिए नए फ़ोन पर जाने से आपके आंकड़े कभी नहीं छूटते।

अनुमतियां

• आस-पास के डिवाइस (bluetooth): कनेक्शन इवेंट पाने और हेडसेट का नाम पढ़ने के लिए ज़रूरी। इसके बिना, bluetooth ट्रैकिंग बिल्कुल काम नहीं कर सकती।
• सूचनाएं: सिर्फ़ विस्तृत-ट्रैकिंग सूचना के लिए।
• स्टार्टअप पर चलाएं: उन सत्रों को बंद करने के लिए जिनकी जानकारी शटडाउन ने कभी नहीं दी।

MIT लाइसेंस के तहत ओपन सोर्स।
