Tile Me!–1 Month After Release

Well that was… unexpected. What started as a 2 day weekend project which I thought MIGHT be downloaded by some die-hard Windows Phone fans and never expected to go over 1,000 in the first month, ended up being downloaded by over 35,000 people in just 1 month (1st of August – 1st of September).

It all started with the first article on WPCentral (there are a total of 4). The app got downloaded over 2,000 times in just 24 hours. I got a lot of great feedback, my twitter timeline was exploding with Me tiles as avatars. The most requested three features were custom text, high quality PNG support, and animated GIF support.

I immediately started working on the custom text feature which was very easy to implement and the first update was live just few days after the release of the first version. I then started looking into GIF, but since it was going to take me longer to figure that out, I decided to go with PNG support. To add PNG I also had to add SkyDrive integration which was well received by the users. With the release of that update, WPCentral published another Tile Me! article. Again, new reviews started popping up and people liked the new update, but the important thing here is that people liked that I was constantly communicating with them (on comments sections on the websites the app was featured, Twitter, Email etc.), listening to their feedback and adding new features almost every week. So, a Protip: Listen and communicate with your audience.

The SkyDrive integration was quite easy and straightforward with async/await for Windows Phone 8. On Windows Phone 7 on the other hand, I could not reuse any of the WP8 code, so I had to do it with events, which was a bit annoying.

After PNG, it was time for the hard stuff… animated GIF. It took me several days, and I was almost giving up on it, but I eventually managed to figure it out. Once I finished implementing it on WP8, I started working on porting it to WP7, but since that was going to take several days to finish (most of the code was not reusable 😦 ) I decided to publish a new update just for the WP8 users.

 

Boom another article from WPCentral and with that, the official Nokia US twitter profile tweets about Tile Me! Achievement unlocked I guess :). What happens next? A WPCentral reader posts a loophole that allows animated GIFs on Twitter. This results in the fourth WPCentral article! A lot of people used the tutorial to animate their Twitter avatars, which gave my Twitter timeline a great Windows Phone vibe. Unfortunately, Twitter closed the loophole two days after the WPCentral article and posting new GIF avatars is no longer possible *sad panda*.

Today, Nokia Conversations, and official Nokia page, wrote an article about Tile Me! (thanks guys) and that should help in spreading the word even more about the app. I currently have a beta test with few people, which are the greatest Tile Me! fans. The new version will add Twitter integration, so the users will be able to upload their Me tiles as Twitter avatars within the app.

The app was also featured by several other pages like WMPoweruser, GSM.MK, WindowsQuebec etc. I would also like to thank WinPhanDev for doing a short interview with me.

Thanks for reading. Until next time!

* Image created by Sean “TheWinPhan” Johnson.

Advertisements

Tile Me! – A Weekend Project

Last Thursday I was lurking in the /r/WindowsPhone subreddit when I came across a thread from David V. Kimball where he was offering to make Me tiles for free via Twitter. I immediately thought about automating this project and creating an app but I was 99% sure that an app for this already exists and there is no point in creating something that is already there.

The next day I decided to browse the Windows Phone store to see if there is an app that does this. To my great surprise, there wasn’t! I really expected to see at least 5 apps that did this, but I was wrong.

I challenged myself to complete the full app in one weekend and publish it to the Windows Phone store. The app passed certification today and is now published on the Windows Phone Store for both Windows Phone 7 and Windows Phone 8 devices.

Since the app just got published if you search for it on the phone, you will not be able to find it. Instead, you can scan the QR code below to download the free Ad-supported version.

Or you can scan this QR code to buy the ad-free version.

Thanks for reading and enjoy your new Me tiles!

Sparrow Beta Is Live!

Well that took longer than I expected, but finally, we got a playable version of Sparrow in the Windows Phone Store! Currently, it is hidden from the store because we submitted it as an invite-only beta to hunt down the bugs that we couldn’t find. We are planning to end the beta and release publicly once we are sure that we fixed all the reported bugs and balanced the game.

If you have a Windows Phone (7 or 8) device and are interested in testing the game out, let me know. Here are some screenshots from the beta:

 

 

 

 

 

 

 

 

 

 

 

