Archive for the 'Jog' Category

Medián WebAudit mérőkódok az alkalmazásokban

Az alkalmazások üzleti szempontból egyik legérdekesebb és legfontosabb mérőszáma a látogatottságuk, és a felhasználók különböző demográfiai paraméterei (életkor, nem, stb.). A jövőben minden alkalmazásban mérni fogjuk azok látogatottságát, ehhez partnerünk, a WebAudit biztosít számunkra mérőkódokat. A mérőkódokat az alkalmazás logikája szerint a fejlesztőknek kell elhelyezniük az alkalmazásokban.

A mérőkódok a dinamikus “oldalletöltéseket” mérik. A kódok központi beillesztése az alkalmazásokba pont ezért nem lehetséges, mert az, hogy mi számít oldalletöltésnek, az mindig alkalmazásspecifikus, így függ az alkalmazás logikájától, és az oldalak megjelenítésének technológiájától is.

A mérési eredményekhez és statisztikákhoz nem csak az Origo, de a fejlesztő is hozzáfér majd, ezzel olyan információkhoz jut, melyet jellemzően más statisztika alkalmazások nem tudnak nyújtani, illetve amelyek nyomán lehetőségetek nyílik tovább optimalizálni az alkalmazást a célcsoportotokra is.

Csak és kizárólag az alkalmazás canvas nézete mérendő, oda kell betenni az alábbi kódrészleteket. Két mérésről van szó, egyrészt az iWiW (iwiw.hu) saját mérésébe is be fog számítani egy kód, másrészt pedig az alkalmazás külön is mérve lesz. Ezért minden “oldalbetöltődéskor” két külön kód meghívása szükséges, egy iWiW-es, és egy az alkalmazáshoz tartozó.

A saját mérésetekhez minden alkalmazásnak egy főoldali és 5 aloldal méréséhez vannak kódjaink, míg a másodiknak meghívandó iWiW-es kód az minden oldalbetöltéshez ugyanaz (de alkalmazásonként az is különböző).

A canvas nézet fejlécébe ennek megfelelően be kell húzni a következő JavaScriptet:

<script type="text/javascript" src="http://static.iwiw.net/common/javascript/median.js"></script>

Az oldalak betöltődése után egyrészt az iWiW-es kóddal, másrészt pedig az adott oldal kódjával kell meghívni a WebAudit.measure() függvényt. Az iWiW-es kód mindig ugyanaz, az alkalmazás saját kódja változik.

A WebAudit.measure JavaScript függvényt kell meghívnotok oldalbetöltődéskor, például a főoldal betöltésekor:

WebAudit.measure(...iWiW-es kód...);
WebAudit.measure(...főoldal kód...);

Első aloldal betöltődésekor:

WebAudit.measure(...iWiW-es kód...);
WebAudit.measure(...aloldal1 kód...);

Hogy az adott alkalmazásban mi számít főoldalnak, aloldalnak, azt az iWiW Fejlesztői support-tal (dev kukac iwiw hu) tudjátok egyeztetni azután, hogy e-mailben megkaptátok az alkalmazáshoz tartozó kódokat. A struktúrára első körben várunk tőletek egy javaslatot. Értelemszerűen nem feltétlenül szükséges az összes kódot felhasználni - ha az alkalmazásnak nincs annyi különböző aloldala, akkor nem kell több aloldalt mérni.

A kódok kiosztásával kapcsolatban szeptember első napjaiban folyamatosan felkeressük az élesített alkalmazások tulajdonosait.

Az új, elbírálásra beérkező és jóváhagyásra váró alkalmazások fejlesztőinek az élesítési folyamat során adunk majd kódokat.

Módosul az iWiW Fejlesztői ÁSZF

2009. szeptember 10-i hatállyal módosul az iWiW Fejlesztői ÁSZF (Az iWiW Alkalmazások Általános Szerződési Feltételei Fejlesztők részére).

Az új ÁSZF-et itt olvashatjátok.

A legfontosabb változások röviden:

