Links to my previous blog entries

by Parag 23. April 2012 23:49


Hi,
I am in the process of migrating my previous blog posts to techscraps.com.

http://blogs.msdn.com/b/paraga/

 

Few more references:

 

How to use virtual path providers to dynamically load and compile content from virtual paths in ASP.NET 2.0

http://support.microsoft.com/?id=910441

 

Using login controls for an existing data source by creating a custom membership provider in ASP.NET 2.0

http://support.microsoft.com/kb/910440

 

Overview of user controls vs. custom controls

http://support.microsoft.com/?id=893667

Tags:

ASP.NET

What should I choose for my startup? LAMP/.NET (WISC)?

by Parag 23. April 2012 05:36

When I opened my startup, several colleagues and friends of mine asked me why I choose .NET over LAMP. Why not LAMP? I will talk about few points I considered when making a decision between LAMP v/s .NET stack… it was a critical decision to make as development is a backbone of Startups.

 

There is nothing against LAMP but I preferred WISC over LAMP because of following reasons I will be discussing. Before I start you must be wondering what the heck is WISC and how it is related to .NET… well, WISC is nothing but acronym for (Windows, IIS,  SQL Server and C#) which represents complete stack for Microsoft. So here we go:

 

  1. Familiarity with .NET and Microsoft technologies -  I have served Microsoft for little less then 8 years from the time of completing my graduation till my last day at job. During my tenure I shipped many solutions built on asp.net (mvc), C# and SQL Server for Microsoft.com platform. Apart from that I have had many chances to get hands on non Microsoft technologies like, Java, PHP etc… in my spare time. I really observed that speed at which I could build and ship projects using WISC was way ahead as compared to other technologies.

 

  1. Tooling - VS is the best IDE I have ever encountered with amazing editing features, TFS integration, great intellisense  support, powerful debugging support, user friendliness which not only makes development smooth but fast as well.

 

  1. Debugging works like a charm be it, IE (dev. toolbar), Visual studio IDE and even SQL Server mgmt. studio.

 

  1. RAD - .NET truly supports concept of rapid application development. Using ASP.NET MVC and C# with Visual studio IDE I can build a website in no time. I have not been able to do the same by using Eclipse/Net-Beans IDE.

 

  1. My startup is primarily based on web programming. According to me .NET and MVC has really changed the way web programming is done in terms of clean separation of  code, clear project structure, robust IDE, awesome jQuery support, debugging, extensibility etc..

 

  1. Strong open source community - Websites like,  www.codeplex.com, One Code Framework etc… are providing great services to developers in terms of code reuse.

 

  1. Open source integration - All popular open source frameworks like, Lucene, SocialAuth, OpenAuth are ported to .NET adding a lot of power to solution built on .NET platform.

 

  1. Above all, big thanks to Bizspark which helped us overcome largest of hurdles in terms of cost, be it OS, dev. tools (VS IDE, TFS), Office suite.

 

So back to the original question!! Which one is better? I would say, every developer will have their own perspective.

 

Thanks!!

Tags:

Startups

Task First Designing

by Parag 19. April 2012 04:16

 

Task First Designing

 Introduction 

Software is an extension of thoughts. To develop good software it’s not enough to deal with the technicality of the computers. UX is the most ambiguous module of software. UX is acronym for User Experience. It’s different from the look and feel of the software. UX helps a user to experience software through its human interface. There is nothing wrong or right while we develop the UX. The only thing which matters is how comfortable a user is while he is trying to accomplish a task. A UX can be forced to user, which will require a training budget, learning curve, and productivity curve for user. 

While a forced UX can work great in controlled environment, and highly process oriented tasks. It may not be good to force a UX to customers. This is very true in case of commercial websites; similar website can have a different traffic based on the UX design. A site which makes user to think and assimilate his learning will usually be turned down by a user, the moment he gets a better alternative. This means that when a user is visiting a commercial website, he has less amount of time and a high amount of task he wants to do on site. A site requiring testing the user’s patience will be slowly discarded by the user.  

User don’t mind waiting for one time installations or non-repeated progressive loading, but they might be turned off if waiting does not yield to lowered turnaround time for the task in hand. User gets trained to screens. Today users are spending lot of their time on various gadgets, sites, devices. User carry a lots of preconceived notion when they visit a site. Emerging trends like AJAX, Web2.0, mobile apps has trained users in completing lots of tasks. Users carry a sense of standards with them. This sense starts with their day to day experience with TV screen to complicated touch screens. Humans are good at classifying the things and hence trying to remember things using patterns. These patterns slowly get embedded in to user’s expectation, and software not honoring existing patterns and creating benchmarks for new pattern based on user’s task efficiency is bound to fail. 

In this article we will try to approach this issue, we will try to help reader to understand the importance of developing a UX with Task First Designing.

How it is different from Scenario Focused Engineering. 

Before we look more in to Task first designing, it will be a good thought to look it in the light of Scenario Focused Engineering. Scenario focused engineering is a good tool to find out user’s needs and help him to help us in creating better software. It deals with what a user is trying to do with software. How we can we better satisfy the user’s needs?  It requires us to write SPICER user stories. 

Task based designing is not an alternative to SFD, but it can integrate well with SFD and helps to reduce the gaps between a UX and various software modules. Its helps to create a better abstraction on top underlying business modules to let the UX be focused more on the prime tasks a user is going to complete on a screen and through some focal points and task fragrance on screen. Various studies has capture the user’s eye ball moment and came up with supportive data that a user is not looking at the beauty of a screen, but he is scanning the screen continuously to find out the keywords. User scans different templates in different manner, thus creating a hotspot and cold spots on the screen. 

Where the problem lies 

The current problem in software making is the big disconnect between the look and feel designer and UX developer. In the past UX was often confused with the look and feel. There has also been a time where a designer was responsible for the UX. Designer are artistic people, they can do magic with the color, font, images and style, however with the lack of UX development guidelines this magic often becomes a nightmare for the users. User may be happy about the color and theme of a site, however at the same time he might find site less productive. Designer need not to be blame for it, rather we should let a UX developer and a designer talk more often.  

UX has recently picked up as a main line skill set. With the advent of SFE, agile and prototyping methodologies, UX has got much deeper attention now, which it truly deserves. Usability testing has come up as a big progressive field. There are lots of people out there who have done a remarkable job to make the UX need understood by the industry.  

A client often looks at the prototype and screenshot of system. It’s not important to put the all the actions possible  on screen, the more important thing is to understand on which screen which links will appear, and most importantly what a user might be doing on that screen. What is his motto, how and why he might be landed there, and if he is there what is he supposed to do? Do we have the task fragrance on the page? Does as the current screen provides and highlights links in the hotspots or are they there in the cold spot. 

TFD process. 

Here I will try to explain how we can achieve a TFD.  I am trying to focus only on the main canvas area. We can design different pages based on the table given below. However this table can be extended to put various other factors e.g. is the current page is home page or is it part of some wizard.

We can divide a screen in to following sections.  


Purpose

Focal point of page.

Actions from screen

Action lead to this screen

Primary Actions

(Hot Spot)

Secondary Actions

(Cold spots)

Follow up and trailing actions

Flow breakers

Add an Item

Data entry screen

List all items

 

Add link on some other page.

Save, cancel, add another

Go back to previous page.

Show List all items sorted by date.

Header bar links, footer bar links, bulk upload link.

 Once we have determined what all screens we have in our system. We can create a table like above for each screen. It will work as a checklist to find out if we are missing something in our screen. It can also help testers to come up with a test case for each screen, its similar to TDD approach here.

 

More information 

For more information, please contact TechScraps.

 

Tags:

Design | UX

Security : SQL Injection.

by Invincible Poison 3. April 2012 00:29

Here is link to the blog i wrote long back.

its on code project : http://www.codeproject.com/Articles/11020/SQL-injection-attacks 

Hope you will like it.

Tags: , , ,

SQL | Security

About the author(s)

Amit Kukreti

Amit 

Parag Agarwal

Amit