yevhenii_kanivets's blog

By yevhenii_kanivets, history, 2 months ago, In English,

Last 4 weeks were dedicated to making the final touches for both iOS and Android apps before introducing new shiny features.

Changes include, but not limited to:

  • new rating dialog, flawlessly embedded into Actions tab
  • new awesome "Add User" dialog
  • rating changes displayed on user's rating graph
  • complete localization of both apps to Ukrainian, Russian and Hindi (thanks TiredOfLife)
  • many minor bug and crash fixes

Upcoming features

We've noticed that Actions is one of the most popular features of Codeforces WatchR, and many users coming to the app to see more coding and programming news. Hence we decided to broaden its content by including other interesting sources.

In particular we are going to include latest YouTube videos from Codeforces community. At the moment list includes:

Suggested by community:

If you want to see other YouTube channels or other types of content in Codeforces WatchR app, don't hesitate to leave a comment or ping me in DM.

As always thanks to our team (denmen0207 and BOGDAN_) for development and testing!

Read more »

 
 
 
 
  • Vote: I like it
  • +92
  • Vote: I do not like it

By yevhenii_kanivets, history, 3 months ago, In English,

Last few months we were super busy migrating iOS and Android apps to Kotlin Multiplatform. Today is the Day, when it's all finally done. From now, Codeforces WatchR is 100% consistent between iOS and Android in terms of features.

More than 30% of code is shared, which includes network, database and business-logic (implemented with Redux) layers.

Both apps are downloadable from mobile stores: Google Play and App Store. At the moment, we have almost 2.5K+ of active users. Thank you all for your trust and support! More cool features are coming...

Traditionally thanks to BOGDAN_ and denmen0207 for development efforts!

Read more »

 
 
 
 
  • Vote: I like it
  • +23
  • Vote: I do not like it

By yevhenii_kanivets, history, 4 months ago, In English,

Thanks to the latest migration to Kotlin Multiplatform, Android app is now again ahead of iOS one. The latter will be shortly completed and both apps will finally have the same functionality.

You can download latest Android app and iOS app right from the mobile app stores. We have almost 2K of active users on both platforms right now! Thank you all for the trust!

As a reminder, Contests tab now includes upcoming contests for all major competitive programming platforms:

  • Codeforces
  • TopCoder
  • AtCoder
  • CS Academy
  • CodeChef
  • HackerRank
  • HackerEarth
  • Kick Start
  • LeetCode

As a BONUS, we've added a Pinned Post to Actions tab, where you can find updates for the latest version.

Further development

Of course, we won't stop on what's implemented right now. Just to give you idea on what's coming, here is the list of issues on GitHub.

Traditionally, thanks to BOGDAN_ for development efforts and ideas!

Read more »

 
 
 
 
  • Vote: I like it
  • +14
  • Vote: I do not like it

By yevhenii_kanivets, history, 5 months ago, In English,

Last 2 weeks we were busy migrating our database management from Room to SQLDelight. It's the first step of the migration to Kotlin Multiplatform, which will allow us to deliver more consistent features on iOS / Android and deliver them faster.

Version 1.4.6 has been published today's morning, but it contained a tricky bug related to wrong column names. Unfortunately, preliminary testing didn't revealed it, so we've seen it only when started to see some new crashes coming into Firebase Crashlytics.

Version 1.4.7 with a hotfix has been published just a few minutes ago. Everything should now work smoothy for all users who experienced crashes after updating to 1.4.6 and for all users who will update to 1.4.7 directly.

In contrast, all first-time users who installed 1.4.6 without having previous version will have crashes after updating to 1.4.7. This is caused by a wrong database scheme used in 1.4.6, which can't be fixed. So, please, delete your current app version (1.4.6) and reinstall the app from Google Play.

We are really sorry about these crashes. We will implement processes to prevent them from happening in the future.

As usually thanks BOGDAN_ for development efforts and helping to quickly resolve the issue.

Read more »

 
 
 
 
  • Vote: I like it
  • +14
  • Vote: I do not like it

By yevhenii_kanivets, history, 5 months ago, In English,

From now you can see avatars of all watched users right in Users tab. This is the result of one of the first PRs we got from the community — https://github.com/xorum-io/codeforces_watcher/pull/91.

You can download a new version from Google Play. iOS version is available on App Store.

There are no other UI/UX changes in this version, but we've fixed a few bugs and crashes. So app is even more stable from this moment. BTW, if you ever experience any issues in iOS / Android apps, don't hesitate to write in comments or create issues directly in our GitHub page.

