Microsoft Excel Add-ins – Benefits!

Add-ins(s) are the way to extend the functionality of applications for custom tasks. They are the software utility or program that can be added to primary programs and that will help us to make many tasks easier and more convenient.

We have a customized software solution on Microsoft .NET technologies; it’s an ERP (Enterprise Resource Planning software) for a leading shoe manufacturing brand based in India. They need excessive reporting to control Sales, Production, Marketing & Retail outlets.

Previously they were bound to install complete software setup on each and every machine to provide all related data. But when we develop a Microsoft Excel add-ins; life became easy because now they don’t need to install complete setup they just add the add-in and provide all the related information with flexibility of Microsoft Excel.

It was not a big challenge to develop Microsoft Excel add-ins by the help of Visual Studio 2010. We just choose Excel 2007 Add-in option; the other available options are displayed in this image.
Visual Studio 2010 add-in option

After selection of our desired add-in from the list, we need to proceed with a ribbon control that can be displayed as tab once our add-in will be installed.
Microsoft Excel 2007 tab of add-in

By clicking on this tab, we find a user interface that can have buttons and other controls. We have also added window forms for getting user input to provide user-specific data.
Microsoft Excel 2007 add-in windows form

We had maintained all security considerations while implementing Add-ins as we do in our original software. Any un-authenticated user is forbidden to access data so that the data consistency can be retained. All actions are performed on server side and user’s password & other sensitive information are always maintained at server. Any types of secured information are not passed between Client & Server.

We are using web services in our solution, so there was no need to re-write them we had used the same web services for our Microsoft Excel Add-in. Web services are used to fetch data from database according to user input which leads to shorter completion time.

There is no limitation for number of add-ins in excel. Any number of excel add-ins can be installed on system. If user want to remove add-in from excel on temporary basis. It can be easily disabled. After that add-in will not show in excel.

To disable add-in from excel go to excel options from office buttons
Microsoft Excel 2007 add-in options

Select COM Add-in from manage -> click Go ->

Microsoft Excel 2007 add-in disable enable options

Select or unselect to enable or disable add-in.

Benefits of Microsoft Excel Add-in

In our software we are using crystal reports to export data in excel. But in that case we had some limitations like we had to compromise with formatting and custom actions and we had no flexibility to modify data presentation. Now we are using excel with all its functionality. It also enhances company’s ability to respond to customers.

This also reduces the time and resources required to train users because most business professionals are already familiar with the Microsoft Excel application.

 

Role and Importance of RSA SecurID ® in software security

Software security is must to protect resources from misuse of data, alteration, loss, inaccuracy or any kind of potential harm from attackers, sometimes called hackers or crackers.
Today, software security comprises mainly “preventive” measures like firewalls or virus protection software like Norton, Kaspersky, McAfee, ESET, Trend Micro etc.
There are several options available to secure any server or software, our client uses RSA SecurID ® for online banking; that’s why they had suggest us to implement RSA SecurID® into their software solution. We had provided them a web-based ERP for their trading business.
RSA SecurID ® is a tool, which can be implemented to carve secure way of login into data server or software.
In that software solution all admin persons uses RSA SecurID ® key fob to access crucial data and information.  Each RSA SecurID ® authenticator has a unique symmetric key that is combined with a proven algorithm to generate a new one-time password (OTP) every 60 seconds. A security manager is running on the data server with synchronization of key fobs and when any user enters this number on login screens it verifies by the authentication manager.  It produces a secure way to access the data.
Implementation of RSA SecurID ®
Purchase of RSA SecurID ® is easy; send a purchase order to any authorized vendor. According to the order RSA SecurID ® key fob are delivered with serial number. Each key fob will be identified by that serial number. A particular key fob with serial number is something as shown in this image. RSA key-fob with digit display

Before going to install RSA SecurID® we must check the appropriate hardware configuration required for its running.  We had installed RSA SecurID ® on
OS Version/License: 32-bit Microsoft Windows Server 2003 Standard Edition
Server Platform: Dell PowerEdge 2850
Processor: Single Processor Intel Xeon 3.2 GHz
Memory: 4 GB
After successful installation we need to create users. RSA Security Console have very easy to use interface for this.

