Jahed Ahmed

Weekly Report: 1st July 2019

Weekly Report is going to be a new series of blog posts giving an update of what I did in the current week. The aim is to share what I've done and also to help me appreciate and compare my acheivements.

While there will be FrontierNav-related updates in this series. They'll also contain unrelated updates related to my other projects. If you just want FrontierNav updates, you can wait for the monthly FrontierNav Progress Reports.

Read more

FrontierNav Report: June 2019

Progress Report

Changes in June

In case you're wondering, April and May don't have progress reports.

User Profiles

Screenshot of User Profile
Preview showing user profiles.

User Settings

Screenshot of User Settings
Preview showing user settings.

Community Feed

Screenshot of the Community Feed
Preview showing the community feed.

Universal Search

Screenshot of Universal Search
Preview showing universal search.

FrontierNav Editor

Screenshot of the Editor
Preview showing the editor.

Read more

FrontierNav Report: March 2019

Progress Report

Changes in March

General

Full changelog on GitHub.

Read more

FrontierNav Report: February 2019

Progress Report

Changes in February

General

Full changelog on GitHub.

Read more

FrontierNav Report: January 2019

Progress Report

Changes in January

Preview

Preview showing the community forums.

General

Full changelog on GitHub.

Read more

Creating a Community Forum for FrontierNav

One of the oldest feature requests for FrontierNav was to have a community forum. A place to ask questions and network with other users. I've finally decided to introduce this feature, albeit in a primitive state.

Rationale

Why does FrontierNav need a forum?

FrontierNav's focus has mainly been to introduce interactive guides (e.g. maps) for games that aren't available on other websites. However, there are other ways FrontierNav can improve a user's experience. One of them is the question and answer flow.

Read more

Creating a Forum with Firebase

So you've decided to create a forum... using Firebase. Let's go through the entire process. This guide assumes you already have some knowledge using Firebase so it's mainly focused around modeling the data to work with Firebase's limited access controls.

Unlike traditional databases, Firebase's Real-time Database is accessed directly from the browser by users. This allows real-time push updates whenever the data changes without the user needing to manually reload.

Data is written individually by users. A user can attempt to write into the database, and the database can say who's allowed to write there and restrict the data with simple rules. For example, "a property can only be changed by User A and it must be a number".

However, due to the nature of Firebase, it cannot enforce complex rules. For example, "you can only add a new post if you haven't created a post in the last minute". This generally requires going through all posts for a given user and finding the timestamp of the most recent one. Not possible in Firebase.

Read more

FrontierNav Report: December 2018

Progress Report

Changes in December

Preview

Preview showing the new entity pages and navigation across different guides.

General

Xenoblade Chronicles 2

Full changelog on GitHub.

Read more

FrontierNav Report: November 2018

Progress Report

Changes in November

Now that FrontierNav is open source, it's a lot easier to share changes for the month. You can find a list of changes on GitHub.

However, it's a bit low-level so to summarise:

Architecture Improvements

Xenoblade 2

Read more

FrontierNav Report: October 2018

Progress Report

Changes in October

FrontierNav is now open source! I've spent most of the month planning this switch over and thinking about what it means for the project going ahead.

By virtue of being open source, I'll be more open about priorities and plans. There's an Issue Tracker for feature requests, planned changes and bug reports. I've also written some documentation for people to get started so that they can make their own code contributions.

You can find the code repository on GitHub.

Read more