A Quick Update

published 01 Aug 2014

What has happened in the last two months?

  • Had an amazing time at Japan Expo, meeting a huge number of French players and hopefully introducing as many new ones!
  • Gave an updated talk about the history of osu!, along with Q&A and live play in dual language (French and English). Watch it here!
  • I answered even more questions on episode 8 of osu!talk. Thanks to ztrot for having me on the show!
  • I received some open source mini-keyboard controllers for osu! from some chinese users. You can already make them yourself, but I also hope at some point we can offer these for sale at a low price.
  • osu! saw more development activity over the last month from people who aren’t me than ever before. This is very exciting to see, and makes me a little more confident that the osu! codebase isn’t in as bad a state as I perceive it to be!
  • Progress is being made towards an open source osu!. Piece by piece I am separating git repositories of various components so they can be released separately from each other as required.
  • We hit 200k likes on facebook. Hooray!
  • I completely rehauled the banning system behind the scenes to allow for more automation, as it was getting out-of-hand for us to handle manually. The results are promisingly good (or bad, in a sad way).
  • Work continues on a new update/release system which will allow for multiple release streams to exist. Users will be able to switch between stable/beta/cutting-edge. This will also allow for mgiration to dotnet40 while keeping a compatibility branch on dotnet20 while people migrate across.
  • A new game intro is in the works, including a long-overdue theme song. You may also notice that sound effects have been improved. This is all already live on test build but won’t be available on public for a while.
  • Download and update mirrors are centrally managed and traffic is automatically shifted as servers become available/unavailable. DNS changes are also automated via the Cloudflare API when server issues are detected, reducing downtime to only a couple of minutes.
  • I have been a bit busy with boring stuff like restructuring the way osu! is run as a business to make sure I can keep up with the ever-increasing workload. Trying to get more hands on board to get new features out to you guys faster than ever.
  • Huge kudos to Tom94 for taking my lead and rehaulling most of the song select code. The result is a more performant and slicker song select screen than ever before. And it’s only going to get better from here!
  • My sister made me an osu! stamp!
  • Someone used my design documents to make their own version of the osu!arcade unit!
  • We are running another fanart contest aiming to create a bunch of stickers, which may be used around the place in the future (both digitally and physically)!
  • Someone made a programming problem based on CtB.
  • People continue to be dishonest and unbelievably abusive.

I’m sure I’ve missed quite a bit here, but until next time. Follow me on twitter for more regular updates!


a quick update

published 26 May 2014

I have so much I want to post about, but no time to do so. Let’s continue with quick updates because it’s much better than nothing at all!

  • I’ve decided to focus on open-sourcing the whole of osu! as soon as possible. This means that my previous post mentioning needing new team members is temporarily on hold while I restructure things. Moving forward by cleaning up internals, and releasing some side-projects ahead of time.
  • 16 person multiplayer is coming in an update over the next week. Yay!
  • Tablet orders are going out at a rate of around 50-60 a day. Still plenty in stock, but I’m limiting how many are available each day due to the speed we can ship at.
  • The new store is live in all its glory! I have done my best to make it accessible on all devices down to smartphones. Tablets, stickers and plushies are available, with more products coming soon! Excite.
  • Work continues on the new site. I am focusing on the development of this myself, in an attempt to get beatmap modding into a better state ASAP.
  • The osu! site now uses an image proxy for profile user pages and forum posts. This means it is now 100% SSL traffic, which should make your browser a lot happier (no more broken lock icons in your URL bar). It also means people can’t snoop on you accessing their profiles, and should speed things up a fair bit.
  • Images which are being proxied are also being lazy-loaded. This should reduce the bandwidth you waste on the site by a whole heap. Lazy-loading is done in a way such that it shouldn’t affect your normal browsing experience.
  • I moved the complete admin team to Slack for internal communication. It has been the biggest breakthrough in ages as far as I’m concerned. Managed to get everthing integrated in once place, allowing us to handle support tickets, in-game reports, even reply to forum threads without touching the forum itself! It’s 100% linked to bancho and allows us to moderate from smartphones and receive push notifications without a cumbersome IRC client running on low-powered hardware.
  • Catch the Beat World Cup is currently running and we are streaming it each weekend on the osu!live channel. Make sure to tune in! It’s a lot of fun to watch even if you aren’t a CtB player.
  • This amusing conversation happened.
  • A teacher started using osu! in his classroom. Curious stuff.
  • I may be making a guest appearance at a large upcoming convention!

