Bljesak iz prošlosti: .NET simfonija programiranja #knjiga #free

[English summary: a book on .NET I’ve written with a friend 12 years ago is now free for download.]

Net PRPrije dvanaest godina smo Luka Abrus i ja zajedno napisali knjigu. Zvala se “Microsoft .NET – simfonija programiranja”, uključivala je DVD s Visual Studijem 2003 i bez neke lažne skromnosti – fakat je bila zakon. Svih ovih godina nebrojeno puta nam se dogodilo da nas netko u razgovoru podsjeti na tu knjigu i kaže koliko mu je pomogla u programerskim počecima. I to ljudi koji su danas zaista odlični programeri! Baš smo nekako ponosni na to.

Luki to čak i nije bila prva knjiga. Napisao je prije jednu jednako veliku o razvoju web-stranica, te manju o Dreamweaveru. I nemam pojma što mu je trebala i ta treća, jer se sjećam da je meni i ta polovica bila prilično naporna. Ali gušt. Jedna od onih stvari što mi je izuzetno drago da sam napravio u životu, no sumnjam da bih se u to upustio ponovo. (A opet, čujem da je penzija prilično dosadna… :-)). Sve u svemu – ako vam dođe prilika za napisati knjigu, napravite to. Osjećaj je fenomenalan.

Enivej, nismo tu zbog prisjećanja – tu smo zato što je dvanaest godina dovoljno dugo vrijeme za nešto komercijalno (knjiga je inače koštala 349 kn) proglasimo besplatnim te podijelimo šakom i kapom svima zainteresiranima. Naravno, hvala Bugovcima što su nam to omogućili, a posebno Draganu Petricu, uredniku cijele serije koji je iz svog tajnog digitalnog skrovišta izvukao PDF-ove knjige.

Po mojoj odokativnoj procijeni – cca 40% knjige je i danas aktualno, posebno ovi prvi dijelovi o konceptima programiranja, tako da nije u potpunosti samo podsjetnik na povijest, već možda može nekome biti i od koristi.

Napomena – kazalo knjige u pojedinačnim PDF-ovima je greškom iz druge knjige u seriji (o razvoju weba), pa nek vas ne zbuni.


Analog Clock Tile redone as Universal Windows Platform app

wp_ss_20160220_0001Analog Clock Tile, my most popular Windows Phone app has reached its fourth version. It’s completely redone as a Universal Windows Platform app and now it can run on all devices running Windows 10. But that’s not a significant thing per se, there had been phone and desktop versions before – the important thing is that Microsoft has significantly improved Tile API in Windows 10 and I was able to make some very important improvements in the app.

Without any doubt, the worst part of the app was downloading clock faces. Downloads were huge, installation was slow… it lasted for minutes. The largest clock in the best resolution was 62 MB. Yeah, I know.

In the new version of the app, thanks to the improvements in the platform, the biggest download has a bit less than 3 MB. And the maximum supported resolution is 66% bigger!

This is not only the bandwidth thing – app uses less storage than the previous version (and you can delete clock faces you don’t use).

Plus, you can download multiple clock faces at the same time. The app is also much smarter, so it will download only parts of the clock face, if you have downloaded other parts before. Saves both bandwidth and storage.

wp_ss_20160220_0009This big change required me to redone all clock faces from the scratch, but that’s something I really enjoyed to do. A few of them didn’t make it to the new version (based on usage stats), but I have a few more that you’ll certainly like (seven of them, to be exact)!

If you have a Windows device (although it does most sense on a phone), go ahead and download it now! All clock faces are 100% free, and always will be!

Official release notes for version 4:

  • full Windows 10 support: phones, tablets, desktops
  • uses MUCH less bandwidth and storage for clock faces
  • download multiple clock faces at the same time
  • improved support for high resolution devices
  • no need to repin the tile after title change
  • brand new clock faces
  • brand new user interface

What’s the actual screen resolution when developing UWP apps for Windows 10 for Phones?

