Presentation

Post on 22-Jun-2015

171 views 0 download

Tags:

description

A presentation for example

transcript

FAMOUS PLACES & FAVOURITE EVENTS: USING INTELLIGENT GPS

Ankur Khanna

Garima Goel

James Maguire

Yasir Hameed

CONTENTS

Need for the App

What the App is

Design Layout

Implementation

Reliability, Longevity, Consistency & Validity

Competition

How can it be funded

Problem

NEED FOR THE APP!

Whenever you travel across an unknown place, you are always curious to know about the sites that fall by your way!!!

HEY,

what’s this!!!

THE APPLICATION

The app Famous Place & Favourite Event:

Using Intelligent GPS helps to your curiosity by recognising the famous places on your way to some destination.

Pops up a message showing what’s the place and why is it famous for.

Shows the visitor’s rating for that particular place.

APPLICATION CONTINUED….

Adding to the curiosity, the app also pops up asking you to know more about the place if you are very much interested.

Gives a facility to store all the places of your likes and that you would like to visit them later.

Helps in locating those stored places showing the best possible way to visit them whenever and from wherever your current location is.

FAMOUS PLACE POP POP!!!

THE APP CONT….

When the famous places are stored in the app, you can click on that place later for showing you the way to that destination considering the shortest route and the cheapest way.

Also, tells the best route in terms of traffic.

THAT’S NOT ALL!!!

And also don’t want to miss out some of the important events of your likes that occur in the city and nearby areas.

Is there not any rock concert going in the city,,, m so bored!!!

THAT’S NOT ALL!!!

Pops up a message showing all the events of your likes that are going to happen in the city during your stay.

The adaptive app recognises your most visited places in your hometown.

Shows events related to your favourite’s.

THAT NOT ALL CONT…..

Clicking on the event will plan your travel to attend it along with your transport and accommodation.

It even arranges your visit in time so that you do not miss your flight.

DESIGN LAYOUT

A welcome note appears each time you visit a new place…

FAMOUS PLACE POP POP!!!

FAVORITE EVENT POP POP!!!• A message pops up with the details of the event

that is going to occur in the city…

Your interest in the event will let you know more details about trip regarding the transport as well as the accommodation.

When you click on accommodation, it suggests you some of the nearby places of stay along with the star rating details and price..

HOW OUR APP IS BETTER

The adaptive learning of the app about the preferences of the user.

The pervasive idea i.e. while travelling the app pops up the famous place you are coming across.

The upcoming events that can be missed by planned tours cannot be missed by this App, and would guide you whether you can attend that event or not on the basis of your return flight timing or on your other important schedules.

IMPLEMENTATION

Though the application is hard to implement as it has an adaptive feature of learning.

In recent years there has been a lot of work done on the adaptive learning.

System’s like SmartKom, GUIDE.( More information can be learned from A Survey of Map-based Mobile Guides Jorg BAUS, Keith CHEVERST, Christian KRAY)

http://www.equator.ac.uk/var/uploads/Christian%20Kray,%20and%20J-rg%20Baus.2003.pdf

The application functionality of detecting places by itself, giving a pop message and re-directing it to a certain link has been overcome through the help of App Inventor.

DIJKSTRA'S ALGORITHM

Graph search algorithmShortest path problemThis algorithm is often used

in routing and as a subroutine in other graph algorithms

HOW TO IMPLEMENT DIJKSTRA’S ALGORITHM

We first list the data structures used by the algorithm.

public interface RoutesMap { int getDistance(start, end); List<City> getDestinations(City city); }

CONTINUED……

The Java Collections feature the Set interface, and more precisely, the HashSet implementation which offers constant-time performance on the containsoperation, the only one we need. This defines our first data structure.

private final Set<City> settledNodes =newHashSet<City>(); private boolean isSettled(City v) { return settledNodes.contains(v); }

CONTINUED…….

As we've seen, one output of Dijkstra's algorithm is a list of shortest distances from the source node to all the other nodes in the graph. A straightforward way to implement this in Java is with a Map, used to keep the shortest distance value for every node.

private final Map<City, Integer> shortestDistances = new HashMap<City, Integer>(); private void setShortestDistance(City city, int distance) { shortestDistances.put(city, distance); } public int getShortestDistance(City city) { Integer d = shortestDistances.get(city); return (d == null) ? INFINITE_DISTANCE : d; }

CONTINUED……

Another output of the algorithm is the predecessors tree, a tree spanning the graph which yields the actual shortest paths. Because this is the predecessors tree, the shortest paths are actually stored in reverse order, from destination to source. Reversing a given path is easy with Collections.reverse().

The predecessors tree stores a relationship between two nodes, namely a given node's predecessor in the spanning tree. Since this relationship is one-to-one, it is akin to a mapping between nodes. Therefore it can be implemented with, again, a Map. We also define a pair of accessors for readability.

