Tag Archives: software

Twelve Principles of Agile Software

3 Oct

In my previous post on Agile Software Development, We focused more on software development and this post will give you a brief on twelve principles of Agile Software. However I will try to explain these principle in detail later on my next posts.
1.Our highest priority is to satisfy the customer…

Scrum (Software Development)

13 Sep

In my last post about agile methodology discussed about agile and today came with scrum. So the first question that arises in our mind is what is this and why should I know this? Yes we will take that but before that let me tell you why should you know this. If you are a developer, manager or…

Top OpenSource Bug Tracker

8 Sep

All software projects need a bug tracker to track the list of bugs,resolved bugs and time taken etc. I have posted top 5 in my best knowledge but have used only 2 of them and I would recommend you to go with bugzilla. It is one of my best open source. Yes of course there are good tools like jeera and all but that is not open source. This post talks about open source tracker only.

1. Bugzilla

Are you looking for a stable, actively maintained, widely adapted bug tracking system? Look no further. Bugzilla is for you.

bugzilla

This is used by various big open source projects to track their bugs. For example, Linux kernel development team, Apache development team, GNOME development team uses bugzilla. Red Hat also uses bugzilla to track the issues found in Red Hat Distribution system.

Bugzilla is written in Perl, and works on various databases including MySQL and Oracle. To get started with bugzilla you need to install it in your server.

Bugzilla Features:

  • Time tracking
  • Private attachment and commenting
  • Flexible reporting and charting. Including ability to to scheduled reports and receive it via email.
  • Add custom fields and workflows.
  • View full list of features here.

Developed by: Mozilla foundation
Stable Release: 3.6.1
License: Mozilla public license

2. Mantis
Mantis issue tracking system is written in PHP, and works on various databases including MySQL, MS SQL, PostgreSQL.

mantis_logo

Mantis Features:

  • Source code integration
  • Time tracking
  • Issue relationship graph
  • Custom fields and workflow
  • Anonymous access

Stable Release: 1.2.2
License: GNU v2

3. Trac
Trac is written in Python. Apart from issue tracking, it also provides wiki, and integration to subversion. The web interface is very simplistic and easy to use. This also provides project management features including roadmap and milestone tracking.

trac_logo

Stable Release: 0.12
License: BSD

4. Redmine

Redmine is written in Ruby on Rails. Apart from tracking issues, it provides a full project management features.
Redmine Features:

  • Project management including Gantt chart
  • Project Wiki
  • Time Tracking
  • LDAP Authentication

Stable Release: 1.0.1
License: GNU v2
5. Request Tracker
RT is written in Perl. Apart from the standard issue management, you can use this as a ticket tracking system. RT Features:

  • Time tracking and reporting
  • Integrate with LDAP authentication

Stable Release: 3.8.8
License: GPL v2
Please let me know your feedback’s and share your experience if already used any of them or if you are happy with some other open source bug tracker.

Tips for making mobile friendly website

7 Sep

Over past few year mobile usages has seen a revolution. People not only uses mobile for communication but they use it for various purposes, Online line shopping to ticket booking and all. But Unfortunately mobile arena is not so simple for developers and designers to handle as there is lot of complexity involved in cross browser. The vast number of mobile devices makes thorough testing a practical impossibility, leaving developers nostalgic for the days when they only had to support legacy browsers.

According to IDC,Android and iOS Combine for 92.3% of All Smartphone Operating System Shipments in the First Quarter While Windows Phone Leapfrogs BlackBerry.

IDC Reports on mobile published_ichart_173696

 

 

 

 

 

 

 

 

 Image Credit : IDC – Press Release

Also Check this report.  http://www.icharts.net/chartchannel/worldwide-smartphone-os-share-2012-q1-2013-q1_m3zryyngc

Mobile device have reduced screen size,So let’s tackle these issues one at a time and create a road map for mobile web development:

Implement Mobile Stylesheets

The first step to adding mobile support to a website is including a special stylesheet to adjust the CSS for mobile devices:

One approach to including mobile stylesheets involves detecting the user agent string with a server-side language such as PHP. With this technique, the site detects mobile devices and either serves an appropriate stylesheet or redirects the user to a mobile subdomain, for instance m.facebook.com. This server-side approach has several advantages: it guarantees the highest level of compatibility and also allows the website to serve special mark-up/content to mobile users.

Alternately, the easiest approach involves detecting the mobile device on the client side. One of the earliest techniques for including mobile  stylesheet’s media type, for instance:

<link rel=”stylesheet” href=”site.css” media=”screen” />
<link rel=”stylesheet” href=”mobile.css” media=”handheld” />

The first site.css targets desktops and laptops using the screen media type, while the second mobile.css targets mobile devices using handheld.

Since mobile devices typically have smaller screens, we can target handheld devices by detecting screens that are 480px and smaller:

<link rel=”stylesheet” href=”mobile.css” media=”only screen and (max-device width:480px)”/>

Use Advantage of HTML 5


<input type=”tel” />
<input type=”email” />

These input types allow devices such as iPhone to display a contextual keyboard that relates to the input type. In the example above type=”tel” triggers a numeric keypad ideal for entering phone numbers, and type=”email” triggers a keypad with @ and . buttons. For complete list of HTML 5 input type click here.
SPECIAL IPHONE / IPAD ENHANCEMENTS

Take a look at Sencha Touch, jQTouch and iui. These three Javascript libraries allow you to better interface with the iPhone, and also work on similar devices such as Android. Additionally, keep an eye on the much anticipated jQuery Mobile which has just been released in alpha.

For creating special iphone-icon. Save a 57 x 57 pixel PNG somewhere on your website, then add this snippet within your <head> tag:

<link rel=”apple-touch-icon” href=”/customIcon.png”/>

