Too Cool for Internet Explorer
Showing posts with label Learnig Process. Show all posts
Showing posts with label Learnig Process. Show all posts

Friday, November 20, 2009

OOCSS, Page Layout and naming conventions

At this point, I’m investing some time to improve my technical skill on (X)HTML, CSS, page layouts and different skins for applications mostly based on CSS.

Of course I’m not a designer, and probably never will be. But I know for sure, every developer must know “the minimum” at least, or we will be in the #yerdoinitwrong category.



Studding a few Rails applications and how they implement different css skins for the same page, I get shocked.

There is no guide line to follow, pattern to apply, base layout to use, and most important: no naming convention at all.

So, I have searched the web for all these items just to get even more chocked.

Why? The only thing people agree is to disagree. They don’t even agree if it is fair to use a reset css or not.

So, I need to start making my own decisions and establish some rules by myself.

I want to explore css to the limits, avoiding JavaScript for a while. So, I need to create my css template and start applying it on my web pages, before I can use it on an application (Rails or not).

Reset CSS?

Let me start by the reset css subject. I will not argue about that. There is a lot of discussions over the internet: people considering pros, other considering cons about using the reset css.

After reading most of the discussions, evaluated and tested all the “reset.css” files listed in this collection.

I took the decision to use a “reset.css” file. But the one I have chosen was the W3C proposal.

It is a bit longer if compared with others, but it considers the phrase “a default style sheet must show an HTML page content into a readable and useful way”, seriously.

If you want to make your own tests, I have created and published a basic HTML test page.

In my tests most of the available “reset.css” files (including the popular YUI), turns the HTML content into an unreadable and useless format. That is my reasoning about using the standard W3C reset option.

Page Layout

Next topic, the page layout and element names, in this topic we have a few statistics and agreement about.

You can see a few statistics naming conventions.

Words I think we should consider when naming are: meaning, brevity, clarity, semantic, generic (thanks to Nicole Sullivan).

So, taking my own site as an example:



The main area proposal:



Words like “wrapper” and “main” are not so clear in my opinion. Inside the body, we simply have our desired “page”, that is it.



In our page we have three main areas we can consider a practical standard. The popular: header, content and footer.

And finally each of these areas will be divided into sections:



The left, the center and the right sections, are nothing more then columns.

OOCSS:

That points to the last topic: the oocss proposal, which can be used to put it all together.



You can find associated  links from the oocss home, or go to the project itself.

And it is very easy to define and combine columns using the oocss Grids “sizeXofY” classes.

I am a fan of the oocss way; despite disagreeing on some points and need to change it a bit for my specific needs, most of my class names and current css style came from there.

OOCSS has some key points:

•    use modular components
•    be consistent
•    use grids
•    minimize use of css selectors
•    use multiple classes per element to extend behaviour
•    separate container and content
•    new pages should not need new css

and key points to avoid

•    avoid location dependent styles
•    avoid styling by id
•    avoid specifying the tag a class applies to
•    avoid drop shadows and rounded corners over image backgrounds

According to Nicole Sullivan: “OOCSS isn’t really a framework … but a way of writing scalable, sane, maintainable CSS”.

You can have a First Look on Object Oriented CSS.



And a live sample (my own version) of OOCSS.



It is not even a final draft; it is a work in progress.

Any suggestions are welcome.

Monday, September 21, 2009

Ruby on Rails for Sale! Under $ 2,500 limited offer.


Last Week I have brought some Java team mates to Dev in Rio 2009, a Web development event here in the town. You can see some pictures from the event here.

I was exited because they will be introduced to Ruby on Rails, by one of the most known Brazilian Rails expert.

But after the Rails keynote, I feel something went wrong.

Here is a summary of my conversation with my team mates:

Me - Hey, what do you think? Is Rails awesome or not?

Them - Yeah, yeah, Rails appears to be really awesome, but the cost is prohibitive.

Me - ????? WHAT ????? It is all open source!

Them - Yeah, yeah, but the problem is the hardware; I will not spent near $ 3,000.00 box into a Mac, just to get introduced to this Rails stuff.

OMG…

Here is the old problem again.

Why in the hell did the experts insist to associate good and productive Rails programmers with a hardware brand or specific O.S.?

I can only imagine someone from the Rails core team has a kind of association with something “evil”.

And they are not alone! People from Ruby Central “purchased and sent Matz a new Mac” which you can see here “full of smiles”.

But, the real fact is: A Mac Book Pro in Brazil could be legally acquired by $ 2,440.00 (best price today)

I need to assume developers on the same country, on the same city, on the same company have something in common.

Developers are average citizens after all.

And average citizens use Windows (more then 90% at least)!

Why, should I try to convince them not only to try a new open source language, a new open source framework, but change everything else around?

I don’t think so.