Kotlin Multiplatform

You've probably noted that Android app is quite different from iOS one. This is a one of the biggest pains of all mobile developers: writing apps twice. We've decided to conquer this problem with a radical solution: KMP.

This solution allows to share business-logic, network and database layers and pretty much everything besides UI in a form of Kotlin library, compiled to aar for Android and to framework for iOS. You can see our progress in this branch.

Read more »

 
 
 
 
  • Vote: I like it
  • +21
  • Vote: I do not like it

By yevhenii_kanivets, history, 6 months ago, In English,

Have you ever felt like there are not enough contests on Codeforces? Nothing to do this weekend? Well, then go to App Store and download Codeforces WatchR.

There you will find upcoming contests for all major competitive programming platforms:

  • Codeforces
  • TopCoder
  • AtCoder
  • CS Academy
  • CodeChef
  • HackerRank
  • HackerEarth
  • Kick Start
  • LeetCode

This wouldn't be possible without great open-source projectKONTESTS, which gave us super-easy access to compiled list of all those contests. Big thanks to all of you guys: Ali H. Fadel, Ridah O. Labbar, Ibraheem Z. Tuffaha. Give them some love by starring official GitHub repo ;)

This feature is currently available in iOS app only, but will be ported to Android app in the nearest future. Thanks to denmen0207 and his efforts in research and development.

Read more »

 
 
 
 
  • Vote: I like it
  • +16
  • Vote: I do not like it

By yevhenii_kanivets, history, 7 months ago, In English,

After almost 5 weeks of studying and working hard, 3 App Store rejects and a few sleepless nights, we've succeeded to bring Codeforces WatchR application to iOS.

Download it right now using this link. Don't have an iPhone? Not a problem, it's also available in Google Play.

It doesn't have all Android features just yet, but we've decided to ship early and often to get the feedback from the community ASAP. The current version has next features: - browsing and sharing Recent Actions - watching for Codeforces contests and adding them to the device's calendar - browsing and searching for Problems (marking the as a favourite is coming)

This is the first-ever iOS application for Codeforces on the App Store (at least, for my knowledge) and one of a few dedicated to Competitive Programming. I'm super excited and you?

This wouldn't be possible without our new crew member — denmen0207, which joined us as an iOS Developer and actually implemented an app from the ground up.

Read more »

 
 
 
 
  • Vote: I like it
  • +61
  • Vote: I do not like it

By yevhenii_kanivets, history, 8 months ago, In English,

For almost a week already, Codeforces WatchR offers to its users brand-new feature called "Problems".

This is the last (but not the least) of tabs, which allows anybody to:

  • browse all Codeforces problems without any limits
  • search problems you are interested in by its name or contest id, where it appeared for the first time
  • mark chosen problems as "Favourite" to upsolve it later or just share with friends
  • view any problem's condition, of course

Hindi translation