We did a major change with the levels. Instead of having separate missions (which was taking a lot of time to create), we decided to start with a survival mode and procedurally generate the enemy waves. As you play the survival mode, you progress by upgrading your aircraft, switching to the next, more powerful aircraft if you don’t lose all your lives, pick up new weapons etc.

I do not want this post to be the ‘post-mortem’, I’m planning to write that after we release, so I will conclude with a few words about the beta. We worked quite a lot during the mayday and Orthodox Easter holidays to finish the beta version and I thought that’s it, now I can take a break for a few days… Wrong! We had to submit updates and fix bugs that were reported several hours after the beta was released.

There are 20 testers that have played the game and we got some valuable feedback. There were some performance issues, which I believe we finally sorted out and the game should run OK on any device. We still have to decide whether we should switch some effects that we do using the Mercury Particle Engine to ordinary sprite sheet animations to increase performance.

After we release on the WP store, we are planning to finish the Windows 8 port using MonoGame, and then depending on the popularity we will either continue adding more content or move to a new project which might not be a game, but it will probably have some game elements :). 

Until next time.

Sparrow Progress Report #3

In the last couple of weeks we encountered some issues that we did not expect and hence we have to delay the start of the testing.

One of the main time consumers is the start of the summer semester and unfortunately the change in university’s policy to make attendance mandatory for all classes (if you miss three classes, you fail the course) really messed up our plans.

On the development part, I encountered some serious performance issues when I decided to implement sound effects. Apparently, if there is a pause of 4 seconds (no sound for that time), the next sound effect that will be played causes an FPS choke which is very noticeable. I did not manage to find the root cause of the problem so I decided to create an empty XNA WP7 Project. I play a sound effect every 10 seconds without any other code in the Update() method. To my surprise, the same thing happened here. Then I decided to check our first game Aqua Guard, and I noticed the same thing happened there too (when the first sound effect fired and the music was turned off). If there is no pause longer than 4 seconds and you play a different effect, there are no problems. You can download the sample project here. If you have a solution, please let me know :).

What I decided to do was to have an empty sound effect (silence) play after every 3 seconds just to make sure that 4 second pause does not occur. This workaround seems to have solved the problem, but that still is not the best solution, even though I do not have any FPS chokes now.

Since we do not have a sound designer I have to take care of that part. So, I am currently struggling with that part. I found some nice free music tracks that seem to fit the game pretty well.

On the other hand, my brother finished an enemy ship he was working on and he is currently working on the menus. To stick to the ‘template’, here is a shot of the F-16 Falcon. This will be a playable aircraft.

 

Codefest @ UIST–An Observer’s Perspective

After nearly 2 months of planning, sponsor hunting and hard decisions, a team of 3 people (Jasna Trengoska, Aleksandar Mitrevski, and William Asiama Nyako), with the help of several volunteers, including myself, managed to successfully host the first student organized 24-hour app development competition in Macedonia – at the University for Information Science and Technology ‘St. Paul the Apostle’ Ohrid. So yay for us :).

Since I was part of the organization of this event, I was not competing, but I still had a great time observing the competitors during the event. In this post, I will share my experience and observations before, during and after the event.

Planning the Event

In the beginning of December, my friend Aleksandar asked me whether I liked the idea of organizing a mini hackathon (24 hour event) for our fellow student mates at UIST. Him, Jasna and William came up with the idea of doing this (inspired by WOWZAPP) during a normal meeting for the project they are working on and they were now asking around to see if there would be any interest. I was quite excited about this and fully supported the idea.

Since I am one of the leaders of the SITE Microsoft Student Tech club at UIST, I had the ability to send a survey to all the students to check whether they would be interested in attending such an event. After few days, we had the results and we had about 50 students that seemed excited about such an event. Because the main idea was to organize a mini-event, 50 was more than enough to accomplish our goal, so we started with the preparations.

At first, there were ideas about doing it around 15th of December, but because the time was short to prepare and the week that followed 15th of December was an exam week, we scrapped the idea and changed the date to sometime in February, right after the winter break and final exam session, when everyone should be fresh and ready for action.

