52
FAMOUS PLACES & FAVOURITE EVENTS: USING INTELLIGENT GPS Ankur Khanna Garima Goel James Maguire Yasir Hameed

Presentation

Embed Size (px)

DESCRIPTION

A presentation for example

Citation preview

Page 1: Presentation

FAMOUS PLACES & FAVOURITE EVENTS: USING INTELLIGENT GPS

Ankur Khanna

Garima Goel

James Maguire

Yasir Hameed

Page 2: Presentation

CONTENTS

Need for the App

What the App is

Design Layout

Implementation

Reliability, Longevity, Consistency & Validity

Competition

How can it be funded

Problem

Page 3: Presentation

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!!!

Page 4: Presentation

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.

Page 5: Presentation

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.

Page 6: Presentation

FAMOUS PLACE POP POP!!!

Page 7: Presentation

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.

Page 8: Presentation

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!!!

Page 9: Presentation

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.

Page 10: Presentation

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.

Page 11: Presentation

DESIGN LAYOUT

Page 12: Presentation

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

Page 13: Presentation

FAMOUS PLACE POP POP!!!

Page 14: Presentation
Page 15: Presentation
Page 16: Presentation

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

that is going to occur in the city…

Page 17: Presentation

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

Page 18: Presentation

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

Page 19: Presentation

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.

Page 20: Presentation

IMPLEMENTATION

Page 21: Presentation

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

Page 22: Presentation

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.

Page 23: Presentation
Page 24: Presentation
Page 25: Presentation

DIJKSTRA'S ALGORITHM

Graph search algorithmShortest path problemThis algorithm is often used

in routing and as a subroutine in other graph algorithms

Page 26: Presentation

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); }

Page 27: Presentation

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.

Page 28: Presentation

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

Page 29: Presentation

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.

Page 30: Presentation

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; }

Page 31: Presentation

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.

Page 32: Presentation

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);}

Page 33: Presentation

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().

Page 34: Presentation

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.

Page 35: Presentation

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();}

Page 36: Presentation

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); } }

Page 37: Presentation

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

Page 38: Presentation

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

Page 39: Presentation

WEBSITES

Page 40: Presentation

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

Page 41: Presentation

RELIABILITYCONSISTENCYVALIDITYLONGEVITY

Page 42: Presentation

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

Page 43: Presentation

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.

Page 44: Presentation

COMPETITION

Page 45: Presentation

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.

Page 46: Presentation

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.

Page 47: Presentation

HOW CAN THE APP BE FUNDED

Page 48: Presentation

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.

Page 49: Presentation

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

Page 50: Presentation

PROBLEM

Page 51: Presentation

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.

Page 52: Presentation

THANKS !!!