RSA users

Once we have the users we can assign the key fob to all users.

RSA key-fob assigned to user

At the end of all process we must need to sync key fob with user for this we have to enter two consecutive display digits in resynchronize token window

RSA key-fob sync

Hence the software is completely secured by RSA SecurID ® without key fob and matching synchronized digits no one can use. RSA SecurID ® is a form of physical security which is designed to deny access to unauthorized personnel including attackers or even accidental intruders.

 

Why we developed CBM Calculator!!

Originally Posted on August 30, 2010 by Tariq
It is my first writing effort for the public domain so please excuse me for my not so good English.

CBM Calculator started way back in July, 2003 when we were developing an Export Management System for one of our sports goods exporter. Before this we had worked on many ERP developments for our local clients. This was our first experience for export management system.

We had developed proforma invoice, invoice, packing list (maintaining different styles of packing list is a different story) and many custom specific documents. During all this experience we strongly feel that people mainly face problem in calculation of weight and volume of their shipments.

Calculating this is not a very simple task as it seems and human errors can always happen. In every calculation we need to consider following points

  1. Product quantity to be ship
  2. Product packing quantity
    1. Standard Pack (if ship quantity completely divisible with pack quantity)
    2. Non-Standard Pack (if the product quantity is not completely divisible than our last pack will be non-standard, it effects net/gross weight of consignment)
  3. Product’s weight
  4. Packing dimension (length, breadth and height)
  5. Packing’s weight
  6. Target container With weight limitations (I know it can vary from country to country, to make things more complicate)With Volume limitations (length, breadth, height)

So we made a small program in our ERP (YourERP) that do all the calculations and provide output for used weight and volume percentage in the container.

(I know it was calculating weight and volume as sand filling in a container, we were very much aware for this limitation so we start working on SOE (Space Optimization Engine) It will come in next coming version of CBM Calculator. I will write about this in next post!!)

That small program, which is currently known as CBM Calculator comes into existance in late 2007. It was not as simple as to just take it out from YourERP and make new software. We were missing the master data which was very easily available with our YourERP. So to keep things simple we ask for all the data from user and perform calculations. Once we had put CBM Calculator in public domain and rest is history.
We had received more than 10,000 registered users. Now we had launched a new web based version of CBM Calculator try it also (I will write about this later). For regular updates keep checking CBMCalculator Facebook page. I am waiting for readers response(s) for good or bad about CBM Calculator.

Thanks for reading

Tariq

Support for free software!!

Originally Posted on October 29, 2010 by Tariq

Recently we had made some major changes in our eExport – Sales Management Software (no more supported by us) and were trying to upgrade its subscription on our download site.Due to some technical problem I am not able to get through. So I put a support request as all others do. In the auto responder it is informed me that they will make every effort to respond to all Free users within 5 business days.

Here this question comes in mind.Should we give secondary status to free users?
As per my experience we distribute free software/service for any/all reasons written below

  1. Making a Brand visible
  2. Show users our technical caliber
  3. Making trust with users
  4. Most of the time we distribute less featured version of the main software free. So that people know about its working and may be they interested in the full version
  5. Some times for the social cause we want to give back something for free to the society

There may be an endless list that my readers can provide, but what I see that in all above reason user not asking for the free version.
We are providing them the free version sometimes (or most of times :) ) for our business goal or rarely for our self satisfaction.
In our CBM calculator software we daily receive around 5 to 6 registration (why we are asking for registration it can be a different article) and my team make sure that we respond those mails as soon as possible.
Sometimes users have to wait because of time difference or our holidays. So we make an online version of CBM calculator for instant registration.
What I feel we should not have two separate service classes for paid and free users.
Free users should get the same treatment as paid users.
In terms of business it will also help, as they will understand what quality of service they will receive as paid user.

Please make sure to let me know your views.

Thanks for reading.
Tariq

8 Must do before going for customized software development

Originally Posted on November 27, 2010 by Tariq