I need to make an important post about my intentions when it comes to open-sourcing osu!, so look forward to that in the coming weeks. A lot of people seem confused and worried about the implications, but you shouldn’t be. I will not fail you!


a quick update

published 01 May 2014

I’m very aware that I haven’t been posting much here. It mainly boils down to the fact that as long as I have things to do that are directly contributing value to osu!, I avoid spending my time writing. I have a few posts written up in a semi-complete state, but haven’t had a chance to finalise them yet. Don’t go away; I will make things happen eventually.

So what has happened over the last four months?

  • I’ve been working on expanding the osu! team. If you think you have what it takes (highly motivated, ambitious, fast-learning) then get in touch.
  • Second batch of tablets arrived this week, and I have been busy busy writing up a web store from scratch to handle the sales. Coming this weekend at latest.
  • Moved the new osu! website to run completely on hhvm. Have been sinking a lot of time into this to ensure it is a strong framework ready to handle rapid expansion in the future.
  • Working on getting many more products to the coming osu!store, including plushies, stickers, better quality t-shirts and more!
  • Setup continuous integration for osu! client builds. I can now create new test/public builds without having a dev environment on my local PC, which is pretty amazing.
  • Moved all storage to Amazon S3. Any of osu!’s infrastructure can now be deployed within a few minutes without having to worry about locally stored content. This is pretty huge!
  • Refreshed the server which bancho runs on to allow for future expansion.
  • Further automated server monitoring and response to better handle issues that previously required manual intervention.

For those wondering about osu!stream (see my last post), I haven’t been able to post an update as the issues are still on-going and I don’t believe it is in my interest to release details until I reach some kind of resolution. Apologies to those who have been waiting to hear more.

I have been pretty busy in real-life, travelling back to Australia land to attend (and handle videography) for a wedding, renewing visas and bringing the books up-to-date to file my tax return. Things should be a bit calmer over the next six months, so expect more soon.

I’ll try and throw some update posts like this to keep you guys in the loop of what I am up to.


Apple IP infringement policy woes (aka where is osu!stream?!)

published 13 Jan 2014

Update: I posted this to reddit and got some amazing advice in the comments. I highly recommend you read the discussion threads there as they cover a lot of ground.

First of all, happy new year everyone! I hope you are having a great start to 2014. It’s been a bit of a rocky start for me, and due to a number of reasons my productivity (measured in output on the visible spectrum) has been at an all-time low. While a lot of you that follow me closely will already know what I am about to convey, I write this with the hope that when I find a resolution, it will be helpful to someone out there that encounters a similar situation.


Let’s return to December 2012, six months after osu!stream’s July release. With the help of a small team we had released a couple of new song packs, accompanied by a 1.1 release fixing many bugs and adding a number of graphical enhancements and UI improvements. Out of the blue, I received an email from the somewhat mysterious appstorenotices@apple.com address.

Date: 12th December, 2012 (10:57)
From: App Store Notices <appstorenotices@apple.com>
To: Dean Herbert <pe@ppy.sh>
Dear Dean,
**Please include APP23992 in the subject line of any future correspondence on this matter.**
On 11/26/2012, we received a notice from Alek Nils that Alek Nils believes the app listed below infringes their intellectual property rights. In particular, Alek Nils believes you are infringing their copyright. Please see their comments below.
Developer: ppy
Provider: Dean Herbert|1357346609
App Title: osu!stream
Apple ID: 436952197
Comments from Complainant: Stolen Graphics, I already sent you guys 3 emails with all the links, so I guess u have those. Read through the email.  My Email add.: Alek112@hotmail.com
You can reach Alek Nils through Alek Nils (email: Alek112@hotmail.com), copied on this email.
We look forward to receiving written assurance that your application does not infringe Alek Nils's rights, or that the parties are taking steps to promptly resolve the matter.  Please keep us apprised of your progress.
Should you choose to remove your application, (for example, while you make any necessary changes) use the steps provided below.

Having created the majority of the game graphics myself, I was astounded at what I was reading. The particular graphic, while not stated specifically in this initial communication is the “spinner circle”.

spinner circle

