Archive for HTML

Final Proposal

Project Summary

The main goal of my project is to produce all of the main elements required to build a small community based website. While my initial idea was to build a similar website/application to Last.FM, after researching PHP, and frequently using the website, I have decided that Last.FM is probably the leader in online music communities and would be extremely difficult to rival.

The website will hopefully be a prototype of an online music community. I would like to be able to give users the chance to sign up to my website and from their individual user areas, upload and share files, and discuss music. I have done a lot of research into online communities and how they function. The PHP is the focus of the site, and will take the most time to develop; whereas the actual HTML part of the website will take much less time to develop and I can put together the website in a short period of time. I would like to focus most of my attention on the development of solid PHP.This will also be beneficial to me in my final year project which will also be mostly based on functions which are made in PHP.

Target Audience/Users

The target audience of my website will preferably be music fans, possibly the same sort of audience of PitchforkMedia.com, or DrownedinSound.com. These websites are focused on music which is not generally in the charts, and have a very specific fan base. These users might be interested in such a website because Pitchfork and Drowned in Sound are mostly news websites, and do not provide much interactivity. This is where my website will differ, as it will give the users more freedom.

PHP Research

In order to understand PHP and how PHP websites are used, I joined many interactive web 2.0 websites. These include Myspace.com and Facebook.com, which are the two prominent current online communities. While these websites are two of the most popular web 2.0 sites (and possibly amongst the most popular websites online in general), they are by no means the only online communities.

A personal favourite is the music based website Last.FM. I have been a member of this website for over a year now and frequently use it to find new music and share my interests with other like-minded people. I think that this is a big factor concerning online communities; the fact that they can find a website specific to their needs despite what their interests may be. There are always like minded people, no matter how niche the subject.Popular functions of online communities tend to be the following:

·        The ability to add a picture or avatar

·        The chance to edit your own profile somehow

·        Being able to add other members 

Although this is just three functions, they appear to be the things that users expect when they join an online community. However, adjustments could be made for the fact that my site will be about music, as it will not necessarily be a social networking website.

Because I have spent a lot of time on Last.FM, I have a good understanding of the habits of the community. Music communities are different to the other social networking websites such as Myspace and Facebook, because activities are not as focused on chatting and meeting new people. Users are more interested in seeing each others musical tastes, comparing and sharing new music, and generally discovering music they would not have known about.  

Personal Goals 

This will be my first venture with PHP, and therefore I will gain all my experience with the programming language merely during this project. Due to this one of my main goals will be to create a working prototype of the website within the time limit. As previously stated, this project will help me greatly during my final year production project, which will run in the same vein. 

The first section of the PHP programming that I will focus on will be the Login section. Despite the fact that the tutorials for this are quite straight-forward, it is still a large part of the project, and testing this section will be very important. Another of my goals is to get the login PHP as close to perfect as possible so that I can reuse it again if necessary.  

A Gap in the Market? 

Although there are several different social networking websites on the internet, there are not many focused around online music. The website Last.FM is the leader in combining music and social networking, but as previously mentioned, it is very different from other social networking websites. I plan to make my site more like Pitchfork media in terms of the information it provides, but with a social networking feel to it, providing interactive content as well as letting the users have some control over their own user areas. I think that this could be popular because of the merging of two popular types of websites.  

Conclusion 

To conclude, I think that this project will be extremely useful to me in terms of learning new technical skills which are required to advance in the industry. I hope to greatly improve my knowledge of PHP, and become efficient in creating many of the elements used in online community websites. The final product should at the very least, be a partly working prototype of my community website, but I am hopeful that I will be able to take the website live onto the Internet and maintain it after the module is over.

Whats new in the industry?