Thanks to Luis Lavena and a bunch of other smart guys I’m now testing Ruby 1.9.1 on Windows 7.

In the beginning before I start learning Ruby with Satish Talim from RubyLearning, I have spent some time looking for a place where I can learn Ruby using Windows, and my mentor uses Windows as well. Satish shows up just in time for me.

I think there are many similarities between India and Brazil in this case.

Apple products are very expensive pieces in developing countries, and are not for the average people.

That said, Rails experts, please try to be at least more agnostic about hardware and OS when keynoting about Rails.

IMHO, this is the best produced stupidest Apple advertisement ever.

I can understand why some people are stick with Apple products.


Anyway I will say it again.

Being a good and smart Ruby on Rails developer, has no direct relationship with the hardware, Operating system, Editor or IDE you use.

It is all about YOU, your motivation, your perception and good sources of information.

If you like the all open source Linux use it, it is completely free, and friendlier every day.

If you like the software proprietary Windows, buy the hardware you like the most (probably windows will be pre-installed on it).

And last but not least, if you like the software and hardware proprietary OS/X and can afford a Mac, do it, and be happy!

Free will for all!

Tuesday, September 8, 2009

UNDER CONSTRUCTION - to be, or not to be



This weekend I re-started the “TrainerOnRails” Project.

So, it is time to put the first page on that domain which was empty for almost a year.

My first attempt was to Google about “under construction pages”, and doing that, I start to question myself.

Would that be the coolest thing to do first?

Here are some of against opinions about that.

This icon says more about me than it does about my web page

Don’t use under construction pages

Design Mistakes: The Under Construction Page

Under Construction pages on websites - do they matter to SEO?

Making The Most of Being Under Construction

A nostalgic one:

The Top 3 Retro Under Construction Pages

This one disagrees from everyone else, saying an upfront “under construction page” can improve your SEO activity.

Getting Your SEO Started Early With A Development Home Page

The one that looks more pragmatically at this subject is this:

Under Construction page is such a waste of time or is it? What make a good one?

One good idea here:

Cool and Free Launch Page with Ajax Newsletter

Well, I have made my choice: a beta version page will be. No under construction, obvious and redundant, animated gifs at all.


But why in the hell do I need a beta version page?

In fact for some practical reasons:

First of all, if I do nothing, people will see that strange list of files when they access my domain name, if I need to do something, why not to put a page out there?

Secondly, I need to get ready with RRS feeds, donation badges, hit counters, etc. and to get that I need a working page now!

Another problem (in my case), is that TrainerOnRails’ domain, sleeps for almost a year, and there are a few broken links elsewhere that I want to redirect.

How can I do that if I don’t have any “beta version page” to redirect them?

This situation drives me to another research: customized error pages…

In this case, people were getting a 404 error page when they try the old TrainerOnRails link, so, I need to put something there to redirect them.

It is not a regular 404 error customized page, but sounds like one.

To test the whole thing, you can start from the former link, and see what happens:

I’m not a designer, I try to do it quite simple: no CSS, just hard coded HTML and a few images.

I like the final result. It is triple checked by W3C Validation Service, Validome and WDG HTML Validator.

Since it might help someone else to avoid one or two working days on something that simple, I have turned it into an open source project “my_domain_beta_page” and released it on Github.

You are welcome to fork it, customize it and make it better, trying to keep it simple at the same time.

After all: it is just a general beta version page to keep your domain alive up front just before “your real page” get ready.

Next step? What about a Release Candidate page?

Saturday, February 28, 2009

Cloning GitHub Access


Here is another very basic guide into GitHub usage.

After you have used GitHub for a while, you will have a desire to spread that usage over all your machines.

You would like to clone from GitHub from your notebook, from your machine at work…

To get this, you have two options:

Create an SSH key on each of those machines, and add then to your GitHub account.

Or you can replicate your single current SSH key on all of those machines.

To achieve that, all you need to do (In Windows), is to copy these files / folder from your original GitHub access machine home path to the others.


C:\Documents and Settings\Ricardo>
C:.
│ sshkey.txt.pub
│ sshkey.txt
│
└───.ssh
id_rsa
id_rsa.pub
known_hosts

That is it.

I would like to ask you all from Linux and OS/X, to comment here how to do the same on these environments.

Thursday, January 1, 2009

github primer: the real one

All the articles I have read about getting started on github are not so “primer”.

Take for instance, my favorite article on getting started with github:

Getting Started with Git and GitHub on Windows.

It does a great job, until the “Set up your GitHub account” picture.

After that it turns specific, and supposes the readers will fork his project…

Others, starts the action by cloning an empty repository, which makes no sense.

This primer, is supposed to be your very first incursion into github, so, I will not give you the entire alphabet, just the “A” letter.

I’m supposing you have already installed your git client and done with your github account, now what?



