Archive for ‘Developers’ category

html xhtml and css @web articles

10 July, 2009 | admin | Comments

As a web developer, you need to understand basic knowledges on html, xhtml and css to begin creating a page of your own. Web-articles.info carries a whole lot of articles on html, xhtml and css which are among the best articles for someone learning this scripting languages.

The site carries numerous articles where some of them explains basic steps on many frequently use methods or “how to do it” in plain simple way. Whether you are a beginner or an expert looking for some understanding of how a certain thing is achieved using html, xhtml or css, html xhtml and css @web articles has a lot to tell you. Going through the articles, you will be able to combine the worlds of html, xhtml and css. Topics on “how to use html flexibly”, “Anatomy of an XHTML Document”, working with Cascading Style Sheets and so on are described in details.

Articles are added regularly and there is a growing numbers of tutorials in the category as well as other categories available on the main home page of the website. The interesting part is that, if you need a daily fresh updated content for your website in any category available, web articles offers free fresh content for your website.

Of all the articles at web articles, the “anatomy of an xhtml document”by albert lichtblau is one cool article. As the articles quotes

The transition from HTML to XHTML will come with a fair number of bumps. While later chapters introduce tools to help you get past those bumps – and figure out where they come from – this chapter examines what’s going to change and demonstrates a few strategies for handling those changes. Along the way, we visit the ghosts of browsers past and explore problems that exist in current browsers. In turn, you discover how prepared and unprepared various tools are for XHTML.

Visual Design and Usability

10 July, 2009 | admin | Comments
Visual Design and Usability are two factors web developers and web designers need to focus with. The two factors are the two ends of a scale, the more you try to add usability, the visual design can be compromised; the more attractive the website is, the less user friendly it may become. www.articlecity.info has a good article on web visual design and Usability.

Some usability gurus have traditionally expounded that developing a web site should be focussed on the usability, not the outlook. However, as opposing these views, User experience designers and Information architects have argue that, since human have the tendency of an extremely short “attention span”, an attractive Visual design is essential to lure users making them stay on the site for a longer time.
Patrick K’s article on Visual Design and Usability describes the how the two views exist together depsite being the different ends of the scale. A site with a minimalistic visual design is the major design scenario prevailing in the UX design world these days. A website loaded with graphics and animation may be attractive although losing usability functions or taking up more time in loading while a minimalistic website may look dull, however providing the necessary details or information the website is meant for.
For a better improvement in the fusion between usability and visual design, developers/designer has now been using Prototyping tools to create wireframe models of website outlays. This helps in determining the looks of the website in a proper way even before its development.

SIBI Online Music Player : Concept

21 February, 2009 | admin | Comments
SIBI Online Music Player (Alpha):
1) What is SIBI?
SIBI is a new generation Online Music Player. The main concept lies in its portability and user friendly aspects.
In SIBI, users can upload their own mp3s on the SIBI server, create their own SIBI playlists, manage their uploaded files and listen it through the SIBI online player from their home PC or Mac, PMPs such as the Ipod, or through their mobile devices which supports the required platform.
2) Why SIBI?
SIBI is different, or in fact the first of its kind. It is NOT an online Radio Player.
It is different because users can upload their own music collection on the server and access it from anywhere on this planet (of course when you are connected!!). It can be imagined as the Winamp combined with your hard drive online.

Many people usually have a wide collection of music in their PC or Mac, which usually of course, exceeds the capacity of a common PMP (say of 4gb or 8gb, I myself have a collection of more than 90gb!!) and almost everyone hears music while on the travel, on the way to college, on the way to his friends place and so on; but none have the time or the patience to choose out his favorite ones to be uploaded in his 4g or 8gb PMP. No one likes to sit down and make a new collection of his mp3s which will squeeze in his PMs Memory capacity and at the same time includes all his favorites. As a person’s music collection grows over time to time, he may have a lot of albums that he may like to carry around with him but which is not possible because:

  • Low Memory capacity of PMPs (Large Memory PMPs cost a fortune!)
  • Doesn’t have time to sit and pick out the ones he like; or to be precise, hardly if anyone is asked what are their favorite ones, he’ll be able to say just a few out of his huge collection. The truth is, the brain doesn’t give out like a printed list saying, ‘Here’s the list you would want to put in your PMP’… pardon us, we are HUMAN!!
  • But when you are on a journey, say a cross country tour, you won’t want to carry your laptop or PC over to everywhere you go, but the PMP, sure is meant for that time and moreover, you won’t know which type of songs you are going to listen during the journey; it depends on the place you visit, or the people you meet or it could be anything.
Bottomline: You do not know which one to put around. You just want to listen to it when you feel like listening to it.
3) Challenges to bring SIBI into production?

i) Users have to be provided a large online storage area, say 50gb for the start.

4) Purpose for SIBI?

SIBI provides users the ability to listen their favorite music anywhere, everywhere without any unwanted extra efforts, provided he has a supported connection on his PMP.

