4 ms·
[Shameless spam plug, hope it's relevant here] Just today I have added New York's Citibike to my bike sharing project [1]. Feel free to give it a spin! Li
by kh_hk 13y ago
[Shameless spam plug, hope it's relevant here]
Just today I have added New York's Citibike to my bike sharing project [1]. Feel free to give it a spin!
List of juicy features:
- Android version
- Push notifications for stations of interest
- Distraction free map!
- HTML version [2]
- Hacky goodie: realtime world map [3]
[1]: CityBikes - http://citybik.es http://citybik.es
[2]: http://api.citybik.es/citibikenyc.html http://api.citybik.es/citibikenyc.html
[3]: http://citybik.es/realtime/#citibikenyc http://citybik.es/realtime/#citibikenyc
- mapleoin 13y agoThat looks pretty awesome. How do you get your data? Do all those bike sharing services have real-time public APIs that you connect to?
- Thrymr 13y agoCitibike has a json API: http://citibikenyc.com/stations/json http://citibikenyc.com/stations/json
- kh_hk 13y agoSome have (for instance NYC, kudos to them!), other services do not have anything, and data has to be scraped from their website. Most of the time it's a pain in the ass that involves many different dodgy tricks. I have a python library available at http://github.com/eskerda/pybikes http://github.com/eskerda/pybikes that unifies all the data from different sources into the same model.
- mapleoin 13y agoAwesome! Thanks for making that opensource!
- aram 13y agoPretty cool site! However note 404 on about page http://citybik.es/about http://citybik.es/about
- kh_hk 13y agoDuly noted, this is the 5th time in these last 3 years that this is said, it's time to add the about page... Done!
- riordan 13y agoPretty sweet. The real-ish station status data's got to be pretty interesting in aggregate. I'm also looking forward to people competitively racing these things with the personal trip data a part of the platform.
- kh_hk 13y agoI did play with the idea myself - That was during the 'gamification era' two years ago - and ended up thinking that people would only play it if it was passive, or automatic. I don't think much people will go to the length of checking in and out every time they take or leave a bike. From our side, it's difficult to track bike movements due to false positives (bikes that are transported by van from station to station). Of course, city councils could (and should) try new ideas with all the information they have. The funny part is that most city councils do not have access to the full history, and only the company providing the service. The companies providing these services are old players, and do not want or do not care to invest on cool features. Who would not want to appear on the Highscore table?
- bryanlarsen 13y agoYou're missing Ottawa Canada, which also uses Bixi. P.S. Your contact page 404's, and you don't have your email address in your hacker news profile.
- kh_hk 13y agoThanks for reporting, Ottawa is not missing anymore ;) Feel free to ping me anytime at info@citybik.es
- Major_Grooves 13y agoWill you be adding anything from Germany? Pretty sure there is a city bike-sharing scheme here in Berlin.
- kh_hk 13y agoIn Germany, there's the 'next-bike', and 'call a bike'. I have been waiting to add them until I have the new structure of the project figured out. At that point, they will be much easier to have, and less hacky. The 'call a bike' system is interesting, and differs from the overall scheme of most bike sharing systems. You have to call a number, enter a pin, and then you get a code to unlock the chain. I find it pretty intelligent, but a bit conflicting with what I have currently running. At the same time, both systems are really small in stations, but big in locations (as in, there are lots of cities). That's the main reason I have to not support them at the moment, and the main reason of rewriting the architecture of the project. I did not know the project was going to grow at the start, so every city is a different module, if possible, with some inheritance. The new architecture [1] will feature systems as instances, instead of a separated class, thus, making it trivial to generate instances on the run. Not sure if I went too far with the response, hope it's useful. [1]: https://github.com/eskerda/pybikes/wiki/architecture https://github.com/eskerda/pybikes/wiki/architecture