Development Update 6/11/24
By Alex Kinney | 11/6/2024
Hello, World!
I'd like just to jump straight into the update. We've been working hard on the site, and we've made some great progress. Here's what we've been up to:
New Features
- Fixed server issues (out now), where Docker wasn't correctly configured for sending external API requests.
- And that's it for what's out now. But we have some exciting features in the pipeline.
Coming Soon
- Server side rendering for faster page loads.
- Currently, our site is built with client-side rendering, which can be slow on slower connections. We're working on server-side rendering to speed up page loads and improve the user experience. This also enables us to improve our SEO and accessibility, as now people without JavaScript enabled can still access our content, and search engines can crawl our site more effectively.
- Improved search functionality.
- The station search can be buggy at best, so we're working on improving this to make it more user-friendly and accurate.
- Android app. (No iOS)
- Our app currently allows for viewing departures and arrivals, but we're working on adding more functionality, such as train cancellation alerts and live updates on delays. Unfortunately, we don't have the resources to develop an iOS app at this time, but we're working on making our site more mobile-friendly in the meantime, as well as banning useragents that are known to belong to the Safari browser.
- A PWA is also in the works, which will allow iOS users to add our site to their home screen and use it like an app, as well as providing offline functionality, which can be used with our new feature, the offline timetable.
- Offline timetable.
- We're working on a feature that will allow users to download the timetable for a specific station and view it offline. This will be useful for people who are travelling and don't have access to the internet, as well as for those who want to save data. This will also tie into the departure boards, as now they can be viewed offline, as long as the user has downloaded the timetable for that station. This will also be available on the PWA (hopefully).
- Improved accessibility.
- We're working on improving the accessibility of our site to make it easier for people with disabilities to use. This includes adding alt text to images, improving keyboard navigation, and making sure our site is compatible with screen readers. We're also working on improving the color contrast and font sizes to make our site easier to read for everyone. I've noticed that some links and colour contrast are not up to standard, so I'm working on fixing that, and getting as as close to WCAG 2.1 AA as possible, as well as making sure our site is compatible with screen readers.
- Improved performance.
- Server side rendering will help with this, but we're also working on improving the performance of our site in other ways. This includes optimizing images, minifying CSS and JavaScript, and reducing the number of HTTP requests. We're also working on lazy loading images and improving the caching of our site to make it faster and more responsive.
- Improved design.
- Some of the older pages, back from April, are looking out of place with the new design language.
- Custom boards
- We're working on a feature that will allow users to create custom departure boards for their favorite stations. This will allow users to see the next departures from their favorite stations at a glance, without having to search for them every time.
- We are also working on allowing users to attach images to their custom boards, allowing them to be used in public places, such as a cafe, allowing menus or offers to show alongside the departure board.
- No more Firebase
- Firebase has been storing our dynamic content, but we're moving away from this to a more traditional server setup. This will allow us to have more control over our content and improve the performance of our site. We're also working on improving the security of our site by moving away from Firebase, as it has been known to have security issues in the past, for example, the Arc Browser ended up having remote code execution due to Firestore rules being misconfigured. And I'm not any good at Firestore rules, so I'm moving away from it. Plus, it's expensive. Like too expensive for me.
And that's it for now. If you want to sign up for an early access beta for the Android app, please email me at alex@kincode.net with the subject "Beta Access". I'll be sending out invites in the next few weeks, so keep an eye on your inbox.
Happy travels!
Disclaimer
We are not responsible for any issues that may arise from using the app, such as missed trains or incorrect information. The app is still in development, and there may be bugs or inaccuracies. Please use the app responsibly and always check with the train operator for the most up-to-date information.