I created Windows app over the weekend and you will not believe what happened next


Over four years ago I created a simple Pomidoro Windows App in order to learn Windows RT app development. Yeah! Windows RT was a new thing back then! My app was a simple timer that counts down from 25 minutes to 0. It was designed to use when applying the Pomodoro Technique. I published it to Windows Store as a free app. Since then me and a few friends of mine were using it. It made it to top 600 productivity apps on Win Store.

The main purpose of creating this app was to get insight into Windows RT apps development, and experience publishing app to Windows Store.

Last year, somebody from Pomodoro Technique filed Content Infringement Complaint stating that

App name has a name including “Pomodoro Technique®” and “Pomodoro®” or significative parts or misspelling of Pomodoro and Pomodoro Technique

What that means? My app, created over the weekend, is serious competition for their app. What’s more, they removed my app from Windows Store!

good job meme

Recently, my friend Pawel Sawicz – who co-founded dotNetConfPL with me – asked me about this app. He was using it from day to day, but he got a new ThinkPad X1 Carbon Gen 3, and he had to install a new system. When he wanted to install my Pomidoro app from the Windows Store he couldn’t find it. He thought that the search was broken. Then he reached out to me, and I explained him the situation. Fortunately, source code is on github.

Recommended Build 2014 sessions

build 2014

Finally, I had time to watch Build 2014 sessions. Here are the best I have seen.

Thinking for programmers (Leslie Lamport)

This session is intersection of Computer Science and programming. It will really makes you rethink your approach for solving problems and writing code. One of many interesting thoughts mentioned by Leslie Lamport was a role of specification. It is hard to disagree that in case of very complex code, need for change, after a few months or years, or by other programmer, will cause rewriting code for scratch if we do not have specification. I am recommending this session, because it is not demo of some new Microsoft tool/technology, but a solid piece of knowledge. It is not session for everybody, some may not like it. I love it!

Windows and the Internet of Things (Steve Teixeira)

This session is about writing Software for devices. But not only for PC, tablet or Phone. Also for embedded devices, or customized devices running on Windows Embedded. It is an overview of the future. Not only in Windows World, but at all. Steve Teixeira shows cool demos. E.g. controlling traffic lights using the Phone. He presents Intel Galileo, board which you can get for free by signing up! Only limited number available.

Building Azure Web Sites with Visual Studio Online “Monaco” (Chris Dias)

Visual Studio in Web Browser? I’m in! I am very impressed with progress which is being made in online version of Visual Studio. In addition to simple edits, there is a command line access, intellisense, git integration, side by side file comparison and more.

What’s New for ASP.NET and Web in Visual Studio 2013 Update 2 and Beyond (Scott Hanselman and Scott Hunter)

This is an update of ASP.NET features and future directions. Now, it really starts looking like LEGO pieces. If you are Web Developer, definitely worth to see.

Modern C++: What You Need to Know (Herb Sutter)

This talk is an overview of new features of C++. There is also 10-20 minutes about performance. Recommended if you are not familiar with new C++ features yet. For me, this session could be shorter, and some things could be skipped.

The Future of C# [and VB] (Dustin Campbel and Mads Torgersen)

First part (presented by Dustin Campbel) is about Roslyn. There is demo how custom code diagnostics can be created. Second part (presented by Mads Torgersen) is about new language features. My observation is that they started adding weird things to the language syntax. More over, Mads talk also about Visual Basic (for ~5 mins), which – as he claims – has a future as well. Mads already had similar session on other conferences (dotNetConf, NDC).

Go Mobile with C# and Xamarin (Miguel de Icaza)

Good introduction to Xamarin if you are not familiar with it. There is general overview and philosophy explained. There is also short demo. Good point to get started with Xamarin!

TypeScript (Anders Hejlsberg)

Anders Hejlsberg announced TypeScript 1.0. This session is an overview of TypeScript presented in a very solid way. Timestamped draft notes of the entire talk can be found here.

Developing Neural Networks Using Visual Studio (James McCaffrey)

This session is worth to see at least for first 8 minutes when James is summarizing entire build conference 🙂 The main content is good intro to Neural Networks. It awakened my desire to learn more about Artificial Intelligence and Machine Learning.

