A few words about mobile apps

by Dmitry Kirsanov 30. April 2019 11:28

Recently I analysed logs of some of my mobile apps, mostly enterprise with backend web services. And some thoughts that result from it are well worth sharing. That mainly concerns architects and developers of corporate apps, rather than game or standalone apps – network-related problems are harder to solve, as you don’t control the environment.

More...

Continuous Integration with Team Foundation Server

by Dmitry Kirsanov 12. September 2013 09:00

Team Foundation Server logo

Continuous Integration is extremely important part of software development process, but is also the least used at the same time. Even at relatively big software shops, the continuous integration usually is something, that everyone heard of, but that’s it.

Among all the things you can do to shift the focus of your software developers to what they really have to do instead of what they have to do now, the continuous integration is perhaps the most rewarding. More...

My First Application for Windows Phone 8

by Dmitry Kirsanov 1. September 2013 08:33

It finally happened - I am releasing my first application for Windows Phone 8. And Windows Phone 7.1, for a change. Taking into account the average (in all meanings of that word) quality of applications in Windows Phone Store, I should be proud of myself.

If, by chance, you own a Windows Phone device, and in need of a currency converter for Windows Phone, I highly recommend this app, as it’s the most advanced one in the store at the moment, and will become even more useful in time.

Here are the few images of it that you can also see at the store:

wxga1 wxga2 wxga3 wxga4


I really like how it looks and works so far. Planning to release its Windows 8 analogue in a few days.

If you are planning to give it a try, let me know what you think and what else you’d like to see in it. Your feedback is important!

Introducing Prerequisit.es

by Dmitry Kirsanov 9. June 2013 22:00

A few weeks ago I had to install very old software on very old server. And it turned out, that a few libraries for Visual Basic 6 were not found anywhere in the net. The company which made them doesn’t exist for many years, their website was abandoned and purchased by squatters since then. There were some binaries posted at some ancient pages, but most of them led to 404 (file not found) and the authority of the files that I managed to find, couldn’t be verified. I mean – I wouldn’t install such file at production server.

And if you think that such ill fate is only for small and unknown companies – you couldn’t be farther from truth. One of such companies is Sheridan, if you remember such name. They were quite famous in the era of Visual Basic 4, 5 and 6. But the point is – any binary of any company can be virtually lost or extremely hard to find in 10 years from now – at least the specific version of it.

That’s how I came with the

Idea

What if, just like the NuGet Package Manager, we would be able to get the binaries from a simple and never changing link, and be sure that this file is not infected and won’t disappear?

More...

Design Language is not Design

by Dmitry Kirsanov 7. June 2013 19:14

Last year I visited event at Dublin’s Aviva stadium, where Microsoft’s principal researcher at Microsoft Research, Bill Buxton, presented a keynote about design. Microsoft Windows Apps team was generous enough to share this video with the world, and I highly recommend it to everyone who wants to understand the concepts and reasons behind the design shift we experience today.

It’s almost 90 minutes, but they might well worth it, despite the quality.

Bill Buxton–Design Language is not Design, keynote at Aviva Stadium, Dublin

SQL Bits: 8 Most Important New Features In SQL Server 2012

by Dmitry Kirsanov 15. February 2013 23:00

SQL Server 2012

If you are developer, then you work with relational databases as well. And if you work in a Windows world, most likely your system of choice is Microsoft SQL Server.

With every new DBMS release we find something that changes the way we solve common problems in new solutions. SQL Server 2012 is no exception.

In SQL Server 2012, instead of just enhancing the productivity and robustness of the server, Microsoft solved a number of architectural problems we previously had to deal with in our applications when working with SQL Server.

Problems like saving files in databases, load balancing database clusters and simple restoration of data, finally got the minimum viable solution, which should only improve with time.

More...

Introduction to Windows 8 Development: XAML Controls

by Dmitry Kirsanov 29. January 2013 03:00

This is the second part of Controls section of my introduction to Windows 8 Development, and today we are going to review the developing of XAML applications for Windows Store. First part is available here.

A little off topic

One of my favorite quotes belongs to Ludwig Mies van der Rohe, and that is – “The God is in the details”. I’ve checked – this was the sixth time I quoted him in my blog, and the first three quotes insist that devil is in details as well. Depends from the details, I guess. And there are many details of both kinds in the ways you develop HTML5 or XAML applications for Windows Store or Windows Phone.