Several years ago, when Windows Phone appeared, we were all targeting 480×800 resolution. We had exactly 480 pixels of width and 800 pixels of height for our user interface. Then with Windows Phone 8 we got three more resolutions, but in practice – we had only two. The “old” one, and one slightly taller. So we were all designing our apps for 480×800, having in mind that some phones may have 53 pixels more in height, so we had to allow some element on the screen to use that extra height if necessary. Everything else was fixed automatically by scaling.

In Windows Phone 8.1 WinRT apps (not Silverlight) we had a smallest width of 384 pixels, so we had to multiply our sizes from Windows Phone Silverlight app markup by 0.8. Not all phones had that width, that was only the smallest one possible, to we had to have an element (or two) that will fill the space up to 600 pixels in width. That’s almost twice as much!

On Windows 10 smallest view resolution is even lower – it’s 320 x 533 pixels, so you’ll need to start with that and be prepared to scale and grow in both directions. The old default will have a scale of 150, so if you’re converting an old Windows Phone Silverlight app, just divide everything with 1.5.

Scale and the actual resolution depend on many different factors, and I won’t go into details here (read more on MSDN if interested). The important thing is – actual resolution is the one you use in XAML. Physical resolution is the one that will be displayed on screen. Since there are no phones with physical resolution of 320 x 533, that means that your UI will always be scaled, at least 150%. Any image you include at 100% scale will be blurry and ugly. So the least you can do is to prepare bitmap images in higher resolution (for example 2x bigger than size values you use in XAML). If you want to do more – prepare your images in multiple resolutions, but for the best results – simply use vectors (fonts or XAML). And vote here so Microsoft adds support for SVG elements inside XAML. We really need that.

Screen size Resolution Physical Size Actual Size Scale
4” WVGA 480 x 800 320 x 533.33 150%
4.5” WXGA 768 x 1280 341.33 x 568.89 225%
5” 720p 720 x 1280 360 x 640 200%
6” 1080p 1080 x 1920 432 x 768 250%


WVGA 4inch

WXGA 4.5inch

720p 5inch

1080p 6inch


DVLUP likes so much it’ll give you 400 points for using it!

Screenshot_13My usually helps you beta test your apps. And it’s doing a great job. But, it also offers some very nice perks for its beloved users that bring even more value to the deal. So, not only it’s 100% free, you can actually get something just for using it – 50 US$ from AdDuplex, 1500 clicks on myAppFree and valuable app promotion from AdDeals Network.

But, during the month of June (until June 28th, to be exact) you can also get 400 points in a Challenge from DVLUP, Microsoft’s own reward program for Windows (Phone) developers. All you have to do is have at least ten active beta testers for your updated beta app, and the points are yours! You can later exchange that points for rewards.

I know you want to do beta testing for your app, because that’s important for your app’s health and your good night’s sleep, and you would do it with or without those nice benefits. But, since they are already on the table, that motivates you to do it immediately, right? You can start here.

0 partners with AdDeals Network

AppDealsNEWSAdDeals is a performance-based ad network on the Windows Phone platform and provides both monetization and free 1:1 cross-promotion services to the developer community. Their AppDeals app is a very popular Windows Phone app that helps developers promote exclusive deals on apps. So it made a lot of sense to have them as a partner of and offer nice incentives for our developers.

As usual, free coupons are available to all beta apps that have at least ten active beta testers, but this time you can choose between two offers.

1) To be featured on AppDeals as Top News (#1 rank for at least 24 hours)
The only requirement here is to have 4+ stars rating with at least 15 reviews worldwide

AppDealsDEALS2) If you offer some exclusive/special during at least 4 days on AdDeals (free content in your app for AdDeals users, app for free for a limited time etc.), then you’ll receive:

  • your app will appear on AppDeals Top Deals page, at #2 slot for at least 24 hours
  • 75US$ credit to promote your app as exclusive offer on AdDeals Network, in hundreds of participating Windows Phone apps

For this offer, you’ll have to have 4+ stars rating with at least 50 reviews worldwide.

– –

This is the third partnership of this kind, and with ten active beta testers, you can benefit from all three! This one, AdDuplex and myAppFree. (Some fancy marketing guys would sum the dollar amount of all offers here, but the important thing is – you’ll get more downloads.)

