Simple Employee Access & Visitor Registration

For Cool Workplaces & Campuses

3 Steps to ensure safety from the perimeter of your building with the QWIKACCESS APP

  • full star
    • full star
    • full star
    • full star
    • full star
    • full star
  • 1400+ reviews

Overview

A NYC based start-up with sophisticated private-equity investors with a short-term vision of using smartphones to enter buildings and a long-term IoT vision of calibrating building energy consumption based on heat signatures generated by people and energy consuming devices in the building. CodeMyMobile spent 1000+ hours for $25,000+ researching the architectural options and technology choices for the project, running lab tests and designing the final architecture necessary to get approved by some of the strategic investors which included Globalsign, one of the leading SSL companies in the USA.

QwikAccess products are now being used by some of the leading property management companies in America and college campuses, including Harvard University.

1 Problem Flask
The Problem

The client wanted to secure funding to build a mobile solution that allowed tenants and visitors to enter buildings without having to sign-in manually or use RFID cards.

2
The Challenge

While developing QwikAccess, we had major challenges related to security, speed and accuracy. We needed to ensure that enrolling users in the QwikAccess system was robust, quick and easy and also the system design was such that it would fit across various organization sizes irrespective of the industry they cater to.

3 solution
The Solution

CodeMyMobile built and tested numerous prototypes to ultimately design a solution architecture that was approved by Gartner Group Experts and client was able to procure the funding necessary to build the solution.

  R&D Budget The initial budget for prototyping was only $5,000 per month. Upon achieving funding, the development budget was increased to $50,000 per month. Upon deployment of the solution, the budget was reduced to $15,000 per month because the client wanted to be feature-lite on this product.

  Project Duration Ongoing

  Resources 1 Engineer each for Business Analysis, Server, UI, iOS App, Android App, QA, DevOps & Project Management

  Methodology We use scrum, one of the most popular agile frameworks in a software development process.
With scrum, the product is built in a series of fixed-length iterations called sprints that give teams a framework for shipping software on a regular cadence. Milestones–i.e., the end of a sprint–come frequently, bringing with them a feeling of tangible progress with each cycle that focuses and energizes everyone. ("Continuous inspiration" for the win!) Short iterations also reinforce the importance of good estimation and fast feedback from tests–both recurring struggles in waterfall projects.

  To start with, A product backlog is created which is a prioritized list of work for the development team that is derived from the roadmap and its requirements. The most important items are shown at the top of the product backlog so the team knows what to deliver first. The development team doesn't work through the backlog at the product owner's pace and the product owner isn't pushing work to the development team. Instead, the development team pulls work from the product backlog as there is capacity for it, by iteration in small units of time called sprints.

A well-prioritized agile backlog not only makes release and iteration planning easier, it broadcasts all the things your team intends to spend time on—including internal work that the customer will never notice. This helps set expectations with stakeholders and other teams, especially when they bring additional work to you, and makes engineering time a fixed asset.
Scrum calls for four ceremonies that bring structure to each sprint:

• Sprint planning: A team planning meeting that determines what to complete in the coming sprint.
• Daily stand-up: Also known as a daily scrum, a 15-minute mini-meeting for the software team to sync.
• Sprint demo: A sharing meeting where the team shows what they've shipped in that sprint.
• Sprint retrospective: A review of what did and didn't go well with actions to make the next sprint better.

During a sprint, visual artifacts like task boards and burndown charts, visible to the team and spectators alike, are powerful motivators. They drive a spirit of "we're doing this!" Having the opportunity to show off new work at the sprint demo is equally motivating, and the consistent, incremental feedback the team gets from stakeholders at each demo creates a powerful way to develop products.

We used Atlassian’s JIRA which is the most used Agile tool worldwide to implement our scrum process.

In JIRA Software, you view sprints on a board and assign issues from the product backlog to sprints. You can search for issues in upcoming sprints using JQL (Sprint field). You can view the Sprint field on each individual issue as well, to see the sprint that an issue is part of. There are provisions for tagging issues in a sprint using epics and tags, defining versions and managing releases, getting feedback from stakeholders after each release, tracking code commits, code reviews and mergers, making sure all builds are passing and so on.