This is some solid advice given by the website Webdesign.about (http://webdesign.about.com/od/jobs/a/aa081307.htm)  The industry does move at a phenomenal rate, and while PHP is in at the moment, in a few months it may not be. Coding abilities thewebsite says you should know in order to gain a job are, HTML, CSS and Javascript. HTML and CSS are the founding backbone to the webdesign industry, and it really is not worth learning other coding languages until these are learnt. (Other codes still rely on these for the graphical design and layout of the websites.) Javascript on the other hand was an odd choice. However her validation is a good one: 

“I can’t tell you how often I’ve been asked to write a quick validation script or rollover image. Knowing enough JavaScript to whip these out has helped me to improve simple Web sites while we waited for the more complicated server behaviors to be built.”

 This next quote from the website is very important to understand, as the industry moves so quickly coding languages need to develop, and developers need to adapt.  

 “Don’t focus on any one programming language. Chances are, by the time you finish school, that language will be “out” and something completely different will be “in”. Companies follow fads just as much as any other industry, and Web programmers need to be aware of what’s hot and not. You’re better off learning how to learn programming languages and then scanning the jobs 6 months or so before you are going to start working to find out what language you should focus on to get hired. Some good bets right now are: ASP, JSP, and Ruby. PHP is popular with smaller companies, but has a lot of security issues. “

 As mentioned, because PHP is open sources, it may have a lot of security issues, however, it is always being developed, and therefore in the future it will not. It is mentioned as one of the top coding languages to learn later in the extract, and with its evidence of its functionality and security in web sites like Facebook.com it is not really an issue I am worrying about. PHP is a strong plus point when looking at an individuals CV. 

When interviewing David Kelly (Izonedesign.co.uk, dK web and new media and Stormconsultancy.com) web developer and managing director of the companies listed above, he mentions that PHP was one of his top priorities to learn after learning the fundamental HTML, CSS and Javascript. His first experiment was with a Blogging website back in 2000, which was when blogging became a huge trend within the industry. Since then he has used the language for almost every delevopment (with the combination of CSS and HTML) however simple or complicated the website.  

When I went to ask him a few questions about a project I needed help with in the first year of university, he was instantly trying to make me learn PHP combined with HTML, as he believed it was simpler to develop website templates with the <?include> tag then with a HTML template. In this way, he mentions, the coding script is arranged in various folders and files and therefore is a lot harder to copy it from the Internet (with the view source command). He mentions that it is very difficult to decide what will come next in PHP as developers are constantly trying to create something new with the open sourcing. However he does mention, “right now Web2.0 and customisable websites are all the rage” and that websites like facebook and myspace and gripped the nation with our need for companionship. Again the problem being, how long will this trend last? 

(http://www.readwriteweb.com/archives/london_mashup_web30.php) This article is really important in looking at web designs future as a whole. In a recent conference MASHUP (FEB 07) in London, they discussed,

 What’s next, Web3.0? - The coming semantic web”.

HCard and Hcalendar looking at a new bookmarking system for users for example http://www.worldcupkickoff.com  which allows users to ability to bookmark their teams games in the world cup in their own calendar application. It only works so far in third party browsers however soon it will be installed into firefox 3. Sidewinder allows web coding to be used in a normal desktop instead of browsers. A little bit odd and kind of irrelevant X-port (or X-forms) is my like XHTML 2.0 and is designed to be the next generation of HTML/ XHTML forms. 

Content Labels which will change the way in which search engines in the future will operate. Content Labels are much like Meta tags however differ in the sense that in order to get them verified it needs to be sent off to a company (for a small fee) in which they can judge if the tags are correct or not, therefore placing them higher or lower in search engine results. http://www.readwriteweb.com/archives/search_20_what_is_next.php 

According to this blog (December 06) whats new in the web industry is the Snap Feature (http://snap.com) allowing websites (links) to be viewed as thumbnails therefore hopefully speeding up the time it takes to view sites. Works through the coding AJAX. Can be viewed on websites like wordpress to view small images of websites from just links.

Alternatively Searchmash (http://searchmash.com) owned by google, it searches the web however much like snap, it offers an image, blog, video and wikipedia results to the right of the screen. Due to Ajax there is no slowdown. It also makes it much easier to browse the search results when you need 

 “more information, simply click on more  information, simply click on “More web results” and new results appear at the bottom - enabling you to continue scrolling down on the same page, instead of opening a new page. SearchMash also allows you to give feedback about the results; this may be a sign of the introduction of power of masses into Google Search. “

 

Azeem Ahmad - Final Project Proposal (Detailed)

Project Outline –

Many internet users travel to various news websites to digest daily occurrences around the world. Most often have e-mail subscriptions (no matter how dated the service may be), and it is often tedious having to trawl through several websites to find the news the user is looking for.

A lot of people are now taking advantage of RSS, or Really Simple Syndication – a method of linking through a ‘feed’ that can provide up to 15 or more links (in this case, news stories) at once. This is a good new media technology, but it has room to be developed more. Subscribing to an RSS feed is anonymous, hence eliminating the need for e-mail news subscriptions, but placing several feed boxes on a browsers toolbar can seriously overload the screen with unnecessary information.

For my project I aim to manipulate four popular news websites, BBC News, Sky News, The Guardian, and The Mirror, and converging them into one feed so that online news users only need to subscribe to one feed.

I plan to do this by creating a one big feed, essentially a mash-up of the four feeds mentioned above. I will also attempt to categorise the links inside of the feed by genre so that browsing through the single feed is easier. Also, by categorising, I am also able to promote this product as an RSS 2.0 feed, rather than simply an RSS feed, thus enhancing potential attention from interested parties.

Market Research -

One very successful website that does this is http://imooty.eu, a news aggregator for the whole of Europe. Imooty allows users to pick and choose which particular publications they want to see an RSS breakdown (of top headlines) on the users ‘my imooty’ page – a clever individualisation for the website. Such personalisation of the site will keep viewers and readers coming back to the site for more, and more regularly, as all of the news they wish to digest is on one page. Imooty also has options to view the news for the rest of Europe, and is a very successful website.

Upon viewing the page source code for imooty, it is clear to see that the technical side of the website is heavily reliant on javascript coding, and embedding CSS into RSS coding, both of which are advanced coding procedures. For my project I simply intend to create a single feed which is a mash-up of four feeds, rather than creating a whole website.

I intend to create my product by obtaining and re-writing the RSS feed codes from the four sites mentioned, including date, category and GUID (Globally Unique Identifier) tags – so that any copyright issues are avoided. A simple breakdown of how one link in one section of the whole feed will look something like this:

<xml type="text/xsl">
 
<rss xml: version="2.0">
  <channel>
        <item>
      <title>Saudi king chides UK on terrorism</title>  
      <description>Saudi Arabia's King Abdullah accuses Britain of doing too little to fight international terrorism.</description>  
      <link>http://news.bbc.co.uk/go/rss/-/1/hi/uk/7066867.stm</link>  
      <guid isPermaLink="false">http://news.bbc.co.uk/1/hi/uk/7066867.stm</guid>  
      <pubDate>Mon, 29 Oct 2007 11:21:57 GMT</pubDate>  
      <category>UK</category>  
      
    </item>  

As seen from the box above, the link is the first story from the BBC News front page, taken at 1237 on Monday 29th October 2007. The date is relevant as the feed constantly is self-updating.

Included in the sample feed is the formatting of the code, in this case, XSL (Extensible Stylesheet Language) – this method eliminates the need to include CSS into the code. As with every RSS feed, the ‘version’ and ‘channel’ tags remain present, so too do the ‘item’ and ‘description’ tags.

However, the features that make this an RSS 2.0 feed, are the other tags. In this case, because the BBC is the original creator of the page (containing the story), there is no need for a GUID, hence the ‘false’ answer to the tag – the link simply points to the page that it is describing.

 

Also included is the publication date, and the category. These two categories are often overlooked when people create RSS feeds, but are now becoming increasingly relevant as the latest versions of Microsoft Internet Explorer and Mozilla Firefox now include standard options into their browsers that tell users when RSS feeds are present on a page, and also allow users to browse directly through a feed by category.

 

Conclusion -

 

To sum up, my product will be a single RSS feed that is an amalgamation of four mini RSS feeds from BBC News, The Guardian, The Mirror, and Sky News. I will also be including features that will make this a Web 2.0 technology, such as:

·         The publication dates of the feeds, so that they are self updating

·         A GUID – so that the feed that I have created is unique

·         Category tags, so browsing through the feed is easy

·         XSL encoding, so that the need for CSS is eliminated.

Experiences with PHP and Setting Up

In the last couple of weeks I have started to research PHP in more detail in order to find out more about how I can make use of it in my future projects. However, so far, despite reading claims that PHP is as easy to pick up as HTML once you get past the basics, I have seen no evidence of simplicity at all.

Merely installing the programs required to use PHP is a gargantuan task in itself, and by no means user friendly. Although PHP is the most popular programming language because of its simplicity, I find it hard to understand how so many people could work out how to get it installed on their systems in the first place.

Code is required from the get go. To use PHP and test it on your home system, you are required to run a server in the background. Many people prefer to use Apache, which is what I have installed, but other servers can be used such as Microsoft Internet Information Server. Installing Apache was the first hurdle to getting PHP working, and it wasnt too difficult to locate and install. Get Apache from http://httpd.apache.org, by downloading the stable windows version. If you cannot find it, do what I did and type “apache-1.3.31-win32-x86-no_src.msi” into google. The first link that comes up should download the correct version.

The next part of the PHP environment to obtain is a database server such as MySQL . MySQL is free to download so it is a popular choice amongst web developers. I have had problems with this from the moment I downloaded it, and at the time of writing this blog I still dont have MySQL working alongside my server and PHP. MySQL can be downloaded from http://www.mysql.com, and the latest version can be found in the community download area. Again, MySQL is free to download and use, which makes it popular.

The final item needed is PHP itself. I downloaded PHP 5 from the PHP website. Actually finding the correct version is hard enough as the website is difficult to navigate and quite confusing. After eventually downloading a no-install version, I consulted my PHP in easy steps book to work out how to install it manually. To do this a file called PHP.ini needs to be copied into your windows folder, and then edited to contain several lines of code which make it compatible with Apache and MySQL. Tests can then be carried out by typing simple html code including some lines of PHP code, which determine if the environment is correctly set up.

Suffice to say, mine wasnt, and as I mentioned before, I am still having troubles getting MySQL to connect to my Apache server. Anyone who has any interest in learning PHP, I strongly suggest getting a book to start you off, which has clear instructions on how to set up the working environment before launching you into tutorials. The book which I have does this quite well, but it doesnt tell you how to correct errors if something doesnt work.

If you would like to check it out, its called PHP 5 in easy steps, by Mike McGrath.