8.7 - az alkalmazásokba kötelező lesz Medián WebAudit mérőkódokat beépíteni, erre vonatkozóan egy külön részletes blogbejegyzést teszünk közzé a napokban.

17 - az alkalmazásokban megjelenő hirdetésekre csak jogi személyekkel tudunk szerződni.

Új megkötések az alkalmazásokban

Az eddigi tapasztalataink és a felhasználók visszajelzései alapján új, a már élesben látható alkalmazásokat is érintő megkötéseket vezetünk be. Minden fejlesztőt kérünk, hogy figyelmesen olvassa el az alább írtakat. Az alkalmazások módosítására június 12-ig biztosítunk lehetőséget. A változások főként az eddigi ÁSZF-ben foglalt szabályok további magyarázatát, szándékaink egyértelműsítését jelentik, a Wikiben belinkelt Fejlesztői Útmutató V. pontja illetve a Fejlesztői Útmutató Kivonatának 4-5. pontjai módosultak.

Hírek szövegezése, kiküldése

A hírfolyamra küldött hírek célja az aktuális felhasználótól ismerősei felé történő tájékoztatás az alkalmazásban történtekről. A hír szövegének utalnia kell a valódi cselekvésre, valótlan információt nem tartalmazhat.

Jó példa:

  • Szabó János telepítette az Amőba alkalmazást. Telepítsd fel te is, ha még nem próbáltad!

Rossz példa:

  • Szabó János szeretné, ha az Amőba alkalmazásban te is játszanál vele.

A hírekkel kapcsolatos összes szabályt a Fejlesztői Útmutató V. pontja részletezi, illetve itt is megtalálod.

Értesítések szövegezése, kiküldése

Az értesítések célja az aktuális felhasználótól egy másik konkrét iWiW felhasználó felé indított konkrét üzenet küldése. Egyrészt a fogadó félnek tudnia kell, hogy kitől kapott üzenetet, másrészt az üzenet nem tartalmazhat valótlan információt. Az értesítés-küldésnél nem lehet eleve kijelölve az összes ismerős, és az egy kattintással történő összes ismerős kijelölését sem támogatjuk.

Az értesítésekkel kapcsolatos összes szabályt a Fejlesztői Útmutató V. pontja részletezi, illetve itt is megtalálod.

Linkek a profil oldali nézetben

Az alkalmazás profil oldali nézetében csak külön engedéllyel helyezhető el az iWiW-ről kifele mutató link. A profil oldali nézetre összefoglaló, az alkalmazás canvas nézetét hirdető funkcióként tekintünk. Amennyiben ettől el szeretnétek térni, kérjük egyeztessetek velünk.

Alkalmazás viselkedése a telepítés előtt

Az alkalmazás jelenleg négy környezetben jelenhet meg a profil/canvas és saját/más tulajdonos tengelyek mentén. Ha más felhasználó profil vagy canvas oldalán jelenik meg, akkor előfordulhat, hogy még nincsen telepítve az aktuális felhasználó számára. Ekkor a felhasználó még nem fogadta el az alkalmazás felhasználási feltételeit, adatkezelési nyilatkozatát (ezeket még nem is olvashatta), így az alkalmazás nem tárolhat semmilyen hozzá kapcsolható információt sem az iWiW-en belül, sem külső szerveren. A legegyszerűbb megoldás, ha a felhasználót felszólítjuk az alkalmazás telepítésére egy megfelelő link elhelyezésével, mely  a saját canvas oldalára vezet. Egy sokkal bonyolultabb lehetőség pedig, ha a két dokumentumot megjelenítjük a felhasználó számára, és azokat elfogadtatjuk vele az alkalmazás telepítése nélkül - ekkor azonban a felhasználót tájékoztatni kell arról is, hogy milyen módon tudja majd törölni, vagy töröltetni a róla tárolt információkat az alkalmazásból.

Erről bővebben a Fejlesztői Útmutató IV. pontja (További fontos tudnivalók az adatkezelésről) rendelkezik, illetve itt is olvashatsz róla.

