Greetings osu! community!
A little about
(Feel free to skip if you don't care~)
Until now I was just the typical forum-lurker, but then I found myself to have too much time and created this little application.
I got this Idea while scrolling through the forums and looking at all the signatures.
(Some of you sure got some "special" ones, just by the way)
While doing so, my phone catched my eye and I thought: "Wouldn't it be kind of fun to write an app like this?"
So this is basically it, an Android application for your phone thats shows your stats.
For now it will be only availabe here on the forums, so you have to "manually" install it with the .apk file.
I know, its not that big of a deal, but I had fun writing this application and will keep working on it. (If I can think of things to do)
Frequently asked questions (FAQ)
"Ah, but whats up with this annoying bug I found here?"
If you happen to find any bugs or just want to drop some feedback, feel free to do so.
You can either contact me directly, or leave a post in this thread.
Please remember to post your phone and Android version and, if possible, a way to reproduce this bug.
"You said something about.. multiple languages and.. contributing.. what gives?"
There isn't that much text to be translated yet, but if you like, you could contribute with a translation.
Simply drop me a message and I will send you the english texts to be translated.
Almost every language is welcome so far.
There is a translation interface now, contact me and we can talk about the access.
"Can I help with the programming/coding?"
At the moment I am not looking for a cooperation in that point, don't get me wrong, I appreciate the thought, really.
But I don't think its necessary right now, maybe sometime in the future.
"I got questions about how does THIS work or how did you do THAT?"
Simply leave a post here or PM me directly and I'll see if I can answer your question.
I don't mind, so don't be shy.
"What IDE are you using?"
I am using Eclipse right now, but I consider switching to Android Studio at some point.
"Hey, what about releasing on the Play Store (Google Market)?"
For now I won't release on the Play Store, I don't see the need for this, yet.
I got my own update system, so this is no problem really.
An upside would be, that I could reach more people with that.
Feel free to drop your opinion anyways.
There will be a release on the Play Store after 1.1.5, you will be noticed on your device.
"Whats the package name?"
de -> Germany;
givepackageplz -> I like to name things alike my nickname;
osurank -> Well obvious;
"Do you log any userdata of some kind?"
I can see connections to the update server.
(No direct user information is logged during this process)
With update 1.1.2 I started logging query traffic.
(Mostly containing query amounts to improve performance)
All data that is collected is disconnected from the user!
"Is osu!Rank compatible with Android x.x.x?"
GINGERBREAD_MR1 (SDK 10) 2.3.3
JELLY_BEAN_MR1 (SDK 17) 4.2
"What permissions are you using and why?"
Query data from the osu!API or check the osu!Rank update server.
Check for available network connection.
Caching avatars and storing data.
"I can't search for users with pure-numerical names!"
This is a known problem within the osu!api itself.
Simply use the user ID, this will work.
After searching or setting the Widget with the user ID once, osu!Rank will remember it and connect the name with the ID.
This should no longer be an issue.
"What are those funny icons supposed to mean when using osu!tp?"
➶ -> Accuracy rating.
➟ -> Speed rating.
◎ -> Aim rating.
See the documentation for more information about osu!tp itself.
"iPhone, iPhone, iPhone, iPhone!?"
Let me just say "I don't plan to do it right now", but I actually was looking into it recently.
Don't expect an iOS port soon, but there might be a version sometime!
Pushed back due to other stuff.
"Can I somehow test the newest Versions? (Pre-Releases)"
I actually got a test build where I update all changes that are not released yet, similar to the osu!test one.
If you want to help, feel free to contact me.
"I can't get my osu!tp stats!" *New*
I am afraid osu!tp is down and will most likely be removed with the next update.
Languages already included
osu!Rank (Official mirror)
(Click to expand)
[Add] Userpage support. (Beta)
[Fix] Adjusted Flag-Caching.
[Fix] Complete rework for the level-bar. (Credit to skyleo)
[Add] Korean language. (Credit to [ Trostal ])
[Add] Indonesian language. (Credit to Faishal Akbar)
[Fix] Changed server for updates.
[Fix] Reworked all Activities.
[Add] Added a contact Activity.
[Fix] Moved some content from Copyright to Contact.
[Add] Searchbar. (Much more user friendly.)
[Add] Images for events. (S, SS, A, etc.)
[Fix] Reworked Panel-Widgets. (Layout)
[Fix] Reworked Avatar-Widget. (Layout)
[Fix] Panel-Widgets: Slightly changed the rounding of the corners.
[Add] Mode icons instead of mode names everywhere possible.
[Add] Serbian language. (Credit to Valdyr)
[Fix] Panel-Widget: "The XP bar is kind of "bent" in several random places." -Oinari-sama
[Fix] Widgets: White Widget background on placement. (Sony Xperia 4.3 API 18)
[Fix] Widgets: Random ANR.
[Fix] Preperations for Play Store release.
[Fix] Widgets: Optimized the code a little.
[Add] QueryAPIConfig class for easier config handling of the queries.
[Add] QueryAPIData class for easier data handling.
[Fix] Implemented the QueryAPIData & QueryAPIConfig everywhere needed.
[Fix] Changed Query behavior.
[Fix] Improved caching a lot.
[Add] Russian language. (Credit to bakatrouble)
[Fix] Fixed a naughty URL encoding bug.
[Fix] Changed Backend behavior slightly.
[Add] Implemented new caching system.
[Rem] Removed the old caching system.
[Fix] New target version: 19.
[Rem] Reset to default output after Widget selection.
[Fix] Reworked Contact slightly.
[Add] AutoScroll class.
[Add] AutoScroll function to Translator list.
[Add] AutoScroll function to Event list.
[Fix] Changed frame design of output.
[Fix] Removed empty lines behind the events.
[Fix] Panel-Widgets: Changed mode display.
[Add] Country Rank to osu!tp.
[Add] Country Flags.
[Fix] osu!tp activity output is now in the same format as the Widgets output.
[Add] Option to disable country flags.
[Add] Option to disable automatic event scrolling.
[Fix] Changed "AutoUpdate" string to be more accurate.
[Fix] Reworked image caching.
[Fix] Changed "Avatar cache" to "Image cache".
[Fix] Changed internal folder structure slightly.
[Add] Clean up app folder onCreate.
[Fix] Possible solution for "No such user" when pressing random.
[Add] Several new strings.
[Rem] Obsolete "textview_user" string.
[Fix] Adjusted debug output format slightly.
[Fix] Interface adjustments for 2.2.3 Gingerbread [SDK 10] users.
[Add] Dutch (NL) language. (Credit to baraatje123)
[Add] Italian (IT) language. (Credit to Roxas)
[Fix] Panel-Widgets: Rank overlapping left stats.
[Rem] "Rank:" String infront of ranking, String now unused.
[Fix] Placed the "Acc." & "Accuracy" String behind the accuracy instead of infront it.
[Add] Backend Backup. (Mostly for updates)
[Add] Feature to enable/disable "Search" and "Set Widget" button. (Long press on the "Random" button)
[Fix] Selecting a Widget inside the dropdown won't overwrite the input field anymore. (Long press on the dropdown to do so now)
[Fix] Don't block last searched name after pressing "Random" and then trying to search for it again.
[Fix] Numerical user names are now correctly searchable.
[Rem] Ability to search by user ID, will (may)be back again later.
[Fix] Exception when level value is null.
[Add] Country Ranks when searching! (Workaround for now, will be corrected later)
[Add] Portuguese (PT) language. (Credit to Maav)
[Fix] Adjusted a few debug features.
[Rem] Avatar-Widget: Useless lookups.
[Add] Implemented osu!tp support for "Search".
[Add] Polish (PL) language. (Credit to Maxorq)
[Add] Finnish (FI) language. (Credit to Cassu2)
[Add] Implemented osu!tp support for Widgets!
[Fix] Small adjustments to AutoUpdate backend.
[Fix] Adjusted osu!tp output.
[Add] Icon-Widget: osu!tp background!
[Fix] AutoUpdate cleanup.
[Rem] Obsolete global vars.
[Rem] Obsolete "Whitespace" strings. (All languages)
[Rem] Never used "User avatar" string. (All languages)
[Add] Thai (TH) language. (Credit to NeVe12p4wNeD)
[Fix] Mail address inside "Contact" now clickable.
[Fix] All around code cleanup, the usual.
[Fix] Consistency changes.
[Fix] Security based backend changes.
[Fix] Adjusted time calculation of events slightly. (May explode)
[Add] On a whim I decided to add a Random-button!
[Fix] Random-button does not log users anymore. (Searchlog -> Only for searches)
[Add] Widget dropdown is now only refreshed if there were changes. (Or on entering the "Settings" screen)
[Fix] Tried to fix issue where Notification crashes osu!Rank.
[Fix] Changed debug cmd handling slightly.
[Add] First steps for error reporting.
[Fix] Layouts for Android version 2.2.3 Gingerbread [SDK 10]. (Sorry, they were totally messed up before!)
[Fix] Reworked Notification style slightly. (Dependend on Android version)
[Fix] Localisation updates. (FR, DE)
[Fix] Adjusted HTML parsing of events slightly. (May explode)
[Add] Norwegian (NO) language. (Credit to petterroea)
[Add] Chinese (ZH)[Simplified & Traditional] language. (Credit to Oinari-sama)
[Fix] Adjustment to "setLanguage" function. (Can now handle multiple languages for one country and vice versa)
[Fix] Ordering languages alphabetical now, rather than time of include. (Excluding "Local language" entry)
[Fix] Changed "Level percentage" to fit recent web changes.
[Fix] Changed threading behavior of Widgets, should fix sudden lags and improve performance.
[Fix] Changed Widget selection check slightly.
[Add] A wild "Back" button appears inside the preferences, its very effective.
[Fix] Like everytime, code cleanup.
[Fix] Adjusted Primitive & Wrapper datatypes.
[Fix] Reworked AutoUpdate completly, now working within the application!
[Add] Contact section, also including all translators.
[Fix] Changed Copyright section.
[Fix] Disabled Hardware "Back" button inside the MainActivity for now. (Workaround)
[Add] Notification on updates without opening the Application! (AutoUpdate must be turned on)
[Fix] AutoUpdate check on Application startup now runs "silent", no "No update available." message. (Only on manual check by clicking on the Version)
[Add] All translators are now mentioned under "Contact".
[Fix] Slight changes to Event parsing.
[Add] Now also showing difference of Accuracy!
[Fix] Changed behavior of "No such user" situation.
[Fix] Only notify user every few hours at max, outside of the application, if there is a new update. (AutoUpdate needs to be on)
[Fix] If Android Version > GINGERBREAD_MK1(SDK10) use different notifier.
[Add] Clicking on Avatar inside "Contact" links directly to profile.
[Fix] Changed Rank/Plays/pp difference format slightly. (Added separators for thousands)
[Add] Japanese (JA) language.
[Fix] Caught exceptions caused by negative integers.
[Fix] Caught possible selection error.
[Fix] 100% Accuracy not correctly displayed in some cases.
[Fix] Changed parsing of JSON slightly.
[Add] Error message if JSON parsing fails. (Was just a "random" error number before)
[Fix] Changed "explode" string for Fatal Errors. (Used for everything that could explode while connecting to the database)
[Fix] Changed query behavior on same data.
[Fix] Changed String insert function.
[Add] Showing 5 most recent events when using "Search".
[Fix] Changed handling of float values.
[Fix] Changed Preferences slightly.
[Fix] Changed Backend query slightly.
[Fix] Fixed clicking on Avatar after "Search". (again)
[Fix] Changed "Set Widget" slightly.
[Fix] "," is now allways used as the thousands separator.
[Fix] "." is now allways used as decimal separator.
[Fix] Adjusted timeouts again.
[Fix] Changed Avatar cache bahavior to be more consistent.
[Fix] Updated Languages. (DE, FR)
[Fix] Changed onClick behavior.
[Rem] Redundant WidgetsRunning function.
[Fix] Typos inside Strings. (FR)
[Fix] Changed "Widget created!" message slightly. (ES)
[Fix] Changed handling of default output message.
[Rem] ForceEnglish, farewell old friend.
[Add] Language selection inside the Settings menu.
[Rem] Strings for ForceEnglish. (EN, DE, ES, FR)
[Add] Several new Strings for the Language selection. (EN, DE, ES, FR)
[Fix] Remodelled "onClick" events.
[Fix] Clean up of dead code parts.
[Rem] SpamProtection, update system works different now. (Noticeable on Widgets)
[Fix] Changed "Do you really want to xy?" question slightly. (EN)
[Fix] Changed AutoUpdate behavior.
[Add] Widgets automaticly update on "Widget set".
[Rem] Got rid of the annoying SpamProtection, handling it otherwise now.
[Rem] SpamProtection strings. (All languages)
[Fix] Optimized a few intents slightly.
[Add] Widgets: Added color indicator for rank changes. (Excluding Icon-Widget)
[Fix] Avatar-Widget: Adjusted Rank & RankChange margins.
[Add] Panel-Widget: Now also showing changes for "plays", like Wide-Panel-Widget does.
[Fix] Odd behavior of "Back-Button".
[Fix] Clicking on the avatar now works everytime. (Inside the application)
[Fix] Included API key into query. (Queries should now work again)
[Fix] "Set Widget" only sets if there is different data.
[Fix] "Search" only searches if its a different query than before.
[Fix] Changed Avatar cache behavior on query errors.
[Rem] Obsolete receiver.
[Fix] Changed "Logged Queries" to "Search History". (EN, DE, ES)
[Fix] Several other small localisation updates. (EN, DE, ES)
[Fix] Changed order inside menu.
[Add] A new Widget Type: Wide-Panel-Widget. (Uses the same layout as the normal Panel)
[Fix] Changed Bitmap loading slightly.
[Fix] Panel-Widget: Added padding to the Avatar inside the Panel. (Only noticeable for wide panel)
[Fix] Added check for connection when clicking on the osu! link.
[Fix] Query Logger now only logs existing users.
[Fix] Changed Preference saving.
[Fix] Removed whitespace infront of "Change me" string.
[Fix] Sort "Search history" alphabetically and case insensitve.
[Fix] Removed the max lines (5) for the output.
[Add] French (FR) language. (Credit to jyvii)
[Fix] Adjusted max "Search History" length.
[Add] Start to implement user debug functions. (Work in progress)
[Add] Included "TxtFileArray"-module for later use of debugging. (Credit to skyleo)
[Fix] Changed the way of updating Widgets.
[Add] More colors for the CtB-background due to color testing. (Chosen at random, feedback welcome)
[Fix] Changed ClickSpamProtection and SpamProtection slightly.
[Fix] Decreased SpamProtection for "Search" queries. (10 down to 5)
[Add] Function to clear cache.
[Fix] Catched a few more possible errors, while at it.
[Fix] Panel-Widget: Adjusted the "Creation" and "No such user" message.
[Add] New Panel like Widget: "osu!Rank (Panel)"!
[Fix] Lots of code cleanup.
[Fix] Icon-Widget: Changed font sizes. (Feedback welcome)
[Add] Icon-Widget: Added backgrounds for each mode. (Work in progress)
[Rem] Icon-Widget: Got rid of obsolete "gamemode" tag.
[Add] Icon-Widget: Showing the Accuracy now above "plays".
[Fix] Complete remodel of Widget update function.
[Fix] Icon Widget: Adjusted position of "Status text" alias "Loading". (Feedback welcome)
[Fix] Icon-Widget: Changed size of "Status text".
[Fix] Icon-Widget: Adjusted glow slightly. (Feedback welcome)
[Add] Permission to access SD-Card. (See below)
[Add] Panel-Widget: Avatar caching for offline views and performance.
[Add] Panel-Widget: Also remove cached avatar if Widget is being removed.
[Fix] Changed Auto-Complete design.
[Fix] Changed pp handling a little.
[Add] Reading timeout. (So that Connection timeout isn't lonely anymore)
[Fix] Tweaked timeouts.
[Fix] "update_text" string. (DE)
[Fix] Typo inside strings, "exisitert" -> "existiert". (DE)
[Fix] Widget selection now displays changes correctly.
[Add] Included a (now working) timeout for the Widget and the Application.
[Fix] Changed behavior for "user does not exist" cases.
[Add] Internal error code for exceptions. (Used for better handling)
[Add] New "timeout" strings. (EN, DE, ES)
[Fix] As always, random code cleanup.
[Fix] Changed button layout slightly. (Acted strange in some cases)
[Fix] Shortend "logged query" strings. (EN, DE, ES)
[Fix] Updated strings. (ES)
[Fix] Cleanup in Backend script.
[Fix] Internal string changes in Backend script.
[Fix] Improved update performance, also included timeout.
[Fix] Changed string "Force english" to "Force English". (EN)
[Add] Added some error message strings. (EN, DE, ES)
[Fix] Rewrote the whole error handling.
[Fix] Widget status message appears now in the background. (Its not replacing the name anymore)
[Fix] Status message and Text got a slight glow now.
[Fix] Fully reworked the Widget update function.
[Add] Prepared future support for different backgrounds. (No different background implementet yet!)
[Rem] Replaced debugger/placeholder string "Nonce" with... empty space.
[Add] String short form for "Accuracy", not used yet. (EN, DE, ES)
[Fix] Changed "Click to do X" to "Touch X to do Z". (EN, DE, ES)
[Fix] "[" and "]" are now usable for queries. (Sorry, sorry~)
[Add] AutoUpdate Backend.
[Add] AutoUpdate function. Checks on start or by clicking on the bottom left version. (May explode!)
[Add] New strings for the update prompt.
[Add] Option to enable/disable the on startup AutoUpdate. (Menu button)
[Fix] Remodel of a few classes for performance.
[Fix] Reworked application layout, making it more intuitive. (Credit to Oinari-sama)
[Fix] Small changes to the Widget layout, more to come. (Credit to Oinari-sama)
[Add] Spanish (ES) language. (Credit to S v p e r)
[Fix] Changed typo inside DE string.
[Fix] Removed loading "Force english" on resume, should still be present.
[Fix] Forcing a restart on "Force english" to reload all Strings correctly and cleanly.
[Fix] "Force english" is not that aggressive anymore.
[Fix] Random code cleanup, again.
[Fix] Adjusted a layout variable for the Widget.
[Fix] Changed "No Widget" string (EN, DE).
[Fix] Changed minSdkVersion to 10 (still working on lower support, target is 17).
[Fix] Changed SpamProtection for the Activity slightly.
[Add] Included a "Change me!" string for empty Widgets inside the Activity (EN, DE).
[Add] New Icon.
[Rem] Removed all traces of the old icon, goodbye old friend.
[Fix] Changed the check behavior inside the menu a little.
[Fix] All around code cleanup.
[Fix] Changed positioning and handling of avatars slightly.
[Fix] String changes inside DE.
[Fix] Changed .apk name to include the version: "osu!Rank-1.0.2.apk"
[Fix] SpamProtection tweaking.
Known issues / To do / Coming soon
(Click to expand)
[Fix] Database error when using osu!tp.
[Add] Swedish (SV) language. (Credit to Freddeeeee)
[Fix] App crash caused by loading not existing user avatars.
[Rem] osu!tp support.
[Add] Compare users.
[Add] 1x2 Panel Widget.
[Fix] Change Widget Fonts.
[Add] Lockscreen Widget.
[Fix] Rework Widget config saving.
[Add] "Live Translations".
[Add] Website for osu!Rank.
Last edited by givenameplz on , edited 208 times in total.
You can consider getting rid of the [osu/taiko/ctb/mania] tag [...]
I was going to do this sooner or later, as it would be much prettier I think.
(Also need to care for some good backgrounds then, my main subject is not graphics, but I will most likely ask the community for help when the time comes~)
But for now there are, as you said, other things to worry about. Hehe.
But good thinking right there.
(Just noticed my double post, whops.)
Lets see, everything that changed is inside the Changelog.
Main thing that changed is basicly the layout of the Interface and a little of the Widget, this is going to be the subject of the next update.
I mostly took the suggestions from Oinari-sama, so no surprise there.
But.. I am not sure if I am going to remove the pp, maybe I am going to put a user choice for it or something. We'll see.
I hope that the AutoUpdate function is working correctly, I also, just to be sure, made an option to turn it off.
(Please report everything odd, but we'll see after the next update.)
There are a few things missing in the spanish translation and a few things that need to be tweaked, but they will be inside the next Version.
Thanks for the help S v p e r.
Thats basicly it.
Last edited by givenameplz on , edited 1 time in total.
First, sorry for this double post. (Its been a week, so I guess its fine.)
Just thought to announce this update, as I didn't do so for the last ones.
So far the AutoUpdate seems to be working fine, users are able to update the application within the application itself.
This update will be the second one also distributed over the AutoUpdate function.
There aren't that many changes in Version 1.0.6 just a lot of fine tuning and fixing.
(If you have timeout issues, please drop a post, I changed a lot there)
At the moment I am working on the background feature.
Different Widget backgrounds in the future (If you would like to contribute to this, contact me)
I hope to include this feature inside the next update, as I (basicly) just need to include it, if I had good backgrounds, that is.
I am still looking for people interested in this, of course also about the translations.
As the "[gamemode]" tag will be obsolete then, I will use the space and add an "Accuracy" stat instead.
It will most likely find its place above "plays".
On a side project I started a little project for easier access to the translations for me and the (mostly future) translators.
It will most likely be a web interface of some kind.
Also again, thanks S v p e r for the Spanish translations.
On a side note, I also updated most of the screenshots, the important parts are now up-to-date.
Thanks for the feedback again.
I will address most of the things within the next update.
I am not quite sure whats wrong with the XP bar, though.
Until now I couldn't reproduce it, but I will keep an eye on it.
But this might be unnecessary, as I plan to change the XP bar to a custom design.
In the future
As 1.0.9 will include an "Settings" option, the menu itself will change a lot, everything thats considered "Preference" or "Options", such as the checkboxes, will be placed inside that menu item.
I also changed that only valid and existing user names will be logged now and for the misleading name, I consider changing it to "Search history" rather than "User name cache", this might be more accurate. (Feedback welcome)
There will also be two more Widgets, one 1x1 based on the user avatar and the 3x1 Panel-Widget in a "wide" 4x1 version.
But they will most likely be released in Version 1.1.0, this will be the last Widgets (for now) that I planned.
I want to give the users lots of possibilites, but I don't want to spam them with Widgets they don't want to use.
As Oinari-sama said osu!Rank is somewhat lacking a documentation, I did consider writing one, maybe sometime in the future, but for now I will simply link to this thread, maybe labeling it with "Help (osu!Forum)", even known this might be a little misleading again. As said earlier I am chaning the menu layout and with that also the Copyright position, I might include an extra "Contact" item, which should be clear to be also for Feedback. But I am afraid that there will be too many items in the menu again, it would then look like this:
As you see, I could merge "Help" and "Contact" together and then have clickable options inside.
I think this might be the best Idea.
(Feedback again welcome)
Thanks to jyvii osu!Rank will also be available in French!
If you are interested, I am still looking for translators of other languages!
I am still working on something like a "translation" interface, but this is a somewhat "long term" development, so it won't be finished soon, as I rather work on the app itself, than on that.
Just a short heads up about whats going on, the rest is as always inside the "Known issues / To do"-list.
I can't say any date for the update, but I guess sometime next week.
Suggestion: add support for osutp too?
Best compliment a map could ever get: I usually don't like that song, but now I love the song because of the map!
Suggestion: add support for osutp too?
Thanks for your suggestion.
I am not quite sure if there is a big demand for this (yet).
For now I won't support osu!tp.
No promises, though.
Users browsing this forum: None