Egy nap Windows Phone fejlesztőként: Autópálya információk SMS-ben

Ez a blogbejegyzés 2 hete fekszik publikálatlanul, ha végigolvasod, kiderül, miért. Időközben Scott Hanselman publikált egy nagyon hasonló cikket, azt is érdemes elolvasni.

 

Az egész úgy kezdődött, hogy a tanszékünk január 25-én szervezett egy Windows Phone fejlesztői konferenciát (melynek az előadásai már megtekinthetők a devPortalon), én pedig elhatároztam, hogy azt a napot rászánom a Windows Phone fejlesztésre. A cél annak kiderítése volt, hogy a meglévő .NET, Silverlight, XAML tudásomat mennyire hatékonyan tudom alkalmazni WP környezetben. Mindezt azonban nem a konferencián akartam felmérni, hanem inkább egy Outlook-Skype-telefon-mentes napon, a saját bőrömön érezve, Visual Studioban kódolva. A végeredmény a cikk végén letölthető, addig pedig azt írom le, milyen úton sikerült odáig eljutni, hiszen a másodlagos cél ezeknek az első tapasztalatoknak a megosztása volt.

Adott volt tehát az 1 napnyi határidő, már csak egy konkrét cél kellett, ami értelmesebb alkalmazás, mint egy Hello World, de nem túl bonyolult. Egyszer régen, még a Windows Mobile idejében, készítettem egy .NET Compact Frameworkös programot, amely segítségével a magyarországi autópályákkal kapcsolatos forgalmi információkat lehet lekérni SMS-ben. Elképesztő GUI-t kapott:

Autópálya információk SMS-ben Windows Mobile-on

Mivel az alkalmazás bevált a régi Windows Mobile-os telefonomon és nagyon hamar elkezdtem hiányolni Windows Phone-on, kézenfekvő volt, hogy ez legyen az állatorvosi ló.

Ezzel indultam neki:

  • .NET tapasztalat, elsősorban webfejlesztési területen.
  • Tapasztalat .NET Compact Frameworkös mobil alkalmazás, Silverlight és XAML területen.
  • A Windows Phone-nal kapcsolatos hírek követése a termék életének kezdete óta.
  • Pár egyszerűbb fejlesztési demó és a devPortalon lévő Windows Phone-os előadássorozat végigmozizása.
  • Kéznél volt a devPortalos fiúk által írt WP7 könyv, amiben nagyon jól lehet CTRL+F-fel keresni.
  • Letöltöttem és kb. 15 perc alatt telepítettem a Windows Phone SDK-t.
  • Egy HTC HD7 készülék Mangoval a teszteléshez.

 

Első lépések

Ennyi elég is volt ahhoz, hogy Visual Studioban File – New – Project – Windows Phone Application varázslóval létrehozzam az első WP7-es alkalmazásomat. A sablon kiváló, azonnal futtatható, elindul az emulátor és máris kipróbálható. Pont ennyit tud:

Első WP7 appom

Nem tudom, ki hogy van vele, én új környezetben mindig először egy interaktív Hello Worldöt szoktam készíteni: egy szövegdobozba beírt szöveg gombnyomásra megjelenik egy címkén. Ez pont olyan egyszerűen ment, mint ahogyan előre elképzeltem, Toolboxról behúzhatók a vezérlők, vagy a WPF/Silverlightos XAML kód pont ugyanúgy írandó, sőt az eseménykezelőkkel kapcsolatban sincs igazán újdonság.

Szia Világ WP7-re

A tesztelés már egy kicsit furmányosabb, tudni kell, hogyan lehet a hoszt billentyűzetét használni az emulátorban: a kulcs a PageUp.

A WP7-es alkalmazások felhasználói felületének gyakori eleme az alsó Application Bar. A Studio által generált kódban erre is van minta, csak ki van kommentezve, és szinte kiált az uncomment után. A gombra persze ikont kell rakni, szerencsére van pár a C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Icons mappában. Elég a Dark ikont használni, ha a felhasználó átvált a telefonon világos témára, akkor ez az ikon automatikusan invertálódni fog. Az ikont bárhova be lehet rakni a forráskódba, de a megszokottal ellentétben a Build Actionjét nem Resource-ra, hanem Content-re kell állítani. Bevallom, ez meglepett. Az appbar eseménykezelői klasszikus gomb eseménykezelők, akár debuggerrel, akár MessageBox-szal könnyű kipróbálni őket.

