← Back to all articles
Blog

After 4 months, a production-grade app is complete, alongside major efvcms and separate cms updates

For these four months, I immersed myself in app development, reading Chinese and English materials daily to build a product exceeding other video app offerings. More than a month went into designing a consistent application framework. After finding that foundation, future app development can be more than 5 times faster. Our development focus will shift to mobile. Plans include an administrator app for video and series management, offline downloads and users; a comics app; and an audio-program app, making multiple app products from one codebase. Here is the finished result:

Images cannot show every detail. Install the Android package and try its smooth experience: https://down.querydata.org/down/android.apk

app features

  1. Smooth user experience built with flutter, supporting both platforms and tested on both.
  2. Every page has been repeatedly tested and refined for an excellent ui. Download the app to try it.
  3. Integrated ads include fixed positions, launch ads, feed ads and mandatory pre-roll ads, with more formats planned.
  4. Integrated Google firebase analytics work on ios and Android, including detailed page-visit tracking.
  5. Update detection runs 10s after each app launch and prompts users to download a new version if available.
  6. Interactive launch ads similar to Bilibili, with swiping to view ad content.
  7. A prominent independent promotion page displays ads randomly. Remove the poorest-performing ads each month based on revenue to optimize the mix.
  8. Video and series playback preload data, beginning playback immediately when the page opens.
  9. The player supports variable speed, resolution switching, external srt subtitles and casting. Casting was tested on ios and Android with Apple and Android devices.
  10. A dedicated video-request and feedback page lets users submit suggestions and requests, revealing their real experience promptly.
  11. Daily check-ins earn points. Later, ad clicks will also award points to encourage engagement and increase revenue.
  12. Expandable titles and descriptions on playback pages, similar to Bilibili. Implementing this required extensive research.
  13. The app connects to the separate cms api to retrieve data directly from an in-memory intermediary. The separate cms is therefore more than a cms: it caches all data requested from efvcms in the separate cms memory using redis. More app users can make access smoother. Implementing this required two api sets and running three systems during development. I left my computer running for 2 months to avoid restarting all three systems each time.
  14. Download and install the app to experience its other app features.

efvcms and separate cms updates

Over these three months, extensive code was revised for mobile development. For example, the data-fetching api now has a sort option, allowing the api to return content in different orders. Feedback and video requests now include a resolved-status field editable by administrators and detailed user feedback text. The app version can be set in configuration; if newer than the installed app, the app prompts an update. The ad system now includes app ads similar to Bilibili, combining feed and mandatory pre-roll ads under shared settings for posters, titles, descriptions and mandatory duration. There are too many code changes to recall; update and try them.

Future plans

  1. A new-release calendar based on Bilibili's anime schedule.
  2. User submissions with resumable uploads.
  3. Continued UI improvements.
  4. Mandatory pop-up ads on playback pages, triggered by opening the app. Only one click is required, and the ad will not appear again during the same APP session.
  5. Swipe gestures for fast-forwarding and rewinding.
  6. An unattended self-service CPS system with independent agent dashboards: submit details -> administrator review -> approval -> cloud package the agent's dedicated APP-> users arrive through this APP and pay or click ads -> allocate commission -> agent requests withdrawal -> finance reviews and pays, completing the workflow.
  7. Link points to ad clicks, awarding more points for more clicks.
  8. Membership purchases using points.
  9. A payment system.
  10. Improved feed ads for higher click-through rates.
  11. An app lineup using one codebase for multiple app products with cross-promotion. Comics and audio app products will share one user system and one ad system.
  12. An administrator mobile app for managing efvcms anywhere, initially covering videos, series, offline downloads and visualized server status.
  13. A built-in app browser independent of other phone browsers. It will monitor downloads so the app can handle them and support automatic installation and opening afterward.
  14. Integrate the complete recorded-video hotlink-protection system, prohibiting web playback and allowing only APP playback.