JIRA makes our lives easier as it has all the features and tools to implement a successful SCRUM process in a smooth way.

  Design Tools Used - Adobe Photoshop, Sketch, Marvel, Adobe Illustrator
Prototyping - Balsamic Mockups

A design process varies by the type of project, clients needs, team skill-level and experience, and other factors, as designers we keep our hands on to a handful of tools. These tools provide us a base for planning and brainstorming, help us communicate our ideas clearly, overcome technical hurdles to create stunning designs, and even simplify our interactions with developers. From advanced new design software tools to the traditional techniques, these are the tools our team has mastered on.

  We use a combination of flowcharting tools, marvel, sketch, photoshop, mindmapping and other UI pencil,icon and stencil kits.

UI of QwikAccess was kept minimal and it was more mobile-focused design. QwikAccess was designed from multiple viewpoints - A guard app, Super-admin web portal, Android End-user app, iOS end-user app, building admin portal, Marketing manager admin portal, and employees web portal. The design phase of this app required a higher level of involvement and knowledge of both mobile and web view on the part of the multiple sets of users. Our design team made sure QwikAccess was user-friendly and reflected the purpose of the application in an intuitive and smart way.

  Developement While developing QwikAccess, we had major challenges related to security, speed and accuracy. We needed to ensure that enrolling users in the QwikAccess system was robust, quick and easy and also the system design was such that it would fit across various organization sizes irrespective of the industry they cater to.

We tried various configurations on the servers specially for the Check-in API to end up with a configuration that would give us a guaranteed TTFB of less that 250 ms. That way, adding up the time taken by the mobile apps (iOS and Android) to handshake, communicate securely with the Guard tablet over an encrypted (using ECC) BLE connection, we ended up with 10 simultaneous checkins every 3 seconds at each Access Point. So, for example if there are 10 Access Points to a building, our system was capable of checking in 100 people at a time every 3 seconds which is kind of awesome!

We used various caching methodologies on the client and the server to ensure that Check-ins were smooth and fast. The technologies that we used on various platforms can be majorly listed as follows:

Server: Nginx, Python/Django, Django Rest Framework, Celery (RabiitMQ), Elastic Cache, Omnibus(websockets), Gunicorn(wsgi), APNS, GCM, Plivo
Android/iOS: Bluetooth LE, ECC encryption over BLE, CryptoPP, NFC
Web: Node/NPM, WebPack, ES6, AngularJS, WebSockets, Bootstrap, Vanilla JS

  Quality Assurance Separating development and testing functions can help lower risk and improve an application’s system quality. With the high costs associated with QwikAccess, it was critical to utilize an unbiased quality assurance (QA) and testing partner to ensure that the system works as expected.

Our team utilizes best practices spanning process improvement, technology and global outsourcing to help mitigate risk and realize greater return on such complex applications.

Our QA and testing experts build independent quality assurance blueprints that fit into our client’s overall app project schedule, while providing an unbiased means of measuring app functionality, configuration and interoperability with other corporate systems.

  Deployment We used AWS EC2 instances, RDS for Databases, S3 for images of images, load balancers and AMIS for balancing traffic, autoscaling and for Blue Green Deployment, Route53 for DNS Management, CloudWatch and so on.

  DevOps We used AWS EC2 instances, RDS for Databases, S3 for images of images, load balancers and AMIS for balancing traffic, autoscaling and for Blue Green Deployment, Route53 for DNS Management, CloudWatch and so on.

  Maintenance & Upgrades As developers we know, there is much more to an application than turning it on and letting users enjoy it. You wouldn't purchase a new home without expecting to invest in maintenance jobs like painting, cleaning, mowing, etc. The same should be true for applications. You may want the latest, flashiest app features, but is that application maintainable over the long term? Our team offered custom designed maintenance plan for the clients. We made sure we covered for countless updates, improvements and fixes. We are the prescient development partners and help our clients plan ahead.