DuoMesh is Born!

November 10th, 2006

After a few months thinking of possible website names I have settled on the name DuoMesh.

Duo meaning that the site will work on the web and on mobile devices.

Mesh meaning that the content is synchronised between the web, mobile devices and RSS content.

I have purchased DuoMesh.com and setup hosting for my new website with UKHost4U.
There were many news related and non-news related names which I had thought of, but the main reason for this name was:

  • Its easy to remember
  • Its sharp and to the point
  • It suggests that it can be used on two types of devices or can access a range of information from it
  • The domain name was available
  • The name has meaning to it, and isn’t just some catchy sounding name

Access to Non-RSS content

November 9th, 2006

One of the features that I wanted to provide was access to websites that do not provide RSS feeds. So today I have been experimenting by making a custom demo/module that will take any website and read in the HTML into a string, then only pull out the content which the user is interested in.

To do this there were several steps that the system needs to do:

  1. Pull the content (HTML code) from a website into a string or buffer
  2. The user must identify two things on the website that doesn’t normally change (e.g. text like Home or News, or a HTML tag like the start/end of a table etc.)
  3. The system will then search for the first occurrence of that text/HTML and then remove anything before it
  4. Then it will look for the last part which doesn’t normally change and will delete everything after that
  5. The next step was to remove all the HTML tags (except for hyperlinks or line breaks <br>) so that only the text is left

After a few hours of coding I managed to get it working by using various commands such as strpos, substr and strripos the only problem I encountered was that relative hyperlinks were pointing to a file that should exist on their website, but it was actually pointing to my own test server (my Mini Mac) which gave a 404 File not found message.After a bit of hunting online I found a command that converted a relative link into a absolute link from a coding discussion forum which provided very useful. An example can be seen in the following screenshot:

non-rss-to-rss.jpg
View Full Size

RSS feeds

November 7th, 2006

Today I have been looking into ways of processing and outputting RSS feeds. The best way of processing feeds is with a free PHP extension called Magpie RSS this will then allow you to call the function/program from within your own script and it will allow you to access all the various metadata within the RSS/XML feed.

The benefit of using Magpie RSS is that it will automatically cache the RSS feeds and will only update the feed when it there are updates. This greatly improves the overall speed of loading up a page with allot of RSS feeds on it, as the system will only need to request the feed online once and all subsequent requests for that feed will use a cached version stored in its cache folder
For example to load the BBC News RSS feed, the following command can be used:

PHP:
  1. require_once('MapieRSS/rss_fetch.inc');
  2. $url = 'http://news.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss091.xml';
  3. $rss = fetch_rss( $url );

This will then make a request and then cache that request. Each news item can be accessed by calling its specific tag, so to pull out the title of the article I can use $item['title'] and the same can be done to get a short description of that article $item['description']. So to display the complete feed the follow command can be used:

PHP:
  1. echo "Channel Title: " . $rss->channel['title'] . "";
  2. <ul>";
  3. foreach ($rss->items as $item) {
  4. $href = $item['link'];
  5. $title = $item['title'];
  6. $description = $item['description'];
  7.     <li><a href="http://blog.duomesh.com/$href">$title</a>
  8. $description</li>
  9. ";
  10. }
  11. echo "</ul>
  12. ";

Design and Development Begins!

November 5th, 2006

Over the last month I have been brainstorming and researching into various different technologies.

My main list chosen technologies include:

Coding and Mark-up Languages

  • HTML/CSS
  • JavaScript/AJAX
  • WML
  • XML/RSS

Web Server Software

  • Apache
  • PHP
  • MySQL

Design Packages/Other technologies

  • Photoshop
  • Blogging Software
  • Questionnaire Software

Coding

  • Dreamweaver
  • Notepad++
  • ConTEXT
  • BBEdit
  • SmartFTP

End use hardware and software

  • Browsers
    • Microsoft Internet Explorer
    • Mozilla Firefox
    • Safari
    • Opera
    • Camino
  • Mobile Devices
    • Mobile Phones
    • PDAs
    • Tablet PCs
    • Other hand held devices (like the Sony PSP)

Most new mobile phones will have access to the Internet over GPRS or WAP protocols and as such my project will be aimed more towards newer phones (e.g. phone which were produced in 2003-2004 onwards)

More information on my technology choice and justifications can be found in my full dissertation.