Application Bar

Szerencsére nem ez az egyetlen WP7-es projekt sablon van a Studioban, érdemes végignézni mindet. A Windows Phone Databound Application már adatkötésre és navigációra is mutat példát. Van benne egy talán feleslegesen elbonyolított MVVM és példa az oldalak közötti navigálásra, ami ugyanúgy a NavigationService segítségével történik, mint WPF-ben. Ez a példa használ beépített Windows Phone-os stílusokat, amikről itt található bővebb információ: http://msdn.microsoft.com/en-us/library/ff769552(v=vs.92).aspx. Aki csinált már adatkötést, például WPF-ben vagy akár ASP.NET-ben, annak itt nem lesz újdonság.

wp7-masodik-start

Ezek után még létrehoztam egy Windows Phone Panorama Application és egy Pivot Application projektet. Kód szinten a Panorama és a Pivot is pont olyan, mint egy Tab control, futási időben viszont máshogy viselkednek. Érdemes megnézni a devPortalos videókat, ott kiderül, mikor melyiket célszerű használni.

wp7-harmadik-panorama wp7-negyedik-pivot

A projekt sablonok megismerése kb. 40 percbe telt, ideje volt nekiállni a saját alkalmazásomnak.

 

Tervezés

A Windows Mobile és a Windows Phone megjelenése közötti időben nagyon sokat változtak az alkalmazások és a felhasználói igények is, ezért kódolás előtt futottam egy kört azzal kapcsolatban, hogy mit kellene másként csinálni. Ami jó volt a régiben:

  • hálózati adatkapcsolat nélkül is tökéletesen működött, mert csak SMS-ben kommunikált
  • az egyszerű felhasználói felületnek köszönhetően akár vezetés közben is nagyon kényelmes volt a használata

Mivel a hálózati adatkapcsolat nélküli működés nagyon praktikus, maradtam az SMS-es megvalósításnál. Biztos voltam benne, hogy az SMS-t nagyon egyszerű lesz elküldeni, de voltak kételyeim afelől, hogy a válasz SMS-t meg tudom-e jeleníteni az alkalmazásban. Hosszas guglizás után arra jutottam, hogy WP7-en nemcsak hogy nem lehet elkapni a bejövő SMS-t, de még a kimenő SMS-ek elküldését sem lehet teljesen automatizálni. A kódból összerakott SMS-t csak a felhasználó tudja elküldeni az SMS szerkesztőből. Ez akár baj is lehetne, de mivel a válasz amúgy is ott fog megjelenni, ezért nem nagy gond. Sőt, mivel a szolgáltatás gyakran több SMS-ben válaszol és azok ott egyszerre lesznek láthatóak, úgy döntöttem, ezzel a kompromisszummal együtt lehet élni. Plusz egy tappintás, még belefér.

A második pont a felhasználói felület. A régi, egy képernyős, fix elrendezés tökéletesen működött az akkori kevés autópályára, de ma már sokkal több főútról lehet információkat kérni. Hogy pontosan melyekről, azt nem tudtam kideríteni. Az autopalya.hu oldalon találtam ugyan térképet, de az nem egészen fedte a Wikipedián található listát, és próbálgatás közben semmi logikát nem találtam abban, hogy melyikről jött válasz és melyikről nem. Így GUI tervezési szempontból arra jutottam, hogy akárhány elemű listát kell tudnom megjeleníteni.

A következő lépés a mockup rajzolás szokott lenni, amihez mi általában Balsamiqot használunk, amihez szerencsére lehet letölteni Windows Phone-os sablonokat. Nem volt türelmem az egész alkalmazást megrajzolni, de azt sikerült megsaccolni vele, hogy egy listában három egymás melletti ikon még elég nagy ahhoz, hogy ujjal pontosan megnyomható legyen. A mockupból kiderült az is, hogy a görgetés és a sok elem közötti keresgélés valószínűleg nem kényelmes például vezetés közben, ezért nem árt a programba egy Kedvencek lista egy másik Panorama képernyőn.

Ez a tervezgetés kicsit több, mint 45 percet vett el, de mindenképp megérte.

 

File – New – Project

