Expert answer:A review..

Expert answer:Read the file “prototype” and write a review for the prototype. Include in your review, analysis of the:1.Ease of starting, opening, and installing the prototype2.The landing page/welcome screen3.The task workflow. How intuitive are the menus? How easy is it to understand how to perform the next task?4.Visual design of the UI5.Program functionality. Hw complete is the interface?6.Program learnability. How difficult is it to master the interface?7.Bugs you find in the interface8.What would you fix/change? What tasks would you want to be added?
prototype.docx

Unformatted Attachment Preview

Summary Description
A. What I have done
I was able to take my prototype and turn it into a functional app that will run on both
android and iOS. All of the features I have described in the prototype are working and all that is
left is to make some fixes for the app to run smoother and deploy it on a server. I wanted to
make sure I included everything in the simplest way for the users because I know there are some
users who have very little experience with technology. With that in mind, I made the low level
prototype easy and transition that into the high level prototype. I believe after a quick tutorial
that every user should be able to use the app to its fullest potential. At the moment I use
software called Expo that runs the app on the phone without deploying it to the app store.
Unfortunately the app can only be used within my company’s network at the time so I made a
video of all the features being used through Expo. Before I can start coding however, I need to
decide on how I will make the app.
The first thing I did was pick which programming languages I wanted to use. I already
knew I was going to use MySQL for the database since it is something I have a lot of experience
with. To make the actual app I used react-native because it’s a JavaScript framework I can use
the same code for both android and iOS which is helpful since I don’t have a Mac and can’t use
Xcode. For the backend I used PHP because it is another language I have a lot of experience
with and have already made one of the functions I will use in the app in it. React-native will take
the inputs from the user and send it to PHP. The reason for this is because we have a number of
servers for different clients and they are all behind different firewalls.
The second thing I had to do was figure out a way to give everyone access to everything
anywhere. Since people are going to be using the app on the road, we need some way for them
to have access without being blocked. We also wanted one app to work for every customer
instead of customizing it for the individual. The way I achieve this is by setting up a server that
is open to the world through the web ports which will store some of the PHP scripts. From here,
the server will contact the corresponding customer where it will either initiate a call or send
information back to the PHP script. So in summary: User runs phone app -> Phone app
connects to open server -> Open server connects to customer server -> Customer server sends
the information back. I am currently waiting for an open server which is why I can’t use it
outside my network at the moment. Now that I have the flow of the app I can start coding.
The first two screens I made was the login and home screen. The log in screen is very
important because I need to make sure only authorized users can access the app. I was able to do
this by using a two-factor authentication: password hashing and tokens. Every password is
hashed by the app so we can never see what it is. Another thing the app does is store a token that
is unique to the user. Each token is unique and can only be stored by one phone. If anyone tries
to sign into the app from another phone, they will get a notification that a new device is being
used an email them a token reset code. If they enter the code, then they can use that phone but
not the other one. After the log in page was done, I made the home page with the links to each of
the modules. At first each module was blanked because I wanted to make sure the transition was
smooth. With the login and home screen done, I made the Dialer screen.
The Dialer allows users to dial a number from their cell phone and show their office
caller id and they can change the forward of their extension. This one was the hardest to make
because not only did the open server have to connect with the customer’s server but it has to
communicate with asterisks. Asterisk is a PBX software that allows phones to make calls to
others. The app needs asterisk to initiate any call made by the dialer and change the forwarding
of the user’s extension. This can be done by making a web socket through asterisk’s built in
Asterisk Manager Interface (AMI) port. To change the forward, I can send the extension I want
changed and the number I want it forwarded to. To make a call, I send the extension that wants
to make the call (and send it to the forward if there is one) and the number I want to call.
Asterisk will then call your phone and when you answer, it will call the number dialed and
bridge the connection. In the video you will see me dial a number and a couple seconds after
that you will see a number call me. That is asterisk making the call to my extension which is
forward to my cell phone. After that you will see the call connected because it was able to call
the number I put in. After the Dialer was completed I made the Operator module.
The Operator module allows users to see what the status is of other extensions. This
module also had to communicate with asterisk to find the status. Using the same AMI port, I
was able to send a list to asterisk and it replied saying what the phone is currently doing. It does
this check every second to keep the user updated. Asterisk can reply back saying that the phone
is either idle, in use, busy, unavailable (unplugged), ringing, on hold, or not found (Ext doesn’t
exist). In the video you will see my extension (681) is idle at first and the other two are
unavailable because they are currently unplugged. You will also see it change to in use because I
used the phone to make a call. As for which extensions get checked, I put in a place where users
can add and delete extensions from a list. After the Operator was completed I made the rest
easily.
The other modules I made were the Call Detail Report (CDR), Call list, and Issue/order.
Both the CDR and call list I made already for a desktop application I made earlier in the year
using python (which is why you will notice that all the scripts go to a python folder). The only
thing I had to do here was create a Web View from the app to those scripts and it will show the
modules. For the issue/order modules I put in a number of text fields that the user fills out that
will be emailed to the appropriate department. I auto filled some of these already based on their
account information so they only have to write their number they can be reached from and the
issue/order portion.
B. What needs to be done
As mentioned earlier the only things left to
do is fix some performance issues and put all the
PHP scripts onto the open server. At the moment,
all the scripts are on one server when in reality
they will have to be split up between the open
server and customer servers. Some screens also
need to be modified to fit everything better such as
the dialer screen. When you enter a number to
forward, the keyboard cuts off the screen so you
can’t see what you are inputting. The CDR and
Call list module also need to be tweaked to fit the
information better. All the functionality is done
and working as expected.
Prototype Description
C. Images
The first screen on the right is the log in
page.
When
you
enter
your
username and password you will be taken to
the home screen if your token matches what’s
on file. If it doesn’t then a pop up will occur
saying it doesn’t recognize the device and to
enter the code that was sent to the email on
file. When you enter the code, you will be
able to sign in again.
The module on the left is the home screen.
Every line from Dialer on is a link to the
corresponding module if they have access to it.
If one doesn’t have access to one of the
modules then it won’t show. Once you go into
every module, you will be able to hit the back arrow on the top to return to the
home screen.
The module on the right is the Dialer
screen. Here you can see what your
extension number is and where your calls
are being forwarded to. When you enter a
number and hit Change Forward it will
update where the calls are going to. If you
enter a number and hit Make Phone call
then it will contact asterisk to call the
number you entered.
The module on the right is the first screen of the CDR
module. You will have the option to see either a report on a
range of extensions or a detailed report on a single
extension.
This is the range report. You can enter in an
extension along with some parameters and get a
summary of each extension you entered.
This is the detailed extension report. The first
portion is the same as the previous where you
enter in an extension along with some parameters.
It will then give you a summary of that extension
After that it will give you a detailed list based
on the information you are looking for. It will
show you the date and time of the call, who
initiated it, who they dialed, how long the call
was, and whether it was answered or not.
This is the Operator module. Here you can enter a list
of extensions and it will tell you what the status of
the extension.
The next module is the Call list.
When a list of numbers is imported
using the web application, they
will show here. Whenever you call
any of the numbers listed it will
show the length and date of the
call. You can then write a note for
yourself and manager about the
call.
The last modules are almost identical. This is where you can report an issue you
have or place an order. The name and email is auto filled but you can change it if
you like. When you hit Submit, it will send an email to the service or orders
department. At the moment the code has my email listed.
This is a screenshot of the web application looks like. Here you can upload a csv
file with numbers and the user you want to call and it will populate this list and the
phone apps call list module.
B. Platform needed to run the code
Once everything is complete all the user will have to do is install the app on their phone and they
are done. It should run on any android and iOS device. Unfortunately react-native is not
supported on other mobile devices. On the backend we need to put a copy of the scripts on their
server and we are done. We will create the login information for each user and send it, along
with a manual, to them. Until the app is ready to deploy on the app store, anyone who wants to
use it before then will have to install the Expo app on their phone. When they have the app, I
can send them a QR code they can scan and it will run the app. Any time after they want to use
it they can just open the Expo app and select the app. They don’t need to scan again. However
until the open server is ready, no one can use the app unless they are in my company’s network.
Along with this report I will include the movie I created demonstrating each feature along with a
zip file that contains all the scripts used. One folder will have all the app scripts and two folders
will have the php scripts. One will have the scripts that will be on the main server and the other
will have the scripts that will be on the client server. If there are any issues with the movie and
the zip files let me know.

Purchase answer to see full
attachment

How it works

  1. Paste your instructions in the instructions box. You can also attach an instructions file
  2. Select the writer category, deadline, education level and review the instructions 
  3. Make a payment for the order to be assignment to a writer
  4.  Download the paper after the writer uploads it 

Will the writer plagiarize my essay?

You will get a plagiarism-free paper and you can get an originality report upon request.

Is this service safe?

All the personal information is confidential and we have 100% safe payment methods. We also guarantee good grades

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more

Order your essay today and save 20% with the discount code ESSAYHELP