Friday, May 7, 2010

Day 1

Preface to definition of the program

     Last night lecture at physics class was quite slow, so I did some brainstorming on paper and came up with an idea for the program. As I said in "The begging," I was looking for something useful. One thing that always been annoying me working in windows is the repetitive traversal or browsing of folders or directories to access files spread around the computer. Some people like to use special programs like "Explorer" or "Windows Commander" or even in command prompt or shell when working with the file-system, but the thing is when I am not actually working on the computer I like to be in comfort... I like clicking, drag and dropping... easy approaches. Some create tons of shortcuts to folders on their desktop, but I like to keep my desktop clean and nice. So I ended up thinking in dashboard/toolbar style direction. It will be more clear when Ill define it more technically. Yeah and the pic above is the great sketch in my notepad. Now you can tell I'm not and artist.
Definition of the program.

    The program will consist of a main window and a windows tray icon. The main window will allow to drag and drop folders, files, hyperlinks and plain text on it. For any of those it will generate a specific icon. Dashboard window will have a nice toolbar that will allow to create, switch and select tabs/pages.  All tabs and entries are saved. The window itself will be draggabable, resizeable, and what is most important dockable so that the user can attach it to sides of the screen. Clicking on the windows tray icon will show the main window on top of all windows or will hide it.
   So far Ill stick with folders and files only. Clicking on these will open them as if they were links. Also when holding the mouse over the certain part of a folder element it will populate a sub-window with the contents of that folder, similar to how windows Start worked in Windows XP. This behavior should persist for the sub-windows as well.

   The toolbar will have buttons to add add and remove tabs, switch between these, pin/keep on top button and options button which will pop up configuration window. I want to keep the main window as simple as possible.

    Right click on the main window will populate a context menu, something like
  • Add
  • Configure
  • Hide
  • About
  • Quit
    Same kind of(maybe exactly the same) menu will pop up when right clicking the task-bar icon.

   For now Ill stick with creating rather simple interface, but later on I want to make it customizable... For example letting user to customize how many rows or columns of elements they want... list layout or item layout... maybe even allowing them to set it look like the Mac OS dashboard as a option. Also I want to make it skinnable later on.

   One last thing.... the name of the program will be "instaLink"... just cause I want so.

   So the way I want to proceed with this is that first Ill build up the UI(user interface) in WPF(windows presentation foundation), then Ill add the business logic, and then... then Ill try to add all cool customization features. Next post will cover the whole process of building the user interface.

1 comment: