After a short stint at Twitter in its early days, we are now re-joining the 21st century. So, you can also follow as on @LotusHints . Yeay
Yesterday, I visited Zagreb for their annual FFWD.PRO conference. Wanting to know more about UX design, the company decided it would be beneficial to me and the company, if I went. So I did and I must say it was probably best conference I have experienced thus far. Sure, organization could be a tad better. Sure, some speakers should be checked for their English language speaking capabilities prior the conference, but all in all, the conference rocked.
I specially liked lectures about sketching and UX design process (kudos to: Eva-Lotta Lamm, Janko Jovanović and Milica Jovanović), but others were great as well. Being a developer and not a designer, I had fears the conference will be too designer oriented. I came back with hell of a lot knowledge of UX process, design psychology and design responsiveness and am now looking at how to implement some process principles at the place I work. Hence, I highly recommend visiting FFWD.PRO next year.
If you are using Telerik controls and you decide that it would be nice to have jQuery making an ajax call to your WCF service, make sure that you remove all instances of RadCompression http module from web.config (as described here) file or weird things will start to happen.
In my case, WCF service should return data in json format. However, it only returned only a small portion of result (about 30 characters), which resulted in jQuery ajax call failure as returned data was not json format any more. After entire day of obsessive googling, I came upon this article which led to the final solution: removing dang RadCompression http module form web.config.
At work we are are constantly using Telerik components. To be honest, sometimes we also use them, where a plain ASP.NET control would be just as fine. Anyway, we use RadComboBox control as auto-complete fields for various search filters etc. Normally, we have RadComboBox connected to regular .NET Web service and it works like a charm. But, to make things a little less dull, I decided to write a WCF service and connect it to RadComboBox.
First, I checked if RadComboBox supports WCF services and it appears it does, as long as it is a Ajax-enabled WCF service. Second, I want my WCF service to be part of existing web application and not a standalone project as no other project will use it. So, I created a simple Ajax-enabled WCF service with one method which returned exactly the same string for every call. Nothing fancy. I connected WCF to RadComboBox, and it worked like a charm.
However, then I remembered that our test and production servers enforce SSL encryption, which means that by default my application will run on https. I thought it would be no problem, but there is no way that one can configure RadComboBox and Ajax-enabled WCF service to connect via https. To be honest, this is not fault of RadComboBox control. It is due to the fact that Ajax-enabled WCF service must use webHttpBinding or it doesn’t work. Well it does, but it returns an encoded blob. Anyway, with hours spent on fiddling with configurations of both app and IIS, I finally gave up and created a plain old regular .NET Web service. It may not be as fancy, or interesting, but it at least works.
In Part 1 of the series, we have seen how we can hide the application and display an icon in system tray. In Part 2 we have implemented a redisplay of application window upon double click on system tray icon. In Part 3, we will see how we can display a popup menu on left and right click on system tray icon without disturbing double click behaviour.
After years of abuse, my Logitech UltraX keyboard decided to die and forced me to find a replacement. As I always have been Logitech man when keyboards and mice are concerned (despite those few years in 90s, when I enjoyed Cherry keyboard) and I was really really pleased with UltraX keyboard, I went on a quest to find a replacement.
In Part 1 of the series, we have seen how we can hide the application and display an icon in system tray. In Part 2 we will build on Part 1 example to see how we can implement a redisplay of application window upon double click on system tray icon. To do that, we need to create a message that tray icon will report to main application and check it for events.
I used to code in C++ a lot. And I mean, a lot. For instance, at previous gig, I created an application that measures bandwidth between multiple clients and a server. Interesting project. Specially since three quarters down that road, I had to port it from Windows platform to Linux. But that is entirely different story. However, as years went by, there was less and less things I found comfortable doing in C++. Mostly because (and I know this sounds as a heresy) C# has become my favourite language. But that is as well another story.
Lately, though, I decided to rekindle my C++ knowledge. As a result, you will be seeing some of my C++ work up here. My first project, RGB to Hex converter, was presented online about a month ago. Now I decided to go for something Windows based and created an empty Win32 application that can hide to tray and then redisplay again. Part 1 will cover hiding application and displaying icon in system tray.
In my line of work (building intranet business apps), I too commonly encounter a problem of converting RGB numbers to hex value. Sure, I could just use rgb notation, but I prefer a hex one, as it is easier on the eyes and makes CSS shorter. My solution, usually was, to either use a calculator to convert RGB to hex or search the web for an online converter. As first chance makes you convert each number separately, making it utterly slow and painful process, the second is of no use, when there is no internet connection around.
As I had a couple of minutes of spare time, I created a small windows command line program that does exactly that. It takes RGB value as a command line parameter and convert it to hex.
> rgb2hex 100 55 234
Hex value: #6437ea
You can download it from here.
There is also source code available. You can download it using git:
> git pull https://email@example.com/jkovalenkov/rgb2hex.git.