My purpose of this article is not to present very technical information to my reader. For this article I am considering my reader is aware of what computer software can do? He/she may be planning for a customize development in near future or just interested to know about customize software development.
Before starting any customized development we should consider following points.

Point # 1: Problem to solve

If you consider all software around you, they solve some sort of problem in your daily life. So very first question that should come in our mind before starting any customized development

  • What problem we are planning to solve with this?
  • How this software will make your life easy or better?

Point # 2: Requirements analysis

  • Initial requirement analysis is not software vendor’s responsibility. Firstly we should do requirement analysis at our end. This gives us a clear picture what features we are looking for and how big or small this development can be.
  • Requirements analysis can be a very descriptive task for big corporate with in-house IT department. In the minimum, we should know what output we required and what input we can provide.
  • At the time of defining our output we should not be over ambitious with information. We should keep an eye on the actual problem we are trying to solve or if needed we should revise our problem.
  • Our existing software/manual records are good to start for requirement analysis.

Point # 3: Existing software study

This is the one of most important factor in customized software development that usually companies and developers missed in designing. In the later stage of software development life cycle its integration takes lots of time and resources, and ultimately increase budget of the software that lead to dissatisfaction on both sides. During analysis of existing software we should consider these points

  • Existing data to import – Our existing software may have records for many years. We may need to merge this data for analysis purpose or some time just for record purposes(Legal requirements)
  • Limitations of the existing software (to overcome in new version)
  • Important features of the existing software (that should exist in new development)
  • Sometime it may require to develop a new software in stages. We may need to develop new modules such that they can be integrated with existing software.
  • Do we have code for existing software?
  • Do we have documentation of the existing software?
  • Do we have any contact with the developer of the existing software?

Point # 4: Environment
I understand decision for the environment of customized software is a tuff decision for non technical persons. I feel following information will clear the picture somewhat.
Normally software environments fall in following broad categories

  • Browser based
  • Desktop based
  • Handheld devices

It may possible that our software require all the three environments.
Following are some basic points that can help us to understand our requirement better

  • who will use this solution
    • Myself
    • My staff
    • My organization (staff, customers and suppliers)
    • General public
  • Where they will use
    • Local system
    • Web based
    • Handheld Devices
  • Level of control on user system. Means can we control operating system, browser and install additional software if needed
  • Types of social networking applications, it should integrate like twitter, facebook etc.

Point # 5 : Technology

Deciding which technology we should use for our software is really not an easy decision. Here is some information that your vendor would like to know before presenting options for technologies to use.

  • Your existing software’s technology
  • Your existing database
  • Budget
  • Existing IT staff skill level
  • Liking for any specific open source technology

Point # 6: ROI

Once we had finalized our requirement, environment and technology, its time to think how this will return the cost of ownership. To better understand ROI of the software we should consider

  • How it will save time to complete any operation?
  • How it will reduce man hours?
  • What Information this software can provide instantly that was not possible before or not feasible due to time or resource constrain?
  • We should consider all such benefits that we can achieve with this.
  • These all finally comes to a cost saving and will also allow us to analyse how much budget we can allocate for this development. Once we have this information we can go for development.

Point # 7: Dedicated Account Manager

  • Before starting any customized development project we should appoint a dedicated person for this task. He/she should be responsible for each and every decision that needed during development. It’s very natural that this person may not take all decision and he/she may have to consult many departments. In any case vendor should get reply from one person. This will reduce inter communication delay.
  • Same way we should ask our vendor for dedicated account manager. He/She will be involved during the complete phase of software development from requirements finalization to implementation. (if we are planning for external software vendor)

Point # 8: Options for Development
Once we had finalized the budget we can allocate for this development. It’s time to decide how we want to develop this software. We mainly have two options

  • We can hire a software team (in-house)
  • We can outsource our work to any customize software development company
  • Both features have their pros and cons. Points which we had discussed above will be applicable in both cases

I can say its not comprehensive list of requirement but as per my experience I tried to summarize those problems we usually face in our projects. I welcome suggestions and comments to all readers so that we can make a better list.

Thanks for reading.
Tariq