Thanks to NiKS001 and HackedAlways, Codeforces WatchR is now translated to Hindi (even though it's not so popular as I initially assumed). Here is the PR.

Google Play Statistics

My latest post has made its way to the Top, which gave us unprecedented attention from Codeforces community. We truly appreciate all feedback we got and looking forward to make Codeforces WatchR even better in future.

To sum up "the hype" of the last month, here are some stats:

  • 1K+ new users acquired (from which 300+ lost)
  • 900+ active users at this moment
  • 50+ new notes with 4.7+ average
  • 24 stars on GitHub
  • just 8 crashes (all fixed in latest version)

Further development

Of course, we won't stop on what's implemented right now. Just to give you idea on what's coming, here is the list of issues on GitHub.

Traditionally, thanks to BOGDAN_ for development efforts and ideas!

Read more »

 
 
 
 
  • Vote: I like it
  • +59
  • Vote: I do not like it

By yevhenii_kanivets, history, 9 months ago, In English,

Starting from the version 1.3.1 of Codeforces Watcher, users can see latest Blog Posts in Recent Actions tab. It's already downloadable in Google Play.

Last few weeks BOGDAN_ spent by educating himself about multithreading and coroutines, which aren't easiest things in the universe ;) Thanks to his learnings, we've migrated Codeforces Watcher to Coroutines and it looks just great. You can see one of examples of confluence between Redux and Couroutines in AppMiddleware.kt.

By the way, Codeforces Watcher in an open-source project, so you are always welcome to check it out and learn new things or make suggestion on improvements. Stars won't hurt too, of course ;)

Read more »

 
 
 
 
  • Vote: I like it
  • +354
  • Vote: I do not like it

By yevhenii_kanivets, history, 9 months ago, In English,

Last month we were working really hard to bring brand-new features to Codeforces Watcher. And finally, you can browse Recent Actions just from your mobile device. Isn't that cool?

It's time to stop scrolling through boring Facebook / Instagram feeds! Go to Codeforces Watcher and find out about new cool ideas of solution for that D problem from the last contest, or maybe just engage yourself in the holy war about which language is better... There are so many interesting stuff on Codeforces, which is waiting for you.

And even more... Now you can share any Recent Action with your friend through any messenger you use. And don't forget to share Codeforces Watcher with your friends. We are working to make Codeforces experience even better and need your help to make it!

This is the first iteration of Recent Actions feature, so we will be really glad to hear your constructive feedback and ideas for improvements. This is what's we currently have in our minds:

  • filter Recent Actions by watched users
  • add Blog Posts into the feed
  • display full text right in the feed

Traditionally, thanks to BOGDAN_ for development efforts and bug fixes!

Read more »

 
 
 
 
  • Vote: I like it
  • +39
  • Vote: I do not like it

By yevhenii_kanivets, history, 10 months ago, In English,

After trying Redux pattern in Codeforces Watcher with Contests feature, we couldn't stop and, as a result, migrated all the application to this next-gen pattern. Update is already available in Google Play. We've already noticed decreased number of NPEs, better app stability and better app UX. Don't believe us? Just try it by yourself!

For those who are interested, here is a full series of articles:

As always thanks to BOGDAN_ for implementing the migration and to alla_dubovska for writing these articles.

Read more »

 
 
 
 
  • Vote: I like it
  • +22
  • Vote: I do not like it

By yevhenii_kanivets, history, 11 months ago, In English,

Latest version of Codeforces Watcher brings few crash fixes, so the app is even more stable now.

Also we've changed the format of upcoming contests' date, so now you can always know which day of week to free up.

Traditionally, thanks to BOGDAN_ for development efforts and bug fixes!

Read more »

 
 
 
 
  • Vote: I like it
  • +7
  • Vote: I do not like it

By yevhenii_kanivets, history, 12 months ago, In English,

In the newest version of Codeforces Watcher you will find a new cool feature, which allows you to add contests directly from the app to your Google Calendar.

Traditionally, thanks to BOGDAN_ for development efforts and bug fixes!

BTW, we are considering to develop iOS version of Codeforces Watcher. If that sounds interesting to you, write about it in comment under this post.

Read more »

 
 
 
 
  • Vote: I like it
  • +7
  • Vote: I do not like it

By yevhenii_kanivets, history, 13 months ago, In English,

In newest version of Codeforces Watcher you will find many new cool features.

Hottest ones:

  • sorting of users by last contest participation, so it becomes obvious who is really active on Codeforces right now
  • listing of upcoming contests, so you don't need to visit Codeforces for matching your schedule
  • like the app? Now you can easily rate it by responding to embedded rating dialog

Thanks to BOGDAN_ for development efforts and bug fixes!

Read more »

 
 
 
 
  • Vote: I like it
  • +5
  • Vote: I do not like it

By yevhenii_kanivets, history, 2 years ago, In English,

Today is the special day — 1 year passed since first "Hello, World!" C++ application of my padawan BOGDAN_. This year he accomplished a lot and I'm really happy to present you his first Android application — Codeforces Watcher.

Of course, this is just a simple study project, but I really think it can be useful for somebody from Codeforces comunity (at least for me).

So this is a simple application to easily track latest activity and rating changes of Codeforces users from your Android device.

Thanks to Codeforces API you can: 1. Add any Codeforces user by its handle. 2. Get general information about user. 3. Get rating changes of user since its registration. 4. Use batch requests to effectively update information about thousands of users.

Codeforces Watcher can be useful to coaches, tutors and teachers to keep track on how often and how successfully their students participate in Codeforces Rounds. Also it can be used by usual Codeforces users just for fun

This is an open-source project hosted on GitHub — http://bit.ly/gh_cw, so you can fork it or contribute to it directly. Here is Google Play link — https://play.google.com/store/apps/details?id=com.bogdan.codeforceswatcher.

Some features that are going to be implemented in closest future: 1. Periodical updates in background with notifications when someones rating has changed. 2. Display of all rating changes in profile page. 3. Sorts user list by rating, last rating update, etc.

Any feedback and feature requests are welcome

Read more »

 
 
 
 
  • Vote: I like it
  • +33
  • Vote: I do not like it