onebusaway white-label for Argentina

77 views
Skip to first unread message

ghotik

unread,
Feb 22, 2022, 4:58:04 AM2/22/22
to onebusaway-developers
Hi.
After some time we released a customized version of OneBusAway for Argentina (Buenos Aires region) named CuandoSubo and based on the old, discontinued source code, we are now facing the need to migrate to the new project sources because of the many incompatibilities of the old project with the new iOS releases.
I read with interest the pages about the "White-label" possibility and I think that would be a perfect guideline, though incomplete at the moment.
I'd like to stick to the "White-label" idea as much as possible, but I also have to keep in account the Customer's requirement, so I'm wondering how much of these can be implemented in compliance with the White-label guideline. I'd like to list and ask you about these requirements:

1) use a built-in custom region for the Buenos Aires city, avoiding any attempt to get a list of available regions and selection based on GPS position.
2) deletion of several functionalities (I'm tr
3) use of customized parameters like the search distance radius or the times for the search intervals (arrival within -t1 and +t2 minutes from now)
4) customized text localization for Hispanic language according to Argentina's service. In a few cases the words imposed by the Customer could be different from those of  the generic Hispanic terms.
5) customized sorting for programmed arrivals
6) custom (and secured) access keys for web service authentication
7) customize panel to show the bus information (mostly, some information should not be visible)
8) request to do not show buses with negative arrival time (that are already arrived and departed)
9) changes in icons and colors of elements shown on the map
10) handling of the bus unique id (the field was added to the database, it is sent to the App through a json additional field and visualized in the bus panel)
11) visualization of the only real bus positions, without any mention of the theoretical programmed arrivals

Surely I don't expect the OneBusAway project to map all these requirements within the White-label guidelines, but in any case I feel it would be opportune to try to do that as much as possible to limit to the minimum the need of code branches.
So, I would really appreciate your opinion about which requirements could be currently satisfied by a White-label CuandoSubo new App and, possibly, how.

Regards
gho

Aaron Brethorst

unread,
Feb 22, 2022, 3:09:33 PM2/22/22
to onebusaway-developers
Hi ghotik - Answers are inline. Feel free to connect with me on the OBA Slack to discuss in more detail, or we can continue a discussion on here. Either way is fine with me. 

Also, for some reason I did not see your original message (maybe Gmail is filtering Google Groups messages sent to me?). Please make sure I'm on the "to" line of your replies to be sure I see them.

Thanks!
Aaron 

On Tuesday, February 22, 2022 at 1:58:04 AM UTC-8 ghotik wrote:
Hi.
After some time we released a customized version of OneBusAway for Argentina (Buenos Aires region) named CuandoSubo and based on the old, discontinued source code, we are now facing the need to migrate to the new project sources because of the many incompatibilities of the old project with the new iOS releases.
I read with interest the pages about the "White-label" possibility and I think that would be a perfect guideline, though incomplete at the moment.
I'd like to stick to the "White-label" idea as much as possible, but I also have to keep in account the Customer's requirement, so I'm wondering how much of these can be implemented in compliance with the White-label guideline. I'd like to list and ask you about these requirements:

1) use a built-in custom region for the Buenos Aires city, avoiding any attempt to get a list of available regions and selection based on GPS position.

This should be completely doable today. You may end up needing to hardcode a single region into the app. Wojciech Kulesza may be able to give you some pointers on this, assuming he's monitoring this thread :)
 
2) deletion of several functionalities (I'm tr

Can you add in the list of which features you want to see turned off?
 
3) use of customized parameters like the search distance radius or the times for the search intervals (arrival within -t1 and +t2 minutes from now)

This isn't customizable today, but feel free to open feature requests on https://github.com/OneBusAway/onebusaway-ios/issues 
 
4) customized text localization for Hispanic language according to Argentina's service. In a few cases the words imposed by the Customer could be different from those of  the generic Hispanic terms.

You can help create a custom locale for "es-ar" at https://www.transifex.com/open-transit-software-foundation/onebusaway-ios/, which should give you what you need.
 
5) customized sorting for programmed arrivals

Please add a feature request at https://github.com/OneBusAway/onebusaway-ios/issues for this
 
6) custom (and secured) access keys for web service authentication '

We'll need to talk about what your definition of secured is, but this should be doable. Please also open a feature request for this.
 
7) customize panel to show the bus information (mostly, some information should not be visible) 
8) request to do not show buses with negative arrival time (that are already arrived and departed)
9) changes in icons and colors of elements shown on the map
10) handling of the bus unique id (the field was added to the database, it is sent to the App through a json additional field and visualized in the bus panel)
11) visualization of the only real bus positions, without any mention of the theoretical programmed arrivals