Sometimes it’s pure HTML5, sometimes it’s XAML application with web browser control to display HTML5 contents. Sometimes you have UI preview, and sometimes you have to use external editor, like Blend. Some controls belong to particular technology and have no counterparts in another… So when someone is saying “it’s a matter of style” again, I look like this:Cheshire Cat in Tim Burton's Alice in Wonderland

Because when you are in nights-and-weekends marathon for having your Big Idea project done (or should I say – a marathon-long race?), you could see the difference between technologies, and it’s displayed in form of a price tag, where the currency is time.

There are few things that could buy you some time. Your expertise in domain is one of them, and that’s where the difference between technologies matter most. Other things include the value of your brand (if Microsoft or Google would release a copy of your project a few months later, it would be a tough time for you, so their brands could buy them some time and grant market share), the availability of ready made components (elements of the framework, third party controls and libraries) and perhaps some performance boosters like Resharper.

And since I mentioned the competition, maybe you wouldn’t like to publish your work as open-source HTML5 / JavaScript project, but rather as half-compiled XAML/C# one?

More...

Introduction to Windows 8 Development: Working with Controls

by Dmitry Kirsanov 14. January 2013 00:00

Windows 8 everyday controls

One essential part of Windows 8 software development is developing the user interface. Which means – placing right controls in right place, and make them an organic part of overall user experience. And what an exciting topic is that!

In Windows 8, there are only few new controls, but the ones you knew were changed drastically. You can choose either XAML or HTML5 for your application, and among other things, the set of available controls will change, so now you’ll have to master your skills of using more controls than before.

The “same” controls may look the same at the screen, but they are different inside. HTML5 provides you with additional controls specified in HTML5 standard, and you don’t have to worry about multi-browser support (unless you want to keep the certain degree of compatibility, anyway), but the problem is – HTML5 is not covered fully by MSIE 10, which provides you it’s HTML5 engine – the Trident.

We’ll cover both native and 3rd party controls available to you for both XAML and HTML5 applications. For the sake of simplicity, this article will be more about HTML5, while the next one – about XAML controls, and the third part – about general rules and principles of user interface design in Windows 8. Then we’ll cover Windows Phone 8 controls as well.

More...

Introduction to Windows 8 Development: Working with Sensors

by Dmitry Kirsanov 5. January 2013 01:00

Nearly all mobile devices (not necessarily cell phones, but anything that’s mobile enough) these days have sensors. And that will be our topic for today.

By the way, the way the term “mobile” is used today, reminds me an old anecdote with lady asking an IT guy, who tried to explain the difference between floppy disk and hard disk, whether that floppy disk isn’t hard enough for him. So, let’s settle on the definition that mobile devices are not stationery.

As we found previously, Windows 8 supports many platforms, and each platform has it’s own sensors, and new sensors are invented and need to be supported by OS.

Also, you may find out that your mobile device has more sensors than listed in your device specs. For instance, you may enjoy such sensors as compass and inclinometer, even though you have no such hardware in your device, and that’s because some sensors are “fusion”, or “virtual” – i.e. their data are results of computational analysis of data from other, “real” or “raw” sensors.

More...

Introduction to Windows 8 App Development: HTML5 or XAML?

by Dmitry Kirsanov 30. December 2012 07:19

As you, perhaps, already know, in Windows 8 you can develop Windows Store applications by using one of 3 ways:

MetroLanguageProjections

It’s either C++ native application using DirectX, or C# / VB .NET application using XAML, or HTML5 / CSS3 / JavaScript application.

Although Microsoft says that it’s more a matter of style, there are some advantages and disadvantages in using each of these methods and we are going to discuss them now.

As you know, Windows 8 is the first Microsoft’s operating system whose kernel works on servers, workstations, tablets and even mobile phones, which means that it supports a lot of scenarios beyond the scope of any single platform. Windows 8 shares it’s kernel with Windows Server 2012 (servers), Windows RT (ARM based tablets) and Windows Phone 8 (mobile phones), but fortunately you can’t build application that would work on each platform without changes. This reminds me Linux (shares kernel with Android) and MacOS (shares kernel with iOS) – even though at low level it’s the same OS, what’s stands on the shoulders of that kernel is what makes real difference. As Ludwig Mies van der Rohe said, “the God is in the details”.

More...