If you’re a Windows Phone developer, start using now – beta testing makes your app better, ratings will be higher – and it’s really easy! As of today, 9378 beta testers have applied for at least one app on our service!

If you are already using and have more than ten active beta testers, you can grab your coupons right away, just go to your apps and open the app page!


Analog Clock Tile now supports time zones!

Analog Clock Tile app is finally useful! A new, huge update brought a lot of new features, but the most important one is time zones support! Yes, that means that you can pin a tile to show time in different time zone. Travelers, international workers, folks in long-distance relationship and clock lovers – that’s for you! Just take a look at your start screen and you’ll know what time is it in another part of the globe!

That basically means that you’ll have multiple clock tiles on your start screen (new feature!). In order to know what clock tells what time, you can use different clock faces. Or different background colors (new feature!). Or even put a title on a tile (new feature!).

But that’s not all – there are a lot of improvements under the hood. The most important are memory and bandwidth optimizations for low-spec phones. That means that downloads are faster and even less resources are used.

Previous version of this app had that infamous “Donate” button. That doesn’t work. Of course, there are a few nice people that appreciate other people’s work and do donate, but the total amount received is a joke (less than 50US$ during six months). So I’m moving to a new monetization model – selling premium feature. You can pin as many tiles you like, you can change backgrounds and tile titles – but if you want that time zone support (ha!)… please support my work, or at least a cup of tea I’m drinking right now. I don’t expect to get rich from this, but the start is good – I’ve quadrupled the revenue in just five days! Ok, the app was featured on US market and on in that period, so don’t think I’ll be earning 200$ per week. Not even close. But that model obviously works much better than donations. (Of course, all donators will get time zones support for free – just contact me!)

<developers only>
I have to admit – there is a huge bug in the app. It’s not mine, it’s inside the Windows Phone OS and it forces me not to update my app at all. (Luckily, I can add new clock faces without updating the app itself.) The problem is – if the app is updated (to be more precise – if the version number changes), I cannot update tiles made with previous version. At least not every minute, and that’s the very core of a clock on a tile. Old tiles have to be repinned by an user manually. And that sucks.

For developers that need more details – it fails on TileUpdateManager.CreateTileUpdaterForSecondaryTile(tileId); method, throwing “The application identifier provided is invalid” exception. There is no workaround that I know of, and Microsoft promised to fix that in the next major OS version (that’s why I can’t wait Windows 10). That’s why I’ve beta tested this version for three months. On the other hand, if the update occurs, the process of tile repinning I’ve implemented is quite simple, although still partly manual and annoying. We’ll see. Maybe I’ll be able to wait for Windows 10 without an update.
</developers only>

The app is great (average rating is 4.32), and it makes your start screen beautiful. Download it now!

And, by the way – there are three new eggs and bunnies related clock faces inside the app. Take a look!


Analog Clock Tile goes on a holiday

wp_ss_20141205_0001Don’t worry, I’m not announcing the end of the life for my most popular app, I’m writing this blog post to tell you about a special Holiday Collection of analog clocks for your Windows Phone home screen. Take a look at the screenshot on the right and choose your favorite.

Maybe most interesting ones are trees. The first one uses your accent color for ornament balls, and the other uses all Windows Phone accent colors – randomly. That means that you’ll have a newly decorated Christmas tree every minute!

There are also some bug fixes and UI improvements in the app. The most visible one is a donation page. I don’t expect to make a fortune here, but quite a few users asked to donate for the app they love. Thank you in advance!

If you’re power user and you want to test new features first, join the beta program on

If not, enjoy a public version of Analog Clock Tile app on your Windows Phone 8.1 – and – happy holidays!

0’s new partner myAppFree will help you promote your apps

[If you don’t know what is, read this blog post first. In a nutshell – it’s a free service that helps you manage your Windows Phone beta testing.]