Online Questionnaire

October 30th, 2006

After deciding on a list of questions that should asked in my questionnaire, I have posted it online.

This will allow a greater user base access to my survey, and it also makes it significantly superior for distribution. There are various different websites which allow you to create online surveys, but most of them will start charging a fee after a certain number of people have taken part in it.

In order to combat this problem I researched into different self hosted surveys. I found 2 open source questionnaire PHP scripts:

After experimenting with both of these software packages I found that the installation and setup of phpESP a better experience and also had similar features as its rival PHPSurveyor.

The online questionnaire can be found here:
http://www.sebflipper.com/questionnaire
(this maybe moved once I find a suitable domain name to host the website)

-----------

Update: this has now been moved to:
http://questionnaire.duomesh.com

Web Server Up and Running

October 27th, 2006

Today I managed to install PHP 5.1.6 and MySQL 4.1.21 on my Mac mini, it required a bit of tweaking to get PHP to talk to MySQL and so that it automatically starts up the servers when the machine loads up. But other than that it seems to be working fine.

Project Naming

October 23rd, 2006

I have thought long and hard about a name for my project and I still seem to be struggling to find a name for my project, some of the naming requirements I have determined are:

  • Needs to be related to project subject
  • It should be available to register as online domain name (preferable a .com name)
  • It could be an acronym
  • It should sound meaningful
  • It should be easy to remember
  • People should be able to know roughly what the website is about from its name
  • Could be powerful/strong

So far all the names I have thought of have either already been registered or they have been bought by domain squatters

Project Meeting, Descope!

October 19th, 2006

Yesterday I had my 3rd meeting with my project tutor Paul Kyberd we discussed all my project ideas and features.

I had quite a few ideas about how the site will function and what users will be able to use the site for. After going though a few of the ideas, he suggested that it may be too complex to code within the project time frame and to take the core ideas and make some of the other features optional rather than required (descope).

So I have decided to draw up a brainstorm to isolate and identify the core features and optional features.

He also suggested looking for mobile phone emulator which can be used for testing purposes, after some research there only seems to be a few mobile simulators an online version at: dotMobi, Palm OS (which requires that you actually have the phone so that you download the ROM from it), there's also one for Windows Smartphones (or Windows Mobile) called Microsoft Mobile Explorer Emulator which doesn't seem to be supported by Microsoft anymore (I am guessing that they have integrated it as part of Microsoft Visual Studio)

I will be using a combination of the dotMobi emulator and I will be using my own mobile phone which is an O2 XDA IQ running Windows Mobile 5.0 this can access the internet free of charge by using my laptops Bluetooth connection. I will also be using my Sony PSP to test that my website works on it, I will also use my old Dell PDA which uses an older version of Windows Mobile (2003).

Chumby and other Features

October 18th, 2006

Chumby MonkeyChumby is an open source device which is primarily a radio alarm clock, but also serves as a wireless internet access device which could be customised to allow users to view their custom content from my project on their alarm clock.

This information could be live updating every 30 minutes or at a customisable interval. As its always online users are able to see all there important or favourite websites at a glance any time, day or night.

Other site features could include a cut down version of their customised page as a small box that could be placed on the users own website or on their social networking site (such as MySpace)

Also I could provide dynamic RSS feeds for each users custom page by merging all their content into one feed to allow users to view their favourite content from another RSS aggregator.

Project Features

October 13th, 2006

Here's a list of all the features I hope to include in my project:

  • Content rich RSS/XML content reader module, which could interpret:
    • Latest news
    • Weather
    • Travel Information
    • Stocks
    • Blogs
    • Photo Blogs
    • Reviews and Magazine Articles
    • Podcasts
    • Vidcasts
  • Access to content via a mobile device
  • Self user registration and profile management
  • Access to non-RSS information such as stripping out the only the text
  • Friends system to allow users to see their friends interests
  • Feed discovery system where users can add feeds and allow others to find them
  • To be able to see how many people are subscribed to a particular feed and see other users with familiar interests
  • Allow users to tag/categories each feed for themselves and to be able to view a real time tag cloud of the most popular categories
  • Special modules/items that can contain other dynamic content such as:
    • Email
    • Clock
    • Calendar
    • Games
    • Other useful gadgets (such as unit conversions, timers/count down scipts)

I will be adding more features to this list throughout the year