Evaluation

We have provided a summary of our achievements and a critcal evalutation of our project along with future

About Hero

MoSCoW List Achievement

Functional

ID Requirement Priority State Contributors
1 Testing the API in Postman MUST Complete Oscar, Zakariya, Satbir
2 Connector Submission, Validation and Deployment MUST Complete Oscar, Zakariya
3 Create a Flow SHOULD Complete Oscar, Zakariya, Satbir
4 Create a Sample Power App SHOULD Complete Oscar, Zakariya, Satbir
5 Create Samples and Templates SHOULD Complete Oscar, Zakariya, Satbir
6 Send images alongside text messages COULD Complete Zakariya
7 Phone Numbers to send WhatsApp messages to the Power App COULD Incomplete Zakariya, Satbir
8 Integrate the connectors COULD Complete Oscar, Zakariya
9 Custom message templates WOULD Complete Zakariya, Satbir
10 Integration with N365 WOULD Complete Zakariya, Oscar

Non Functional

ID Requirement Priority State Contributors
1 Get Paconn Verification MUST Complete Oscar, Zakariya
2 Comprehensive Documentation for Connectors MUST Complete Oscar, Zakariya, Satbir

Key Functionality: 100%

Optional Functionality: 75%



Known Bugs

We do not have any known bugs as Power Platform manages to limit errors in development (As they try to ensure anyone can use the platform to make a solution). Any bugs that the connectors or power app endures is based on bugs of Power Platform which are constantly being patched. We would frequently update our clients on these bugs to ensure they would be noted and eventually patched. In fact, while developing the WhatsApp connector, we have managed to identify and report a significant bug on Power Apps, while handling nested JSON arrays in the body of the API call. We recorded an in-depth video which shows this bug, and the engineering team in Seattle is currently working on a patch for this.

Power Platform Bugs

Bug Description Patched
Calendar UI The calendar of the canvas app would have the date of the day overlap with the day selected False
Calendar Refresh The calendar of the canvas app would need to manually refresh after an appointment date was generated so that the webex link and appointment name could be seen False
Flow Refresh There would be instances during development of the canvas using flows which used our connectors would result in the "failed to refresh flow" error with no discernable cause. Eventually, enough retries the flows would work. False
Paconn Bug We constantly recieved a 401 client error when using Paconn to verify our connector for no discernible reason toward the end of our development, claiming we were unauthorized for our power app environment URL
True
Power Apps successful test We would recieve a message the flow had failed on occasion even when out flow had successfully worked False
Nested Array Bug When developing the connector using variables in the message templates for the whatsapp connector, we realised the text would not replace variables. We repeated the test of the API call with the chosen message template in Postman and we recieved a successful test. We recieved the WhatsApp message of the template with the variables replaced with the values we assigned. After several weeks of further investigation, we and Microsoft concluded it was a Power Platform issue. False


Individual Contribution

Work Package Satbir Virdi Zakariya Fakira Oscar Hui Chaohui Wang
Project Partner Liason 30% 30% 30% 10%
Requirement Analysis 40% 25% 25% 10%
Research 30% 30% 30% 10%
HCI 30% 30% 30% 10%
Connector and Flow Development 30% 40% 30% 0%
Testing 20% 50% 30% 0%
Power App Development 20% 40% 40% 0%
Website 50% 25% 25% 0%
Video Editing 0% 100% 0% 0%
Overall Contribution 30% 30% 30% 10%
MAIN ROLES WhatsApp connector, Website, Researcher WhatsApp Connector, Canvas App, Researcher, Tester WebEx Connector, Website, Tester WebEx Connector


Critical Evaluation

Self Evaluation

User Experience / Interface

Upon Completion of the Canvas Apps, we utilised several methods to analyse the User Experience when using the App and the Connectors such as expert evaluation and user testing The expert evaluation was particularly useful during iterative development of the power app. The main feedback was to ensure everything was as clear as possible for the user, eventhough it was a sample test app. We ensured all components were clearly labelled to their function. This combined with the Dropdown lists as the input fields for the appointment date and time. This would ensure busy nurses and doctors are less likely to make a mistake on input. The colour-scheme was the same as used by the NHS and compliant with our E2E scenario.

