Wednesday, January 26

Project Deadlines V/s Beautiful Code

What is more important. Project Deadline or Writing Beautiful Code. How do we make sure that we achieve both in a given project?

I remember i had a hour long debate with my previous employer about designing a website using the native table tag or following a div based pattern. It was about 6 months back. And yes we do have web consultants who still follow the table design pattern. 

He said, it did not matter on the coding standards as long as the website was complete before the deadline and the client was happy. Client does not understand html and he does not care. True. I agree to this. But what about SEO, the time it takes the website to load, a lot of messy code, which is difficult to modify in future? As a service provider we advertise and promote ourselves as the best software company. We talk about SEO, how simple, sleek and elegant websites we make but if we do not follow the basics, then how are we to achieve what we promise.

To this, he said
"no one cares about the code as long as the website is visually appealing. You see, thats the difference between you as a developer and me as a designer. "

The internet has been talking a lot about flash, web standards etc, but a corner side web development company with 2 designers, 2 marketing guys and a stupid developer does not care. No one cares about web standards as long as the website is up and ready.

If we start thinking about code quality, then we will require more time to finish the project. However a bunch of flash animation along with loads of images and a WYSIWYG editor like dream-weaver, you are ready with a website in no time.

If a client asks, why is the website so slow, when you show him the demo for the first time, you say , it will be a little slow for the first time, but later on it will be pretty fast as long as you don't delete the Cache.

Here we are calling ourselves your friendly neighborhood web development company.

Saturday, January 15

Web development Tools i prefer on a windows machine

Windows is my primary web development environment. I have been using windows since i got my computer around 7 yrs back. Though windows is very easy to use, some of the open source projects are difficult to use. And linux is the best OS for web development. At least that is what i have been reading in some blogs and some of the nice guys on IRC have told me.I have decided to shift my working environment to linux now and already have ubuntu ready. But before i switch, here is the list of tools i have been using so far.

1) Notepad++
This is the best text editor i feel so far. Before shifting to notepad++ i was using dreamweaver and found it a little slow. It has lots of features but would crash most of the time. I then switched to netbeans but netbeans was way to slow. The best option was notepad++. It is very fast and easy to use, of course not to forget it is free. I use the macro, and plug-ins like compare and regEx helper a lot. Apart from that, i also like its style configuration and zenburn is my favorite.
2) SQLyog
SQLyog MySQL GUI is the most powerful MySQL manager and admin tool, combining the features of MySQL Administrator, phpMyAdmin and other MySQL Front Ends and MySQL GUI tools.
 Yes, SQLyog is a desktop based software for your mysql needs. It is fast and user friendly,  and the best part is its query window. Most of the time, when writing a query in php, i prefer verifying it beforehand. So i use sqlyog. We can also use phpmyadmin, but since it is browser based, it takes a lot of time and sometimes its frustrating to work with it.

I also prefer to echo the query and run it in sqlyog to check the out. Had to do this when customizing drupal and some other projects like vtiger.


3) FireFox
Firefox is the best browser ever. And the best thing about it is its plugins. I have been using firefox for a long time now and will continue to use. Following are the plugins i use on a daily basis.
a) Firebug: It is the best thing a web developer could ever ask for. For debugging css, testing javascript and even ajax, firebug is what you need.

b) Yslow: This plug-in helps better your web development, by providing numbers about the http requests, the number of css files/JavaScript files etc. Click here to learn more about it.

c) Colorzilla: Colorzilla is yet another tool i prefer. It has a eyedropper which selects any color in the browser providing the hex code for your css.

d) MeasureIt : This is a very handy tool, provides the pixel size of any area you wish on the browser. Just drag it to the width and height you want and you get the pixel values.

e) Web developer toolbar: Another tool for quick web development. I have used its css window to write the css and get the output in real time. A very nice and handy feature. I am yet to explore its features.

f) Dummy image generator: I use this tool a lot, to get some dummy images.Just enter the width and height and generate the image.

g) Lorem ipsum generator : Like the dummy image generator, this plugin helps generate text. Very quick.

This is a great desktop application for prototyping, wire-framing etc. Easy to use. We normally use this for documentation and creating wire-frames so that it becomes easy to start coding. We have the entire flow of the project with us. This makes life very easy. I have also tried using Axure RP, balsamiq but finally settled with serena.

5) Filezilla
I have been using this for about 8 months now. I sure need a new ftp client. Before that i was using winSCP. I am still on hunt to get a good ftp client. I tried getting a ftp plugin for notepad++ but it would crash everytime. :( Anyways, if you have any better suggestions do drop in a comment.

Of Course, this should top in the list. Have been using it from past one year, Before that i was using Xampp. However i don't find any difference. Yeah WAMP had crashed once, and i had to waste an entire day on it to backup my projects, database and re-install it. I hope it does not happen again.

7) Tortoise SVN
SVN is the best thing. Helps keep track of your projects, each files and maintains a log. I have a post on how to configure XAMPP with SVN. We have a dedicated linux machine now for storing all our repositories. And we get the files using Tortoise svn client on windows machine.

