Donnerstag, 28. Juli 2011

JIRA fails to startup after first restart?

Every time I installed JIRA on one of my windows machines it just worked fine until the first restart. When booting up JIRA for the second time it fails showing up a JIRALockedError.

Diving into the file system resolves the problem. When JIRA starts up its locking for a file called .jira-home.lock in %ProgramFiles%\Atlassian\Application Data\JIRA folder to check if there is a second instance is running and using the files. If not it creates the file and proceeds to get executed. But naturally there is no second JIRA instance running on my machine, so why this error occure?


JIRA lacks of permissions to the database folder.
Windows 7 does not allow the current user and of course not an application to perform modifications within the %ProgramFiles% directories even if they belong to the application itself. So JIRA can not create the .jira-home.lock file an assumes that the directory is locked by an other instance.

So JIRA must be allowed to be able to create this file. To achieve this it needs Modify permission at least for the folder %ProgramFiles%\Atlassian\Application Data\JIRA. But if you startup JIRA again (and using the default in-memory database) it will stop working again because of another error. Thats because JIRA needs permissions for an additional folder containing the database stuff.

Finally the easiest way to get JIRA running is to grant Full Control for the MACHINE\Users group to the %ProgramFiles%\Atlassian folder. You should do this only for trial purposes.

Freitag, 1. Juli 2011

Windows Phone 7 - Touch reactivity

Since I have my Windows Phone 7 I encountered some differences on how controls react to contact with my fingers. There are a lot of places where I really like how the controls behavior. For example there is the call history containing my recent outgoing an incoming calls. If I touch one of the items it fades grey and gets a little bit smaller than before. To me this behavior seems very natural and I can see instantly that I hit the item with my finger. I think its very important to see instantly what the action I performed to the screen caused, especially in a touchscreen environment where it is a lot harder to hit a small control than in an environment where a mouse is used.

Things are getting a step further in the Windows Phone 7 e-mail client. In the e-mail client the "hitting-experience" feels even more natural since there is some 3-dimensional transform be performed to the item you are hitting. Depending on the location you are hitting the item it will rotate around a different axis. This feels more like you are physically hitting the item and pushing it down.

Both, the first and the second technique produce an instant visual feedback to the user before further actions e.g. a page transition follows. Because further actions sometimes has some lag due for example calling a web service the following page doesnt show up right after you touched the item. If the item does not support a transition when the user touchs it he may will be confused because he thinks something should happen, but actually nothing happens due lag. Maybe the user thinks he doesnt hit the button an tries again. So now, if the buttons reacts instantly to the user input, the user can notice the transform and know that the application received his input.

But thats exactly what some Apps including the Facebook App or Twitter App are doing wrong. Touching a tweet or hitting a friends Facebook status does not raise any visual feedback, followed by some lag before the page transition. Especially within the Facebook App with its many small links you dont actually know whats touchable due lack of visual feedback and you dont know if you hit the small link or if you have to try again. These Apps would be great if they are becoming more natural like the native "Apps".