Please add a feature request at https://github.com/OneBusAway/onebusaway-ios/issues for these, too :) 

Wojciech Kulesza

unread,
Feb 23, 2022, 6:51:22 AM2/23/22
to onebusaway-developers
Hi,
responses below.

wtorek, 22 lutego 2022 o 21:09:33 UTC+1 Aaron Brethorst napisał(a):
Hi ghotik - Answers are inline. Feel free to connect with me on the OBA Slack to discuss in more detail, or we can continue a discussion on here. Either way is fine with me. 

Also, for some reason I did not see your original message (maybe Gmail is filtering Google Groups messages sent to me?). Please make sure I'm on the "to" line of your replies to be sure I see them.

Thanks!
Aaron 

Same here - but only now i noticed ghotik's email in my spam... Aaron, maybe you have it there too.
 

On Tuesday, February 22, 2022 at 1:58:04 AM UTC-8 ghotik wrote:
Hi.
After some time we released a customized version of OneBusAway for Argentina (Buenos Aires region) named CuandoSubo and based on the old, discontinued source code, we are now facing the need to migrate to the new project sources because of the many incompatibilities of the old project with the new iOS releases.
I read with interest the pages about the "White-label" possibility and I think that would be a perfect guideline, though incomplete at the moment.
I'd like to stick to the "White-label" idea as much as possible, but I also have to keep in account the Customer's requirement, so I'm wondering how much of these can be implemented in compliance with the White-label guideline. I'd like to list and ask you about these requirements:

1) use a built-in custom region for the Buenos Aires city, avoiding any attempt to get a list of available regions and selection based on GPS position.

This should be completely doable today. You may end up needing to hardcode a single region into the app. Wojciech Kulesza may be able to give you some pointers on this, assuming he's monitoring this thread :)
Yes, take a look at KiedyBus section in Aaron's ios onebusaway repository. It includes a link to regions.json file that we host on our server. That regions.json file points to obaBaseUrl which is your backend and you should be then all set to go.
 
2) deletion of several functionalities (I'm tr

Can you add in the list of which features you want to see turned off?
Second that.
 
3) use of customized parameters like the search distance radius or the times for the search intervals (arrival within -t1 and +t2 minutes from now)

This isn't customizable today, but feel free to open feature requests on https://github.com/OneBusAway/onebusaway-ios/issues 
I would also add, PR's ale welcomed :)
 
4) customized text localization for Hispanic language according to Argentina's service. In a few cases the words imposed by the Customer could be different from those of  the generic Hispanic terms.

You can help create a custom locale for "es-ar" at https://www.transifex.com/open-transit-software-foundation/onebusaway-ios/, which should give you what you need.
Confirming this, transifex works great and KiedyBus is now fully in polish.
 
5) customized sorting for programmed arrivals

Please add a feature request at https://github.com/OneBusAway/onebusaway-ios/issues for this
same as above.
 
6) custom (and secured) access keys for web service authentication '

We'll need to talk about what your definition of secured is, but this should be doable. Please also open a feature request for this.
same as above. 
 
7) customize panel to show the bus information (mostly, some information should not be visible) 
8) request to do not show buses with negative arrival time (that are already arrived and departed)
9) changes in icons and colors of elements shown on the map
10) handling of the bus unique id (the field was added to the database, it is sent to the App through a json additional field and visualized in the bus panel)
11) visualization of the only real bus positions, without any mention of the theoretical programmed arrivals

Please add a feature request at https://github.com/OneBusAway/onebusaway-ios/issues for these, too :) 
same as above. 

ghotik

unread,
Mar 24, 2022, 11:41:20 AM3/24/22
to onebusaway-developers
Thanks for the answers.
Currently I fixed a good part of the easy problems related to graphics and text translations (I promise I'll upload some Spanish strings as soon as approved) and I'm facing a harder one, but harder only because of my null knowledge of the swift language.
I need to filter the list of arrival / departures to a bus stop so that only estimated arrival times are shown and programmed times are (mostly) left invisible (there could be exceptions ...).
I already added a request on GitHub ( https://github.com/OneBusAway/onebusaway-ios/issues/597 ) but since at the moment I forked the project to a private branch I would also go for a quicker solution and ask if you could suggest me where to put my hands (and my swift code) where the arrival list is composed.
My suspects fall on StopArrivalItem.swift, but I don't see there anything like a loop / for / while statement that could allow me to skip some record. I apologize, I know it's old-fashioned programming style ...
Reply all
Reply to author
Forward
0 new messages