I’ve seen also: Building a Large Scale JavaScript Application in TypeScript (only slides, no code…), Building a Single Page Application with ASP.NET and AngularJS (I am not a fan of pasting large chunks of code during demos), Avoiding Cloud Fail: Learning from the Mistakes of Azure with Mark Russinovich (advanced, useful if you use Azure intensively), Building Modern Web Applications with Visual Studio and Web Essentials (just update in new Web Essentials features).

Installing Mac OS X in VMWare Workstation on Windows 8

I created Mac OS X Virtual Machine on VMWare. It wasn’t simple process, so I decided to share this experience. I was following this article. Here is an outline:

  1. Download and install VMWare Workstation. But to do that, you need to disable Hyper-V first.
  2. Download VMWare unlocker and run windows/install.cmd script. It allows to choose Mac OS X system during VM creation later on.
  3. Convert Mac OS X image (Mountain Lion in my case) from .dmg to .iso (using dmg2img).
  4. Create VM for Mac OS X and choose created Mac OS X .iso file in new VM settings -> hardware -> CD/DVD (SATA) -> Use ISO image file
  5. Run Virtual Machine and install Mac OS X (described in mentioned article).
  6. Install VMWare tools (also described in mentioned article).

Once Mac OS X is installed and running I updated Mountain Lion to Mavericks. That was easy and went smoothly. Additionally I recommend to do following:

  1. Enable shared folders (they are located in /Volumes/VMWare Shared Folders/NAME_OF_FOLDER)
  2. Install TotalFinder
  3. Install iTerm 2
  4. Install Witch
  5. Install SublimeText 3
  6. Install Xcode (not only for iOS development, it contains e.g. gcc compiler)

Linux (Ubuntu) installation is much easier. You just download Ubuntu iso and create VM on VMWare workstation using downloaded .iso file. That’s it.

My Pomidoro Windows 8 app is getting famous

Over a year ago I created simple Windows 8 app: Pomidoro (the name ‘Pomodoro’ was already taken at the Windows Store). And yes, it is for applying The Pomodoro Technique. I published it to the Windows Store on January 7, 2013.

Pomidoro screenshot

The reason I created this app, was to learn Windows 8 Metro apps development.

From time to time I receive e-mails that my app got some third party award or was reviewed by some website I have never heard about.

A few weeks ago I received e-mail from Best Windows 8 Apps. My app received Editor’s pick award:

Pomidoro Editor's pick award

A few days ago I received e-mail from AppFeds. They states, that they are tracking 116,642 apps. Windows 8 Store contains over 144,739 (source). Now, my app is 579/673 in the productivity category.

Pomidoro Windows 8 app in Ranking in Productivity

Pomidoro Windows 8 app in Top Free Ranking in Productivity

I checked how many productivity apps they have and I was a little bit surprised. They have 673 apps in category Productivity. How is this possible that my app was ranked 958 in January 31? Did they have more apps or they are just lying? First warning about credibility of their website.

EDIT (after clarification from AppFeds, see comment): They have more than 2800 apps in category Productivity and almost 700 of them are well received. My app was 958 in January, now is 674. Yesterday (before the comment from AppFeds was posted), my app was 557.

Pomidoro ranking in productivity March 12, 2014

But, in the same time, my app is in page 38, when I sort Productivity apps, by ranking (with ‘Well Received’ filter off). There is 10 apps per page, which means my app is in top 380(?) Why there is a difference between the list and above chart? Maybe guys from AppFeds can explain that as well? [End Of Edit]

Yesterday I received another e-mail. It made me to create this post. The e-mail was from I Love Free Software:

Hi jj09 team,

I am Ubaidullah from We recently reviewed Pomidoro on our website here:

We are a popular tech website and get hundreds of thousands of visitors from over 150 countries around the world.

It would be great if you could add a link to the review on your website. This would tell your visitors that we have reviewed your app as one of the best free app available (and that would add up to your credibility as well).

I have attached a badge with this mail which you can flaunt on your website, and link that to the review. Alternatively, you can just add this code:

<a href=”” title=”Free Software” ><img border=”0″ src=””/></a>

Feel free to get back to me with any questions.

Have Fun,