Several people decided to volunteer and help with the organization (huge thanks for this to them), so after our first meeting where we defined the rules and other details of the competition we created a Facebook event for the competition.

Sponsor Hunt

A month had passed since WOWZAPP so we had a pretty great example of how an event like this should be organized. Our event was going to be smaller, and only for UIST students, but we still needed to find few sponsors for the food and for some small prizes. I saw a tweet by Pluralsight where they said they are sponsoring IT related events so I decided to send a sponsorship application. After 2 weeks, I got a response from them saying they are happy to sponsor Codefest and they gave a 1 year Pluralsight subscription (worth $299) to be awarded in a raffle to one lucky participant and 8x 1 month subscriptions. This started a chain reaction and here is the event poster where all the sponsors are listed:

So, as you can see, with this number of sponsors, this was not a mini event anymore and the organizers decided to go nationwide.

On 10th February, all the available tickets were gone and registrations were closed.

Media

Thanks to Krste Kostoski, a volunteer, we made contact with Super Radio a local radio station in Ohrid. After their short announcement of Codefest, the event was in all of the major Macedonian news portals. The three leaders even got invited to a major national TV station for an interview. The media coverage gave a huge boost to the registrations at Eventbrite. Then a local TV station also invited the leaders to a morning program and announced the event during their daily news. Aleksandra Dudik, UIST’s PR specialist, also helped with the media and other issues we had with the organization so massive thanks to her too.

One Day to Codefest

After our classes in Friday we had a Pre-Codefest meeting for the UIST students. The plan at this meeting was to answer any questions the students had and provide them with the necessary software for the event. Before this meeting we carried… OK not me, I was too busy munching, but my friends carried most of the sponsor materials and equipment to UIST’s amphitheater. After the Pre-Codefest event we started preparing the puzzles for a challenge that we had for the teams at Codefest. Everything seemed ready for the upcoming big day.

Codefest.Begin();

I was at UIST about one hour before the event. As soon as I entered the amphitheater I was greeted by a pleasant surprise. The three leaders had arranged hoodies for the organizers and mentors. That was unexpected, so thank you leaders, /hug . FYI, I love hoodies, hence the happiness below :). FYI #2, the dudes that are sitting on this image are working on Sparrow.

Right before the event started, I was one of the four volunteers in charge at the registration table. 

Codefest started at 12:30pm on Saturday 16th February 2013 with over 60 competitors divided into 13 teams. After the short presentation by the organizers where the welcomed the participants, introduced the mentors and the volunteers, the teams had to introduce themselves and present their initial app ideas. During the event, the participants were allowed to ask the mentors and volunteers questions about certain technologies, ideas on how to implement things etc. However, the mentors and volunteers were not allowed to code. I was helping the teams with questions related to game development.

Here’s a picture of the two teams that came from Skopje.

After the project presentations, we all knew what the competitors were going to work on. There were a few games, Windows 8 apps, a Windows Phone 8 app, Windows Desktop apps, and some web apps. Now, it was time for the first mentor presentation. PhD Jane Bakreski is a lecturer at UIST and he spoke about some graphics design principles.

The teams could work on their projects until 4pm. I got the first question during this working session. Team Hex was working on a turn based game where one player had to block the other from reaching their goal but also try to reach their own goal. With some nice graphics, animations and few other gameplay features, this could be a fun touch-based game. I hope the team continues with the development of their prototype.

One of the advantages of being part of the organization is that you get to be one of the first to greet the food when it arrives. For lunch, we had delicious pasta *munch munch*.

Now the teams were well fed and it was time for the first challenge. There were several rounds where three teams had to solve a puzzle that we provided. The fastest team won the round and advanced to the next round. But, there was a catch. The team members were not allowed to talk to each other. Talking resulted in time penalties or if done again, disqualification.

When the clock hit 5pm, the next working session started. Team Foreigners was working on an ice-hockey game for the Windows Phone, but they had no previous experience developing games. I suggested them to check out my Pong tutorial and use XNA. And no, I was not breaking the rules and coding, I was just entering my blog URL here :).

