Monday 20 June 2011

Vähän ajatuksia pröngistä

Alkuun mainos:

Yool kansainvälistyy, avasin DICiin enkunkielisen blogin englannintaitojeni kehittämisen... ja, no, huvin vuoksi. Siellä on vain yksi teksti nyt, mutta lisää tulee kun jaksan tehdä (mikä muuten, yllättäen, pätee kaikkiin blogeihini :P). Tämä pysynee pääblogina, mutten takaa että kaikki faktat päätyvät molempiin blogeihin. Kannattaa siksi lukea molempia ja huomautella kun pahoinpitelen englannin kieltä.

Jatkoon vähän asiaakin.

 Mainitsin pari kuukautta sitten Pröngin laudalla ~puoli vuotta vanhan koodin haisevan kolme vuotta vanhalta. Nyt olen parin kuukauden ajan keräillyt laudalta ehdotuksia uuteen Pröngiin, ja nyt julkistan hieman ajatuksia aiheesta. Alkuun raaka changelist:

  • Tietokanta, jonka rakennetta kehtaa katsoa vielä syksylläkin
  • Fiksu ongelmien hallinta
  • Mobiili www-toteutus
  • BB-/HTML-muotoilut
  • Headers already sent - virsettä karttava koodin rakenne
  • Satunnaisesti valittu "slogan-luonnos"
Tietokannan uudelleentoteutus tarkoittaa sitä, että suunnittelen kantaan jonkinlaisia yhteyksiä taulujen välille, enkä vain lyö kantaan ilmassa roikkuvia tauluja eri asioille. Tällä hetkellä kanta ei mm. ymmärrä, että käyttäjät tuottavat ja lukevat luonnoksia, tai että kommentit kommentoivat luonnoksia. Kanta ymmärtää vain, että on luonnoksia, on kommentteja, on käytttäjiä ja on helvetisti purkkaa, joka toteuttaa nämä yhteydet.

Ongelmienhallinta tarkoittaa sitä, että minä voisin reagoida PHP:n virheisiin kuin työpöydällä poikkeuksiin. Tällä hetkellä kun PHP kohtaa virheen pröngin koodissa, koodin suoritus pysähtyy ja käyttäjä saa ruman (ja useimmiten siansaksaa olevan) virheen(, jos käyttäjä ei tunne PHP:n käyttäytymistä) (vertaa tilannetta nykyCB:n MAViin). Erästä DIC-tutoriaalia pohjana käyttävä systeemi antaisi mahdollisuuden joko toipua virheestä, tai ainakin tulostaa oma, selkeä virheviesti (ja tehdä virheen edellyttämät rituaalit, kuten esim. lähettää emaili virheestä minulle) (vertaa mm. C-kielten exceptioneihin).

Mobiilitoteutuksesta en ole enää varma. Nettitikun heräämisen myötä minulta katosi mahdollisuudet testata pröngiä "tyhmällä kännykällä", ja ainakin Androidin selain renderöi pröngin kuin FF/Chrome. Jos alan väsäämään tätä, saa Tässi vähintään hoitaa testauksen ja mahdollisesti keräillä muotoiluja, jotka ovat vaikeita hänen kännynsä selaimelle ja Opera Minille.

BB- tai HTML-muotoilut ovat ehdoton pakko. Näiden välillä ei tässä yhteydessä ole muuta eroa kuin se, että BB-tagit ympäröidään [näin], kun taas HTML . Menen todennäköisesti BB:llä, ettei ihmisille tule intoa alkaa eksperimentoimaan kummallisia tageja. Tämä mahdollistaa myös enemmän jännempiä tageja vähemmällä "ei tuon näköiset tagit kuulu siihen_ja_tähän standardiin! >:(" huutelulla. Joka tapauksessa, vähintään quote, b, i, u ja url - tageja pitäisi tukea. Lisää tageja tulee jos tulee tarvetta.

Nykyinen koodi huutaisi virhettä jokaisella sivulla ilman ob_ - funktioita, jotka puskuroivat tulostuksen siihen asti kunnes keksejä ei enää tarvitse käsitellä. Tämä ominaisuus vaikeutti muistaakseni kehitystä viimeksi, ja nyt kun olen oppinut ajattelemaan, hoidan keksi- ja muut header-asiat ennenkuin tulostan yhtään mitään.

Tuo slogan-luonnos tarkoittaa sitä, että sivun ylätunnisteessa on jossain "Pröng - tähän_kiva_luonnos" - tyyppinen teksti. Todennäköisesti titlestä tulee samanlainen, vaikka kukaan tuskin huomaa tätä koska prong.tk:n kautta titleksi tulee yksinkertaisesti "prong.tk".

Kuten sanoin, ainakin etusivu saa ylätunnisteen, johon voi laittaa muutakin informaatiota kuin "Olet pröngissä, senkin sherlokki". Esimerkkinä viime lauantaihin asti pröngissä näkynyt "Kippis ja kujaus" - banneri olisi ehdottomasti tarvinnut vähintään oman divinsä, jottei se olisi sotkenut etusivun layouttia.

Lisäksi, ennenkuin itse Pröng alkaa kehittyä, tehnen alle PHP-frameworkin/CMS:n, joka mahdollistaa myös merpg.webs.comin siirron jonnekin Viuhkan kaltaiselle vähällä vaivalla. Tuo CMS-systeemi vaatinee oman tekstinsä, ja minua väsyttää muutenkin, joten julkaisen tämän nyt tälläisenä :P

No comments:

Post a Comment