Prinsip Panduan

Prinsip Panduan

Untuk mempertahankan visi awal GTFS-realtime, sejumlah prinsip panduan telah disusun untuk dijadikan pertimbangan saat memperluas spesifikasi:

Feed harus efisien untuk dibuat dan digunakan secara realtime.

Informasi realtime adalah arus data yang kontinu dan dinamis yang tentu saja memerlukan pemrosesan yang efisien. Kami memilih Protocol Buffer sebagai dasar spesifikasi karena menawarkan kompromi terkait kemudahan penggunaan bagi developer dan efisiensi pengiriman data. Tidak seperti GTFS, kami tidak beranggapan bahwa banyak perusahaan akan mengedit feed GTFS-realtime secara manual. Pilihan Protocol Buffer menunjukkan kesimpulan bahwa sebagian besar feed GTFS-realtime akan dibuat dan digunakan secara terprogram.

Spesifikasi berisi tentang informasi penumpang.

Seperti GTFS sebelumnya, GTFS-realtime terutama berkenaan dengan informasi penumpang. Artinya, spesifikasi harus menyertakan informasi yang dapat membantu mengoperasikan fitur terutama untuk penumpang. Kemungkinan ada banyak informasi berorientasi operasi yang ingin ditransmisikan oleh perusahaan transportasi umum secara internal di antara sistem. GTFS-realtime tidak didesain untuk tujuan tersebut dan kemungkinan ada standardisasi data berorientasi operasi lainnya yang mungkin lebih sesuai.

Perubahan pada spesifikasi harus kompatibel ke belakang.

Saat menambahkan fitur ke spesifikasi, kami ingin menghindari perubahan yang akan membuat feed yang ada menjadi tidak valid. Kami tidak ingin membuat pekerjaan tambahan bagi penayang feed yang ada sampai mereka ingin menambahkan kemampuan pada feed mereka. Selain itu, jika memungkinkan, kami ingin parser yang ada dapat terus membaca bagian lama dari feed yang lebih baru. Konvensi untuk memperluas Protocol Buffer akan menerapkan kompatibilitas ke belakang sampai batas tertentu. Namun, kami ingin menghindari perubahan semantik pada kolom yang ada yang juga mungkin mengganggu kompatibilitas ke belakang.

Fitur spekulatif tidak disarankan.

Setiap fitur baru menambah kompleksitas pada pembuatan dan pembacaan feed. Oleh karena itu, kami ingin berfokus hanya pada penambahan fitur yang kami anggap akan bermanfaat. Idealnya, semua proposal akan diuji dengan menghasilkan data untuk sistem transit nyata yang menggunakan fitur baru dan software penulisan untuk membaca dan menampilkannya.

Kami akan menggunakan ekstensi, yang dijelaskan di bagian berikutnya, untuk mendukung fitur baru. Pembuat dan konsumen GTFS-realtime dapat menguji fitur baru terlebih dahulu di ruang ekstensi. Saat fitur siap digunakan secara resmi, kami akan menambahkan fitur tersebut ke definisi proto GTFS-realtime resmi itu sendiri.