Alkalmazások életciklusa

Korábban írtunk már róla, hogy az alkalmazás eltávolításakor a felhasználóhoz kapcsolt információkat törölni, vagy anonimizálni kell. Erre azoknál az alkalmazásoknál kell különösen odafigyelni, melyek az iWiW-en kívül tárolnak személyhez köthető adatokat.

Alkalmazások frissítése az éles rendszeren

Az alkalmazások frissítéseit eddig is liberálisan kezeltük, és ezután is így szeretnénk, de mostantól minden frissítésről emailben (dev kukac iwiw pont hu) kérünk rövid, tényszerű összefoglaló emailt, akár minimális, akár nagyobb változtatás történt az alkalmazáson.

Az alkalmazások frissítéséről bővebben a Fejlesztői Útmutató III/6.-os pontjában olvashatsz.

Adatkezelés és az alkalmazások életciklusa

A felhasználó és a fejlesztő között létrejövő adatkezelés viszony az alkalmazás telepítésével jön létre, és az alkalmazás törlésével szűnik meg. Két idevágó fontos (kötelező!) teendőről, fejlesztői feladatról szól ez a bejegyzés.

Telepítés előtt

Az iWiW felhasználók az alkalmazás telepítése előtt is interakcióba léphetnek azzal, hiszen egy másik felhasználó profil oldalán, vagy egy másik felhasználó canvas oldalán telepítés nélkül is megtekinthetik, “futtathatják” azt. Mivel ekkor még nem születik meg a felhasználó és a fejlesztő között az adatkezelésről és felhasználásról szóló megállapodás, ezért az alkalmazások ilyenkor még nem tárolhatnak le a felhasználóról semmilyen információt.

Ez fejlesztési feladatra lebontva azt jelenti, hogy ha a profil vagy a canvas nézetben az alkalmazás bármit eltárol az adott felhasználóról, akkor ellenőriznie kell, hogy a felhasználó már telepítette-e az alkalmazást. Ha még nem, akkor ez az adattárolás csak anonim módon, a felhasználóhoz nem köthetően valósulhat meg. Ha ez nem lehetséges akkor, célszerű lehet felkérni a felhasználót arra, hogy telepítse az alkalmazást. Ehhez a megfelelő navigációs megoldást a requestNavigateTo függvénnyel (lásd itt) oldhatjátok meg, a függvény harmadik paramétere egy felhasználói azonosítót vár, itt a “VIEWER”-t kell megadni.

Törlés után

Ha egy felhasználó töröl egy alkalmazást, kötelező, a Fejlesztői ÁSZF-ben foglalt adatkezelési irányelvek szerinti feladatotok a felhasználóhoz kapcsolódó adatok törlése, anonimizálása. Az alkalmazás törlése során az adatkezelési szerződés megszűnik a fejlesztő és a felhasználó között, s ezt a helyzetet kell rendezni. A Fejlesztői Útmutató kivonatának 5. pontjában (a Fejlesztői Útmutató IV. pontjában) a hazai jogszabályokkal összhangban a következő szerepel:

Amennyiben egy felhasználó töröl egy alkalmazást, azaz többé már nem akarja azt használni, úgy a felhasználóról akár iWiW-től, akár magától a felhasználótól begyűjtött adatok semmilyen formában nem használhatók, kezelhetők, tárolhatók, elemezhetők, értékesíthetőek, stb. Ezeket az adatokat fejlesztő köteles megsemmisíteni.

Felhasználóhoz nem köthető, nem személyes jellegű információk esetén - erre az alkalmazás adatkezelési nyilatkozatában külön ki kell térni - a törlés helyett anonimizálás is járható utat jelent, az összes többi adatot viszont törölni kell.

Az OpenSocial szabvány erre a feladatra az úgynevezett lifecycle event -et definiálja, mely segítségével az alkalmazás fejlesztője az alkalmazás telepítéséről és törléséről is értesülhet. Az itt megadott URL-re az iWiW aláírt kéréseket indít, melyeket (jelen esetben a törlést) a fentiek alapján le kell kezelni.