At the end, Team Foreigners were one of the few teams to win the Zero to Pro award. That award was awarded to the teams that did not have any experience on the technology before Codefest, but still managed to develop a working prototype of their idea. Here is a screenshot of their game.

While I was not assisting anyone, I decided to work on Sparrow. For some reason I couldn’t concentrate that much and I did not manage to complete a boss battle I was working on. Actually I should be doing that right now, so better wrap this up soon.

At 10pm our sandwiches arrived. Remember when I mentioned the advantage of being an organizer earlier and the food? Forget it. While I was discussing with Team Foreigners about how they should fix a bug, dinner had arrived. Looks like the developers were uber hungry and I was lucky that my brother grabbed a sandwich for me. They were all gone within minutes.

It was time for another team challenge. This time, the teams had to form a circle (5 people), cross their hands and hold the persons to their left and right. They were given 1 minute to talk and come up with a strategy to untie the knot that formed. After the 1 minute expired they were not allowed to talk. This challenge was pretty funny. Here are some shots:

 

The winners of this challenge managed to untie the knot in 5 seconds which was pretty impressive.

Hajan Selmani, a Microsoft MVP who was a mentor and judge at Codefest held a 33 minute presentation about the difference between code quality and product quality. This presentation was more about the business part of creating software, rather than the development part which he usually holds presentations for.

The next working session started after Hajan concluded his presentation. The Fruit Ninja Kinect challenge also commenced at this time and lasted until 7am when the winner was announced. The participant with the highest score on the Arcade mode by 7am was the winner of this challenge. It was fun watching people wave and burn some calories while playing this game. It was funny to hear several people say: “I haven’t exercised like this for a long time.” Unfortunately I have injured my right arm and I was not able to play :(. The winner (or the most lucky person playing this game) was Rahim. Whenever he played, the random generator seemed to spam him with Double Points Bananas.

 

It was great to see all the teams present during the night developing their projects.

After the breakfast it was time for egg drop. Each team had to build a box with the given materials. The boxes were then dropped from a certain height. The last standing egg won the challenge. There were 5 Kinder Chocolate Eggs to be awarded. I was rooting for the teams with 2 people just so I could grab one of the three remaining eggs. The finalists were two teams, both with two persons!

 

Thank you for winning Egg Masters guys! I tried a Kinder Chocolate Egg after 10 years thanks to you. And yes, Kinder still tastes the same… epic.

Before the final app presentations we had two more presentations. First, Orce Petreski, a senior developer from Seavus talked about informal education. Later, PhD Bratislav Stankovik, Vice Rector at UIST and Science and Technology advisor in the cabinet of the President of Macedonia, talked about intellectual property and gave some tips on this field.

Finally it was time for the final presentations. There were pretty interesting prototypes. It was awesome to see that all of the teams were done and were ready to show their working prototypes. I really liked an app called Eventum for Windows Phone developed by two UIST students. The app shows all the events that are happening around you. I also liked Mystery Mansion, a point and click game for Windows 8 developed using HTML5 and JS. This game had the highest chances to win Codefest. It was developed Team Gryffindor from UIST. Big gratz to the ladies on the picture below for being the only 1st year students (only 4 months at UIST)  to attend the event and finish their prototype. That was pretty courageous from them *claps*. In the end they were one of the three teams to win the Zero to Pro prize.

Here are some other shots from the presentations:

The voting began after the final presentations. There were 4 judges + the teams which would count as 1 judge. Each team had to give points to the other teams. At the end, it was very tight. With only +4 points in the front, Team Gryffindor grabbed the victory from Team Agile, who were developing Eventum. Here is a picture from the winning team and a screenshot from Mystery Mansion.

 

Congratulations ladies. I am really looking forward to playing your game.

Congratz to all the other prize winners. I hope you continue developing your apps and release them to the public soon. Well done!

After the prize announcements, there was a huge cake at the university hall. We celebrated SITE’s first birthday.

Codefest.End() – After the Event

After the event we all went home and hit the bed as soon as possible (what did you expect would happen?).

Thanks for reading this long post and I hope Codefest 2 will be a reality in the near future.