5) Monetization.
SIBI is targeting to grab the music market. On the SIBI main page, ads for new album releases or monetized services related to music can be displayed so that users can buy them. (refer the UI design section). To increase sales, displayed new album should be displayed by finding out the user’s favorite band or music which can be known by checking out the most played songs in his or her playlist. By checking what type of songs the user uploaded, such as which bands, which region of the world the user belong, displayed new album info can be on the basis of user interest which increases the chances of sales.
SIBI USER INTERFACE: Updating.
© SIBI Music Player, 2009

Shristi.org: the Series of hurdles

11 February, 2009 | admin | Comments

I’ve been approached to build and launch the the website for the Techno – Management Festival of my university. I’ve designed and developed a couple of websites on my own and so it wasn’t a big deal, or at least i thought so, for me at FIRST. Things however, have been going pretty weasy and confusing with various hurdles and problems i’ve to face which are quite unexpected and uncool.

The very first hurdle was when znetindia.com took 3 days to process my domain registration order. The second one came when i found out that znetindia doesnt bundle DNS control with the domain registration; and for which i’ve to activate an extra addon for the domain paying extra money. The third was the unfriendly user interface structure of the znetindia account manager area (if you are a starter, i bet you won’t be able to find out where you should change your nameserver if your are changing your hosting service to some other service provider!). The fourth was when i realise that the TTL values for the DNS at znetindia was quite huge, which means any update in the DNS, A, MX, CNAME, NS, TXT etc will take time for its propagation. This happened when i mistyped the NS records and then i realise i mistyped it, i had to change it and for the change to propagate, i had to wait the whole day.

Later when everything from the domain point of view is working, unfortunately, my PC breaks down… or at least i thought so, coz later on i found it was my wireless modem problem. As an engineering student, and in the CSE branch, i use to do a lot of stuffs on my PC and it is not uncommon that i install a fresh copy of Windows a couple of times every month. This time, i’d already formated my PC 4 to 5 times since my semester starts, and that would be from the 1st week of Jan and i’ve already made it by heart the serial number to my copy of the windows. For development purposes, i’ve created a lot of complex structures, programs and databases that i don’t want to lose but i’d to compromise some to make my PC working again.

Now, everything is set, the site is up (www.shristi.org, though still under active construction) and i’m using joomla cms for a quick built. A problem which i’d never faced before arises to my joomla hosting then. At the same hosting company, with the same apache, php and mysql configuration, i’m hosting another joomla website and it’s not showing any problem but however in this website, problems after problems showered. I’d the problem fixed temporarily although it’s not the best way to fix the problem.
The Joomla problem was that, whenever you try to upload/ install a component/ plugin/ module/ template etc, you got an error message “Warning! failed to move file”.
This happens because of certain settings and file permissions on your joomla host. There are methods to overcome this problem but they are not the best yet known. For some, setting CHMOD to 777 for the” public_html/tmp” file seems to work but for others it’s far from solving. Some solved it by disabling the FTP layer at joomla, but some solve it by just changing the temporary path “public_html/tmp” to “public_html/temp” or the vice versa. Other ways to solve includes giving the php file more space changing the php.ini, which requires contacting your hosting company. The best method, however, seems to be disabling the php “Safe Mode”, which also require you to contact your hosting company.
For now, as my works need to be completed in a short period, i’d changed all the files/folders concern to 777 giving permission to change and execute to all while making the installation and then changing back to the normal CHMOD file permission after the installation is over; leaving no ways for hackers to poke their nose in. If you are having this problem, u can do it as i’ve done as it is the simplest and will always solve it regardless of the FTP, php.ini, apache or any other settings.
NovaTechNetwork has done a great job with there hosting servers. I prefer them.
Anyway, let me see if there’re any other problems that are gonna pop up in front of me..

Bresenham's Line drawing Algorithm

4 February, 2009 | admin | Comments
As with the “Computer Graphics” programming holds, the Bresenham’s Line Drawing Algorithm is one cool algo to play with. There’s no pixel overlapping and it’s kinda easy too. Here’s the C codes for the program, just copy it out and see for yourself.

#include
#include
#include
#include

void main()
{
clrscr();
/* (x0,y0) and (x1,y1) the end points of the line,
dx = difference of the x co-ordinates,
dy = differenc of the y co-ordinates
p = descision parameter */

int x0,y0,x1,y1,dx,dy,x,y,xend,p,gd=DETECT,gm;
initgraph(&gd,&gm,”C:\\TC\\BGI”);
printf(“Enter x0,y0,x1,y1 :”);
scanf(“%d%d%d%d”,&x0,&y0,&x1,&y1);
dx=abs(x0-x1); //Calculating the difference of the x co-ordinates
dy=abs(y0-y1); //Calculating the difference of the y co-ordinates
p=2*dy-dx; //descision parameter

/* The if-else statement puts the left coordinate out of the two ends in x0,y0 */
if(x0>x1)
{
x = x1;
y = y1;
xend=x0;
}
else
{
x=x0;
y=y0;
xend=x1;
}
putpixel(x,y,1); // puts the pixels on the screen
while(x< xend)
{
x++;
if(p<0) // for p<0
{
p=p+2*dy;
}
else // for p>0
{
y++;
p=p+2*(dy-dx);
}
putpixel(x,y,1);
}
getch();
}