Monday, 31 October 2011

Designing an Application for the Semantic Web

[...Info explaining Semantic Web and RDF files here...]

An application which makes finding music you like a breeze. Using RDF files and a semantic web to analyse music you like and find music which is similar to that - therefore finding new music that you will, most likely, enjoy.

Fluffy Friend Finder - Mobile Mock-ups


This is what the application would look like on a mobile device. The notification allows the user to choose if they want to share their location with the application.


This is what the user would see if they accept the notifications prompt. It's basically the same as the website version.



This is the final search result on the mobile device. It lists all the info of the main site, but in a form optimised for a mobile device.

Fluffy Friend Finder - Website Mock-ups


This is the main / home page of the website. The navigation bar and RSS feed will be on the left hand side, and the logo and name will be at the header of the page. On the right hand side will be the social icons - the application / site will be linked to an RSS feed, Twitter, Facebook, StumbleUpon, Reddit, and Blogger. The main reason for this is coverage / advertising, as well as to provide more insight and information about the application.

In the center of the page is the content. On the main home page, this is a small description of the application, and a button. When the user presses the button, the function of the application will be performed - using HTML5's geolocation technology, information about animals nearby the user available for adoption will be displayed.


This is the initial search result page - what is displayed once the user presses the "Find a Furry Friend" button. The content on this page is a description of the map, and a map which visually displays the data found (animals available for adoption nearby the user). A "You are here!" marker will indicate the users location. If the user clicks on a marker, they will be taken to a page displaying the information about that animal.


This is the animal search results page. Here is the information displayed about the animal the user chose by clicking on the "X" on the previous page. In the content section, there is information about the animal such as age, species, gender, and so on. There is also an image or images of the animal (if available) - if there is more than one, there is a slider / scroll bar to show this, and a map indicating the animals location.

I think this page looks like a bit of a mess. I'll probably do it again.


If the user clicks on the "Customised Search" link, they are taken to this page. Here they can choose search criteria to make their search results more relevant to their preferences.

Saturday, 29 October 2011

Fluffy Friend Finder - Motive

Why adopt an animal when you can just go out and buy one? Why make an application to find animals when you could go to any old local pet shop and buy an animal?

Adopting an animal saves a life - animal shelters and rescues cannot keep the animals they receive for their whole lives. Limited space, monetary issues, and lack of staff means that animals are euthinised after a certain amount of time at a shelter or rescue. If you adopt an animal, you help both the adopted animal, and the animal which will fill the adopted animals space in the shelter or rescue.

Animal rescues are full of healthy animals. They examine, treat, vaccinate, and neuter animals when they arrive, or before they leave. They also get to know the animals, allowing them to inform prospective adopters about the animals personality, temperament, behaviors, and needs. This means that there is less risk of the people adopting the animal finding they are incompatible.

Animals generally don't end up in shelters and rescues because they're badly behaved, aggressive, or have been abused. Most animals are given to shelters and rescues because their caretakers couldn't keep them due to issues like getting divorced, not having the time to look after them, moving to a house where animals are not allowed, having children, not being able to afford their care, and so on. They haven't done anything wrong, they are just unwanted by their original caretakers.

When you get an animal from a shelter or rescue, you save money. Most animals will already be neutered and vaccinated, which saves the cost of having the operation and vaccinations done at the vets, which can be very expensive. You won't be charged for the animal like you would be in a pet shop. The shelter or rescue would only ask for a contribution towards the cost of looking after the animal while it was in their care. If you cannot afford this, most shelters and rescues are understanding.

In addition to these reasons, a lot, if not all, animals in shelters or rescues will already be toilet trained, sociable, friendly, comfortable around people, and eager to find a home. The animals in my family were all from shelters, and they all came pre neutered, vaccinated, toilet trained, and friendly!