I now plan to start developing on linux. I have already got ubuntu 10.10 installed on my machine with LAMP configured. Configuring LAMP was very easy, just one command and it does the trick for you. Also i plan to start developing in Ruby on rails, and i think linux is the best environment for ruby. 

Conclusion :
Windows is a good operating system, but since all our servers are linux, it is better to get a taste of it too. I remember one of the problems in my early years of career i faced was that linux considers JPG and jpg as different files. I had a hard time figuring this out. :)

What tools/operating system you prefer for web development. Do post it in comments and if you have any suggestions, i'd love to hear...Thanks

Friday, January 7

Time Pass

Time Pass with photoshop.
Nothing to Do. Nope, I got lots to do. Initially i tried getting the famous middle finger through my mouse. But it all looked messy. So got this pic from internet.

Sunday, January 2

Why my engineering degree sucks

Edit :  I wrote the post first and realized the title was missing. The title is not directly related to the post and....never mind..just read if you have time to waste!!!.

After graduating, I've realized that it was not worth it. Yeah my engineering degree sucks. And i am to blame culpable for it. But lets not go deeper.
The other day i was having tea with a colleague and i remembered this incident that occurred during my engineering days.I just want to keep it alive.So a post dedicated to it.

Just as any college, it was the season of inter college competitions. A very well known private college ranked 2nd in Goa had organized it. To skip the classes and project work we all decided to attend it. There was this event, don't know what it was called, but the main task was to design a HTML layout for a image provided.

Some of the best minds from my college gathered together. We made groups of two and started reading that NIIT Html tutorial book. They said html was very easy. And i even knew what it stood for. I was confident, happy and enjoying. I still remember i could not understand what iframes were and so i asked this friend, who answered all my stupid questions with patience. My partner and I were not so worried and i did not care much.
The competition was about to start, i was still not sure what iFrames were and my friend was busy explaining me again and again.

We entered the computer lab, where the competition was held.Me and Raja choose the corner PC. They had a projector with an image of a webpage and we had to write the layout in html. We were given notepad. We knew how to use dreamweaver (i am not sure, but lets assume we knew) but had never tried actually coding even the basic html layout. Without loosing a single second, we said, lets get our hands dirty and start competing.

hyper text markup language

Disaster part 1
But how do we start? Both me and my partner were not sure.
Lets start with the tags he said. Ok. We have the <html> start and </html> end. In between we have <head> start and </head> end and then the <body> start and </body> end. All done. Now lets enter the <title> tag.

He: The title tag comes insde the <head> tag.
Me: Nope, It comes outside the <head>.
He: Dude, lets try both
Me : Ok

I  was confident that the title tag comes outside the head tag. We tried my method first. Opening the file on browser, it was blank. Full white. (white screen of death as we call it in drupal). I was shocked it did not work, he was happy. We tried his method. Put the <title> tag inside <head> tag. It was again white (or the white screen of death). We were both confused.

Disaster part 2
We were trying to get a title of the page as displayed on the image using the title tag. We should have seen the title when we tried second time, but alas we were expecting it to appear somewhere else. We tried and tried harder. Others around us, were pretty fast and we could see some promising web layouts. We were still with the white screen. Not sure what to do, finally we ended up using a <h1> tag and surrounding it with the <center> tag. Thank god, something did appear on the screen.
Time ran out, we were giggling and cracking jokes and time for the jury to arrive. I think our's was the 4th turn. Our neighbors were kind enough to tell us about how they used CSS, Html and were a little short of time else they could also have implemented the JavaScript image switcher.

Disaster Part 3
The judge followed by the volunteers peeped into our machine. We had nothing to show. And what we explained  was another disaster which i think i'll skip here. ;) 

We discussed for a while. Had a hearty lough about the disaster and we forgot. Rest of the engineering, we were busy doing submissions.(Submission is a fucked up thing - and it deserves another post)

The entire 45minutes given to us, we were confused as to where the fuck title tag appears in the html. Now i know. And now i know he was right. And now i know, i missed a lot, i did not know the basics, i did not know nothing. And now you should know, it was my final year of engineering. Yeah, i know i should be ashamed of myself, but the fact is fact and No one can change.

P.S : This was way back in 2008 and things have changed. And what you should know is, that i know a lot of web and i work as a web developer in a small company.

P.S : Before i learned about the web, there were some more incidents (hilarious, stupid, fucked up) which i plan to post it here.
2010 Kicked my Ass.
Its time to return the Favor..