Ubaidullah Khan
Collaboration Manager

I checked this review. Doesn’t look like a simple scam. It is neither high quality review. The cool thing is my app is 1st of 4 best Pomodoro apps 🙂 This is the badge from them:

Pomidoro - I love free software reviewed 5 Star

* Of course I didn’t paste link provided by them. The picture is stored on my server for security reasons.

Is that means my tiny app is good? Maybe average Windows Store apps are not very high quality (if app created within one day can be better than them)? Or maybe there are people who trying to get their websites popular, by scaming Windows Apps’s creators? I think the last reason is the most likely 🙂

Now, let’s look at the most accurate statistics – Windows Store:

Pomidoro Windows Store stats

The problem here is following: how can I check how good my app is? The best way to do that is compare it with other apps. But how? I was trying to find some Apps rankings on Windows Store websites and I didn’t find any. Maybe I am not good google user. I found some ranking on Microsoft Store for Windows Phone (using Bing), but not for Windows 8.

I know, I am feeding scammers by linking these third party websites here. On the other had, some of them (e.g. this or that) have better UX than Windows Store websites. I spent 10 minutes trying to find Windows Store Apps rankings online and I failed. I know you can sort Apps in Windows Store by popularity, but why it is not available online? In the same time, third party websites like AppFeds have pretty nice and clear UX for Apps Catalogs. Their data may be not accurate, but the UI is nice. Maybe guys from Microsoft should think about something like that?

Update to Windows 8.1 from Windows 8

Before you decide to upgrade your Windows 8 to 8.1, you should be aware of some issues/changes.

To begin with, it is not very obvious and easy to find a way, to avoid using Microsoft Account. Fortunately, Scott Hanselman described it in his blog, in his post How to sign into Windows 8 or 8.1 without a Microsoft account – make a local user.

Another issue is SkyDrive. If you are not using it, then you do not need to worry. But if you do (like me) then be aware that now it is integrated with Windows 8.1. You are not able to use SkyDrive app like in Windows 8. What is more: you need to sign in with Microsoft Account on Windows 8.1, to be able to use SkyDrive. In the recent version of SkyDrive, Microsoft introduced “smart files”. It distinguish two types of files: online-only (not stored on your hard drive and available when you are connected to the Internet) and offline (old-style files, can be used when you are offline and will be synced once you get online). Default status of new created file is online-only. You need to change it if you want to use files in the old-way (offline). There are two ways to do that. First: go to SkyDrive app and mark file/directory you want to make offline (by right click) and click “Make offline” in app bar:

SkyDrive - make offline

Second way is go to SkyDrive settings and set “Access all files offline” to “On”:

SkyDrive - access all files offline

You can find more details about “smart files” here.

All above issues are fixable. However there are a few things, which cannot be solved (so far). I have ThinkPad X220 ([email protected], 8GB RAM, 160GB SSD) and I did a system upgrade from Win8 to Win8.1. Since then, the performance is a little bit worse. Additionally, I have two monitors connected through VGA and DisplayPort. The second monitor is all gray right after system boot. I need to click WIN+D to get the desktop. I do not have this issue on my PC where I installed Win 8.1 from scratch.

I use PowerShell as my default command line. There is a weird issue with Lucidia Console font on Windows 8.1. You cannot set it as default font. It is not a huge concern, because the Consolas works fine, but I cannot use Lucidia Console (which I like better). More about this issue here.

Now, let’s look at the bright side of life. My favorite Windows 8.1 feature is “search everywhere”. You do not need to think whether you want to search programs (WIN+Q), settings (WIN+W) or files (WIN+F). However, Everything Search Engine is still the best for searching files.

I like the Windows button too. After right-click, you have the same menu which you get with WIN+X. Furthermore, there are options shutdown/restart/sleep there. It is easier and faster accessible than “Mouse to right-bottom corner of screen”->Settings->Power->Shut down.

Another nice feature is the adjustable size of tiles:

Windows8.1 - adjustable tiles

To learn about other new features I recommend Scott Hanselman’s videos about new features in Windows 8.1. He is showing how to be productive on Windows 8.1 and how to take advantage of key shortcuts.

By the way: Happy New Year 2014!

Happy New Year 2014