Există site-ul ăsta, mersultrenurilor.ro, care este practic o interfață nouă, umană și bună (în comparație cu infofer.ro, care e urât, ne-prietenos și pe care nu te poți baza) pentru mersul trenurilor. Nu îmi este exact exact clar cum obțin informațiile (mersul trenurilor este o informație publică prin natura ei), dacă le obțin de la diverse agenții (mă îndoiesc) sau parsează conținuturi de pagini de la infofer și își fac o bază de date a lor, copie fidelă a bazei de date infofer.
Mie mi-a surâs foarte mult ideea, pentru că algoritmii pe care îi aplică site-ul oficial pentru calcularea rutelor sunt efectiv varză (adica dacă ai de schimbat, îți arată mii de legături, nu doar cele mai bune), și interfața lor lasă puternic de dorit. Mai mult, nu ai cum să integrezi informația de la infofer în altă aplicație. Așa că am crezut că, dacă oamenii ăștia au „eliberat” baza de date a CFR Călători or nu or să repete greșeala celor de la infofer de a obliga utilizatorii să folosească interfața lor. N-a fost așa :|.
M-am gândit să le scriu un mail, să le zic de posibilitatea asta extraordinară de a dezvolta ceva deosebit, dar nu aveau mail de contact pe site, doar formular de pus comentarii. Așa că am pus comentarii, mai ales liniștit că dacă nu vor să-l publice aveau moderare și cineva îl citea. Uite ce le-am scris:
Salut,
Avand in vedere ca oferiti aceeasi informatie ca si infofer, doar ca voi o faceti liber, aveti posibilitatea extraordinara sa implementati un SERVICIU WEB si sa deschideti baza asta de date (care oricum ar trebui sa fie publica, dar deh, nici nu vreau sa stiu ce calificare au oamenii lor pe tehnica / informatica) catre servicii terte.
Sunt sigur ca s-ar putea gasi o solutie pentru gazduire, dar ati putea pune baza unui serviciu mai mult decat util pentru foarte multe companii (agentii de turism, diverse site-uri). CFR nu prea are ce actiune sa ia impotriva unei treburi de genul asta, pentru ca in orice societate ne-inapoiata, EI ar trebui sa fie cei ce fac asta.
Am constatat cu placere ca nu aveti reclame pe site, deci nu o faceti pentru bani, si va felicit si va respect pentru asta. Sugestia mea ar fi : porniti un proiect OpenSource, lasati lumea sa vina sa va sprijine!
Și uite ce răspuns mi-or tras:
[RASPUNS] : Multumim. Dar pana la urma e munca 8ore/zi a unor oameni si nu poate fi open source.
GRRRRRRR…. mi se pare incredibil, o dată să ai idei așa bune, să le duci la implementare și să nu înțelegi avantajul OpenSource, și după aia să mai faci și pe șmecheru ca ui la ei cât lucrează și cum adică să dea și la alții.
Concluzia e că m-am supărat pe atitudinea asta și m-am hotărât să fac eu produsul opensource care să fie integrabil în alte aplicații, cum ar fi deskbar applet-ul meu de gnome :P, un serviciu web și de ce nu o aplicație pentru agenții de turism din țară și nu numai. Dacă este cineva interesat să dea o mână de ajutor, poate dăm lovitura și ieșim la pensie la 25 de ani! O să postez aici diverse update-uri în legătură cu starea aplicației.
Am proiectat un website pentru mersul trenurilor si va invit sa va convingeti ca e cel mai bun din Romania ca functionalitate. Sint inclusi toti operatorii feroviari din Romania. Adresa acestui website e indicata mai sus. Va rog sa nu aveti retineri in a o folosi, chiar daca e doar un Ip.
Daca dati o cautare pe Google Romania cu „mersul trenurilor” ma gasiti pe prima pagina (e posibil ca pozitia mea sa oscileze in functie de nu stiu ce criterii Google).
Ca sa va convingeti ca e cel mai bun, va rog sa comparati infofer (oficial), firma din Cluj (mersultrenurilor) si website-ul meu pentru citeva rute (puteti incerca si altele):
de la Tirgu Mures la Dej
de la Oradea la Zimnicea
de la Ploiesti Vest sau Sud la Zimnicea
Nu va lasati pacaliti de aparente. Chiar daca nu va vine sa credeti, infofer e mai bun decit mersultrenurilor, pentru ca infofer stie sa gaseasca rute cu trei trenuri. Totusi niciun website din Romania (exceptie: al meu) nu poate gasi rute mai complexe. Va rog sa comparati website-ul meu cu http://www.db.de (Deutche Bahn, cel mai bun website din Europa) si veti vedea ca rezultatele noastre sint aproape identice.
Sint mai dispus la colaborare decit CFR si decit Anatoli (firma din Cluj, proprietarul website-ului mersultrenurilor). Totusi am niste retineri: unii care nu calatoresc deloc cu trenul imi reproseaza ca „nu are dizain”, asa ca eu ma axez exclusiv pe functionalitate. Eu tin minte o vorba de duh atribuita lui Bill Gates: „daca nu poti sa faci un lucru bun, macar sa-l faci sa arate bine”
Nelu Cozac
Domnule Cozac,
Sunt convins ca ati facut o treaba buna, dar eu nu mi-am propus sa construiesc ce mai eficienta aplicatie din internet. Obiectivul meu este sa gasesc o metoda sa „eliberez” datele despre mersul trenului in asa fel incat oameni pasionati ca dumneavoastra (sau poate unii care „se stiu” la „dizain” sa poata sa le foloseasca.
Sa fiu sincer, eu sunt mai interesat de date, un algoritm de rute optime stie sa faca orice „pusti” de anu III de la Calculatoare. Interesant pentru mine ar fi sa pot oferi serviciul asta printr-un web service (wikipedia it) catre toti integratorii de servicii (inclusiv catre mine :P)
Website pentru mersul trenurilor: http://193.226.19.29:1026
(1) Consider ca serviciile oferite de acest webserver permit cu usurinta preluarea datelor de un programator si sa le afiseze intr-o alta forma. Daca se pune doar problema preluarii datelor:
GET /Sub=Info&Inf=T:1 HTTP/1.0
GET /Sub=Info&Inf=T:2 HTTP/1.0
GET /Sub=Info&Inf=T:3 HTTP/1.0
la 193.226.19.29 port 1026
Si asa mai departe, pina cind se obtine o pagina care contine altceva decit ruta si orarul unui tren (concret e un formular care se asteapta a fi completat de utilizator)
Daca cineva are suficienta rabdare sa analizeze o pagina raspuns cu ruta si orarul unui tren, va identifica portiunile de text care contin informatiile importante: cod statie (e un cod intern), ora sosire, ora plecare etc.
Eu am analizat cu atentie sursele html pentru raspunsurile de la Infofer si asa am scris programe proprii de parsare, dupa care informatiile sint organizate dupa reguli proprii.
Va ginditi la prezentarea datelor si in format XML ?
Ar trebui sa ma gindesc la o solutie pentru ca un utilizator sa descarce un fisier binar (cel folosit de webserver are cam 1.4 Mo, comprimat Zip s-ar reduce la 0.5 Mo) si sa aiba un program (pe care il dau eu) ca sa obtina fisiere in format XML.
(2) Datele le obtin de la CFR cu un program de culegere pe care il rulez cam o data pe saptamina, cind observ pe pagina lor un anunt ‘Ultima modificare …’ E drept ca programul ruleaza cam o jumatate de zi ca sa le aduca.
(3) Algoritmul de rute optime folosit de webserver nu e chiar la indemina oricarui ‘pusti’ din anul III Calculatoare. E de fapt o combinatie de mai multi algoritmi de cautare: in primul rind se parcurg doua grafuri in paralel (graful retelei feroviare cu vreo 2000 de virfuri si graful orar cu vreo 48000), in al doilea rind se fac din cind in cind teste pentru rute cu schimb de tren ca sa evit cautari care nu ar duce la rezultat etc.
Daca ar fi doar cautare pentru rute directe, totul ar fi foarte simplu. Tocmai de aceea am folosit algoritmi foarte eficienti de cautare in grafuri.
Din pacate la rute complexe toate celelalte website-uri dau rezultate slabe. Am spus ca Infofer e mai bun decit Mersultrenurilor pentru ca stie sa gaseasca rute cu trei trenuri.
(4) Daca sinteti de acord, eu accept sa-mi scrieti oricind pe adresa de e-mail pe care o gasiti pe prima pagina a website-ului meu.
Nelu Cozac