Thursday, 27 May 2010

Wonders in 2000-2010.

Since we move into a new decade in less than a month, I researched a little and tried to find what happened during the decade from 2000 to 2010 in the programming world, and web developing in general, as well as some major events about Internet and computing. I run across many programming languages, frameworks and projects that really deserve to have a spot in this decade’s history. Most texts are from Wikipedia and the list is a compilation of personal consumptions about which event was bigger and deserved to be mentioned.
I would also like to state that I might have missed some events and it would be great if you add your favorite ones in the comments.
Here is a list of what I found:

2000

  • Official Launch of Windows 2000 – Microsoft’s replacement for Windows 95/98 and Windows NT.
  • Be Inc. released BeOS R5 for PowerPC and x86, which was the first release of BeOS for x86 to have a freely downloadable version which could be fully installed on a user’s hard drive.
  • eDonkey2000 client and server software is released by Jed McCaleb, introducing hashing into decentralized file sharing.
  • Netscape6, K-Meleon and Galeon web browsers born from Mozilla. This was also the year for Konqueror.

C#

csharpThis is the year where C# was born. C# is intended to be a simple, modern, general-purpose, object-oriented programming language. Its development team is led by Anders Hejlsberg, the designer of Borland’s Turbo Pascal, who has said that its object-oriented syntax is based on C++ and other languages. James Gosling, who created the Java programming language in 1994, called it an ‘imitation’ of that language. The most recent version is C# 3.0, which was released in conjunction with the .NET Framework 3.5 in 2007. The next proposed version, 4.0, is in development.

2001

  • Apple released Mac OS X. At its heart is Darwin, an Open Source operating system based on BSD.
  • Microsoft released Windows XP, based on Windows 2000 and Windows NT kernel.
  • BitTorrent released by Bram Cohen.

Drupal

drupal-logoOriginally written by Dries Buytaert as a message board, Drupal became an open source project in 2001. Drupal is an English rendering of the Dutch word “druppel”, which means “drop” (as in “a water droplet”). The name was taken from the now-defunct Drop.org website, whose code slowly evolved into Drupal. Buytaert wanted to call the site “dorp” (Dutch for “village”) for its community aspects, but made a typo when checking the domain name and thought it sounded better.
Drupal is now considered one of the most sophisticated content management systems in the world with millions of installations and thousands of people involved in it’s development.

Visual Basic.NET

visualstudio_logoVisual Basic.NET is the evolved Visual Basic. Visual Basic .NET (VB.NET) is an object-oriented computer programming language that can be viewed as an evolution of Microsoft’s Visual Basic (VB) which is implemented on the Microsoft .NET Framework. Microsoft currently supplies Visual Basic free of charge.

2002

  • eMule is released and soon becomes the eDonkey2000 network’s most popular client.
  • Suprnova.org torrent index goes online.
  • Blogs go popular
  • Camino, Firefox and Epiphany was born.

2003

  • The Pirate Bay (TPB) bittorrent tracker is founded by Gottfrid Svartholm, Fredrik Neij, and Peter Sunde. It is based in Sweden.
  • The Safari web browser was created.

Wordpress

wordpressWordPress is an open source blog publishing application and can be used for basic content management. It was first released in May 2003 by its co-founders Matt Mullenweg and Mike Little as the successor to b2/cafelog. It is powered by PHP and a MySQL data back-end.
As of September 2009, Wordpress is used by 62.8 million websites in the US and 202 million websites worldwide. It won the best overall CMS award from Packt publishing last month.

Delicious

deliciousThe precursor to Delicious was Muxway, a link blog that had grown out of a text file that Schachter maintained to keep track of links related to Memepool.
In September 2003, Schachter released the first version of Delicious.  In March 2005, he left his day job to work on Delicious full-time, and in April 2005 it received approximately $2 million in funding from investors including Union Square Ventures and Amazon.com.
Yahoo! acquired Delicious on December 9, 2005.

Scala

Scala_Logo2008The design of Scala started in 2001 at the École Polytechnique Fédérale de Lausanne (EPFL) by Martin Odersky, following on from work on Funnel, a programming language combining ideas from functional programming and Petri nets. Odersky had previously worked on Generic Java and javac, Sun’s Java compiler. Scala was released late 2003 / early 2004 on the Java platform, and on the .NET platform in June 2004. A second version of the language, v2.0, was released in March 2006.

2004

  • Mozilla Firefox 1.0 released, Microsoft Internet Explorer’s biggest competitor since Netscape Navigator.

Facebook

facebookMark Zuckerberg invented Facemash on October 28, 2003 while attending Harvard as a sophomore. The site represented a Harvard University version of Hot or Not, according to the Harvard Crimson. That night, Zuckerberg was blogging about a girl who had dumped him and trying to think of something to do to get her off his mind.
Today, Facebook has reached 350 million registered users, it worths more than 5 billion us dollars and is one of the most searched keywords on Google.

Flickr

flickrFlickr was developed by Ludicorp, a Vancouver-based company that launched Flickr in February 2004. The service emerged out of tools originally created for Ludicorp’s Game Neverending, a web-based massively multiplayer online game. Flickr proved a more feasible project and ultimately Game Neverending was shelved.
Today Flickr is the place for users to share personal photographs, the service is widely used by bloggers as a photo repository.

Groovy

groovy-logoGroovy is an object-oriented programming language for the Java platform, and is the second standard language for the Java platform, the first being the Java programming language. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk. It can be used as a scripting language for the Java Platform.

2005

  • The social browser “Flock” was born. It integrated many web services (blogger, Flickr etc) built into the browser.

Joomla

joomla_logoJoomla! came into being as the result of the fork of Mambo by the development team on August 17, 2005. At that time, the Mambo name was trademarked by Miro International Pvt Ltd, who formed a non-profit foundation with the stated purpose to fund the project and protect it from lawsuits.
By October, 2009, the 2009 Open Source CMS Market Share Report reached the conclusion that Joomla! is the web’s most popular open source content management system. That conclusion was based on an extensive analysis of rate of adoption patterns and brand strength and was backed by a survey of users.

Zend Framework

zend_framework_logoThe Zend framework was PHP’s reply on frameworks like Ruby on Rails and the Spring Framework. Today, Zend framework is one of the most used and powerful PHP frameworks. Zend framework’s libraries can be used as separate libraries without using the rest of the framework.

Symfony

symfony-logoSymfony is a web application framework written in PHP which follows the model-view-controller (MVC) paradigm. Released under the MIT license, Symfony is free software. Yahoo! used Symfony for it’s bookmarks and answers services. Delicious uses Symfony and Dailymotion also ported it’s code to use Symfony.

F#

fsharpF# is a strongly typed language that uses type inference. As a result, data types need not be explicitly declared by the programmer; they will be deduced by the compiler during compilation. However, F# also allows explicit data type declaration. Being a .NET language, F# supports .NET types and objects. But it extends the type system and categorizes types as immutable types or mutable types.

2006

  • AmigaOS 4 was released by Hyperion Entertainment (VOF) under license from Amiga, Inc. for AmigaOne registered users.

jQuery

jqueryjQuery was born that year. jQuery is a lightweight JavaScript library that emphasizes interaction between JavaScript and HTML. It was released in January 2006 at BarCamp NYC by John Resig.  jQuery managed to become the de facto tool to use, to perform complex Dom manipulation and website behavior varying from animation effects to form validation and Ajax.
Hundreds of jquery plugins are available in the official plugins directory and every day more plugins are created from jQuery users.

Twitter

twitterTwitter began in a “daylong brainstorming session” that was held by board members of the podcasting company Odeo in an attempt to break out of a creative slump. At that meeting Jack Dorsey introduced the idea of an individual using an SMS service to communicate with a small group, a concept partly inspired by the SMS group messaging service TXTMob.
Today Twitter is the SMS of the Internet. It is one of the most promising social networks and many start-ups use it’s API for offering services based on Twitter.

2007

  • Microsoft Corporation launches Windows Vista

Clojure

clojureClojure (pronounced like closure) is a modern dialect of the Lisp programming language. It is a general-purpose language supporting interactive development that encourages a functional programming style which enables simplified multithreaded programming.
Clojure runs on the Java Virtual Machine and the Common Language Runtime. Clojure honors the code-as-data philosophy and has a sophisticated Lisp macro system.

2008

  • Netscape dropped support for “Netscape Navigator”.
  • Google’s web browser, Google Chrome debuted. It will later be used as the base for Chrome OS.

YQL

yql128Yahoo! query language (YQL) is an SQL-like query language created by Yahoo! as part of their Developer Network. YQL is designed to retrieve and manipulate data from APIs through a single Web interface, thus allowing mashups that enable developers to create their own applications.
Initially launched in October 2008 with access to Yahoo APIs, February 2009 saw the addition of open data tables from third parties such as Google Reader, the Guardian, and The New York Times. Some of these APIs still require an API key to access them. On April 29th of 2009, Yahoo introduced the capability to execute the tables of data built through YQL using JavaScript run on the company’s servers for free.

2009

  • Microsoft releases Windows 7, two years after Windows Vista was released.

Opera Unite

UniteOpera Unite is an extensible framework that allows for several web services to be hosted from the user’s computer, including a web server for hosting a site, file and photo sharing, chat room, and streaming media. Opera ASA has given the Opera Community the API to create new or improved services for the Opera Unite Platform, and many have already done so. An Opera Unite user’s running services can be accessed from a dedicated web page hosted on the user’s Opera Community account, and can be accessed by any browser (though the host must use Opera).

Chrome OS

chromeAt November 19,  Sundar Pichai, the Google vice president overseeing Chrome, demonstrated an early version of the operating system, which included a desktop that closely resembled the Chrome browser, but with tabs for frequently used Web-based applications. The netbook running the operating system booted up in seven seconds, a time Google is working to improve.
Chrome OS is an open source operating system based on Linux kernel and uses Chrome as it’s UI.

Google Wave

wavelogoGoogle Wave is a self-described “personal communication and collaboration tool” announced by Google at the Google I/O conference on May 27, 2009. It is a web-based service, computing platform, and communications protocol designed to merge e-mail, instant messaging, wikis, and social networking.

Closure

closureThe Closure Library is a broad, well-tested, modular, and cross-browser JavaScript library. You can pull just what you need from a large set of reusable UI widgets and controls, and from lower-level utilities for DOM manipulation, server communication, animation, data structures, unit testing, rich-text editing, and more. The Closure Library is server-agnostic, and is intended for use with the Closure Compiler.
The Closure Compiler compiles JavaScript into compact, high-performance code. The compiler removes dead code and rewrites and minimizes what’s left so that it downloads and runs quickly. It also also checks syntax, variable references, and types, and warns about common JavaScript pitfalls.

Google Go

go-logo-blackThe initial design of Go was started in September 2007 by Robert Griesemer, Rob Pike and Ken Thompson, building on previous work related to the Inferno operating system. Go was officially announced in November 2009, with implementations released for the Linux and Mac OS X platforms.

 Source: jeez.eu

Tuesday, 4 May 2010

Operating System Interface Design Between 1981-2009



guiA Graphical User Interface (GUI for short) allows users to interact with the computer hardware in a user friendly way.
Over the years a range of GUI’s have been developed for different operating systems such as OS/2, Macintosh, Windowsamiga, Linux, Symbian OS, and more.
We’ll be taking a look at the evolution of the interface designs of the major operating systems since the 80’s.
I should mention that this article showcases only the significant advances in GUI design (not operating system advances) and also not all of the graphical user interfaces and operating systems existing today.
The first GUI was developed by researchers at Xerox Palo Alto Research Center (PARC) in the ’70s. This research opened a whole new era of computer graphic innovations.
The first personal computer which used a modern graphical user interface was the Xerox Alto, developed in 1973. This was not a commercial product and was intended mainly for research at universities.

1981-1985

Xerox 8010 Star (released in 1981)

This was the first system that was referred to as a fully integrated desktop computer including applications and a GUI. It was known as “The Xerox Star”, later renamed “ViewPoint” and later again renamed to “GlobalView”.
Xerox 8010 Star
Xerox 8010 Star, Source: toastytech.com

Apple Lisa Office System 1 (released in 1983)

Also referred to as Lisa OS, which in this case is short for Office System. It was developed by Apple with the intention of being a document processing workstation.
Unfortunately this workstation didn’t last, it was killed by Apple’s Macintosh operating system that was more affordable.
There were upgrades to Lisa OS, Lisa OS 2 in 1983 and Lisa OS 7/7 3.1 in 1984, that upgraded the system itself, but not the graphical user interface.
Apple Lisa 1
Apple Lisa OS 1, Source: GUIdebook

Apple Lisa OS 1
Apple Lisa OS 1, Source: GUIdebook

VisiCorp Visi On (released in 1984)

Visi On was the first desktop GUI developed for the IBM PC. This system was targeted towards big corporations and came with a high price tag. The GUI made use of a mouse, it had a built-in installer and help system and it didn’t use icons.
Visi On
VisiCoprt Visi On, Source: toastytech.com

Visi On
VisiCoprt Visi On, Source: toastytech.com

Mac OS System 1.0 (released in 1984)

System 1.0 was the first operating system GUI developed for the Macintosh. It had several features of a modern operating system, being windows based with icons. The windows could be moved around with the mouse and files and folders could be copied by dragging and dropping onto the target location.
Mac OS 1
Apple Mac System 1.0, Source: toastytech.com

Amiga Workbench 1.0 (released in 1985)

When first released, Amiga was ahead of its time. The GUI included features such as color graphics (four colors: black, white, blue, orange), preemptive multitasking, stereo sound and multi-state icons (selected and unselected).
Amiga Workbench 1.0
Amiga Workbench 1.0, Source: GUIdebook

Amiga Workbench 1.0
Amiga Workbench 1.0, Source: GUIdebook

Windows 1.0x (released in 1985)

In this year Microsoft finally caught up with the whole graphical user interface craze and released Windows 1.0, its first GUI based operating system (although no one would dare to refer to it as one). The system featured 32×32 pixel icons and color graphics. The most interesting feature (which later was omitted) was the icon of the animated analog clock.
Windows 1
Microsoft Windows 1.01, Source: makowski-berlin.de

Windows 1
Microsoft Windows 1.01, Source: makowski-berlin.de

GEM (released in 1985)

GEM (Graphical Environment Manager) was a windowing style GUI created by Digital Research, Inc. (DRI). It was initially created for use with the CP/M operating system on the Intel 8088 and Motorola 68000 microprocessors and was later developed to run on DOS as well. Most people will remember GEM as the GUI for the Atari ST computers. It was also used on a series Amstrad’s IBM compatible computers. It was the core for Ventura Publisher and a few other DOS programs. The GUI was also ported to other computers but did not gain popularity on them.
gem_11_desktop1
Source: Wikipedia

1986 – 1990

IRIX 3 (released in 1986, first release 1984)

The 64-bit IRIX operating system was created for UNIX. An interesting feature of this GUI is the support for vector icons. This feature was built into the GUI long before Mac OS X even existed.
irix-33
Silicon Graphics IRIX 3.0, Source: osnews.com

GEOS (released in 1986)

The GEOS (Graphic Environment Operating System) operating system was developed by Berkeley Softworks (later GeoWorks). It was originally designed for the Commodore 64 and included a graphical word processor, called geoWrite and a paint program called geoPaint.
geos_commodore_64
Source: Wikipedia

Windows 2.0x (released in 1987)

In this version, the actual management of the windows had significantly improved. The windows could be overlapped, resized, maximized and minimized.
Windows 2
Microsoft Windows 2.03, Source: guidebookgallery.org

Windows 2
Microsoft Windows 2.03, Source: guidebookgallery.org

OS/2 1.x (released in 1988)

OS/2 was originally co-developed by IBM and Microsoft, but in 1991 the two companies split up, with Microsoft incorporating the technology in its own Windows GUI and IBM developing OS/2 further. The GUI used in OS/2 was called “Presentation Manager”. This version of the GUI only supported monochrome, fixed icons.
Os 2 1
Microsoft-IBM OS/2 1.1, Source: pages.prodigy.net

Os/2 1
Microsoft-IBM OS/2 1.1, Source: pages.prodigy.net

NeXTSTEP / OPENSTEP 1.0 (released in 1989)

Steve Jobs came up with the idea to create the perfect research computer for universities and research labs. This idea later evolved into a startup called NeXT Computer Inc.
The first NeXT computer was released in 1988, however significant advances were made in 1989 with the release of the NeXTSTEP 1.0 GUI, which later evolved into OPENSTEP.
The GUI’s icons were bigger (48×48) and it introduced more colors. The GUI was initially monochrome, but version 1.0 started supporting color monitors too. This screenshot gives you have a peek into what would become the modern GUIs.
Nextstep 1
NeXTSTEP 1.0, Source: kernelthread.com

OS/2 1.20 (released in 1989)

The next minor version upgrade of the GUI showed slight improvements in many areas. The icons looked nicer and the windows were smoother.
Os 2 12
OS/2 1.2, Source pages.prodigy.net

Windows 3.0 (released in 1990)

By this version, Microsoft had realized the real potential in GUI’s and started to significantly improve them.
The operating system itself supported standard and 386 enhanced modes, which made use of higher memory capacity than 640 KB and hard disk space, resulting in the ability to use higher screen resolutions and better graphics, such as Super VGA 800×600 and 1024×768.
Also, Microsoft hired Susan Kare to design the Windows 3.0 icons and to add a unified style to the GUI.
Windows 3
Microsoft Windows 3.0, Source: toastytech.com

Windows 3
Microsoft Windows 3.0, Source: toastytech.com

1991 – 1995

Amiga Workbench 2.04 (released in 1991)

Many improvements were made to this version of the GUI. The color scheme changed and a 3D look was introduced. The desktop could be divided vertically into screens of different resolutions and color depths, which nowadays seems a little odd. The default resolution of Workbench was 640×256, but the hardware supported larger resolutions too.
Amiga Workbench 2
Commodore Amiga Workbench 2.04, Source: guidebookgallery.org

Mac OS System 7 (released in 1991)

Mac OS version 7.0 was the first Mac OS GUI which supported colors. Subtle shades of grey, blue and yellow were added to icons.
Macos 7
Apple Mac OS System 7.0, Source: guidebookgallery.org

Macos 7
Apple Mac OS System 7.0, Source: guidebookgallery.org

Windows 3.1 (released in 1992)

This version of Windows included TrueType fonts which were pre-installed. This effectively made Windows a functional desktop publishing platform for the first time.
Previously, it was only possible to achieve such functionality in Windows 3.0 using the Adobe Type Manager (ATM) font system from Adobe. This version also contained a color scheme named Hotdog Stand, which contained bright hues of red, yellow and black.
This color scheme was designed to help people with some degree of color blindness see text/graphics on the screen easier.
windows_311_workspace
Source: Wikipedia

OS/2 2.0 (released in 1992)

This was the first GUI that was subjected to international acceptance, usability and accessibility testing. The entire GUI was developed using object-oriented design. Every file and folder was an object which could be associated with other files, folders and applications. It also supported drag and drop functionality and templates.
Os 2 2
IBM OS/2 2.0, Source: toastytech.com

Os 2 2
IBM OS/2 2.0, Source: toastytech.com

Windows 95 (released in 1995)

The user interface was completely re-designed since version 3.x. This was the first Windows version where a small close button was added to each window.
The design team gave states (enabled, disabled, selected, checked, etc.) to icons and other graphics. The famous Start button appeared for the first time.
This was a huge step forward for Microsoft regarding the operating system itself and the unified GUI.
Windows 95
Microsoft Windows 95, Source: guidebookgallery.org

Windows 95
Microsoft Windows 95, Source: guidebookgallery.org

1996 – 2000

OS/2 Warp 4 (released in 1996)

IBM released OS/2 Warp 4 which brought a significant facelift to the workspace.
Icons were placed on the desktop, where custom files and folders could also be created. The shredder appeared which was similar to Windows’ Recycle Bin or Mac OS’s Trash, except it deleted the file or folder instantly and didn’t store any additional copies for later retrieval.
Os 2 Warp 4
IBM OS/2 Warp 4, Source: toastytech.com

Os 2 Warp 4
IBM OS/2 Warp 4, Source: toastytech.com

Mac OS System 8 (released in 1997)

256 color icons were the default in this version of the GUI. Mac OS 8 was one of the early adopters of isometric style icons, also called pseudo-3D icons. The platinum grey theme used here became a trademark for future versions of the GUI.
Macos 8
Apple Mac OS 8, Source: guidebookgallery.org

Windows 98 (released in 1998)

The icon styles were almost the same as in Windows 95, but the whole GUI could use more than 256 colors for rendering. Windows Explorer changed almost completely and the “Active Desktop” appeared for the first time.
Windows 98
Microsoft Windows 98, Source: toastytech.com

KDE 1.0 (released in 1998)

This is how the KDE team described the project upon releasing version 1.0: “KDE is a network transparent, contemporary desktop environment for UNIX workstations. KDE seeks to fill the need for an easy to use desktop for Unix workstations, similar to the desktop environments found under the MacOS or Window95/NT. A completely free and open computing platform available to anyone free of charge including its source code for anyone to modify.”
800px-kde_10
Source: Wikipedia

BeOs 4.5 (released in 1999)

The BeOS operating system was developed for personal computers. It was originally written by Be In in 1991 to run on BeBox hardware. It was later further developed to take advantage of newer technologies and hardware such as symmetric multiprocessing by utilizing modular I/O bandwidth, pervasive multithreading, preemptive multitasking and a custom 64-bit journaling file system known as BFS. The BeOS GUI was developed on the principles of clarity and a clean, uncluttered design.
800px-beos_desktop
Source: Wikipedia

GNOME 1.0 (released in 1999)

GNOME desktop was mainly developed for Red Hat Linux, later it was developed for other Linux distributors as well.
Gnome 1
Red Hat Linux GNOME 1.0.39, Source: visionfutur.com

2001 – 2005

Mac OS X (released in 2001)

In early 2000 Apple announced their new Aqua interface and in 2001 the company released it with their brand new operating system called Mac OS X.
The default 32 x 32 and 48 x 48 icons were changed to big 128 x 128 anti-aliased and semi-transparent icons.
Lots of criticism followed after the release of this GUI. Apparently users were not quite ready for such a big change, but soon enough they adopted the new style and today this GUI represents the basis of all Mac OS X operating systems.
Mac osx 1
Apple Mac OS X 10.1 Source: guidebookgallery.org

Windows XP (released in 2001)

As Microsoft tends to change their GUI completely with every major operating system release, Windows XP was no exception. The GUI itself is skinnable, users could change the whole look and feel of the interface. The icons were 48 x 48 in size by default, rendered in millions of colors.
Windows xp
Microsoft Windows XP Professional, Source: guidebookgallery.org

KDE 3 (released in 2002)

Since version 1.0, the K Desktop Environment improved significantly. They polished all the graphics and icons and unified the whole user experience.
Kde 3
KDE 3.0.1, Source: netbsd.org

2007 – 2009 (current)

Windows Vista (released in 2007)

This was Microsoft’s response to their competition. They also included quite a lot of 3D and animation. Since Windows 98, Microsoft has always tried to improve the desktop. With Windows Vista they released widgets and a somewhat improved replacement of the Active Desktop.
Windows Vista
Microsoft Windows Vista, Source: technology.berkeley.edu

Mac OS X Leopard (released in 2007)

With their 6th generation, Mac OS X system Apple, once again improved the user interface. The basic GUI is still the Aqua with its candy scroll bars and platinum grey, blue colors. The new GUI features a more 3D look, with the 3D dock and lots more animation and interactivity.
Mac osx Leopard
Apple Mac OS X 10.5 Leopard, Source: skattertech.com

GNOME 2.24 (2008)

GNOME put a lot of effort into creating the themes and artwork into v2.2.4 as their aim is “to make your computer look good”. They ran a competition to collect some of the most intruiging desktop backgrounds that their contributors have produced for use in v2.24.
gnome_en_gb
Source: gnome.org

KDE (v4.0 Jan. 2008, v4.2 Mar. 2009)

Version 4 of K Desktop Environment produced many new improvements to the GUI such as animated, smooth, efficient window management and support for desktop widgets. The icons size are easily adjustable and almost every design element is much easier to configure. Some of the most noticeable changes include new icons, themes and sounds, which are provided by the Oxygen Project. These icons are more photorealistic. It is definitely a big improvement to the earlier versions of KDE. It can now also be run on Windows and Mac OS X platforms.