Skip to main content

Skin Design

Flexo is a personal accounting package. Since it is in very initial stage, it tracks only your expenses and generates variety of reports on it. (Recently I included income tracking module which is in alpha stage) In coming years Flexo will extend and mechanize most of money management activities under few button clicks. In parallel to cool features, creating a good and ease of user interface is also a head scratching work. It’s an art too. I don’t want to set more expectation saying that Flexo has very good interface but I feel it has got what it was expected to have.

When you download and check all screens in Flexo, one thing you will sure notice, Consistency. Just open any UI guidelines book, this will be a first statement and there is no way to skip this rule in my software too.

If we think traditionally, the design approach for consistent UI for all forms could be like these,

Create header-footer ActiveX/Custom/User control and place it on all forms or create a static class which has a drawing method to decorate runtime loading forms and thinking further to this, maintain one XML configuration file which will hold all coloring, fonts and size details from which our drawing method gets inspired and brushes it on all forms.

In dot net, we have one cool feature - Visual Inheritance, which allows us to create a master form and inherit this to all child forms. Whatever UI changes you make on a master form will affect all its children. Re-using the idea of above mentioned XML configuration file, use dot net App.config and define all fancy information in it. Associate values from app.config file to master form’s properties popularly known as setting dynamic properties and we are done! Whenever I want to change any color of my Flexo forms I will just update flexo.exe.config file and I don’t have to compile my application to reflect new changes.

Comments

Popular posts from this blog

Windows forgets visual effects settings on log-out or reboot for non-administrator account

Steps given here worked for me with Windows 7 SP1. Hope you may find it useful.

Start -> Run-> cmd (press enter) -> type SystemPropertiesPerformance.exeThis gets you the "System Properties" window, go to  Advanced tab -> Performance Settings -> Visual Effects tab and choose "Adjust for best performance" and click OK. Note: While doing all these UAC doesn't show-up as all changes you are doing will be saved in your logged-in profile account.

Reference material used: http://msdn.microsoft.com/en-us/library/ee330866.aspx

Feel free to comment your findings.

Why Akbar was Great?

I have fanatical interest to be acquainted with what made Indian emperors take influential decisions during their reign. Few great kings’ valuable decisions created a remarkable history.

When Akbar accepts the marriage proposal of Hindu King (Bharmal of Amer), he wishes to make an attempt to set an example for two culture and religions and convey the message of peace. Later, destiny takes him to the critical path of life having most depraved political and family oriented problems. Being a true great emperor, Akbar learns and conclude challenges by demonstrating his exceptional leadership qualities. With his verdicts, Akbar stands as an incomparable king of all time. “Jodha Akbar” – brings 16th-century incidents to life and shows beginning part of Akbar’s married life which was, in fact, a deal for political gain. This decision slowly unleashes Akbar’s loving life, internal dreadful politics, painfully desirous people around him and betraying family members.

Jalaluddin Mohammad Akbar is…

Hangfire with ASP.Net MVC : Simplest Code To Start with

It seems many are looking for using Hangfire with ASP.Net MVC 4 / 5+ SQL Server here is the simplest code example for you to start quick.

I am using Visual Studio 2017 Community Edition

1) Create ASP.Net MVC 4/5 Projects
2) <add key="owin:AutomaticAppStartup" value="false" /> in web.config file
3)Run Install-Package HangFire -Version 1.6.17 or visit here for latest version: https://www.nuget.org/packages/Hangfire/1.6.17
4) From the sample code, make sure you create database in SQL Server DB and update the connection string.
5) I am simply updating a table with a primary key (auto incremented), and string field "StampTime" with current date and time.
6) Open Global.asax.cs and put this code.
7) Run the app and check the database.

The example code also showcase a hack on how to run jobs with few seconds interval.

namespace HangFireDemo { publicstaticclassMyTasks { publicstaticasync Task<int> MinuteTick() { awa…