
Introduction
Our life is surrounded by data. For example, your calendar, events, appointments, special dates, current projects, job data, friends, family, books, research, and anything in between. It is getting to point that it is uncontrollable. One cannot finish jobs by their priority because knowledge and data are continuously flowing in. There must be a solution. There is, but it is currently in MSR (Microsoft Research), still being developed. In the mean time, there must be an application to organize data, but in a way that is always accessible. Enter Dashboard in MSN 8, and Side Bar in Longhorn. The only problem is that Dashboard is part of a parent program, and Side Bar is long from materializing, besides in beta groups. Even when Side Bar is released, it still will not be open to third party development. These problems and more were my primary motivations in writing this program.
For now, I only have written panels (or a tile, depending on your preference) that are most commonly used: Stocks, Internet Search, Weather, News, Dictionary, Sports Scores and Messenger contacts. My goal is to develop a tile for every piece of information that would ever be wanted in this format. This is where everyone else come in. Use this as a framework, and then go develop your own panels, ones that more accurately present your interests. Then, go and distribute this program. Don�t just give this to the development community, but give it to your friends, family, and coworkers. Anyone is a worthy candidate for data organization. I mean anyone. For example, say your company likes stocks, but they also need a way for people to easily grab documents over the network. Well, get rid of all the panels except for stocks, and then write your own panel to show and easily enable workers to distribute files over the network. You are not only limited to these panels, or even any of these at all. Write all your own. As I said, the framework is in place. All that is needed is creativity. Then come and post your new panels to this web site and spur more innovation.
New Panels
Enter the programmer
You may be wondering how you can develop you own panels. What you put on the panel is totally up to you. This gives the freedom to accomplish the most challenging presentation. In order to develop an application, all you must do is create a class that inherits from Dashboard.Windows.Forms.CollapsiblePanel, as in such:
public class News : Dashboard.Windows.Forms.CollapsiblePanel
{
}
Inside the class, there are some functions that should be implemented in all panels. For example, a constructor that accepts the variable of type PanelSettings, which will pass the panel variables. Further, there is an override function that is called when the program is exiting, and basically you put any class of data in the PanelSettings.classobject and then the program will automatically take the PanelSettings class and serialize it, unto which it gives it back when the constructor is called. The specific function for saving functions is called PrepareSettingsObject. Examples of constructor and destruction are followed:
public News (PanelSettings ps)
{
Initialize(ps);
}
public override void PrepareSettingsObject()
{
nsc.updateInterval = this.updateInterval;
nsc.rotateSpeed = this.rotateSpeed;
this.SettingsObject = (object) nsc;
}
Besides this, all you need to supply is a small XML file that describes important DLL data, and then it can be installed easily. Here is a sample file called newsinstall.xml which is used to install:
="1.0"
<Dashboard>
<gUID>news1.01</gUID>
<invokeMember>GetPanel</invokeMember>
<name>News</name>
<titleText>News</titleText>
<systemType>Dashboard.Components.News, Components</systemType>
</Dashboard>
The common points of interest are:
GetPanel � A function in the class which returns the class object or this identifier. This function is imperative, or else the panel will not work.
public Dashboard.Windows.Forms.CollapsiblePanel GetPanel ()
{
return this;
}
SystemType � The exact namespace and class of the panel class, including the name of the DLL in which the panel is in. As in this example: Dashboard.Components.News, Components.
Dashboard.Components is the namespace, and News is the class name. Components is the name of the assembly.
Documentation
As of now, there is no supporting text for features or an SDK. But, in time, I plan to write something similar. If you would like to help, please go ahead.
Works Cited
I would graciously like to thank the following:
Feedback
The reason many of Microsoft applications succeed is because the product is supported by the developers. The same holds true; without you, there is no program. Therefore, to make this program work to the greatest benefit, you must make panels. Ones that interest you. I will be developing many more panels and will update this page as they become available, so check back. Further, I would be more than happy to hear feedback concerning the application, bugs, or need-to-be features.
Updates
- 12/10/02
- News item for Health News is fixed
- Stock Reader fixed
- 12/12/02
- Internet search
- Dictionary word of the day
| You must Sign In to use this message board. |
|
|
 |
|
 |
I am trying to diagnose a problem in a project sort of like this and wondered if anyone had a port for vb.net vs2005 of this project
|
| Sign In·View Thread·PermaLink | 2.00/5 |
|
|
|
 |
|
|
 |
|
 |
Also it is possible to simplify drawing in the Panel using .NET inbuilt controls ? That'd greatly speed up development of panels.
Regards
Navin
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
 |