A Studio projekt sablonjainak megismerése után gyerekjáték volt a projekt létrehozása és a felhasználói felület átszabása. Az egyetlen érdekesség az volt, hogy WP7-en alapból nincs WrapPanel, ahhoz már a Silverlight for Windows Phone Toolkit kell. Ez persze letölthető a CodePlexről is (mint ahogy sokan javasolják), de szerintem a NuGet csomag sokkal egyszerűbb.

Az adatmodellel már egy kicsit meggyűlt a bajom. Először is a template által generált view-modelben a PropertyChanged implementáció nem tetszett. Valami sokkal egyszerűbbet akartam, így átírtam az egészet singletonra. Annál viszont nem sikerült megoldanom, hogy dummy adatok megjelenjenek a dizájnerben, ha valaki tudja, hogyan kell, kérem írja meg. Egy óra kínlódás után vissza az egész.

Az SMS küldés gyerekjáték volt, meg is osztom veletek a hihetetlenül komplex üzleti titkot:

  SmsComposeTask sms = new SmsComposeTask
  {
    To = App.Settings.PhoneNumber,
    Body = speedwayDisplayName
  };
  sms.Show();

Délelőtt 10 órára készen is volt az alkalmazás első verziója, ami annyit tudott, mint a régi.

 

Első futtatás a telefonon

De jó, hogy megnéztem a devPortalos videókat arról, hogyan kell áttölteni egy alkalmazást a telefonra! Kösz, fiúk, sok időt spóroltatok meg! Hibaüzenetek ugyanis vannak, de nem éppen bőbeszédűek:

Failed to connect to device as it is pin locked.

Frászt! Csak épp bekapcsolt a képernyővédő. Bekapcs, felhúz és már megy is.

Failed to connect to device as it is developer locked. For details on developer unlock, visit http://go.microsoft.com/fwlink/?LinkId=195284.

Ez akár értelmes hibaüzenet is lehetne, ha nem az AppHub kezdőlapját hozná be, ahonnan fogalmam sincs, hogyan tovább, túl sok link van rajta. A megoldás a Start menüből a Windows Phone Developer Registration alkalmazás elindítása, ami az SDK-val kerül fel. Beírtam neki a Live ID-mat és a jelszavamat, és azonnal megvolt az unlock, pedig előtte nem is regisztráltam az AppHubra.

 

Hetességek

Feltűnt, hogy a telefon forgatására a program nem reagál. Azt hittem, hogy ez megy magától, hiszen a layout vezérlők ezt kezelhetnék. Szerencsére tényleg megy magától, amint azt engedélyeztük XAML-ben:

  <phone:PhoneApplicationPage 
    ...
    SupportedOrientations="PortraitOrLandscape"  
    Orientation="Portrait" 
    OrientationChanged="OnOrientationChanged"

Az eseménykezelő azért kellett, hogy fekvő helyzetben a Panorama címét el tudjam rejteni, mert nagyon sok helyet foglal. Erre csak ezt a megoldást találtam, vajon van egyszerűbb?

  Grid grid = (Grid) VisualTreeHelper.GetChild( this.panorama, 0 );
  FrameworkElement title = (FrameworkElement) grid.FindName( "TitleLayer" );
  title.Visibility = e.Orientation == PageOrientation.LandscapeLeft || 
                     e.Orientation == PageOrientation.LandscapeRight ? 
                     System.Windows.Visibility.Collapsed : 
                     System.Windows.Visibility.Visible;

Mindenképp ki akartam használni, hogy a Start képernyőre egyedi lapkák tűzhetők, mert így még egyszerűbben lehet a gyakran használt autópályához tartozó információkat lekérdezni. Mínusz egy tappintás. A lapkák elég furcsa lények, mielőtt az ember belecsap, mindenképp érdemes elolvasni, hogyan működnek és mire képesek. A könyvben nagyon jól össze van foglalva, tudom ajánlani. A lehetőségek megértése után a kód nagyon egyszerű:

  StandardTileData tile = new StandardTileData
  {
    Title = String.Format( CultureInfo.InvariantCulture, "{0} infó", speedway ),
    BackgroundImage = new Uri( "/ApplicationTileIcon.png", UriKind.Relative )
  };
  ShellTile.Create( 
    new Uri( "/MainPage.xaml?info=" + speedway, UriKind.Relative ), tile );

Ez az a pont, ahol az ember szembesül azzal, hogy ikont kell rajzolni az alkalmazáshoz, ami nem kimondottan programozónak való feladat. Azért "a maga módján" az is élmény. Mindezt rápakolni a Toolkitben található ContextMenu-re már semmiség volt.

Természetesen a program elmaradhatatlan része az About ablak, amin belül WP7-en szinte kötelező, hogy legyen link a Piactéren lévő oldalra, ahol értékelni lehet az alkalmazást. Ehhez mindössze ennyi kód kell. Jó, nem?

  MarketplaceReviewTask task = new MarketplaceReviewTask();
  task.Show();

Ugyanoda került egy e-mail küldési lehetőség is, amit szintén nem bonyolult elkészíteni:

  EmailComposeTask task = new EmailComposeTask
  {
    To = "balassy@aut.bme.hu",
    Subject = 
      "Visszajelzés az Autópályán Windows Phone alkalmazással kapcsolatban"
  };
  task.Show();

A főoldal és a névjegy oldal közötti váltás nagyon fapadosnak tűnt, ezért elhatároztam, hogy feldobom a Toolkitben lévő animációval. Ezzel kapcsolatban a legtöbb leírás arról szól, hogyan lehet egy A és egy B oldal között megcsinálni az animációt jó sok kód bemásolásával, de kis keresgélés után találtam egy WindowsPhoneGeek cikket arról, hogyan lehet ezt központosítani.

Kora délutánra el is készült a program. Nem maradt más hátra, mint publikálni.

 

Piactér élmények

Elindítottam a jól eldugott helyéről (Solution Explorerben a projekten jobb klikk) a Marketplace Test Kitet, majd eltöltöttem jó sok időt a sokféle felbontású és rendeltetésű kép megrajzolásával. Szerencsére az emulátorból nagyon egyszerű képernyőképeket készíteni, egy kattintás és már menthető is. Lefuttattam az automatizált  teszteket, és nagyjából átfutottam a 49 manuális tesztet (kinek van ehhez türelme?). Miután megfogalmaztam a programhoz tartozó leírást Wordben, minden készen volt ahhoz, hogy feltöltsem az alkalmazást a Piactérre.

Azt még tavaly sikerült elintéznem, hogy a Dreamspark program elfogadja a bme.hu végű e-mail címeket, így most simán regisztráltam magam Dreamspark tagként a create.msdn.com oldalon a Piactérre – természetesen ingyen. A “simán” persze egy kis túlzás, ha az embert “Balássy György”-nek hívják. Azt merte mondani a fránya regisztrációs űrlap, hogy ez a név már foglalt. Eeeeez? Nem hittem neki, de mit lehet tenni. Jól van, akkor legyen “György Balássy”. Abban meg nem megengedett karakterek vannak. Kérdem én, akkor a fordítottja hogy lehet foglalt, abban megengedettek ugyanazok a karakterek? Végül maradtam “Balassy Gyorgy”, de az e-mail cím megerősítő levélben valamilyen oknál fogva már így szerepeltem: Arc nagy mosollyal

wp7-registration-welcome

Bár az e-mailben lévő linkre azonnal rákattintottam, még sokáig “We are verifying your account” üzenet szerepelt a profil oldalamon, máshol meg az, hogy “Account Status: Active”. Hm. A Devices oldalon a korábban ugyanezzel a Live ID-val unlockolt készülék nem jelent meg azóta se, ami éppenséggel engem nem zavar, de érdekes anomália.

Szóval kicsit furcsa a Piactér a kofák oldaláról, de működik. Csont nélkül be tudtam küldeni az alkalmazásomat.

Két munkanap után jött meg az eredmény egy e-mail és egy PDF formájában (érdemes megnézni nagyban, milyen készülékeken tesztelték):

wp7-cert-failed

Marketplace certification test results Marketplace certification test results

Az egyetlen hiba pedig:

Fail 5.5.1 The product description and UI text of your application must be localized to each language the application supports.

Hát igen, a program magyarul beszél, de a publikálásnál ezt senki nem kérdezte! A megoldás: a Studioban a projekt tulajdonságai között az Assembly Information ablakban kell helyesen beállítani a Neutral Language értékét. A helyesen nagyon fontos, ugyanis csak “ország” formátumút szabad választani, “ország (nyelv)” formátumút a fórumok alapján ugyanúgy nem fogad el a Piactér. Így aztán kiválasztottam a Hungariant, majd ismét beküldtem az alkalmazást a Piactérre. Annyit változtattam még, hogy a leírásban a sortöréseket üres sorokra cseréltem, mert úgy tűnt, azokra nincs tekintettel a megjelenítő oldal. Utólag úgy tűnik, hogy a nyilvános oldal majd tekintettel lesz rá, mert az egész leírást egy HTML <pre> tag-ben jeleníti meg.

