To start I researched some of the things that I would need in-order to accomplish what I wanted to do. Things like IMAP support and the new features of Windows.
I drew up plans for what the program would do, and the basic outline for the modules. I also planned out an rough guess of what the forms would look like. I spend quite a bit of research trying to find out what interfaces work best for the program I am making so that users will be able to easily use the program.
Something that may seem unrelated is my website, yet it is not. A strong web presence is important since I don't sell my software in stores or anything. Another step in starting my project involved redoing my site and adding a section for Raven. I have decided to do a few things differently then I did with SGA in terms of the website. SGA updates through the update form and can automatically down the files needed on the click of a button. Raven will alert a user to an update and link to the website where the update can be found. This will make the website more of a source for users and will make it possible for me to only maintain one setup version. Each update will have a dedicated page that will have useful information for users so that they can download files easily.
With having the update section of the website started, I was able to begin the Raven project with the updating part of my code. It made sense to add that first because with a project that is underdevelopment, having a way to update to new versions will be important for testing. Rather than using the text file that SGA uses, Raven is using the more robust XML file:
' Load data into variable
Dim update As updateInformation
With update
.major = CShort(document...<version>...<major>.Value)
.minor = CShort(document...<version>...<minor>.Value)
.month = CShort(document...<version>...<month>.Value)
.day = CShort(document...<version>...<day>.Value)
.text = document...<text>.Value
.URL = document...<URL>.Value
.requiredUpdate = CBool(document...<required>.Value)
End With
From there I started designing my forms. It is important to me that all the forms have a uniform look. Coming up with a nice design from the beginning is important so that I don't have to redo all the forms later in development. SGA went through many different versions because the UI was always being improved and the underlying code was always being rewritten for efficiency. I am trying to make Raven better from the start.
So since I stated the actual coding, I figured it would be best to make a documentation file of all the things that I actually finished for my own record. It helps to know what you worked on and what your ideas were, my memory is not good enough where I can just remember everything.
NOTES
Things to do:
Add application variables to remember system settings.
Implement detection for the computer going idle so that alerts show once user returns.
Start alert windows, and client GUI.
------------------------------------------------------------------------
January 8, 2012
Cleaned up code and removed additional form that was the startup form.
Moved account code to the same file into a new module.
Started making send email window.
Some performance enhances.
More testing of present functions.
Added IMAP stop function
Added power mode handler
Added windows shutdown handler
Added display changes handler
------------------------------------------------------------------------
January 7, 2012
Experimented with IMAP IDLE (push) support
Worked on client UI and added meesages to display
------------------------------------------------------------------------
January 5, 2012
Created a account management window UI
------------------------------------------------------------------------
January 4, 2012
Designed message checking system that loads new messages in to each accounts queue and to a new message queue.
Using events to alert the program to completed message checking, messages are passed to the function to initiate alerts and update the ui
various supporting functions were added.
A toolstrip along the bottom showing the progress of message checking and program status added.
Did some testing to get emails to see if program would run correctly.
------------------------------------------------------------------------
January 3, 2012
Updates:
Started working on the startup commands. Switch -exit shutdown the program.
Added some IMAP support
Added classes to cover accounts and messages
Added the start of an alert messaging system
Did research on how IMAP works.
------------------------------------------------------------------------
January 2, 2012
Icons:
http://www.webiconset.com/category/free-icons/
http://mediadesign.deviantart.com/art/HP-Dock-Icon-Set-71481581
http://www.freeiconsweb.com/Free-Downloads.asp?id=1700
Updates:
Fixed debug error that was prevening me from using breakpoints
Added update function the the application startup as a seperate function that can be easily called from anywhere.
Included forced update for alpha and beta versions
created sample xml file on server for updates
Designed update window interface
Added taskbar icon that looks like an envelope
Started settings window design
Made post on dream in code for UI designs on settings.
Added tabless tabs to the settings page to ease design process and make things more efficient.
Add my name and a link to my website.
setup general, display, connection, sounds, technical, security, contacts, and credits tabs.
Started design on a comments window to allow users to easily contact me.
I am working slowly on Raven to make it better. My college classes have resumed and I am back to work after having a holiday break, so development will probably be even slower now. Yet so far, Raven is interfacing with IMAP and able to display messages. It is far from finished, but it is a start.
No comments:
Post a Comment