The power app combining both connectors helps the user recieving the messages for they are able to recieve WebEx meeting links via email and via whatsapp, alongside other additional messages (with approved templates).

Functionality

This was the priority of our project as we were learning new technologies from scratch. As per the functional testing we were able to make a solution which met our functional requirements. We were able to send messages from the platfrom to a phone number, send webex meeting links and created a power app which managed to use the connectors for their intended purpose. Furthermore, we also were able to create Flows which could utilise the connectors, linking the connector and power app together.

Documentation is vital to other developers understanding functionality; our connectors' documentation was heavily detailed, meeting the standards of Microsoft's development team which was further supplemented by the Template and Sample. There was some functionality missing from Power Apps which did not support webhooks. This made it very difficult to set up two-way communication (WhatsApp to Power Platform)

Stability & Efficiency

The solution was built on Microsofts Power Platform utilising Power Apps and Power Automate. The platform itself is very stable and has been used for a variety of business appliations by mulitple organisations. There can be occasional issues regarding the platform or server outages. As such, Microsoft provides service-level agreements that guarantee a certain level of performance for the platform. They also offer diagnostic tools to troubleshoot issues quickly. This is also in part because our solution endured meticulous and intense deployment stages with frequent feedback from the platform development team. As such, it can be argued our application's stability relies on the reliability of power platform which itself is relatively reliable.

The metrics to measure the efficiency of the solution are rather limited. We did minmise the number of API calls and there are no real storage of any variables or intermediate results which maximise the speed of the call within the flow. Furthermore, the UI is kept simple, has clear labelling and uses input methods to minimise errors which speed up the use.

Compatibility

Our solution is deployed on Power Platforms connector market which in turn means it will work on any flow and any power app which uses it, as shown by it working with the Outlook connector (thus, also showing its compatibility with the NHS N365 ecosystem). Furthermore, the connectors themselves are very compatible with the APIs they work with such as the authentication method they use. This opens the opportunity for expanding functionality of the connectors.

Maintainability

The documentation that comes with the connectors upon submission is vital for the maintainability of the connectors. It contains things like: API references, Connctor description, best practices when using the conector and the Samples and Templates as examples of how the connectors can be used.

The power platform custom connector environment is also very usable and so any changes that need to be implemented can be done relatively easily

Project Management

The change of connector from WeChat to WebEx several weeks into the project was a major setback regarding our initial gantt chart. This combined with blockers which we could not find the solution to (e.g. the nested arrays issues, as mentioned in the blog post, was an issue with power platform without us realising). Weekly meetings with our client to discuss blockers did aid us in finding and implementing solutions for other blockers however. Recording the meetings and making notion notes made it easier for us to understand our position regarding development and the deadline. Delegating tasks and tightening informal deadlines did allow us to get back on track with both connects in time for the submission.



Future Work

With further time, we would build upon the direct versatility of the connector. This is because, while we have functionality , stability and efficiency, versatility would make our solution more impactful for business solutions. Our solution, like all other connectors is open-source, thus any legitimate developer is welcome to work on the connector, which indirectly aids the versatility of the connector. if we were to directly work on the connector, we would add the following features:

Feature Description
Obtain meeting transcripts - WebEx This would make the WebEx connector more useful as the transcripts for the meeting can be used by the patient if they forget any of the doctor's advice; it can be used by the doctor who can analyse anything the patient has said and rectify any mistakes or give futher advice. It could also be useful for deaf users and patients who can read the transcript rather than hear the doctor, enhancing the usability
Join a meeting using the connector instead of link - WebEx This would enhance the usability of the connector for both end users as generated links are verbose and can create confusion for people who are not aware of what the characters in the links mean.
Getting templates for the reminders approved - WhatsApp This would benefit our E2E scenario as we can show that an appointment reminder can be set and sent to the pateint. As of now, if such a template was needed by the NHS, they would need to get the template approved by Meta. It would also expand the use cases of the WhatsApp connector for other organisations as more templates can be used for each organisation's