Írjuk a következőket bele az alkalmazás XML fejlécébe, a ModulePrefs-en belülre:

<Link rel="event.addapp" href="http://www.example.com/add" />
<Link rel="event.removeapp" href="http://www.example.com/remove" />

Az URL-ek felé menő kérésben egyetlen hasznosítható információ fog szerepelni, a felhasználó azonosítója, “id” nevű GET paraméterrel. Mivel sem az esemény típusa, sem az alkalmazás azonosítója nem szerepel ebben a kérésben, ezért az URL-nek magának kell ezt az információt hordoznia - akár például két GET paraméter segítségével.

Amire mindenképpen figyelnünk kell, hogy az iWiW felől, bármelyik alkalmazásból ne legyen hamisítható ez a kérés, hiszen pótolhatatlan adatok veszhetnek el. Az alkalmazásokból indított kérések során az iWiW felől érkező kérésben több információ is szerepel, melynek hiányából következtethetünk arra, hogy a megfelelő irányból kaptuk a kérést. Ha nincs opensocial_owner_id, opensocial_viewer_id, opensocial_app_id, opensocial_app_url a kérésben, de van id paraméter, és az aláírás helyes(!), akkor biztosak lehetünk benne, hogy valóban az iWiW felől érkezett életciklus esemény, s a fentiek szerint kell cselekednünk.

Kérjük figyeljetek ezekre a kérdésekre, az adatkezelési irányelveknek való megfelelőség szigorú elbírálási kritérium!

Adatvédelmi nyilatkozat

Többetektől is felmerült kérdésként, hogy pontosan mikor kell adatvédelmi nyilatkozatot készíteni, s hogy ezt hogyan kell a felhasználók felé prezentálni. Az utóbbi napok frissítései kapcsán megjelent egy olyan fejlesztésünk, mely immár lehetővé teszi az adatvédelmi nyilatkozatok megadását az alkalmazásoknál, egészen pontosan a Fejlesztői Portálon, az Alkalmazásaim alatt az egyes alkalmazások alapadatainál. Itt lehetett korábban megadni a Felhasználási feltételeket is, s itt jelent most meg egy új szövegdoboz, ahova az adatkezelési nyilatkozatot lehet bemásolni.

Azt, hogy mikor kell adatvédelmi nyilatkozat egy alkalmazáshoz, azt a hazai jogrendszer szabályozza. Segítségül leírtuk a Fejlesztői Útmutató IV. pontjában, továbbá a Fejlesztői Útmutató kivonatának Adatkezelésről szóló részében, hogy ez pontosan mit jelent. Tovább pontosítva egyes részeket, melyek kapcsán kérdéseket kaptunk, az alábbiakat tudjuk mondani:

Nem kell adatkezelési nyilatkozat, ha az alkalmazás:

  • csak iwiw-től kapott adatokat használ, és azt nem tárolja külső szerveren
  • nem kér be semmilyen adatot a usertől
  • ha nem kér be semmilyen személyes adatot (pl. cím, telefonszám, IP cím, családi állapot, stb.)
  • ha nem tárol személyhez kötötten adatot, csak anonim/aggregált módon

Biztosan kell adatkezelési nyilatkozat, ha az alkalmazás:

  • nem a fejlesztő kezeli az adatot, hanem egy alvállalkozó
  • személyes adatot kér be
  • valamilyen tranzakcióra ösztönöz - vegyél ezt/azt, akkor azt milyen feltételekkel veszed, stb.
  • például nyereményjátékhoz adatokat kér be (mit csinál a válaszokkal, ez fontos)

Amennyiben az alkalmazás tevékenysége során minimális adatkezelést végez, a felhasználási feltételek részeként is megfogalmazható a nyilatkozat.

A felhasználási feltételekkel kapcsolatosan hamarosan közzéteszünk egy mintát a Wikin.