Introduction
Yet another tool that helps you to launch your favorite applications. I also like Launchy or the RocketDock, but I wanted to have something simple where I can access my most used apps with one click.
You can access the application by clicking the icon in the notification area of the task bar.
Using the Code
The app itself is really simple. I use a small domain model consisting of two classes: One class to represent the categories (like Office, Development, etc.) and another which is composed inside the categories and represent the shortcuts. All this is accessible by a context object which uses a change tracking and persistence framework and XML files as backend.
The synchronization between model and UI is completely done by databinding: There are two nested items controls: One for the category and the nested one for the shortcuts. The logical representation of the application state and the functionalities are aggregated in the MainViewModel
.
A "goodie" is that each link is surrounded by a color which is the average of the icon color (implemented in the AmbilightConverter
).
Points of Interest
I learned something interesting about usability which I never realized before: I mentioned that if you want to access the app, you have to click the notify icon - which is quite small, at least smaller than the start button of the start menu. You have to "concentrate" a lot if you want to hit the icon - it's MUCH harder than hitting the start button. Even if the start button is bigger, it's not _so_ much bigger than a notify icon - WRONG! Then I realized that the start button is indefinitely big, because it goes beyond the corners of your screen, so you just have to push your mouse in the corner of your screen - and you will hit it automatically! So if you have an item which is very important and must be very easily accessible, think about placing it in one of your corners!
Open Issues
There is no way of extending the application externally. Right now, we can just run shortcuts. It could be nice having a mechanism that enabled you to implement a different behavior for the shortcuts, e.g. opening another menu, etc.
Maybe it would be nice replacing the start menu with this, which I did not do yet. Or implementing a hot key mechanism.
Extracting the Filesystem Icons
For this task, I used a nice implementation from vbAccelerator which saved me a lot of work. The licence can be found here.
Have fun!
History
- 1st June, 2009: Initial post