Hope this post helps you to make a mobile centric site. All comments are welcome either any suggestion,feedback or any query.

How to get Controller, Module, Action & Router Name in Magento

6 Sep

In most of the case you need to know the name of controller or module in order to debug. Simple one line code to get these. In my previous post written about skill a developer must have. So targeting developer this is another post for them

1. Get Controller Name In Template Files:

$this->getRequest()->getControllerName();

2. Get Action Name In Template Files:

$this->getRequest()->getActionName(); //the function inside the controller

3. Get Router Name In Template Files:

$this->getRequest()->getRouteName();

4. Get Module Name In Template Files:

$this->getRequest()->getModuleName();

Finding Controller, Module, Action & Router Name In Class Files:

5. Get Controller Name In Class Files:

Mage::app()->getRequest()->getControllerName();

6. Get Action Name In Class Files:

Mage::app()->getRequest()->getActionName();

7. Get Router Name In Class Files:

Mage::app()->getRequest()->getRouteName();

8. Get Module Name In Class Files:

Mage::app()->getRequest()->getModuleName();

These functions i.e. getControllerName, getActionName, getRouteName, getModuleName are present in the class Mage_Core_Model_Url, you can display all the results by taking a vardump as
var_dump(Mage::app()->getRequest());

Hope this make sense to you and help you in debugging. Happy coding..:)

Must have skill for Web Developer

6 Sep
It’s hard to know where web development will go in  next 5 years, but those who follow standards bodies or at least read tech blogs have a much better understanding of upcoming changes and growing trends.It’s not enough to follow the industry. Web developers must also understand their users and how they use the product. Analytics tools like StatCounter and Google Analytics and Clicky are my favorites for gathering basic metrics of user interactions.

 

1: One of the “Big Three” (.NET, Java, PHP)

Unless there is a radical change in the development world , most developers will need to know at least one of the Big Three development systems — .NET (VB.NET or C#), Java, or PHP — for the near future. It’s not enough to know the core languages, either. As projects encompass more and more disparate functionality, you’ll need to know the associated frameworks and libraries more deeply.

2: Web development

Web development is not going away anytime soon.  Companies have been demanding more and more who really know how to work with the underlying technology at a “hand code” level. So bone up on JavaScript, CSS, and HTML to succeed over the next five years.Web developers must be able to code. This is supposed to sound obvious. An effective web developer must be able to write syntactically valid HTML, CSS, and even JavaScript.

3: Soft skills

Soft Skill is must for  every developer.They are being brought into more and more non-development meetings and processes to provide feedback. For example, the CFO can’t change the accounting rules without working with IT to update the systems. Writing code is not the only thing that a developer should know, he/she should be able to present what ever they have written.

4: Agile methodologies

Many small companies are either adopting Agile or running proof-of-concept experiments with Agile. While Agile is not the ultimate panacea for project failure, it does indeed have a place on many projects. Developers with a proven track record of understanding and succeeding in Agile environments will be in increasingly high demand over the next few years. Few people thinks that it is only for project managers but they are not true. This is one of the important skill that every developer should learn.

5: Domain knowledge

Hand-in-hand with Agile methodologies, development teams are increasingly being viewed as partners in the definition of projects. This means that developers who understand the problem domain are able to contribute to the project in a highly visible, valuable way. As much as many developers resist the idea of having to know anything about the problem domain at all, it is undeniable that increasing numbers of organizations prefer (if not require) developers to at least understand the basics.

6: Testing

All web developers must be able to test their code in multiple browsers. It’s easy to test for our own personal browser of choice and ignore the rest, but the web is about diversity and the browser landscape is very diverse.

JavaScript testing also falls under this category. Developers must use tools to detect and debug scripting errors. Chrome, Safari, and Internet Explorer all come with built-in developer tools that allow you to step through JavaScript and execute code in an interactive console.
If you are going to write code, you must be prepared to make sure that it works.

Top Project Management Tools

5 Sep

Project Management is all about Communication, sharing documents, tracking time: managing a project can become a headache real quick. It’s no wonder startups love to use project management tools to help connect everyone as well as organize the handling of projects. These pieces of software help businesses manage their inner workings and even their sales.

Most businesses and startups have three major uses for Project Management software: to assign and track tasks, track time used, and manage/increase sales/conversion. The cost of the software is another consideration. To be thorough in our reviews, this article will focus on the best software for accomplishing tasks and improving management.

1. ActiveCollab: ActiveCollab helps collaborators through its time saving and easy-to-use features. Project leaders can set milestones for the team, add team members, assign tasks and get notified via e-mail for updates on the project.Not tech savvy? No problem, Collabtive’s really easy to install on your own personal website. It’s easy to get going. Even users who are not comfortable with technology can get the swing of it quickly. I’ve personally used this and I’ve seen that it is pretty flexible on giving users permission on what features to use.

File sharing, time tracking, invoicing, project management, and notifications, all in one place: in your web server.

collabtivess2

 

 

 

 

 

 

 

 

 

 

2.Basecamp : Created by 37signals, a company which believes that less is more, Basecamp focuses on communication between users to achieve optimum performance.The user interface is intuitive and visually pleasing. If you are not good with technology then Basecamp might be the perfect solution for you.

Main Features:

  • Discussions
  • To-Do Lists
  • Upload and Share Files
  • Text Only Documents
  • Calendar Management

basecamp

3.Trello: Trello is a collaboration tool that organizes your projects into boards. In one glance, Trello tells you what’s being worked on, who’s working on what, and where something is in a process. Trello is free forever till date. Might be in future you will get some new features for which you need to spend few bucks. But dont worry it free and love to see that it tries to follow Agile Development.

Trel

%d bloggers like this: