IAD lectures

Web Languages

There are many different programming languages (Markup Languages, Query Languages , Stylesheets Languages, Scripting Languages etc) that are collectively used to develop websites and web applications. Below are the name-link to wikipedia information about some of the Languages, and respective links to learning materials.

HTML
: learn HTML
CSS
: learn CSS
XML
: Learn XML
XSL
: Learn XSL
SQL
: Learn SQL
PHP
: Learn PHP
JavaScript
: Learn JavaScript
XQuery
: Learn XQuery

--------------------------------------------------

Yahoo! Pipes ( The Web as a Database
)

Yahoo! Pipes is a web application technology developed by Yahoo! that works towards making the web a database. Yahoo! Pipes provides a graphical user interface for building applications that aggregate web content( web pages, RSS Feeds) and other services.
It remixes the world wide web by creating Web-based applications that takes different material from different websites and 'mashing' them up in a customised manner. This eases the stress of always developing what is already available on the web, and also eases sharing of such resources.

Below is the link to the Yahoo! Pipe official website and links to videos elaborating on Yahoo! Pipes and how to create them.

Yahoo! Pipe official site
Yahoo! Pipes: A tool for remixing the web
( A detailed 44 minutes video on Yahoo! Pipes)
Creating your First yahoo Pipe

---------------------------------------------------

Web 2.0


web 2.0 is a word that was coined by O'Reilly Media and CMP media to describe the second stage in the evolution hierarchy of the world wide Web. Web 2.0 include technologies such as Weblogs( like this site you are actually reading ), networking sites ( Facebook, Hi5, Delicious etc), wikis ( wikipedia), podcast, RSS Feeds and many other online web services ( ebay, Gmail etc).

During the course of this module, three aspects of Web 2.0 was researched by three students including myself. See the web 2.0 technologies below and a link to their research report.

RSS : Go to the Block Archive section of this blog; October, PRESENTATION ON RSS TECHNOLOGY
Social Bookmarking: Researched and Presented by Ian Cutts
Wikipedia : Researched and Presented by DJ Critch

Videos on web 2.0 Technology:
http://youtube.com/watch?v=CQibri7gpLM&feature=related
http://youtube.com/watch?v=9JPcno2cJgc&feature=related


------------------------------------------------------------


Social Networks

Social network in this perspective is about social networking websites. These sites provide a virtual community of like minded people to communicate on a particular subject of interest or simply about anything and everything. It provides facilities/applications that ease the sharing of pictures, voice, instant messages, video conferencing etc.

There has been a rapid increase in the number of social network sites since the first one ( friendster) was created in 2002. Some sites are better specialised for some applications than others(http://www.answers.com/topic/social-networking-web-sites?cat=technology).

There has been a high concern of social network sites on the lives of individuals and the society as a whole, privacy being one of the main issues. It has even become common practice for some employers to use information on social sites to learn about prospective employees. Identity theft has also gained grounds due to the proliferation of personal data on such sites.
Some social network sites are Facebook, MySpace, TagWorld, Hi5, Bebo .

Video: Social Networking in plain English

Social Network Analysis (SNA)

"Social Network Analysis is the mapping and measuring of relationships and flows between people, groups, organizations, computers, web sites, and other information/knowledge processing entities. The nodes in the network are the people and groups while the links show relationships or flows between the nodes.
SNA provides both a visual and a mathematical analysis of human relationships. Management consultants use this methodology with their business clients and call it Organizational Network Analysis [ONA]."
[According to: http://orgnet.com/sna.html]

SNA has been used in different industries to solve problems and unlock hidden mysteries. Some examples are:


  • unlock criminal network amongst slumlords
  • reveal how hospitals-acquired infection [HAI] spread patients and medical staffs
  • tracking terrorists
  • decision making in organisations
Case study of SNA and ONA by orgnet.com : http://orgnet.com/cases.html

SNA Resource materials:


---------------------------------------------------------------

GOOGLE TECHNOLOGY

Google is one of the biggest names in the IT industry. It is most reputed for operating the leading internet search engine. It is also one of the fore runners in the development of contemporary web 2.0 applications like their Google Maps, Google Adsence and Google Blog. Google is also known for being the company who bought youtube, one of the most visited site on the internet.

- History of Google from Wikipedia


- Google Founders:

-Video: Inside the Machine of google
- Published articles on Google

For more about the services and technology of Google, visit the blog below.
http://cemsiad.blogspot.com/2006/11/google-technology.html

--------------------------------------------------------

SHAZAM

Shazam is an amazing leading music recognition technology.Through a cell phone, It recognises and checks the identity of music in a noisy environment.

How Shazam Works:

Step1: When you hear a track you like and don't recognise, 'shazam' it by dialing 2580 on your mobile phone.
Step 2: When Shazam answers, direct the phone to the sound source.
Step 3: After 20 seconds, Shazam will hang up and check the music sample against its database of 4 million (ever growing) tracks.
Step 4: After 30 seconds or so, Shazam will text to you the name and album of the track. As of now ( feb 2008) the service cost 50p per search.
You can also register on the official Shazam site and check all the tunes you have 'Shazamed'.

Some links of importance:
-------------------------------------------------------

Web Site Management

While high attention and large volumes have been written on website design and development, little importance have been given to the proper management and maintenance of these sites. Reports have shown that beautifully coded websites have crumbled, gone out of date or lost their aim and purpose because of the lack of proper management and maintenance.

In response to this , Shane Diffily has come up with a detail and simple to understand model on how to manage and maintain websites in his book entitled The Webmasters Handbook. There have also been an increase in the number of institution that offer web management and web maintenance services.

Link to Shane Diffily's website:
http://www.diffily.com/book/index.htm
( with links to free introductory chapters, and his personal blog)

----------------------------------------------------------


Development Processes ( Agile & XP)

Agile Development

Agile development are methodologies that have been proven to be more effective in dealing with business realities such as changing requirements during development. It also promotes industry best practices that emphasises on customer involvement, delivering product in small working pieces that sum to the total working system. All of this in a timely and cost effective manner.

Agile methodology minimises risk by developing software in short 'timeboxes' called iterations, with each iteration trated like a miniature software project on its own. It includes all the tasks necessary to release the mini-increment of new functionality ( planning, requirement analysis, design, coding, testing, and documentation).

Agile methods emphasises real time communication, preferably face-to-face (What we do?) that is why most agile teams are located in a bullpen ( seating area where project teams can communicate openly with minimal effort)

-Agile Development: According to Wikipedia
-Manifesto of Agile Software Development:
-Free downloadable Book on Essential Skills for Agile Development
-The New Methodology : Martin Fowler
-Video: why software development pay

Extreme Programming (XP)

Extreme Programming (XP) is one of the several agile software engineering methodologies. the main aim of XP is to reduce the cost of change during development, unlike in the traditional approach where the requirements for the system are determined at the beginning of the development cycle hence very costly and time consuming to implement new requirements later.

Goals of XP

  • An attempt to reconcile humanity and productivity
  • A mechanism for social change
  • A path to improvement
  • A style of development
  • A software development discipline
XP Values

  • communication
  • simplicity
  • feedback
  • courage
  • Respect
Useful links:

-XP : According to Wikipedia
-Agile Development software resource: www.xprogramming.com