Starting open source

At my current gig, it is an outright chore to get a telephone number of an employee you want to call. There are actually two ways to go about doing this task. You can open Lotus Notes client, find an news-desk application, open that, locate address book document, open the document, open excel file and then search for a person. You can also install a 3rd party application that works or not (depends on your PC configuration), remember in which department that person is employed and then look through all numbers to find the person. Granted, second way is faster, but for some odd reason, the application does not work on my PC. At all. So every time I want to find a person to call (and that is a lot of time, as I forget phone numbers constantly), it takes about 2 minutes to get it done.

Finally, I had enough of that, and took some time to write a simple  command line app that finds me all telephone numbers for a Active directory users whose names contain searched string. Got it done in an hour or so. Then, I thought: “Hmm, if I have this problem, then also some other IT guys must have too”. So, I distributed it and instantly got a moan about it being a command line application. So, it took me another 30 minutes of my spare time, to create a WPF based GUI application for Windows. Then, I also thought: “For years now, I have been looking for excuse to start an open source project, but I do not have the time to commit to an existing one. This would be a great opportunity!”

So, here you go. Entire code is posted online at GitHub. Everyone is more than welcome to contribute.

Creating meeting request in Lotus Notes from .NET

At my present gig, there is this .NET web application for scheduling and requesting approvals for vacation and other absences, that I wrote two years ago. The application gets a bit of an upgrade from time to time, so that it runs smoothly and so that we improve user experience. But there was one thing, that I really missed which we had at previous gig. At previous gig, whenever your vacation request was approved, you got this nice meeting request in your Lotus Notes mailbox, which you accepted and “pooof”, the calendar entry was created. This was good for two things. One was, that you actually got reminded that you are not at work on said day, and thus prevented you to make any false promises. Second one was that anyone scheduling a meeting saw that you were absent and could schedule it when you were at work.

Back to present day. I want our application to have that feature! And as much as it is piece of cake to send a Lotus Notes meeting request inside Lotus Notes environment, you get into all sorts of trouble in a mixed Lotus Notes and .NET environment like we do at my present gig. Now, if you do a search for how to send a Lotus Notes meeting request from .NET, you will get plenty of hits where people use Lotus Notes COM objects to connect to mail database, generate a notes document and send it. This was useless to my problem, because to access user’s mailbox and create a meeting request, you need to run application on user’s computer and get his password. Somehow. Also, we are inclining to leave Lotus Notes for good, so any day now, we might switch to Exchange server and as god is my witness, I have no desire to write same code twice.

[Read the rest of this entry...]

Happy New Year!

I wish you all a belated merry Christmas and a really happy, healthy and successful New Year 2014.

For this blog, I only wish I had inspiration, time and energy to write more posts than in 2013. However, as is with most new year’s resolutions, this one will most likely fail as well.

Appearance matters

You worked on a project for months. You made kazillion overtime hours to implement yet another feature that made it look just a little bit more like a rocket. It is your baby. You are proud of it. It cannot be crashed by a meteorite hitting Earth, it runs faster than the speed of light and that on a 10 year old server with 512MB of RAM and to top it all it does everything customer wanted and more. You are ready, project is ready, stars are aligned correctly. All is well. And then your peers ask you to demo the thing. You show up, load the home page and your peers go: “You said you had it done! This is nowhere near done. This is at best half finished!”

[Read the rest of this entry...]

Quick tip: Telerik Reporting and export to PowerPoint

For a project of mine, I needed to export Telerik report to PDF, Excel and Powerpoint. Now, first two options you get out-of-the-box when using Telerik.Reporting dll file. The third one, however, is a bit more tricky. Setting a format to PTTX in RenderReport method of ReportProcessor will return rendering exception. Quick Google search led me to Telerik help page, where I found out that to use PPTX as output format, I also need to use OpenXMLReporting extension for Telerik.Reporting. Thankfully, extension is included with Telerik Reporting product.

I put dll to my project and added reference to it and after solution rebuild, I tried to export to PowerPoint format again. Same failure. After some more googling, I have found link to support ticket, where it further explains that one needs an OpenXML SDK 2.0 for OpenXMLRendering extension to work. OpenXML SDK 2.0 is not included in Telerik Reporting and must be downloaded from the internet. I installed the SDK, copied dll to my project and added reference to it. Another rebuild and… it worked.

So, to keep long story short. To export Telerik report to PowerPoint format, you will need:

  • OpenXMLReporting extension that you can find in Telerik Reporting installation directory.
  • OpenXML SDK 2.0 that you can find here.

Why Selected event handling should be banned

So… Lately, admins of a web application I wrote several years ago got my attention for claiming the app getting slow. Now, as I, as a regular user of the same app, never noticed any performance issues, I decided to investigate. First problem I encountered was that integration and testing environment had way too little data to be presentable. A talk with our DBA sorted that out for me. Next, it was time for performance testing and locating the problematic code section.

[Read the rest of this entry...]

Bye, bye Chrome!

As of a week ago, my computers are clean of Google Chrome. Why would I get rid of fastest browser that everyone is just ga-ga about?

Well, let me tell you a little story. My home computer is a thing of evolution. I bought it new like 6 years ago and changed parts that died or needed upgrade. One thing that stayed throughout all evolution steps is, believe it or not, a floppy disk unit. To be perfectly honest, I really cannot tell you why. I haven’t used a floppy disk in ages. I cannot even remember where I have stored remaining floppy disks. One good thing about floppy drives (and the most annoying one) is that floppy drive cannot tell if a disk is in it, unless it tries to read of it. Hence a nice noise.

[Read the rest of this entry...]

Search engine optimization (SEO)

Recently, a good friend of mine asked me to check why his website is not attracting as many users as he expected. To be honest, he didn’t expect much, but he still expected more than what his website attracted. He also pointed out that the website gets poor ratings in search engines.  I took a look at his website and I saw that it would also need a design and content improvement. Non-the-less, the site is content heavy and it seems to contain all keywords that searches failed on. And by fail, I mean that his site was found somewhere on 15th page of Google search. After seeing this, design and content improvement got pushed down on priority scale. It was time for some search engine optimization (SEO).

[Read the rest of this entry...]

Re-joining 21st century

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 :)

Conference FFWD.PRO 2013

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.

[Read the rest of this entry...]