The accusation made by the complainant was quite preposterous on many levels, so let’s briefly address that and get it out of the way.

  • The design is based off the Xi-Style skin for osu! PC. This was made by the skilled XiaoUnlimited (now Xiao) in 2008, and can be seen here. Before using this design in osu!stream, I received permission from Xiao (and he can be seen listed in the game credits since day one). While I do not have my original correspondence with Xiao, I did contact him recently to get a statement showing his approval.
  • While I did borrow Xiao’s spiral motif, the centre and outer circle portions are straight from the osu! default skin, which was 100% my own work.
  • The design cited as being “stolen” has since been recreated from scratch twice, in order to support devices with higher resolutions. The latest version was made in POV-Ray, and source is available here, courtesy of mm201.
  • The complainant “Alek Nils” – actually Alek Nilsen – is a third party who created a number of “compilation” skins using other skinners’ graphics – often without their permission. He is claiming to have created a graphic that he in no way has any rights to.

Hopefully by now you can agree that the claim is fraudulent, and we can move on.

Initially I followed up as per Apple’s loose procedure to try and reach a resolution, but it was very obvious that the complainant’s idea of a ‘resolution’ was nothing short of having the app being removed from the App Store. The conversation continued for months back and forth with the AppStoreNotices department as I attempted to explain this to them. At no point did they offer any alternate solutions or advice on how to resolve the dispute. They also took around one month for each reply, to a degree of accuracy that suggested it was a predetermined period for these kind of follow-ups.

Let me add that we did at multiple points try and resolve the issue directly with Alek. A full transcript of the email conversation can be found here.

During this time, the complainant – obviously unhappy with Apple doing nothing to inflict harm on me – took to spamming my blog and email accounts, launching denial-of-service attacks on osu! and other malicious behaviour. This was a significant time sink, but as per my usual strategy I blocked and ignored this as much as possible. I also avoided making any further direct contact with the complainant.

Travel forward to the 4th of January 2014, when Apple sent me a sudden notice that they are removing osu!stream from the App Store. Again, they offer no method of resolution and tell me to talk with the complainant directly.

Date: 4th January, 2014 (04:56)
From: App Store Notices <appstorenotices@apple.com>
To: pe@ppy.sh
Dear Dean,
We regret that the dispute regarding the app listed below could not be resolved amicably between the parties.  We have removed your application from the App Store.  For any questions relating to this matter, please contact Alek Nils directly.  For any technical questions, please contact iTunes Connect: www.apple.com/itunes/go/itunesconnect/contactus.
Developer: ppy
Provider: Dean Herbert|1357346609
App Title: osu!stream
Apple ID: 436952197


I could probably end this post here and leave you in absolute shock at the appalling manner in which these cases are handled, but let’s persevere: what could I have done differently to resolve this issue without the app being removed?

Probably not much (but I’m open to suggestions).

  • As per the last two years, I should have continued to respond to Apple. I was very busy during the period when I got the escalation email – and on top of that it was from a no-reply address – so I did not send my usual under-five-minute response to Apple. They may have assumed I was ignoring their email as a result (as silly as this sounds).
  • I should have turned to the legal system sooner. I naively believed that due to the lack of evidence supporting this claim, it would never result in anything like this. In reflection, this assumption was a bad one to make.

The current things I have done to try and resolve this issue, with no progress as of yet:

  • Replied several times to AppStoreNotices via email, giving a full history and evidence of the fraudulent nature of the claim.
  • Contacted Apple Developer Support via phone multiple times. Was told they can only contact AppStoreNotices by email via the same process I take, and therefore would not be of any help.
  • Contacted iTunes Connect support. See above.
  • Asked friends who have contacts high up in Apple. They are powerless across country/department borders and therefore cannot help.
  • Sent a plea to Tim Cook directly, in a hope he will correct the wrong which has been done.
  • Submitted a new build to the App Store stating the issue was resolved. Is stuck in perpetual “In Review” status.
  • Contacted a lawyer. Told that this should be happening under DMCA law but isn’t. Very hard to follow up as Apple gives no detail as to their terms or process. I read through all the documents available on Apple’s site but none mention the full process for IP infringements. The only reference anywhere is the submission form for these complaints. Please note that App Store complaints differ from all standard copyright issues, which are filed under DMCA (why?!).

I will update this post as I work towards a resolution. I am open to any advice; please leave a comment or if you wish, contact me privately at pe@ppy.sh. Thanks to everyone that has already shown their support in many ways.

Finally, an apology to those which are unable to download osu!stream, restore their purchased songs, purchase new song packs, or restore the app itself from a backup or on to a new device. I will try my best to get things straight again, and hopefully have a few updates to the app itself which will make up for lost time.


I Have A Few Posts Waiting For Some Final Touches

published 28 Dec 2013

I have a few posts waiting for some final touches, but as I am likely to be busy going into the new year with osu! updates, osu!tablet shipping and a bit of travel, I hope you can enjoy this in the mean time!