Monday, 24 March 2014

Image Recognition API

Skipping ahead of planned research, I went a had a look at Image Recognition API's, mainly ones which use colour extraction.

I found one a company called Imagga, I looked at there website to find some information about there product.

From this I saw that you had to pay to use there product, but I contacted them and asked to use it for free, so long as i kept it local and they agreed they was also interested in the product which is exciting!

So now I have access to my a image recognition API which wall draw colours from images and recognize which colour is prominent!

This is amazing for me and makes me very excited about the rest of the project.






Initial Idea

Initial idea
I want to make an application which will recognize the primary colour in a image, and play a song based on which colour is the most within the image.

To be successful at this application, I'm going to need to find the correct API's and implement them. for the image capture to work, I will need a camera API, once I have done this I am going to need to find a Image Recognition API, which will analyse the colour within the image.

With the data that the API collects and analyses, an appropriate song will play along to this image, creating a mood.

Every colour will play something different

For example, if the colour has a lot of red pixels in a angry song will play, and if the image has a lot of blue pixels in something sad will play.

Planned Research

There are many things I need to research, but first off I need to get a design, I will need to look at whats out there, and closely follow what they look like to create my own design, which suits my application.

I will then need to start researching how to implement API's into the application, once this is done, I must start on the Camera API, so I can get a working camera within the app. After this will follow image recognition, trying to find a suitable API which will make my app work in the way that I want it to.

I may have to touch up on how to implement a database of music into the application, so that it will play, when the song comes on.

Building the application

So I've established what I need to make this application, but how I build it will be very important to it's success.

I'm gonna draw some sketches out on how I want it to look, I will then head into Photoshop and create a static prototype so that I have guidelines for myself.

Once this is done, I will need to create the framework for this app, following my guidelines from Photoshop I will be able to recognize what needs to be placed where in order to achieve the design.

Once the design is loaded and ready, I can start working on the API implementation, I will start with the camera API as this comes before the image recognition API, once the camera is in place and working I will be able to put the image recognition in place, I'm anticipating that this will take a while.

Once they are in place, it will need to ensure that music will play when the image recognition has finished recognizing the image, this will looking into uploading songs into the image recognition API and telling it to work when there is so much of a certain colour.

I will then load the app onto my device, from here I can test it myself, to ensure that everything is working. 

Then it's time to start usability testing to make sure that everything suits users needs, I will try and get 5 people to test the application before submission.

Thursday, 20 March 2014

Assignment

An organisation of your choice, which can be fictitious in nature, wishes to expand their digital presence with a cross platform web/mobile/table app promoting heir products and services. You have been asked to provide a functional mock-up of the app, with detailed development blog.

The 'features' of your app must be determined by you and will be based on the perceived needs of your chosen organisation. There are no limitations on the types of functionality you may choose to include, though you are advised not to conceive a larger, multi-purpose app and to instead concentrate on delivering a more focused, polished application with fewer, more developed concepts. In particular you should pay attention to the user experience (UX), including the interface design and 'workflow narratives'.

By 'functional mock-up' BSc students should have some form of back-end connectivity in place to extend your apps functionality, however BA students your app does not need to have full back-end connectivity in place and may use dummy data loaded in an suitable way(if your app requires it). The front end(meaning user interface and an client-side processing) should be fully operational for all students. Your app should be developed in HTML, CSS and JavaScript ( and for BSc appropriate server-side scripting e.g. PHP, RSS feeds from web, AJAX etc.) then compiled using PhoneGap or other suitable alternative to support either iOS Or Android Or Windows Phone Or the World Wide Web platform as a minimum, with additional platform support worth extra credit. You may use any frameworks, extensions and APIs you deem necessary.

As a minimum, your submission needs to include the installation files necessary to install your app on a relevant device. You may need to ensure you include any relevant security certificates to permit installation, as well as consider other security implications arising from your app and/or platform development guidelines. In some cases you may need to provide a live demonstration to the assessors - this will be organised as required.

The development blog should contain detailed entries covering the entire project duration. This includes initial concepts, idea refinement, analysis of contemporary third-party applications, research, implementation, usability studies, appraisals and so on. Blogs must be hosted at www.blogger.com as a unique blog containing only work for this assignment. The URL should be submitted in place of a physical report. Ensure the blog's visibility is no set to private. You must include an archive of your blog, either as screen grabs or a PDF.