You are on page 1of 7

Devflows Status Update

08/01/2023
Andrew Paulino and Brandon Mccarthy-Santos

Changes to initial objectives/approach/solution/deliverables


In terms of changes, one notable aspect is our initial plan to launch on both the Chrome
Extension Store and Firefox Extension Store. However, due to legal reasons, we are unable to do
so. To be compliant, we needed to establish a legal business entity to represent the extension in
the Chrome Extension Store. Upon submitting to the Chrome Extension Store, our application
was rejected, requiring us to draft several appeals addressing privacy laws and explaining the
reasoning behind our extension logic. Consequently, we have opted for a self-distribution
system, manually sharing the zip files peer-to-peer and providing instructions for extension
installation.
Another change involved splitting the extension into two parts to prepare for the Chrome
Store submission. Although we have decided not to proceed with distribution through the
Chrome Store, we have retained the separated extensions, as this aligns with best practices for
developing complex extensions. Additionally, we have deviated from our original plan by
transitioning from utilizing AWS to relying on Supabase for backend support, such as hosting
our backend database and endpoints. Originally, our plan was to utilize AWS exclusively;
however, we shifted towards integrating Supabase primarily due to the out-of-the-box OAuth
provided with Github.

The current state of the project


Currently, the core product development is finalized; we have dedicated extensive effort
to achieving the completion of the core functionality. We possess downloadable zip files
prepared for distribution, and we have successfully accomplished our goal of finalizing the pull
request thread, runbook feature, and web tools – the three primary objectives we set out to
complete.
At this juncture, we have entered the testing and fine-tuning phases of the project. We are
collaborating with our user group (developers) to assess features and identify any bugs. We have
conducted two rounds of user group testing and are presently engaged in the third iteration.
During this process, we have discovered several bugs and rectified them. Both extensions have
now reached a stable state, and the issues have been resolved. Additionally, we will utilize this
period to draft documentation for the extensions, outlining proper installation procedures and
potential debugging steps. As well we will work on our presentation and demo and will finalize
our work.
Individual contributions (past and future)

Andrew Paulino
Past Responsibilities:

● Developed the main frontend for both extensions and worked on React.js / CSS integration for the
main UI / UX
● Worked primarily on the pull request thread integration with github and the webtools integration
with the redirect tool and the query persister tool while utilizing the supabase infrastructure.
● Developed system to help deploy our proxy website for login service using Vercel
● Helped organize user testing and fast follow with bug fixes

Future Responsibilities:

● Handle demo and recording / editing of presentation video


● Conduct one more user test and tweak final code deliverables

Brandon Mccarthy-Santos
Past Responsibilities:

● Developed the login with github functionality


● Built out the runbook feature with supabase integration and user experience integration with
forms.
● Built separate proxy web application to help our users login / redirect using OAuth
● Handled QA testing for happy path testing
● Helped with research and finding out about supabase

Future Responsibilities:

● Build out slide show for context of presentation, and in general help with overall demo
● Build out documentation for code deliverables and how to install for peer to peer system
Testing Documentation

Target Audience
Our target audience for the software we developed is the working developer, age 21-50 who

actively has a role in software development, either as a full-stack developer or a front-end leaning

developer. Additionally for this testing we will be noting career level as well (junior, mid-level, senior)

and will look for diverse experienced engineers to normalize the experience and testing. The target

audience should be familiar with common web development ideas and workflows, use chrome as a

primary browser, have their own github account, as well as have the willingness to install a google

chrome extension considering our app will self-installed. Being that our tool is targeted at developers, the

bar for proficiency in technology is very high compared to the average person.

Testing Group
To assess the effectiveness of our application, we engaged several developers to assess the

plugin's functionality, usage, workflow experience, and to gather valuable feedback from their testing

experience. Down below are the three developers we worked with for testing our application, we also

targeted different career levels of developers to gain a wide perspective on how different career levels

could affect extension usage.

Jerry C.
● Jerry works as a junior software engineer at a tech startup specializing in back end development.
This made him a qualified candidate to test our application.
● Jerry also has shown interest in front-end development on the side.
● Junior level developer
● Uses Chrome primarily
Joshua W.
● Joshua works as a software engineer for a popular medical software company, his areas of
expertise are M, Javascript, C#, and SQL.
● Mid-level developer
● Has worked on front-end projects in the past
● Uses Chrome primarily