About a year or so ago, I implemented an appbar in Python (check the PyAppBar project at SourceForge -- it manages to blend wxPython and PythonWin). One of the more interesting things I was able to do with this was to add a Python interpreter component, which gave me a nice command line to do quick programming feats.
It strikes me that a similar think could be useful to the programmer crowd. Something like the immediate mode in VS.NET debugging could be implemented, at least, for JScript and VBScript, and other languages using VSA. Add a shared-data object to the environment, and such panels could share data between each other (as I did with PyAppBar).
Congratulations on tackling this project. I was getting annoyed at some of the flakiness of the DesktopSideBar program I was trying out, and about to write my own.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I was wondering how u got MSN Messenger to work.. was there some kinda example code u followed to get it to work like the Appbar example u pointed me too?     
|
| Sign In·View Thread·PermaLink | 2.00/5 |
|
|
|
 |
|
 |
I did not follow any example, but after running a quick search on this site, you could probably get by from loooking at this: http://www.codeproject.com/dotnet/msgaddin.asp
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Hi i was wondering where i could get a Desktop Toolbar docking Example code like used in this INFO.NET bar.. anyone out there willing to post me a link to help me on my way to make a little docking toolbar in c# or VB.NET? thanks         
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
What you are looking for is an appbar, which can be found here: http://www.gotdotnet.com/userarea/keywordsrch.aspx?keyword=AppBar
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Hello. I download your "entire project" panel and like it very much. i live in Portugal and we use temperatures in Celsius and Atmosferic Pressure in hpa. I taked a look in the weather xml and i believe i only have to change tmp=F with tmp=C but i haven't figured out how to change the pannel. does it need to compile? i'm not used to .net framework things...can you help me changing my weather panel to Celsius?
orcas@usa.net
|
| Sign In·View Thread·PermaLink | 2.00/5 |
|
|
|
 |
|
 |
Yes. You are exactly right. I think all you have to do is change the path for the web page with the updated tmp variable, as you did above. Then, all you should have to do is rebuild the solution. Release build would be best if you plan to use it. If this does not work, write back, and I will take another look.
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Thanks for the reply. my problem is exactly that i don't know how to rebuild...i never worked with xml and .net frameworks...can you point me the way? other thing, messenger pannel shows only one contact...don't know why. any clue?
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
The messenger panel loads the contacts that are online when the program starts.
As far as rebuilding. I suppose you are using visual studio.NET. Correct? You should not have to mess with any of the xml files. All you have to do is select the debug menu, then click Start. If you are not using VS.NET, please post back.
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I cannot get the vs7.0 version to save the config file. Am I missing something? I just compiled it sucessfully & added some components, but they dont load again on restart of app.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Daniel,
You may try to go into the directory you are compiling for: release, or debug; and then delete ProgramSettings.xml.
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Impressive works Thanks its really an interesting part of work u provide Furthermore dashbord is an interesting track where opensource lacks so thanks*2

PS: Have u idea on continuation or enhancement
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Well, the UI could certainly use something innovative. But I like the fact that all of the components are split up, and therefore, are independent of the program. I would also like to add a component for every service MSN offers. For example, maybe there could be a phone book lookup panel.
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Do you know this www.memobook.com > notes il allow u to use a fixed frame (independant of the frameset => reusable across site navigation + offline enable mode) i think it will be something simple that could be useful
Here is an example with two files
0.htm: //- beginning of 0.htm <a href='1.htm' target='_search'>launch it</a> //- end of 0.htm
1.htm //- beginning of 1.htm Hello MSN lite //- end of 1.htm
from the search panel, your redirect link to the document window with target='_main'
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
 |
Have you tried loading the project in the latest version of .NET 2003 Beta? VS just crashes trying to load the .SLN file. Don't know if maybe you were using an older 2003 build or what.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I actually have the final beta sitting next to me, but it is not installed. So, yes, I am using the first beta of Evertt. I have no idea what the problem could be. Try loading the pre-Everett build, it should convert it fine. Then, see what happens.
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Why is it developed with .net sdk 1.1, any specific features used in the project. Since Everett is scheduled a long time away sometime the end of first quarter next year.
Cheers Kannan
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Kannan,
When I was first testing my program, I noticed that I needed v1.1 to install on a test machine; which is about the same time I stepped on my own foot. To be honest, I did not want to unistall Everett and revert back to old VS.NET. So, to answer the question: There is no reason why it was written in Everett. There is not one feature as to my knowledge that is not in v1.0. But, I did notice in porting the project to non-Everett that some the transparency brushes did not work?
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I am currently using VS studio.net professional and after installing .net and .net sdk 1.1 it still cannot recognize the .sln file. How can I view and compile this project?
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I developed it in Everett, which is the next installment of VS.NET. Currently, I never thought of this problem. If you give me some time (couple of days or so), I can try to port it to VS.NET without Everett. Unless you want to help me out and do it? Either way, I'll try to get a copy up and running.
Ryan Dawson
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|