Azt tudni kell, hogy az összes beküldés olyan, mintha első lenne, tehát bármilyen apró módosítás esetén újra végigmegy a program a teljes tesztelési és jóváhagyási folyamaton. Ez ismét két munkanapba telt, és az eredmény ismét Certification Failed:

Marketplace certification test results Marketplace certification test results

Ez aztán a követelmény, próbáld csak meg magyarra lefordítani:

The title of the applications pin-to-start icon appears to be a generic title, "sdkLocalDatabase" and is not representative of the application named "1, 2, 3 Learn!"

Egyébként igaz, valóban nem teljesen egyéni ez az ikon:

ApplicationIcon (62x62)

De ez az előző tesztelőnek tényleg nem tűnt fel? Tényleg csak az első hibáig tesztelik a programot? Ez igazán bosszantó volt. Sok órányi rajzolgatás és az összes grafikusi képességem bevetése után ezt mind sikerült kihoznom belőle:

Application Icon (62x62)

Aki szívesen rajzolna nekem egy jobbat, jelentkezzen nálam a pályázatával Mosolygó arc

Ezzel a csoda ikonnal, amit persze négy méretben kellett megrajzolnom, ismét beküldtem az alkalmazást.

Két munkanap után ezúttal megtörtént a váratlan fordulat:

Sikeres publikálás

Mivel a beküldésnél a varázsló végén azt állítottam be, hogy jóváhagyás után azonnal jelenjen meg, a “publish” elvileg meg is volt. Még jó, hogy Bandi az egyik előadásában elmesélte a SurfCube kapcsán, hogy kell még pár óra, míg az alkalmazás megjelenik a kereshető katalógusban. Ez a pár óra nálam ismét másfél napba telt. Addig sokszor a közvetlen link sem működött, hol megtalálta a kereső autocomplete, hol nem, teljesen kaotikusan lehetett rátalálni a programra. Magyarul újabb másfél napig nem volt publikálva az alkalmazás, ezzel összesen 2+2+2+1,5 munkanapig tartott kitenni az appot a Piactérre, de persze legközelebb remélhetőleg csak a fele lesz.

Azóta az alkalmazást több készülékre is letöltöttem a Piactérről, mégis nulla maradt a Download Count a tulajdonosi oldalon. Így kicsit érdekes a Crash Count számláló is Mosolygó arc   Hasonló érdekességet találtam az értékelésekkel kapcsolatban is (arról majd egy későbbi cikkben írok), de ott szerencsére az AppTracker segítségével sikerült könnyen átlátni a visszajelzéseket.

 

A végeredmény

Small  Application Tile (99x99)A végeredmény az Autópályán nevű alkalmazás, amely immár letölthető a Piactérről (ugyanott találhatók képernyőképek is) az alábbi linkekre kattintva, vagy a QR kód szkennelésével:

Megnyitás a Piactéren böngészőben

Megnyitás Zune kliensben vagy telefonon

Az Autópályán alkalmazás megnyitása a Piactéren

Aki esetleg letölti és kipróbálja, kérem küldjön róla értékelést és visszajelzést.

Screenshot 1 - Informacio

 

Értékelés

Egy nap alatt persze nem lettem Windows Phone guru (ez nem is volt cél), de azt hiszem, sikerült alaposan belekóstolni az új mobil operációs rendszer programozásába. Aki látott már valaha XAML-t, annak egyáltalán nem fog gondot okozni ez a platform, a fejlesztőeszközök (emulátor, debugger stb.) is sokkal jobbak, mint a Windows Mobile idejében. Egy nap alatt sikerült eljutni az ötlettől a publikálásig, ami szerintem nem is rossz, és ez az egy napnyi tapasztalat elég ahhoz, hogy sokkal határozottabban tudjak nekifogni a következő alkalmazás fejlesztésének. A Piactérnek vannak sajátosságai, de ezek idővel biztosan meg fognak javulni (vagy megtanulunk együtt élni velük). Szerintem már csak két kihívás marad:

  • Kitalálni olyan alkalmazásokat, amik még nincsenek WP7-re, de valóban kellenek.
  • Olyan felhasználói felületet kialakítani, ami ergonomikus, és nem csak hogy passzol a WP7 Metro stílusához, de maximálisan ki is használja azt.

Ti mit gondoltok?

 

Az utolsó tipp: Így készül a Zune link

Az alkalmazás nyilvános Piactér oldalának URL-jéből ki kell másolni a GUID-ot és be kell tenni ennek a végére: http://social.zune.net/redirect?type=phoneApp&id=IDEJÖNAGUID

A wp7.hu-n olyan jól működő QR kódot pedig én itt generáltam: http://createqrcode.appspot.com/

 

 

 

Technorati-címkék: ,,

6 thoughts on “Egy nap Windows Phone fejlesztőként: Autópálya információk SMS-ben

  1. András Velvárt (@vbandi)

    Gyuri, remek összefoglaló, pár gondolat:
    – A Landscape-be forgatásnak készítettem egy jobb, sőt vizuálisabb megközelítést: http://dotneteers.net/blogs/vbandi/archive/2011/03/08/handling-wp7-orientation-changes-via-visual-states.aspx
    – Az appodat azért dobták vissza, mert nem volt időd végigmenni a manuális teszteken, és láthatólag a Marketplace Requirement specit sem olvastad el. Így elment két napod… a második visszadobásra nem tudok mit mondani, azt én sem értem. Mintha valaki más appját nézték volna az app nevek alapján…

    1. Balássy György Szerző

      Hát igen, tényleg bepróbálkoztam a szerencsémmel, ami csak félig jött be. De hát ki olvas specit?!😀 Én webes ember vagyok, ha valami elrontok, kijavítom, Save, majd F5 és már látszik is. Két nap internetes időben mérve éveknek számít!

      Köszi a cikk linket! Nem egyszerűbb, mint az enyém, de mindenképp hasznos.

  2. turoczya

    Jó cikk🙂 Marketplace meg érdekes gyermek. Nekem egyszer azért kötöttek bele, mert az aak.hu oldalról letöltött információ nyelve “Mágyár” volt. (Ha a UI Angolra volt állítva) Ujrabekültem ugyan azt, a kódot. Hát nem elfogadták?!🙂
    Vannak fura dolgai az MP-nek.
    Jópofa app. Majd küldök ratet😉

  3. nyelvész

    “már csak egy konkrét cél alkalmazás kellett”

    A célalkalmazás nagyon eccerű; ha külön írod, akkor viszont külön is olvasom…

    Így viszont nem vakarom a fejem: … már csak egy konkrét célalkalmazás kellett …

    Kezdem azt gondolni, hogy aki nagyon jó az informatikában, az eccerű helyesírási szabályokat sem tud alkalmazni, mert nem is érdekli más, csak a bitek háborúja.

    1. Balássy György Szerző

      Köszi a visszajelzést, ez most tényleg csak egy elírás volt. Ha csak ennyit találtál egy 12 oldalas vikkben, akkor nyugodt vagyok. Ez alapján én nem általánosítanék.

      Az egybeírás-különírás szabályait még véletlenül sem nevezném egyszerűnek a maga 8 oldalával. Az ilyenekről nem is beszélve:
      “117. a) A mennyiségjelzős kapcsolatok tagjait általában különírjuk egymástól:”
      “117. b) A mennyiségjelzős összetételeket egybeírjuk.”
      “117. c) A kialakult szokást megtartva jelentésváltozás nélkül is egybeírjuk”

  4. nyelvész

    Nem ennyi volt, több van; pl. egy alcím (a többit nem vettem észre):

    Piactér élmények

    A 8 oldal egyébként honnan jött? 11 oldal A magyar helyesírás szabályai 11. kiadásában, az Osiris Helyesírás című remekművében pedig 49 oldal…

    Igazad van, nem eccerű (nyilván nem sok ember tudja hibátlanul, “fejből” alkalmazni), de azért vannak nagyon eccerűek is, amihez nem feltétlenül kell ismerni a szabályzatot.

    Ami melletted szól, hogy ez csak egy blog, és a te blogod. Ennél fogva azt és úgy írsz le benne, ahogy kedved tartja.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s