Everything is empty on my github account. What can I do next?

First you need to create a new Repository:

You just need to fill out this form:


With at least the Project name which will become the Repository name.

Or (that was my case), just rename an unused one with the desired name:


This will let you with something like this:


With your own “Clone URL”, that will be used on the next steps.

Now let’s go and create some content and push it into this new Repository:



Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

E:\GitHub>md mynewgithub

E:\GitHub>cd mynewgithub

E:\GitHub\mynewgithub>git status
fatal: Not a git repository

E:\GitHub\mynewgithub>git init
Initialized empty Git repository in E:/DreamHost/GitHub/mynewgithub/.git/

E:\GitHub\mynewgithub>git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

E:\GitHub\mynewgithub>notepad readme.textile

E:\GitHub\mynewgithub>dir
Volume in drive E is Dados
Volume Serial Number is 5C89-E09F

Directory of E:\GitHub\mynewgithub

01/01/2009 04:38 PM <DIR> .
01/01/2009 04:38 PM <DIR> ..
01/01/2009 04:37 PM <DIR> .git
01/01/2009 04:39 PM 77 readme.textile
1 File(s) 77 bytes
3 Dir(s) 5,366,173,696 bytes free

E:\GitHub\mynewgithub>git add .

E:\GitHub\mynewgithub>git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: readme.textile
#

E:\GitHub\mynewgithub>git commit -a -m "My first commit on github ever"
Created initial commit f213d62: My first commit on github ever
1 files changed, 3 insertions(+), 0 deletions(-)
create mode 100644 readme.textile

E:\GitHub\mynewgithub>git branch
* master

E:\GitHub\mynewgithub>git status
# On branch master
nothing to commit (working directory clean)

E:\GitHub\mynewgithub>git push -f git@github.com:marcric/mynewgithub.git master
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 291 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:marcric/mynewgithub.git
+ 2fdc3ed...f213d62 master -> master (forced update)

E:\GitHub\mynewgithub>



And then, supposing this is the “readme.textile” file content:

h1. That is my first github project

h2. And this is my first README file

You will have something like this:


Now it is OK to start forking, cloning, merging and what ever you want to do with git on github.

Thursday, October 9, 2008

Who cares about Git ? Or Mercurial ?

I do of course, most of you do I know, but that is not the point.

Why are Git and Mercurial being so popular ?

Why is so important where the code is, if it is inaccessible anyway.

Inaccessible here means you can’t easily access the code you need just because it is on this or on that repository.

There is an interesting article about Git and Mercurial in Technological Wasteland.

The current situation is: I’m learning Rails, in fact, more: I’m learning all this web application development stuff, having chosen Ruby as a language and Rails as a framework.

I was just trying to follow the 14th lesson from LearningRails, thanks to the BuildingWebApps guys, when this subject, about DVCS (Distributed Version Control System), comes up.

Why ? Just because one of the plugins I need to accomplish that lesson (“acts_as_textiled”) changed from SVN, which is a Centralized Version Control System, to GIT.

Well, I’m one of these members of the dumb majority who uses Windows.

Yes I have used it for years developing in VB, then more recently don’t need to change when developing in Java, and see no reason to change now (OK, OK, may be I see some reasons, but I’m a lazy 50 years old developer, Windows will be).

The point is: I use Windows and I use Netbeans, and none of them give nice and easy support for Git.

That was the first point of changing my mind, installing a Rails plugin into a Rails project through Netbeans, is ease, you just need to right click the project, open the plugins pane add the plugin project URL and install it.

It works fine for SVN stored plugins, but what the hell, appears to me now, every single project in the world is going into Git !

Planned support for Git in Netbeans ? Yes, but may take a while.

Support for Git in Windows, Yes, but you need to install Cygwin which was the first reason I give up from e-Editor, because it needs Cygwin for “advanced features”.

To be honest I’m not a command line fan, but since the changes on this Rails Web App community are so fast, you must be an agnostic IDE guy, or turn yourself into a command line fan.

Anyway, I give a Try on “Komodo Edit”, which appears to be a good option to Windows users.

After a full day of research about how to install an already downloaded Rails plugin through Netbeans, I give up; I just copied the plugin into the project vendor folder, restart the IDE and it appear to work. I will see soon.

After a few months using Netbeans, I start thinking I’m becoming productive on this Windows environment. But now, I’m not so sure…

I need to start testing some “command line” + “simple program editor” options on Windows environment.

Monday, October 6, 2008

How does this wide “Web World” works ?

The first and obvious step: the user connects to the internet. OK, everybody knows that, but this means, he is now able to connect his computer to others around the globe (or outside it I guess).

Each computer (like any other device), connected to the WWW has a unique address, this is called an IP address, like this: “172.16.254.1”.

Since each connected computer is identified, we just need they talk to each other.

To send and receive packages of information between them, they use a common suite of two protocols named the TCP/IP protocol for short.

There are two basic kind of computers connected to the internet: Clients like ourselves, and Servers, where the data and applications we need are stored.

Since the computers are connected they need a higher level protocol and a program on each one to establish a “conversation”.

This high level protocol is the HTTP, and the programs are: a Web browser on the client side and a Web server on the server side.

Most of the time we are sending and receiving files trough the internet, so, we will use the internet to send a file like this: “file:///C:/MySfuff/Pictures/Christmas/PIC002_20071225.jpg” to another computer, or ask for a file like this: “http://204.2.249.122/business/world/prexy.html?hp”, from another one.

The strings above, completely identifies a resource. A resource here is anything that can be identified, named, addressed or handled, in any kind of networked information system. These strings are called URI - Uniform Resource Identifier, and the popular URL - Uniform Resource Locator, is just a sub-set of it.

The language that let’s the client and the server really establish a “conversation” is the Hyper Text Markup Language (HTML for short), most of the time.

That is the language the web browsers understand, so, that is what the web servers delivers for their clients: HTML files on the first instance and all the associated files, like images, sounds, animations, videos, etc.

Wrapped around the HTML language, there are many operations that could be done. And any kind of these operations must be supplied by different kinds of servers. For instance, if you want to send or receive emails you will need an e-mail server, if you want to download or upload files, you may need a FTP server (short for File Transfer Protocol).

Now, we can establish a conversation, between the Client and the Server through the browser, here is an example:

A user types a URL into his browser and click ENTER, or simply clicks on a link addressed to it:

http://www.nypublished.com/pages/business/index.html

The browser will translate this URL into an HTTP request, like this:

GET //pages/business/index.html HTTP/1.1 Host: www.nypublished.com

The browser wraps this request into the TCP/IP protocol and sends it.

When the web server on www.nypublished.com, receives it, it will append the given path to the path of its root directory, “/nyp/www/”, by instance. The result is the local file system resource path:

/nyp/www/pages/business/index.html

At this moment there are a few alternatives to the web server, but the common action is trying to find the file locally and sends a response back to the client’s web browser.

It sounds a bit simpler to be true. OK it is a simplification here; it could be true on the early days of internet with just a few static pages, but now, with all that interactivity, no way. We need to add more elements to the equation.

And besides the browser evolved a lot all this years, the big difference is on the server side.

Let’s take a look on another example, accessing an interactive (application) page, like this:

http://www.campinghq.com/mastercamp/forums/1

As you can see, there is no file name at the end. What will be happening on this case?

The browser will translate this URL into an HTTP request, like this:

POST /mastercamp/forums.rb HTTP/1.0 From: newbie@webworld.com User-Agent: HTTPTool/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 32 home=forum=1

The browser wraps this request into the TCP/IP protocol and sends it through the internet (1).

Now we need to go deeply into the server side. On this case, there is no file with the content you need on the web server itself. That is a situation where the web server needs help from other servers.

This is what we call a dynamic page. In fact, there is not an HTML file on the web server that simply could be returned to you in response. The file containing your response will be created “on the fly” in this case.

There is a three tier structure (not necessary three different machines), that will be used to give you the answer. There is a Web Server, which receives the request, depicts it, and tries to find an answer to it; this is the first tier (2).

In case the Web Server couldn’t find an answer to the request, it sends the request to an Application Server, the second tier, which in turn tries to find an application and functionality to send the request (3).

In this example, “mastercamp/forums”are respectively the application and functionality to be used.

There is an application called “mastercamp”, and there is a “forums” functionality on it that will be called.

The last parameter, “1”, will be used to pick information (data) from the Database Server, the third tier (4).

So, the “forums” functionality gatherers information from the database (5) and prepares it, the “mastercamp” application, transforms it into an HTML file, and send it back to the Web Server (6).

The Web Server then generates an HTTP response, like this:

HTTP/1.1 200 OK Server: Apache/2.2.9 Date: Wed, 14 Jul 2007 09:48:04 GMT Content-type: text/html X-Powered-By: Ruby/1.8.6 Set-Cookie: rbrd2mysql_data=a%3A0%3A%7B%7D; expires=Thu, 14-Jul-2007 09:48:04 GMT; path=/ Set-Cookie: rbrd2mysql_sid=b389d63f8226cc6c8ad349b3aadf41f3; path=/ Refresh: 0; URL=http://SERVER/rbrd2foobar Content-Length: 0 HTTP/1.0 200 OK Content-Length: 7

Wrap this response into the TCP/IP protocol and send it back to the internet (7) to get it back to the client (8).

Here is “The Big Picture”:




That is a short description on “How the Internet works”.

I do not go deep in any details but all the basic points are here, with links to more detailed explanation.

Saturday, October 4, 2008

Rails, what happens to you ?


Hey man, four weeks focused on my regular work (problems, problems, problems) and a lot of new versions are available !

Rails is now 2.1.1, Ruby is now 1.8.7-P72 or 1.8.6-287. Not to mention gems and plugins.

So many changes, but let’s continue the journey…

By the way, some answers I can give to my team mates about being productive using Rails on Windows.

To be honest I’m not that kind of a “command line guy” I like to use an IDE, but I need to admit if you choose the right tools and like that “command line way”, YOU CAN BE AS PRODUCTIVE ON WINDOWS AS ON OS/X.

I will tell you about it on a later article.

Back to web applications, now we have the whole history, you can access it from here.

Next step will be to understand how the internet really works.

If we pretend to create a web application, the first step, of course, is to know how all that stuff works.

On the last month I have unsuccessfully tried to find a real basic guide to developing Web application using Rails, but when I say “basic” I mean really basic.

A guide to someone that has NEVER ever, developed a Web application: could be a COBOL programmer for instance.

I’m still planning to publish Ruby related articles, but from now on I will start to publish a sequence of Web and Rails related articles, and will call it “WEB on Rails from A to Z” (you will see this on the subheadings).

So, on a future article I will explore the basics on publishing a static page on the Web, using the very raw Web and Ruby / Rails resources.

The reason ?

That is simple, I’m learning from the raw basics myself, I’m not a COBOL programmer anymore (nothing against it), but still dealing with VB client-server applications(nothing against it too), and was dropped into the Java / J2EE (Ooops) jungle last year.

My knowledge on Web applications was limited to a couple of HTML / Java script courses in the past, so, you can imagine the suffering.

And about that WEB thing take care of it !

Friday, July 25, 2008

The World Wide Web unofficial History 3/3

Here and now

1997, second preview release of Netscape Communicator 4: CSS/JSS support. Third preview of NC 4: Improvements to the CSS support. Fourth and fifth preview release: Minor HTML improvements in Beta 4, introduction of the Netcaster push technology.

HTML 4.0 was released.

Netscape Communicator 4 Final released with: More CSS support (much, but not all of CSS1), minimal dynamic font and OBJECT element support.


Netscape announces an initiative to retain its browser share by forming 100 industry partnerships. The streamlined Navigator 4.0 includes Netcaster, basic email, and calendar software. Netscape unveils the Netcenter Web site, transforming the corporate Netscape.com into a site featuring news, software, and chat groups.

Internet Explorer 4.0 was released in September, with the latest beta version of Windows 98.


1998, Netscape announces that all future Netscape browsers will be free of charge and also that the development of the browser will be open-source. Mozilla.org is found. Grommit aka Netscape 5.0 announced based on Communicator code, soon to be cancelled in favor of Gecko.

Mozilla.org website launches. A dedicated internal team and the Web site guide the open source code to developers.

Netscape releases programming source code for its Communicator software. This is the first code source release, still based on the Classic Communicator. Mozilla Classic is still available on the Mozilla.org site.

The US Justice Department and 20 state attorneys general file an antitrust case alleging Microsoft abuses its market power to thwart competition, including Netscape.

In a legal case brought by the US Department of Justice and twenty U.S. states, Microsoft was accused of breaking an earlier consent decree, by bundling Internet Explorer with its operating system software. The department took issue with Microsoft's contract with OEM computer manufacturers that bound the manufacturers to include Internet Explorer with the copies of Microsoft Windows they installed on systems they shipped.

Allegedly, it would not allow the manufacturer to put an icon for any other web browser on the default desktop in place of Internet Explorer. Microsoft maintained that integration of its web browser into its operating system was in the interests of consumers.

Microsoft asserted in court that IE was integrated with Windows 98, and that Windows 98 could not be made to operate without it. Australian computer scientist Shane Brooks later demonstrated that Windows 98 could in fact run with IE files removed. Brooks went on to develop software designed to customize Windows by removing "undesired components", which is now known as LitePC. Microsoft has claimed that the software did not remove all components of Internet Explorer, leaving many dynamic link library files behind.

According to a study by a market researcher, Netscape cedes browser-share lead to Microsoft's Internet Explorer. Netscape Communicator 4.5 released. Various functionality improvements, but no new HTML or CSS support. Only Bug fixing. Netscape 5.0 cancelled in favor of a completely new product, based on new technology (Gecko aka Raptor).

AOL buys Netscape, Netscape as an independent company ceases to exist. Mozilla.org posts the following two statements regarding Mozillas position after the merger: "fear and loathing on the merger trail" and "Steve Case on Mozilla". Also: Thanks Mozilla (Wired).

Mozilla is not a web browser. Mozilla is a framework for building web applications using web standards like CSS, XML and RDF. The Mozilla Application Suite is a complete set of web applications (browser, email client, news client, chat client and more).

Mozilla code is used in Netscape 6 and 7, and in other web browsers such as Firefox and Camino, chat clients, news clients, email clients, games, and other types of web applications for Windows, Linux, and Mac.

Mozilla is an open-source web development project developing the program code used in the Mozilla Application Suite (also known as SeaMonkey).

Browsers based on Mozilla code (Mozilla, Firefox, & Camino) is the second largest browser family on the Internet today, representing about 30% of the Internet community. Mozilla browsers are known to have very good web standards support.

1999, HTML 4.0.1 was released, introducing Cascading Style Sheets.

Internet Explorer 5.0 was released.


2000, Netscape 6.0 "Final" released, based on Mozilla 0.6 - regarded by many as the biggest mistake in Netscape history. Many old users finally switch to Internet Explorer. Market share is dropping even more.

2001, Netscape 6.01 was released, based on Mozilla 0.6. Netscape's homepage gets a facelift, almost complete shift to entertainment and news portal. Netscape.com now runs on AOL servers, not on Netscape servers. Netscape 6.1 was released, based on Mozilla 0.9.2.

Netscape 6.2 released, based on Mozilla 0.9.4 - it's finally time to switch to Netscape 6. Netscape 6.2.1 was released, based on Mozilla 0.9.4.

Rumors of the next major Netscape release surface. Codename "Mach V", probably Netscape 7.

August 27: Internet Explorer 6.0 was released with Windows XP.


2002, Netscape 6.2.2 was released. Yet another minor release based on Mozilla 0.9.4. Preparations took place for Mozilla's major 1.0 release. Release Candidate 1 is available for download.

Mozilla Phoenix 0.1 was released.


Netscape 6.2.3 was released, based on Mozilla 0.9.4. Netscape 7.0 Preview Release was released, based on Mozilla RC2.

Netscape Communicator 4.8 released.

Netscape 7.0 Final released, based on Mozilla 1.0.1 - Netscape deactivates the Mozilla Popup-Blocker.

Netscape 7.01 was released, based on Mozilla 1.0.2 - Netscape learned the lesson and reinstates the Popup-Blocker.

December: "Black Wednesday". Mayor layoffs at Netscape headquarters. From the approx. 75 programmers working on Netscape and Mozilla browser software only 6 programmers are left to directly work on Netscape. The rest is either fired or relocated with AOL to work on other things, for example Gecko (HTML rendering engine) or AOL Communicator (Standalone email client).

2003, Steve Case resigns as AOL chairman, but will remain a member of the AOL board.

Netscape releases an AOL-free version of Netscape 7.01 (i.e. without the usual add-ons).

Netscape releases Netscape 7.02, based on Mozilla 1.0.2 - a minor release aimed to fix stability and security problems. The next major Netscape version is currently under development. Codenamed Buffy, Netscape 7.1 (based on Mozilla 1.4) will probably be released in July or August 2003.

May 7: Microsoft online chat, Brian Countryman, Internet Explorer Program Manager, declared that on Microsoft Windows, Internet Explorer would cease to be distributed separately from the operating system (IE 6 being the last standalone version); it would, however, be continued as a part of the evolution of the operating system, with updates coming bundled in operating system upgrades. Thus, Internet Explorer and Windows itself would be kept more in sync. However, a new standalone version, IE 7 was released since then.

May 29: Microsoft is paying $750 million to AOL Time Warner as part of a wide-ranging settlement that also calls for the companies to jointly cooperate on software distribution and digital media. As part of the deal announced Thursday, the companies will drop pending litigation, including an antitrust complaint filed by AOL Time Warner's Netscape Communications unit in January 2002 against Microsoft. AOL also agreed to a seven-year royalty-free license of Microsoft's Internet Explorer browser. You don't have to be an expert to see that this could basically be the last nail to Netscape's coffin.

June 23: Safari 1.0 Web browser was released by Apple Inc, based on the Konqueror rendering engine.

June 30: Netscape 7.1 was released.

July 15: Mozilla.org gets a new home: The Mozilla Foundation.

"The Mozilla Foundation" is a new non-profit organization that will serve as the home for mozilla.org.

As before, mozilla.org will coordinate and encourage the development and testing of Mozilla code. The Mozilla Foundation will also promote the distribution and adoption of our flagship applications based on that code. AOL, IBM, Sun Microsystems, Red Hat, and other companies will continue to support Mozilla through the Foundation.

What this means for the Mozilla browser and other products and technologies: more innovation from the open source developers and a greater focus on end users.

Netscape (the company) is dead. Long live Mozilla. Major layoffs at Netscape. The company logo gets removed from the Netscape building. There is no Netscape company anymore, only the brand name is left and in the hands of AOL.

A few of the Netscape programmers join the AOL team, but most are fired. This was a disaster for Mozilla, because many programmers working on Mozilla were paid by Netscape.

Netscape 7.1 will probably be the last release.

2004, Netscape has mutated into an Internet Service provider. It supposedly ships with Internet Explorer. AOL stops selling Netscape CDs and handbooks. Somebody please turn off the lights!

March: According to AOL is going to release a new Netscape version.

This is the End of Netscape? Not the End of Netscape? What's on AOL's mind these days?

There will be a new version of the Netscape Suite. Based on Mozilla 1.7, Netscape 7.2 will feature the usual AOL add-ons. Mozilla 1.7 was released on June 18th 2004.

The Netscape 7.2 was released. This new version, was based on Mozilla 1.7.2 and featuring the usual AOL add-ons. Sadly, only the English language version was available. What's more: shortly after its release some serious security problems were detected in Mozilla 1.7.2 and therefore also Netscape 7.2.

Those security bugs were fixed with Mozilla 1.7.3, but so far (September 2004) no update of Netscape 7.2 has been made available. That means, using Netscape 7.2 can not be recommended, which makes Netscape 7.2 the literal dead fish in the water only days after its release. To create Netscape, AOL had to hire external Contractors to do the work (some of them ex-Netscape programmers).

September 30: AOL sells the old Netscape server software (Enterprise servers) to Redhat. Redhat plan to release them as Open Source and incorporate the software into its Linux. It looks to me as if Redhat are trying to gain some profit from the name Netscape, which still sounds good to many people on the internet. As a consequence, AOL now has only the rights for the Netscape browser, the portal Netscape.com in their possession.

October 12: AOL shuts down, a site which has been a great source for HTML and JavaScript programming over the years. Mozilla.org is now trying to get the contents of the server to publish them on their site. Interestingly enough, AOL is celebrating Netscape's 10th birthday this week as well. How ironic.

Mozilla Firefox 1.0 was released.


Netscape updates their browser with a program based on Firefox.

2005, after a release based on Firefox 0.9.3 a second prototype was released. This new browser, by now known as Netscape 8, is supposed to feature special security enhancements, such as anti-fishing mechanisms.

Version 2.0 of Safari, was released on April 29, and runs only on Mac OS X 10.4.x (Tiger) or later.

Netscape 8.0 was released on May 19th 2005. It is largely based on Firefox 1.0.3, but has also the ability to switch to IE's rendering engine ("Trident"). Netscape 8 is produced by a company in Canada for AOL.

July 2005: Following Mozilla.org's step to discontinue the MozillaSuite, a small group of free developers announces to continue working on the Suite. The new project is codenamed "Seamonkey".

August 8th, 2005: The Mozilla Foundation has announced the creation of the Mozilla Corporation, a wholly-owned subsidiary that will continue the development, distribution and marketing of Mozilla Firefox and Mozilla Thunderbird.

After finding security problems with the new Netscape 8 browser, AOL/Netscape releases updates.

September 2005: Rumors about Netscape 9.0 surface.

December 19: Microsoft announced that it would no longer support Internet Explorer for the Macintosh, and recommended using other Macintosh browsers such as Safari.

2006, Crazy stuff is going on at AOL headquarters, and of course, more lay-offs.

Mozilla Firefox 2.0 was released.


2007, Netscape is reportedly working on a new version of Netscape, dubbed "Netscape 9". This new version of the browser will once again be a standalone product (i.e. lacking an e-mail/news component such as Netscape used to have up to version 7.x) and will be using Firefox as its core.

Netscape 9 will be tightly integrated into the user-based website Netscape.com. Contrary to Netscape 8.x, which was developed by a third-party company, the new browser was being developed "in-house", i.e. there were actually Netscape programmers working on it.

June 22: Apple released Safari 3.0.2 for Windows.

October 2007: Netscape 9.0RC1 has been released. The new splash screen sports a classic Netscape 2/3 logo (a good sign?):

The winner of the splash screen design contests.

Internet Explorer 7.0 was released.


In other news: The "social" Netscape.com has been re-launched as a classic news portal.

December 28: Netscape (the browser) is dead. AOL has finally shut down Netscape for good. Browser development will seize on February 1st, 2008. The glory that once was Netscape will survive in the name of an internet portal only.

2008, Mozilla Firefox 3.0 was released.


Web Browsers and Operating Systems Today:


Latest Web Browsers Releases:


Firefox

Internet Explorer

Opera

Safari

Monday, July 21, 2008

The World Wide Web unofficial History 2/3

The Browsers War

1994, MCC changed its name to Netscape in April, and the Mosaic browser was developed further as Netscape Navigator. The company wisely hires the best young Web programmers of the world.


Arena web browser was released. It was developed by Dave Raggett at Hewlett-Packard in Bristol, England, with powerful features for positioning tables and graphics. It was first implemented to render documents conforming to the HTML+ (now known as HTML3).


Next year, Arena Web Browser becomes the W3C testbed until its final release in late 1998.

Despite its time of development, Arena is in certain areas a relatively modern browser; because it functioned as a testbed, it saw the implementation of new technologies long before they became mainstream, i.e. CSS.

First WWW Conferences took place on Europe (Geneva) and USA (Chicago). IW3C2 (International WWW Conference Committee), has been founded.

The Microsoft Internet Explorer project was started, leveraging source code from Spyglass, Inc. which delivered two versions of the Mosaic browser to Microsoft, one wholly based on the NCSA source code, and another engineered from scratch but conceptually modeled on the NCSA browser. Internet Explorer was initially built using the Spyglass, not the NCSA, source code the license to Microsoft provided Spyglass (and thus NCSA) with a quarterly fee plus a percentage of Microsoft's revenues for the software.

The IBM Web Browser was presented with OS/2 Warp (v3); it was hailed as the best browser by Internet Magazine in their November issue, and leveraged its position as the only native browser in OS/2 at that time.



The Opera browser was developed by a team of researchers at a telecommunication company called Telenor in Oslo, Norway.

May 31: MacWeb 0.98 browser was released.


CERN as a physics lab cannot continue to invest effort in an informatics project without help. Tim Berners-Lee and the Laboratory for Computer Science (LCS) of MIT (Massachusetts Institute of Technology) start the W3C Consortium in the US. Tim Berners-Lee leaves CERN for MIT (December). The world has 2,500 Web Servers then.

1995, CERN and the European Commission invite INRIA (Institut National de Recherche en Informatique et en Automatique), to continue the European involvement. INRIA has five sites in France and is heavily involved in European projects and collaborations with similar institutes in Europe and the world.

Netscape 1.1 was released.


Jon Stephenson von Tetzchner and Geir Ivarsøy -- left Telenor to establish Opera Software to develop the Opera browser commercially.

WWW surpasses ftp-data in March as the service with greatest traffic on NSFNet based on packet count, and in April based on byte count.

Traditional online dial-up systems (Compuserve, American Online, Prodigy) begin to provide Internet access.

Registration of domain names is no longer free. Beginning 14 September, a $50 annual fee has been imposed, which up until now was subsidized by NSF. NSF continues to pay for “.edu” registration and on an interim basis for “.gov”.

Technologies of the Year: WWW, Search engines.

Emerging Technologies were: Mobile code (JAVA, JavaScript), Virtual environments (VRML), and Collaborative tools.

Sun Microsystems produces HotJava, a browser which incorporates interactive objects.



To give individuals a voice, a user-group type organization is needed. This leads to the founding of the Web Society in Graz (Austria).

Internet Explorer 1.0, released in August. The Internet Explorer team began with about half a dozen people in early development. At one point in that year, the W3C register 700 new servers per day! Internet Explorer 2.0 was released for Windows 95, Windows NT 3.5, and NT 4.0 in November.


Traditional online dial-up systems (CompuServe, America Online, Prodigy) begin to provide Internet access. A number of Net related companies go public, with Netscape leading the pack.

Registration of domain names is no longer free. Technologies of the Year: WWW, Search engines (WAIS development).

The world has 73,500 Web Servers then.

1996, the Browser Wars begins.

Netscape Navigator 2 was released with: frames, JavaScript, and Plugins. With the Netscape 2 release Netscape successfully battled the MS giant. The Browser Wars begin: AOL bundles IE with its AOL software.


Netscape Navigator 3 released with: new plugins, background colors in tables, support for underlining, frame border control, font face styles.

Also new elements to layout (multicolumn) and spacing control (spacer). Also new: the ARCHIVE attribute and the APPLET element.

Opera 2.1 Web browser was released.


Internet Explorer 3.0 was released free of charge in August. By bundling it with Windows 95, Microsoft thus made no direct revenues on IE and was liable to pay Spyglass only the minimum quarterly fee.

This version includes: Internet Mail and News 1.0 and Windows Address Book. It also brought the browser much closer to the bar that had been set by Netscape, including support of Netscape's plugins technology (NPAPI), ActiveX, frames, and a reverse-engineered version of JavaScript named Jscript. Later, Microsoft NetMeeting and Media Player were integrated and thus helper applications became not as necessary as they once were. Cascading Style Sheets (CSS) were also introduced.


Netscape becomes enterprise-software purveyor, rolling out intranet- and Internet-server software packages. Microsoft and Netscape battle for the WWW and its users. Preview of Netscape Communicator 4.0 available. It adds the new LAYER element.

The World Wide Web Consortium (W3C), which had taken over HTML development, issued a consensus version, HTML 3.2.

IBM Web Browser was released with OS/2 Warp 4, based on the Mozilla Application Suite.



The world has more then 100,000 Web Servers then.