private final Map<City, City> predecessors = new HashMap<City, City>();

private void setPredecessor(City a, City b){ predecessors.put(a, b);}

public City getPredecessor(City city){ return predecessors.get(city);}

CONTINUED…...

As seen in the previous section, a data structure central to Dijkstra's algorithm is the set of unsettled vertices Q. In Java programming terms, we need a structure able to store the nodes of our example graph, i.e. City objects. That structure is then looked up for the city with the current shortest distance given by d().

We could do this by using another Set of cities, and sort it according to d() to find the city with shortest distance every time we perform this operation. This isn't complicated, and we could leverage Collections.min() using a custom Comparator to compare the elements according to d().

But because we do this at every iteration, a smarter way would be to keep the set ordered at all times. That way all we need to do to get the city with the lowest distance is to get the first element in the set. New elements would need to be inserted in the right place, so that the set is always kept ordered.

A quick search through the Java collections API yields the PriorityQueue: it can sort elements according to a custom comparator, and provides constant-time access to the smallest element. This is precisely what we need, and we'll write a comparator to order cities (the set elements) according to the current shortest distance. Such a comparator is included below, along with the PriorityQueue definition. Also listed is the small method that extracts the node with the shortest distance.

private final Comparator<City> shortestDistanceComparator = new Comparator<City>() { public int compare(City left, City right) { int shortestDistanceLeft = getShortestDistance(left); int shortestDistanceRight = getShortestDistance(right);

if (shortestDistanceLeft > shortestDistanceRight) { return +1; } else if (shortestDistanceLeft < shortestDistanceRight) { return -1; } else // equal { return left.compareTo(right); } } };

private final PriorityQueue<City> unsettledNodes = new PriorityQueue<City>(INITIAL_CAPACITY, shortestDistanceComparator);

private City extractMin(){ return unsettledNodes.poll();}

CONTINUED…..

We have defined our data structures, we understand the algorithm, all that remains to do is implement it.

public void execute(City start, City destination) { initDijkstra(start); while (!unsettledNodes.isEmpty()) { // get the node with the shortest distance City u = extractMin(); // destination reached, stop if (u == destination) break; settledNodes.add(u); relaxNeighbors(u); } }

RSS FEEDS – WHAT ARE THEY? Really Simple Syndication

Provides updates on new web content such as news headlines, blog entries. Also new audio content and images can be embedded in a RSS feed.

Need an RSS reader or aggregator to read them

Written in XML format and are open source

Several versions, including Really Simple Syndication, Rich Site Summary and RDF Site Summary

WHY USE RSS FEEDS? Save time, as only need to access one RSS

reader or aggregator

Disseminate information about your topic

Create RSS feeds on specific topics

Easily stay up to date with information

WEBSITES

Further work on it would surely make this app worth a look for.

The static data can be recovered easy from sites that are reliable but the dynamic data is what is the point that would make this app impressive

RELIABILITYCONSISTENCYVALIDITYLONGEVITY

RELIABILITY

The reliability can often be measured on the following points:

• Accuracy of information provided within articles

• Appropriateness of the images provided with the article

• Appropriateness of the style and focus of the articles.

• Susceptibility to, and exclusion and removal of, false information

• Comprehensiveness, scope and coverage within articles and in the range of articles

CONSISTENCY, VALIDITY, LONGEVITY

The source such as trip advisor provides information for people who have previously visited.

The information generally displayed are consistent and valid for a period of time.

Longevity of online sources can never be certain but websites such as trip advisor and booking.com are website which have been around for a long time and hopefully will stay be foreseeable future.

COMPETITION

Though the app is totally innovative and is one of its kind but every app has some competition to face.

Our app is no exclusion to this and has some already developed apps to face competition.

TRIPS, is an app over app store that keeps track of each trip people make.

We can enter an itinerary; track expenses; record payments and print an final report.

COMPETITION CONT…

On the Android platform there are various competitive apps currently present such as London GPS City Guide LLC, London City Guide Trip Advisor.

These have already built-in tours in them and point you to the route. The former app in an audio app that lets the tour be more interactive.

Travel Planner app lets you Plan your trip between two addresses/stops.

Locate the nearest stop via GPS.Trip presentation on a map.Price and SMS-codes.

HOW CAN THE APP BE FUNDED

By following the below point’s, we can make sure that our app can be funded:

Create a Business Plan.Know the market.Have a Revenue modelTry and Build a Prototype

OR

Elevator Pitch to an Angel Investor.

BUSINESS PLAN

cover page and table of contents Business description business environment analysis competitor analysis market analysis Operations plan management summary attachments and milestones Financial Plan Industry Background

PROBLEM

The retrieval of dynamic data.

If there are supposedly more than 50 places we can’t just store it locally, the integration of a database is essential.

The adaptive learning of the app will be a task difficult to conquer.

The implementation of cost effective algorithm in the application.

THANKS !!!