While people purchase animals from pet shops, animals that need homes go without homes. Most animals who need homes are unwanted pets. It makes sense to give a home to an animal which needs a home rather than buy a 'brand new' animal which creates more demand for animals to be bought, which leaves more animals in animal shelters or with rescue operations. Most animal shelters, and especially rescues (which are usually run by an individual) can't afford to keep animals for their whole lives, and they're put down if they aren't able to be found a proper home.

The pet trade is ethically questionable. I shan't go into the details of puppy (kitten, hamster, rat, fish, chinchilla, ...) farms, but the process goes something like this. Pet shops obtain the animals they sell from large scale operations / breeders. The breeders breed animals. They breed animals on a large scale. Their concern is not with the welfare of the animals, but their production rate of babies. This could be compared to a battery egg farm in terms of production values - battery farmed eggs are cheap, but generally low quality, and not very considerate of the chickens. Animals from these breeding operations are cheap to the buyer (the pet shop), profitable for the seller (breeder), the product is low quality (Poor immunity, inherited health issues, physical issues from generations of inbreeding, ...), and there's not much thought towards the animals.

Friday, 28 October 2011

Fluffy Friend Finder

The idea for my application using HTML5's features - certainly geolocation, possibly CANVAS or intelligent forms? Those two are secondary - geolocation will be the focus. I also intend to use intellegent forms / data input on the site / application.

The user opens the webpage on their devices browser.

The browser asks to detect their location.

If they accept, the browser detects and displays the users location.

If declined, the browser redirects to a page displaying a sad face. :<

If accepted - the application searches a database of animals needing homes within a certain parameter (number of miles) for the users location. The results are listed in order of proximity to the user.

The application displays the results to the user.

The results will consist of information like:

[*] Species
[*] Age
[*] Health Issues or Requirements
[*] Dietary Information
[*] Pictures of the animal
[*] Colour
[*] Markings
[*] Personality
[*] Temperament
[*] Behavior
[*] Given Name
[*] Home Environment Requirements
[*] Cage recommended? If so, minimum floor space required (in square feet).

[*] Contact Details
[*] Home Inspection / Assessment Details
[*] Transport arrangements
[*] Donation

That's the gist of it. The aim is to produce an application that allows a user to find animals which need homes nearby, and display information about the animals, which will allow the user to find a new furry friend! Once that is in place, there could then be a search function using categories such as the ones above to allow the user to narrow down their options.

Wednesday, 26 October 2011

HTML5's Geolocation

I have some ideas for the DAT204 module. They seem to revolve around HTML5's geolocation function as that is the main feature of HTML5 that appeals to me. I am also interested in the CANVAS function, and the use of intelligent forms. Right now I'm going to be looking into Geolocation.

The way HTML5's Geolocation works is slightly different from today's usual way of finding locations from IP addresses. The idea is to use WiFi signals, mobile phone network signals, triangulation, and Global Positioning Systems in peoples phones to determine the device - and therefore the users - location. It's also integrated straight into HTML5, so doesn't need to rely on any other languages or elements to work. The method use depends on the device - if you access a site from your desktop computer, WiFi is likely to be used.

An example of HTML5's Geolocation API in action can be found at http://html5demos.com/geo . How odd, and a little creepy, that we can now determine one's physical location from a virtual presence or action...

The feature is very accurate (within 20 meters I think?). The function isn't available in every browser, but it seems that most are adopting the feature. On the PC based browsers, Firefox 3.5+, Chrome 5.0+, Safari 5.0+, Opera 10.60+, and Internet Explorer 9.0+ are already equipped. And the mobile browsers Android 2.0+, iPhone 3.0+, Opera Mobile 10.1+, Symbian (S60 3rd & 5th generation) and Blackberry OS 6 are also prepared.

You have to allow the browser access to your location before it can obtain and use your information, which is good for those who care about privacy / data protection. Permission is obtained by a pop up box asking if you would allow the page / site / application to know your location. You can accept or decline, though if you decline you will not be able to use the page / site / application.