Baby Monitor Timmy ਦੀ ਸ਼ੁਰੂਆਤ ਇੱਕ ਸਧਾਰਨ ਵਿਚਾਰ ਨਾਲ ਹੋਈ: ਅਜਿਹਾ ਬੇਬੀ ਮਾਨੀਟਰ ਜੋ ਘਰ ਵਿੱਚ ਨਿੱਜਤਾ ਦਾ ਸਤਿਕਾਰ ਕਰੇ। ਕੋਈ ਕਲਾਉਡ ਰਿਕਾਰਡਿੰਗ ਨਹੀਂ, ਬੱਚੇ ਦੇ ਕਮਰੇ ਤੋਂ ਬਾਹਰ ਡਾਟੇ ਲਈ ਕੋਈ ਬੇਲੋੜਾ ਰਸਤਾ ਨਹੀਂ। ਬਹੁਤ ਸਾਰੇ ਲੋਕ ਨਹੀਂ ਜਾਣਦੇ ਕਿ ਮੈਂ ਜ਼ਿਊਰਿਖ ਵਿੱਚ Timmy ਨੂੰ ਇਕੱਲੇ ਪ੍ਰੋਜੈਕਟ ਵਜੋਂ ਬਣਾਉਂਦਾ ਹਾਂ, ਅਤੇ GitHub Copilot ਮੇਰਾ ਬਹੁਤ ਤੇਜ਼ ਪੇਅਰ ਪ੍ਰੋਗ੍ਰਾਮਰ ਹੈ।
ਇਨਸਾਨ-AI ਵਰਕਫਲੋ
ਵੰਡ ਸਪੱਸ਼ਟ ਹੈ: ਫੀਚਰ ਤੈਅ ਮੈਂ ਕਰਦਾ ਹਾਂ, ਤਰਜੀਹਾਂ ਮੈਂ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹਾਂ ਅਤੇ ਆਰਕੀਟੈਕਚਰ ਦੇ ਫ਼ੈਸਲੇ ਮੈਂ ਲੈਂਦਾ ਹਾਂ। Copilot ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ: ਕੋਡ ਲਿਖਣਾ, ਟੈਸਟ ਜੋੜਣਾ, ਬੱਗਾਂ ਨੂੰ ਸੀਮਿਤ ਕਰਨਾ ਅਤੇ ਰਿਲੀਜ਼ ਦੇ ਕਦਮ ਤਿਆਰ ਕਰਨਾ।
ਮੇਰਾ ਇੱਕ ਆਮ ਸਪ੍ਰਿੰਟ ਲਗਭਗ ਇਸ ਤਰ੍ਹਾਂ ਹੁੰਦਾ ਹੈ:
- ਫੀਚਰ ਦਾ ਵੇਰਵਾ: ਮੈਂ ਦੱਸਦਾ ਹਾਂ ਕਿ ਫੀਚਰ ਨੇ ਕੀ ਕਰਨਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਖਾਸ ਹਾਲਾਤ ਅਤੇ ਪਾਬੰਦੀਆਂ ਵੀ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ।
- ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ: Copilot ਕੋਡ ਸੁਝਾਉਂਦਾ ਹੈ ਅਤੇ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਮੌਜੂਦਾ ਰੀਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ।
- ਟੈਸਟਿੰਗ: ਆਟੋਮੈਟਿਕ ਐਂਡ-ਟੂ-ਐਂਡ ਟੈਸਟ ਦੋ ਇਮੂਲੇਟਰਾਂ 'ਤੇ ਚਲਦੇ ਹਨ ਅਤੇ ਅਸਲ ਬੇਬੀ/ਪੇਰੈਂਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਨ।
- ਵੰਡ: ਜਦੋਂ ਟੈਸਟ ਪਾਸ ਹੋ ਜਾਂਦੇ ਹਨ, ਤਾਂ Android ਅਤੇ iOS ਬਿਲਡ ਸਹੀ ਸਟੋਰ ਅਤੇ ਟੈਸਟਿੰਗ ਟਰੈਕਾਂ ਲਈ ਤਿਆਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
ਇਹ ਚੱਕਰ ਫੀਚਰਾਂ ਅਤੇ ਬੱਗ ਫਿਕਸਾਂ ਲਈ ਦੁਹਰਾਇਆ ਜਾਂਦਾ ਹੈ। ਮੈਂ ਹਰ ਲਾਈਨ ਖੁਦ ਨਹੀਂ ਲਿਖਦਾ, ਪਰ ਮੈਂ ਫ਼ੈਸਲਾ ਕਰਦਾ ਹਾਂ ਕਿ ਕੀ ਬਣਾਇਆ ਜਾਵੇ, ਕਿਉਂ ਇਹ ਬਣਾਇਆ ਜਾਵੇ, ਅਤੇ ਕੋਈ ਸੁਝਾਅ Timmy ਲਈ ਢੁੱਕਵਾਂ ਹੈ ਜਾਂ ਨਹੀਂ।
ਸੰਕਲਪ ਤੋਂ WebRTC ਤੱਕ
ਸ਼ੁਰੂ ਤੋਂ ਹੀ ਮੁੱਖ ਤਕਨੀਕੀ ਕੰਮ ਸਪੱਸ਼ਟ ਸੀ: ਦੋ ਫੋਨਾਂ ਵਿਚਕਾਰ ਰੀਅਲ-ਟਾਈਮ ਆਡੀਓ ਅਤੇ ਵੀਡੀਓ। WebRTC ਸਪੱਸ਼ਟ ਚੋਣ ਸੀ, ਪਰ ਇਸਨੂੰ Flutter ਨਾਲ ਜੋੜਨਾ ਆਸਾਨ ਨਹੀਂ: ICE candidates, SDP negotiation, TURN fallback ਅਤੇ DataChannels ਨੂੰ ਸਹੀ ਕ੍ਰਮ ਵਿੱਚ ਇਕੱਠੇ ਕੰਮ ਕਰਨਾ ਪੈਂਦਾ ਹੈ।
Copilot ਨੇ ਮੈਨੂੰ ਇਹ ਹਿੱਸੇ ਕਦਮ-ਦਰ-ਕਦਮ ਜੋੜਨ ਵਿੱਚ ਮਦਦ ਕੀਤੀ: ਪੀਅਰ ਕਨੈਕਸ਼ਨ ਸੈੱਟ ਕਰਨਾ, ਜ਼ਰੂਰੀ ਕ੍ਰਮ ਸਹੀ ਰੱਖਣਾ (offer ਤੋਂ ਪਹਿਲਾਂ DataChannel, setRemoteDescription ਤੋਂ ਪਹਿਲਾਂ onTrack), ਅਤੇ signaling ਨੂੰ Firebase Firestore 'ਤੇ ਰੱਖਣਾ। ਅੱਗੇ ਵਧਣ ਤੋਂ ਪਹਿਲਾਂ ਹਰ ਹਿੱਸਾ ਦੋ ਇਮੂਲੇਟਰਾਂ 'ਤੇ ਚਲਣਾ ਲਾਜ਼ਮੀ ਸੀ।
ECDH ਨਾਲ ਸੁਰੱਖਿਅਤ ਪੇਅਰਿੰਗ
ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਫੀਚਰਾਂ ਵਿੱਚੋਂ ਇੱਕ ਸੀ ਸੁਰੱਖਿਅਤ ਪੇਅਰਿੰਗ ਸਿਸਟਮ। ਦੋ ਡਿਵਾਈਸਾਂ ਨੂੰ ਆਪਣੀ ਪਛਾਣ ਦੀ ਤਸਦੀਕ ਲਈ ਕਿਸੇ ਕੇਂਦਰੀ ਸਰਵਰ 'ਤੇ ਨਿਰਭਰ ਹੋਏ ਬਿਨਾਂ ਆਪਸੀ ਭਰੋਸਾ ਕਾਇਮ ਕਰਨਾ ਹੁੰਦਾ ਹੈ। ਹੱਲ: Firebase ਰਾਹੀਂ ECDH P-256 ਕੀ ਐਕਸਚੇਂਜ, ਨਾਲ ਇੱਕ ਵਿਜ਼ੂਅਲ ਵੈਰੀਫਿਕੇਸ਼ਨ ਨੰਬਰ (SAS), ਜੋ man-in-the-middle ਹਮਲਿਆਂ ਨੂੰ ਪਛਾਣਦਾ ਹੈ।
Copilot ਨੇ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਲੜੀ ਇੰਪਲੀਮੈਂਟ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕੀਤੀ: ਕੀ ਬਣਾਉਣਾ, ਪਬਲਿਕ ਕੀ ਐਕਸਚੇਂਜ, ਸਾਂਝਾ ਸੀਕ੍ਰੇਟ ਕੱਢਣਾ, SAS ਗਿਣਨਾ ਅਤੇ ਬਾਅਦ ਦੇ ਸਾਰੇ signaling ਡਾਟੇ ਲਈ AES-256-GCM ਇਨਕ੍ਰਿਪਸ਼ਨ। ਮੈਂ ਪੇਅਰਿੰਗ ਕੀ ਬੈਕਐਂਡ ਨੂੰ ਨਹੀਂ ਭੇਜਦਾ; Firestore ਡੌਕਯੂਮੈਂਟ ਆਈਡੀ ਵਜੋਂ ਸਿਰਫ਼ ਇਸਦਾ SHA-256 ਹੈਸ਼ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
ਸੁਰੱਖਿਆ ਆਡਿਟ: ਕਮਜ਼ੋਰੀਆਂ ਲੱਭਣਾ ਅਤੇ ਠੀਕ ਕਰਨਾ
ਮੇਰੇ ਲਈ AI-ਸਹਾਇਤ ਵਿਕਾਸ ਸਿਰਫ਼ ਤੇਜ਼ ਟਾਈਪਿੰਗ ਨਹੀਂ ਹੈ। ਇਹ ਵਿਵਸਥਿਤ ਢੰਗ ਨਾਲ ਬੱਗ ਲੱਭਣ ਵਿੱਚ ਵੀ ਮਦਦ ਕਰਦਾ ਹੈ। ਇੱਕ ਕੇਂਦਰਿਤ ਸੁਰੱਖਿਆ ਆਡਿਟ ਸਪ੍ਰਿੰਟ ਵਿੱਚ, Copilot ਨੇ ਕੋਡਬੇਸ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕੀਤਾ ਅਤੇ ਛੇ ਸਮੱਸਿਆਵਾਂ ਲੱਭੀਆਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਮੈਨੂੰ ਠੀਕ ਕਰਨਾ ਸੀ:
- signaling ਡਾਟੇ ਲਈ ਇਨਪੁੱਟ ਵੈਲੀਡੇਸ਼ਨ ਦੀ ਕਮੀ
- ICE candidate ਹੈਂਡਲਿੰਗ ਵਿੱਚ ਸੰਭਾਵਿਤ ਰੇਸ ਕੰਡੀਸ਼ਨਜ਼
- ਪੁਰਾਣਾ ਸੈਸ਼ਨ ਡਾਟਾ ਜਿਸ ਦੀ ਢੰਗ ਨਾਲ ਸਫ਼ਾਈ ਨਹੀਂ ਹੋ ਰਹੀ ਸੀ
- Firestore ਸੁਰੱਖਿਆ ਨਿਯਮ ਜੋ ਬਹੁਤ ਢਿੱਲੇ ਸਨ
- certificate pinning ਬਾਰੇ ਵਿਚਾਰਾਂ ਦੀ ਕਮੀ
- TURN credentials ਫਲੋ ਵਿੱਚ ਨਾਕਾਫ਼ੀ error handling
ਸਾਰੀਆਂ ਛੇ ਸਮੱਸਿਆਵਾਂ ਉਸੇ ਸਪ੍ਰਿੰਟ ਵਿੱਚ ਠੀਕ ਕਰ ਦਿੱਤੀਆਂ ਗਈਆਂ। Copilot ਇੱਥੇ ਬਹੁਤ ਕੰਮ ਆਉਂਦਾ ਹੈ: ਕਈ ਫਾਈਲਾਂ ਪੜ੍ਹਨਾ, ਪੈਟਰਨਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨਾ ਅਤੇ ਉਹ ਥਾਵਾਂ ਨਿਸ਼ਾਨਬੱਧ ਕਰਨਾ ਜਿਨ੍ਹਾਂ ਨੂੰ ਮੈਨੂੰ ਹੋਰ ਧਿਆਨ ਨਾਲ ਦੇਖਣਾ ਹੁੰਦਾ ਹੈ।
ਦੁਹਰਾਏ ਜਾਣ ਵਾਲੇ ਸਪ੍ਰਿੰਟ: ਐਪ ਕਿਵੇਂ ਵਿਕਸਿਤ ਹੋਈ
Timmy ਤੇਜ਼ ਪਰ ਸਪੱਸ਼ਟ ਹੱਦਾਂ ਵਾਲੇ ਸਪ੍ਰਿੰਟਾਂ ਰਾਹੀਂ ਵਧਿਆ। ਕੁਝ ਮੀਲ ਪੱਥਰ:
- v1.8: ਪੇਅਰਿੰਗ ਦਾ ਪੂਰਾ ਨਵਾਂ ਡਿਜ਼ਾਇਨ — Firebase ਰਾਹੀਂ 4-ਅੱਖਰਾਂ ਦਾ ਕੋਡ + ECDH P-256 ਨੇ ਪੁਰਾਣੇ direct-key ਤਰੀਕੇ ਦੀ ਥਾਂ ਲਈ।
- v1.10: ਸੁਰੱਖਿਆ ਮਜ਼ਬੂਤੀ ਸਪ੍ਰਿੰਟ — ਛੇ ਕਮਜ਼ੋਰੀਆਂ ਦਾ ਆਡਿਟ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਠੀਕ ਕਰਨ ਦਾ ਚੱਕਰ।
- v1.11: ਸਾਰੀਆਂ ਸਕ੍ਰੀਨਾਂ ਲਈ ਡਾਰਕ ਮੋਡ, ਨਾਲ ਹੀ ਉਹ ਹੋਮਪੇਜ ਅਤੇ ਬਲੌਗ ਜੋ ਤੁਸੀਂ ਇਸ ਵੇਲੇ ਪੜ੍ਹ ਰਹੇ ਹੋ।
- v1.12: ਪੇਰੈਂਟ ਸਕ੍ਰੀਨ ਦਾ ਵੱਡਾ ਨਵਾਂ ਰੂਪ, ਨਾਈਟ ਵਿਜ਼ਨ ਮੋਡ ਅਤੇ ਕੈਮਰਾ ਫ੍ਰੇਮ ਵਿਸ਼ਲੇਸ਼ਣ ਰਾਹੀਂ ਹਿਲਜੁਲ ਦੀ ਪਛਾਣ।
ਹਰ ਸਪ੍ਰਿੰਟ ਇੱਕੋ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ: ਟੀਚਾ ਦੱਸੋ, ਸੁਝਾਵਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ, ਆਟੋਮੈਟਿਕ ਟੈਸਟ ਕਰੋ, ਫਿਰ ਟੈਸਟਰਾਂ ਨੂੰ ਭੇਜੋ।
ਡਿਵਾਈਸਾਂ ਵਿਚਕਾਰ E2E ਟੈਸਟਿੰਗ
ਬੇਬੀ ਮਾਨੀਟਰ ਨੂੰ ਇੱਕ ਡਿਵਾਈਸ 'ਤੇ ਢੰਗ ਨਾਲ ਟੈਸਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਮੈਨੂੰ ਇੱਕ ਬੇਬੀ ਡਿਵਾਈਸ ਅਤੇ ਇੱਕ ਪੇਰੈਂਟ ਡਿਵਾਈਸ ਚਾਹੀਦੀ ਹੈ। ਪ੍ਰੋਜੈਕਟ ਦੀ ਸ਼ੁਰੂਆਤ ਇੱਕੋ ਸਮੇਂ ਚੱਲ ਰਹੇ ਦੋ Android ਇਮੂਲੇਟਰਾਂ ਨਾਲ ਹੋਈ ਸੀ ਅਤੇ ਹੁਣ ਇਸ ਲੂਪ ਵਿੱਚ ਲੋਕਲ iOS ਸਿਮੂਲੇਟਰ ਅਤੇ ਅਸਲੀ ਡਿਵਾਈਸ ਜਾਂਚਾਂ ਵੀ ਸ਼ਾਮਲ ਹਨ। ਆਟੋਮੈਟਿਕ Android ਟੈਸਟ ਸਕ੍ਰਿਪਟ ਅਜੇ ਵੀ:
- ਦੋਵਾਂ ਇਮੂਲੇਟਰਾਂ 'ਤੇ ਐਪ ਇੰਸਟਾਲ ਕਰਦੀ ਹੈ
- ਦੋਵਾਂ ਡਿਵਾਈਸਾਂ 'ਤੇ ਪੇਅਰਿੰਗ ਰਾਹੀਂ ਅੱਗੇ ਵਧਦੀ ਹੈ
- ਜਾਂਚਦੀ ਹੈ ਕਿ ਆਡੀਓ ਅਤੇ ਵੀਡੀਓ ਕਨੈਕਸ਼ਨ ਬਣ ਗਏ ਹਨ
- push-to-talk, ਕੈਮਰਾ ਕੰਟਰੋਲ ਅਤੇ ਹੋਰ ਫੀਚਰ ਟੈਸਟ ਕਰਦੀ ਹੈ
ਕਿਉਂਕਿ ਦੋਵੇਂ ਇਮੂਲੇਟਰ ਇੱਕੋ IP ਐਡਰੈੱਸ ਸਾਂਝਾ ਕਰਦੇ ਹਨ (10.0.2.15), STUN ਰਾਹੀਂ ਸਿੱਧਾ ਪੀਅਰ-ਟੂ-ਪੀਅਰ ਕਨੈਕਸ਼ਨ ਸੰਭਵ ਨਹੀਂ ਹੈ। ਹਰ ਟੈਸਟ ਰਨ ਨੂੰ Cloudflare TURN ਰੀਲੇ ਰਾਹੀਂ ਜਾਣਾ ਪੈਂਦਾ ਹੈ। ਇਹ ਥੋੜ੍ਹਾ ਔਖਾ ਹੈ, ਪਰ ਫਾਇਦੇਮੰਦ ਵੀ ਹੈ: ਸਭ ਤੋਂ ਜਟਿਲ ਕਨੈਕਸ਼ਨ ਪਾਥ ਹਰ ਵਾਰ ਟੈਸਟ ਹੋ ਜਾਂਦਾ ਹੈ।
ਮੈਂ ਕੀ ਸਿੱਖਿਆ
AI ਪੇਅਰ ਪ੍ਰੋਗ੍ਰਾਮਰ ਨਾਲ ਪੂਰੀ ਐਪ ਬਣਾਉਂਦੇ ਹੋਏ ਮੈਂ ਕੁਝ ਗੱਲਾਂ ਸਿੱਖੀਆਂ:
- ਆਰਕੀਟੈਕਚਰ ਪਹਿਲਾਂ ਤੋਂ ਵੀ ਵੱਧ ਮਹੱਤਵ ਰੱਖਦਾ ਹੈ। ਸਪੱਸ਼ਟ ਰੀਤਾਂ ਅਤੇ ਚੰਗੀ ਤਰ੍ਹਾਂ ਦਸਤਾਵੇਜ਼ਬੱਧ ਕੋਡਬੇਸ AI ਨੂੰ ਇਕਸਾਰ ਕੋਡ ਸੁਝਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ। ਅਸਪੱਸ਼ਟਤਾ ਬਹੁਤ ਜਲਦੀ ਮਹਿੰਗੀ ਪੈਂਦੀ ਹੈ।
- ਟੈਸਟਿੰਗ ਨਾਲ ਸਮਝੌਤਾ ਨਹੀਂ ਹੋ ਸਕਦਾ। AI ਵੱਲੋਂ ਬਣੇ ਕੋਡ ਨੂੰ ਵੀ ਇਨਸਾਨ ਵੱਲੋਂ ਲਿਖੇ ਕੋਡ ਜਿੰਨੀ ਸਖ਼ਤ ਟੈਸਟਿੰਗ ਚਾਹੀਦੀ ਹੈ। ਆਟੋਮੈਟਿਕ E2E ਟੈਸਟਾਂ ਨੇ ਉਹ ਸਮੱਸਿਆਵਾਂ ਫੜੀਆਂ ਜੋ ਹੱਥੋਂ ਜਾਂਚਦਿਆਂ ਆਸਾਨੀ ਨਾਲ ਰਹਿ ਜਾਂਦੀਆਂ।
- ਇਨਸਾਨ ਦੀ ਭੂਮਿਕਾ ਬਣੀ ਰਹਿੰਦੀ ਹੈ। ਹਰ ਆਰਕੀਟੈਕਚਰ ਫ਼ੈਸਲਾ, ਹਰ ਸੁਰੱਖਿਆ ਸਮਝੌਤਾ ਅਤੇ ਉਤਪਾਦ ਦੀ ਹਰ ਹੱਦ ਮੇਰੇ ਕੋਲ ਹੀ ਰਹਿੰਦੀ ਹੈ। AI ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਤੇਜ਼ ਕਰਦਾ ਹੈ, ਪਰ ਸੋਚ-ਵਿਚਾਰ ਦੀ ਥਾਂ ਨਹੀਂ ਲੈਂਦਾ।
- ਤੇਜ਼ੀ ਗੁਣਵੱਤਾ ਲਈ ਮੌਕਾ ਦਿੰਦੀ ਹੈ। ਜਦੋਂ ਫੀਚਰ ਦਿਨਾਂ ਦੀ ਬਜਾਇ ਘੰਟਿਆਂ ਵਿੱਚ ਭੇਜੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਨਿਖਾਰ ਅਤੇ ਬੱਗ ਠੀਕ ਕਰਨ ਲਈ ਵੱਧ ਚੱਕਰ ਮਿਲਦੇ ਹਨ। ਤੇਜ਼ ਹੋਣਾ ਆਪਣੇ-ਆਪ ਚੰਗਾ ਹੋਣਾ ਨਹੀਂ ਹੁੰਦਾ।
ਅੱਗੇ ਦੀ ਯੋਜਨਾ
Baby Monitor Timmy ਲਗਾਤਾਰ ਵਿਕਸਿਤ ਹੋ ਰਿਹਾ ਹੈ। iOS ਰਿਲੀਜ਼ ਨੇੜੇ ਹੈ; ਉਸ ਤੋਂ ਬਾਅਦ ਹੋਰ ਸੈਂਸਰ ਫੀਚਰ ਅਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਲਗਾਤਾਰ ਮਜ਼ਬੂਤ ਕਰਨ ਦਾ ਕੰਮ ਆਏਗਾ। ਵਰਕਫਲੋ ਮਿਲਦਾ-ਜੁਲਦਾ ਰਹਿੰਦਾ ਹੈ: ਦਿਸ਼ਾ ਅਤੇ ਹੱਦਾਂ ਮੈਂ ਤੈਅ ਕਰਦਾ ਹਾਂ, Copilot ਤੇਜ਼ੀ ਨਾਲ ਇੰਪਲੀਮੈਂਟ ਅਤੇ ਜਾਂਚਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਸੁਰੱਖਿਆ ਨਾਲ ਜੁੜੇ ਬਿਲਡਿੰਗ ਬਲੌਕ ਹੁਣ ਸਪੱਸ਼ਟ ਹੱਦਾਂ ਵਿੱਚ ਜਨਤਕ baby-monitor-timmy-core repositoryਵਿੱਚ ਮੌਜੂਦ ਹਨ। ਉੱਥੇ ਹੀ ਪੇਅਰਿੰਗ, signaling ਅਤੇ ਬੈਕਐਂਡ ਇੰਟਰਫੇਸਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਆਰਕੀਟੈਕਚਰ ਫ਼ੈਸਲੇ ਵੀ ਦਸਤਾਵੇਜ਼ਬੱਧ ਹਨ।