So I’m in the process of marketing Piano 3D and since I don’t have any budget left, the only option is to create more content.
So check this 10x speeded up video of development (don’t forget to subscribe to Piano 3D youtube channel):
I have finally released Piano 3D worldwide on both iOS and Android.
Download iOS version here, and Android version here.
This post will be the first one in the series about Piano 3D, it’s development and design processes, marketing and distribution.
Today we are talking about the history.
Piano 3D Timeline
April 2014 - first commit in git
April 2014 - first release in Windows Store
May 2014 - scrolling and scaling added
May 2014 - started working on tutorials
June 2014 - new interface using new Unity UI
August 2014 - synth added
June 2015 - fifth release for Windows Store
September 2016 - started working on new UI for iOS and Android
July 2018 - worldwide release for iOS and Android
It’s all started in 2014. It was my third year at Software Engineering department as an undergraduate student and writing my own application sounded like a good idea to improve my skills and get some real-world experience. I only had a quite old Windows-based pc so developing for Windows was my only choice at that time. Fortunately, Microsoft had just released Windows 8 with the new app store and, correspondingly, the new app type they called “Metro” applications. I mostly program in C#, so it wasn’t quite hard for me to start developing my applications, moreover, a local company called DCT with Microsoft support hold a competition of best Windows 8 apps, which was also a motivation.
I’ve been working with Unity3D IAP plugin recently (it allows us to work with in-app purchases directly from unity). I think it could be better.
At first, let me say it, Unity3D is a very good product, and Unit3D IAP is a great plugin too. I’m writing this
not because I want to show how bad it is (it is a great idea, we need this!), but because I hope someone from Unity team can have fresh look at all these things and maybe avoid these mistakes in future.
I woke up today and realized that I want to update my old app “Irregural Verbs Trainer” to Windows 10. This is a bit strange because I am currently working on Piano 3D. There is no way I will release Piano 3D in the following month though, and I want to ship smth. Smth = Irregural Verbs Trainer in this case.
Irregural Verbs Trainer is a great app, but users do not use it. I have got only about 400 downloads of this app which is basically nothing. The reason: I made the app not free, although there is an unlimited trial version. So, 95% of the app is bascially free, but in the store it is listed in the “Paid apps” category. It is silly if you think about it. Never ever make a small app not free from the beginning. You don’t have marketing budget and users hardly ever buy an unknown app, especially such a small one. Much better option is a free app with IAP (in-app purchase), at least it will not scary users away.
So I decided to switch from Piano 3D development and other thoughts in my head and ship a new version of Irregural Verbs Trainer in short period of time (no more than 2 days).
There is one small problem though: I do not have Windows PC, only MacBook with MacOS.
I decided to write a post about skills IMHO a person should have to get a job as a .NET web developer.
Well, the mindmap above contains everything I wanted to say, so let’s just review it. I also will try to
give some recommendations about resources and books you can use to improve your knowledge in particular area.
It’s obvious that each .NET develop should know .NET fundamentals (CLR, CTS, JIT). I don’t say you have to know
internals of JIT compiler, but it’s essential to have high-level understanding of this concepts.