David M.
● David works at Intel as a software engineer, he works very closely with python and data science
as well with data aggregation UI development
● Works on data-entry UIs at Intel and also data science work that is made with Python
● Senior level developer
● Uses Chrome primarily

Main Task
The objectives for the test user group encompass enabling developer mode, and successful

installing of the extensions. Specifically, participants will be tasked with enabling developer mode within

the Chrome extension page, extracting and placing the extension files in a designated folder, and

completing the installation process. In addition, the test users will engage with two distinct extensions:

"Webtools" and "Start Page." For the "Webtools" extension, users will be expected to create a redirection

rule from a production website to a local site, as well as implement a query rule to append queries to a

specified domain. In regards to the "Start Page" extension, the objectives include reviewing GitHub pull

requests, utilizing provided code snippets for terminal commands, integrating runbook links via both the

Start Page extension and its associated popup. Overall, the test user group's goals encompass a range of

tasks aimed at effectively using these extensions for enhanced development functionalities. A list of the

main tasks for both extensions can be found below.

● Login with github account and redirect to start page extension.

● Review pull request thread and have the developer refresh to see any pull request assigned to

them.

● Create a runbook folder and entry using the start page UI.
● Create a runbook entry using the start page module.

● Create a runbook entry of a terminal command and have them copy and paste to their clipboard.

● Add a redirection rule to an arbitrary URL that redirects to “https://www.devflows.app”.

● Add a query rule to “https://www.devflows.app”

● Enter devflows from the Devtools in chrome.

● Add a query rule using the popup module of Webtools extension.

● Add a redirection rule using the popup module of Webtools extension.

Feedback

Joshua Feedback
Joshua was able to install both extensions correctly; however, he experienced a small hiccup

when trying to log in directly from the “Webtools" extension after installing. “Webtools” is the smaller of

the two extension’s and usually the start-page is the extension where you log in at this stage of the

extensions. Given the situation, this required the installation of the other extension to rectify the situation

and allow Joshua to log in using Github. This issue arose due to problems with the new user flow in both

extensions. Through testing, we discovered a bug: if the user did not have Github configured before

installing the extension, the extension would break. To address this, the facilitator guided Joshua to install

the other extension (start page) first, enabling him to log in to Github before using the “Webtools”

extension. Alongside this issue, we identified related problems. If no data existed for a new user, the user

interface would break, displaying an error message to Joshua. Once Joshua added the necessary data, we

could proceed with the testing cases. Despite encountering a challenge with the query rule case—where

the logic couldn't complete due to a code bug—Joshua managed to complete the testing cases with

relative success.

On a positive note, Joshua expressed enthusiasm and praised the UX/UI design, highlighting his

intentions to incorporate it into their work environment. Drawing from Joshua’s feedback, we successfully
addressed four bugs within the flow and implemented improvements to enhance the experience for new

users.

Jerry Feedback
Jerry was tested a few days after Joshua, by which time all bugs had been fixed. He successfully

installed the extensions without any issues and seamlessly accessed its features. Logging in with his

GitHub account, Jerry completed all the tasks, including those that Joshua had struggled with initially due

to the bugs, particularly concerning the query rule logic. However, Jerry's feedback on the application's

user interface differed, due to his smaller screen size which resulted in a more compact appearance

compared to Joshua's UI, Jerry held a more critical view of the UX, expressing that several UI elements

required more space. This gave us insight to the need to reiterate on making the extensions much more

responsive in UI to avoid the design cramping for smaller screens.

On a positive note, Jerry commended the user experience overall and logical functionalities of the

extension. He indicated potential usage, albeit acknowledging his stronger inclination towards traditional

backend development, which might limit his adoption of the frontend features.

David Feedback
Following Jerry's testing of the extensions, David was up next to give his evaluation. He adeptly

installed the extensions without encountering any difficulties, demonstrating a faster process owing to his

familiarity with chrome extensions and seniority as a software engineer. David provided feedback

suggesting a desire for additional features within the extension, as he perceived certain functionalities,

such as the query persistence feature, to be less relevant to his needs as an experienced developer who

works more closely in the data science field and not in web development. He praised the extension's

user-friendly UI, highlighting its seamless and intuitive appearance. David expressed a personal

inclination to utilize the extensions if it incorporated elements pertinent to his daily workflow. Looking
ahead, he recommended exploring the possibility of developing more specialized features tailored to the

requirements of non-fullstack developers to which we took note upon. This is a point to highlight, as it

paints a picture of what the extension’s next steps could be in the future and the niche’s it could possibly

serve.

You might also like