wp_ss_20141126_0001People love discounts and free apps. Our new partner, myAppFree knows that. If you have an awesome paid app and want to be promoted inside their popular app, all you have to do is contact myAppFree and set your app price to free for a duration of promotion. That will not get you a lot of money, but you’ll get a lot of users. And that’s sometimes even more important.

There is another way to benefit from myAppFree growing popularity. If you’re a developer that uses to beta test your app (and have more than ten active beta testers), you can get a free 1.500-clicks-coupon that will promote your released (not beta) app, free or paid. That means that you’ll get 1.500 people to be just a click away from installing your app. Will they install, that’s up to you – your screenshots, descriptions, ratings etc. Work on those, make them shine.

I always try out our partners, so I have tried out myAppFree with my Analog Clock Tile app. It works really great, I got a really huge click-through-rate! People use myAppFree app to discover new apps + you’re not limited by number of impressions, but clicks. That means you’re app will be featured there as long as you don’t reach 1.500 clicks.

Since myAppFree promotes only high quality apps, your app must fit a quality criteria: 4+ star rating with minimum of 15 reviews. If you’re working on a brand new app, that means you’ll have to wait a bit to use this coupon, but don’t worry – coupons are valid until the end of year 2015.

But, that’s not all – our AdDuplex 50$ coupon promotion is still active, so once you reach ten active beta testers, you’ll get both coupons, for free!

If you’re a Windows Phone developer, I don’t think you have a choice. Start using now – beta testing helps you make a better app, and beta testing with helps you promote it, too!

If you are already using and have more than ten active beta testers, you can grab your coupons right away, just go to your apps and open the app page!

1 has some really cool new features

Untitled-3This two months, since was launched, were great! A lot of developers are using this beta testing service, and – what’s more important – they give an awesome feedback. It’s really great to work on a product that targets developers – if anybody knows how to give good feedback, it’s them. Developers, we rock!

Of course, for a feedback to be useful, you have to act upon it! So I did. Here is a list of new features that will help developers to make their beta testing better and easier:

  • Send a note. Once a week you as a developer can send a note to all your beta testers. You can use it to ask testers to test a specific feature, to remind them to try new beta version or just to say thanks at the end.
  • Submission feedback. When you forward your submission e-mail message to our system, now it will get back to you immediately to confirm the receipt of the message (the links are send out two hours later, so the Store can propagate changes). This seemed useless to me before, but I got a lot of feedback from confused developers.
  • Auto updating. You don’t have to log in to to get your apps updated – now it’s done automatically every 36 hours. So, if you upload a new version to the Store, it will automatically be retrieved in less than 36 hours.
  • Testing status. Each app can have one of three statuses – testing planned, testing in progress and testing finished. That way testers will know when to expect app updates, and will bother you much less frequent with new testers notifications if your app is in “testing planned” or “testing finished” state.
  • Support e-mail and production App ID. You can (optionally) enter support e-mail address for your app (that will be visible), as well as App ID of public version, so beta testers can compare and use the public version as well.
  • Apps list sorting. The public list of beta apps now can be sorted – you can see a list of freshly updated apps, new apps and the most popular apps in the system.

Hope you like this upgrades and – please – keep your valuable feedback coming.


Analog Clock Tile, second version

promotional-imageI’ve just released a major update to my most popular app called Analog Clock Tile. This app does one thing, and it does it great – it shows a clock (analog, digital, binary…) on a tile and updates it every minute. And that actually works. Maybe it doesn’t sound like a big deal, but I’ve seen many apps trying to do the same thing, without lasting success. I’ve invested a lot of time in optimizing background task that does the job – to be precise, I’ve developed and tested four different approaches, and implemented the best one.

So, what’s new in version number two?

* Support for wide tiles
* Support for extra text on a tile
* One clock face included out of the box
* Added logging
* New UI for selecting clock faces + new clock faces
* You can now change clock face while offline (if already downloaded)
* Activation of already downloaded clock face is now really, really fast
* A bit faster download and first time activation

Download Analog Clock Tile here – it’s 100% free!

That’s all for now, but more features are on their way. If you want to be the first one to try them, apply for a beta test on this awesome Windows Phone beta testing service.