Dev copyof tagphysicalworld-proposalspecification1.1
1. Project Scope Document
Summary
Tag Physical World is mobile & tablet application ( iOS & Android ) where users
can leave messages over any physical object to different locations and other
people can find using smartphone or tablet.
References
1. No any references or concept available in app store.
Mobile ( Users )
● Splash screen
● 4 to 5 Slider Images showing how app works , User can press skip which
will direct user to login page
● Landing Page
○ Logo
○ Login with Facebook
■ Goes to Facebook and user will automatically logged in and
direct to home page.
○ Login with Email
■ Goes to login page
● Email
● Password
○ After successful login redirect user to home page
● Forgot password
○ Enter email address and we will send reset
password link.
○ Signup with Email
■ Email
■ Password
■ Phone
2. ■ Confirm Password
■ Once user signup we will send verification email and once
user confirm verification email he is able to login to the app
itself.
● Left Navigation ( General in All pages of Mobile App )
○ Photo / Name
○ By clicking over that we can redirect user to edit profile page where
he can update
■ Photo
■ Email
■ Password
■ Name
■ Phone
○ My Credits
■ User can see his available credits balance on this page
■ User can also see where his credits is spent.
■ There will be button here to purchase more credits
■ Purchase Credit Page
● User can see different membership package here for
example
○ 10 Credits - $2
○ 50 Credits - $5
● This all plans will be managed from backend
● User can select plan and pay via paypal or CC Card
● Once transaction is successfull , credits will be allocated
to user account
○ My Followers
■ User Can create followers by SMS / Contact / FB and invite
them too.
○ My Friends
■ User can connect with FB and show all his friends that are
using this app
■ User can invite to mutual friends who are not using this app
3. ■ User can also invite from his contact list to download app as
well as he can see who else is already using this app.
● For contacts it should work like Viber where user can
see his contact list and show small icon that users are
already using the app as well as user can invite to new
users as far as we are collecting phone numbers we
needs to identify using phone number.
■ According to this user can see his timeline main screen.
○ My Contents
■ User can see here his uploaded content
■ By clicking over that user can see details of uploaded content
■ There will be list and map view both , in List view users can
see with Tag and Location ( address ) , while during map view
users can see pinpoints of all those tags and zoom and zoom
out those tags as well as we will show information for the
same .
○ Preferences
■ Send notification on location - On & Off
■ If geolocation is not On , show dialog box that Make sure your
GPS is on
○ Notification
■ Users can see all his notification
○ Contact Us
■ Name
■ Email
■ Phone
■ Message
■ Once user submit details , goes to backend panel
○ Help
■ Display faq and categories managed from backend it self.
○ Share
■ Share app link to social media
○ Terms and Conditions
4. ■ Terms and condition of the app managed from backend as
HTML
○ Logout
■ Logout from the app itself
● User Public Profile
○ Here if User is Friend he can see all post just like FB
○ if User is Follower only , they can only see followers related posts
○ If user is not friend / follower he can only see public posts .
● Home Page
○ This page will show all information about current location by
different user who have uploaded content which is public or friends
○ There will be List and MAP View both display , user can toggle it
anytime to see details of those tags.
○ Our app will check if GPS is On / Off in user phone if not On then
show user a message to make GPS ON.
○ There will be also facility for geo fencing where user will add miles
that he wanted to be notified
■ Ref App :
https://play.google.com/store/apps/details?id=com.arpacell.fe
ncer
○ We can only show data within 500 M , since AR can locate up to that
data
○ Push notification will be sent to all followers of users as well as
friends who are following this user ( the user who have created
content )
○ Fields to show
■ Show Image
■ Descriptions
■ Total Likes
■ Total Comments
■ User is able to like or comments on physical object or tag.
○ Once user click over that , AR View Camera will be open and users
can see free content in AR View
○ Image and Text will be free content by default
5. ○ if user who have uploaded content Video , Scribbled , HTML , Navi
Directions that will be only see by deducting credits / purchasing
credits from user account.
○ If user is not follower of free content we will only show teaser
content
○ For example user have 10 credits in his account and he can choose
whether they wanted to see content or not
○ Each content cost 1 credit by default like Video / Scribbled , HTML
etc.
○ There is also possible that multiple user have uploaded content about
same object for example one of the user have uploaded front side of
physical object like “XYZ Building” , while another user have
uploaded same physical object content but back side of the view , in
AR View it will be displayed all the data and recognize same object
and display everything in same view.
● Create Content
○ .Step 1
■ User take picture of any physical object of real world using
smartphone or tablet
■ If the picture is taken from different angle our app will still
recognize it.
○ Step 2
■ In this step , user creates content which is associated with
image. ie.
● Text
○ Simple note where user can write text related to
uploaded physical object
○ Who Can View : Everyone , Friends , Private
○ User can tap over image and layer will open
automatically anywhere to input text and content
related to picture.
● Image
○ Upload Multiple image or single image
○ User can upload via gallery as well
6. ○ Who Can View : Everyone , Friends , Private
● Video
○ User will have following options
■ Upload Video
■ Youtube Link
■ Vimeo Link
○ Who Can View : Everyone , Friends , Private
● Scribbled
○ User can draw a line on Image that he uploaded
○ User can draw a line with finger over it or stylus
○ Who Can View : Everyone , Friends , Private
● HTML
○ In next page we will provide HTML editor to input
content of the page
○ We will provide basic editor like user can do Bold ,
Italic , Underline , Text alignment , Image upload ,
Font choose etc.
○ Who Can View : Everyone , Friends , Private
● Navi Directions
○ User can type source location
○ User can type destination location
○ Navi direction will show with path
○ Who Can View : Everyone , Friends , Private
● Tags
○ Add some tags that user wanted to place , i.e.
building , hotel , entertainment theater like that
○ Who Can View : Everyone , Friends , Private
○ Step 3
■ User add geo location to physical object and it will be logged to
main server all the data
○ Note : User is also able to tag physical location via Remote locations
or some other locations later on as well as map that object in google
map.
○ Step 4
■ User decides if he wants to charge the use of his / her content
7. ● user sets which part of the content is free teaser content
and which part is charged
● user sets a price for the use of this content
■ User decides to whom he wants to show this content
● choose an unlimited number of friends
● choose a group of followers (charges will kick in)
○ Here user can see his followers list
● choose to make the content public (charges will kick in)
■ User decides on how to alert addressed users
● app push to friends. set a geofence
● app push to followers (email or SMS if the follower is not
yet an app user)+ but also provide the option of an SMS
or an e-mail even if both users have the app
● premium position among other tags, if users are looking
for tags around them
Note : As far as charging models docs is clear , This steps 4 seems perfect for me
User Relations
there are two types of relationships between users:
● friend:
appear in friends list. user can communicate one to one, via tags, with
every friend. In the first phase the user will be able to set tags, which are
available for an unlimited amount of friends. Initially there will be no limiti
to the number of friends a user can have
○ In the backend we have to be able to limit this number any time we
feel this is necessary (in order to protect our business model)
○ in the Backend we have to be able to limit the amount a single user
can have at any time
● follower:
a user can create followers by adding emails or mobile numbers. any
follower, who has not downloaded the app will be alerted via email or sms
download the app, whenever a message is left for him/her. The follower has
8. to confirm the willingness to follow a user (opt in). In order to set tags for
followers the user has to either pay for it or charge the followers for the use
of the content (any charge of followers leaves a commission to the
platform)
● Public
anyone, who is not related to the user as a friend or a follower is regarded
as public. a user, who wants to create messages, which are available to the
public has to pay for doing so or charge the public for the use of the content
(any charge of the public leaves a commission to the platform)
Charging Model ( Just for note this should be maintain during system analysis)
● affiliation model
○ for business users (charged by the platform, contributing content or
services)
○ users are charged a percentage of what they charge to the users of
their content or service
● per view / click model
○ for advertising users, who want to reach all platform users in a
specific area or with specific interests or profiles (user profiles for
later stages)
○ users are charged for every view / click that a targeted user makes on
the tag
● Service fee model
9. ○ for users, who use content or service, which is offered and charged
by another unrelated user or by a followed user
Basic User Experience
I just want to make sure that the following experience is given to the user while
using our App:
1. user creates a tag
2. user creates content for the tag (simple text or more sophisticated)
3. user adds one or more friends, which are eligible to see the tag
4. User can alert the friends about the existence of the tag
a. via SMS
b. via email
c. via facebook (possible?)
5. receiving user(s) can view on google maps where the tag is located
6. if the receiving user does not have the app yet he / she is invited to
download it
Backend
● Dashboard
○ Show all the users
○ Show recent transactions
● Administrators
○ View / Add / Edit / Delete / Make Active / Make Inactive / Search
Administrators
○ Ability to create sub admin with different roles and rights to see
backend.
● Manage Users
○ View / Add / Edit / Delete / Make Active / Make Inactive / Search Bar
/ Users
○ Fields
10. ■ Email
■ Password
■ Confirm Password
■ Phone Number
■ Status ( Pending , Confirmed , Fraud )
○ View / Add / Edit / Delete / Make Active / Make Inactive / Search
Users
■ By Email
■ By Username
■ By Name
○ Edit Tab
■ My Profile
● Email
● Password
● Confirm Password
● Phone Number
● Status ( Pending , Confirmed , Fraud )
■ Credits
● Administrator can see all credits histories of user
■ Content
● Administrator can see all content that is uploaded by
user as well as all content details including comments
and likes
■ Transactions
● Administrator can see all transactions of users
● Transactions
○ Administrator can see all user's transactions here
○ Transactions will show
■ TransactionID
■ User name
■ Email
■ Transaction date
■ Payment method
■ CC Card details
■ Invoice
11. ■ Items
● Reporting ( By default in all reporting admin is able to do filter From and TO
Date wise )
○ View most users uploaded content
○ View most locations updated by users
○ View payment types wise transactions
○ View tag wise contents
○ View most users followers
● Push notification
○ Admin can send push notification to users regarding app updates or
offers related to credits
● Settings
○ Manage FAQ
○ Manage FAQ Categories
○ Manage Charging Models configurations
○ Email Templates
○ Contact US / Feedback
■ View Messages ( From App and Website Both )
○ Settings
■ Administrator email
■ And Other required configurations
○ Manage Language
■ Manage Multiple language
■ Language wise labeling
○ Manage locations
■ View all locations and search locations
■ Show locations all the content and informations including
media like images / video etc.
■ Admin is able to filter locations by city and country wise
API
12. All required API will be developed as per requirement of mobile app.
3RD PARTY SDK AR View
● http://www.wikitude.com/.
● https://www.qualcomm.co.in/products/vuforia
● Purchased by client
Technology
● iOS
○ Objective C
○ iPhone 4,5,6 Supported
○ iPad Supported
● Android
○ Android SDK
○ Lollipop Supported
○ Tablet Supported
● Backend
○ PHP
○ CodeIgniter
○ MySQL
○ Javascript
○ jQuery
○ Ajax
○ HTML 5
● API
○ PHP
○ MySQL
○ JSON
13. Milestone
Project Start : --
No Milestone Delivery Date
1 Milestone 1
UI Design of the App + 100% Backend
Development
-
2 Milestone 2
Shell App Mobile Apps - API Development
UI Flow of Click through in Mobile App ( Shell
App )
-
3 Milestone 3
iOS Development 50%
User Login / Signup / Create Content etc.
Android Development 50%
-
4 Milestone 4
iOS Development ( Full app with QA )
Android Development ( Full app with QA )
-
5 Milestone 6
Full Delivery with clients Feedbacks and
Testing
iOS , Android , Website , Backend
-
14. Contract Agreements
● Project will be developed as per requirement defined in this document
● At any point changes in this scope or document will not be considered after
project is under constructions , if any change will be made by client , that
will be considered as add ons point and will be charged extra.
● After milestone delivered client have to provide feedback / response
within 3 business working days.
● As per defined in payment terms after each delivery of the milestone , once
we receive milestone payment we will start next milestone development
for the project.
● Client have to provide his constant feedbacks and approval during the
development as well as needs availability via Skype / Emails
● Frequent changes to requirement and design will not be considered.