ContextI spent the summer of 2017 as an iXP SAP intern working under both the Global Products, and Global Technologies Research and Development teams.
SAP is the world leader in enterprise applications in terms of software and software-related service revenue. Based on market capitalization, it is the world’s third largest independent software manufacturer. The company was ranked 26 in Forbes list of most reputable brands, and is the most valuable technology company in Europe.
Role: Originally I came on board as a user experience design intern. However, as the situation arose, I spent the latter part of my internship programming within the mobile team’s agile development sprints. Throughout the course of my internship, I did everything from high fidelity prototyping within proto.io, to designing work flows, user flows, and screens within Sketch. I also worked heavily with both product managers and senior designers to better understand the needs of the users.
Problem: SAP Concur’s target audience is primarily composed of middle-aged men and women. This being the case, often times they have increasing difficulty with seeing what is on their display. Concur also has quite a few users who are visually impaired. The default Apple voice over configuration is unintuitive and often leads to more confusion.
Solution: Using swift three’s newly implemented accessibility methods, I was able to better prioritize and localize the way in which voice over interpreted the information on screen. Ultimately, I humanized the literal concatenation of strings and variables to invoke a more natural tone of conversation.
Situation: As of right now there is no set method for handing off accessibility flows to engineers. The two current methods in existence are string literals, and a Zeplin based commenting system. Both methods leave more to be desired, this being the case I took the best of both and came up with a Hybrid sketch methodology.
Key Performance Indicators
- The median time it takes to map voice over accesibility for a normalized screen.
- The median time it takes engineers to decipher the contents of a normalized screen.
- Methodology preference declared by engineers on both iOS and Android development teams.
- Number of total clarification errors logged per the duration of working on a normalized screen.
Results: Of the three methodologies present, our proposed hybrid sketch method was not only the fastest in terms of interpretation, but also led to the least amount of clarification errors per screen, therefore justifying the additional time investment made per screen. Ultimately, this allowed the mobile team to map accessibility on screens at a much more cost-effective rate.
Missing Receipt Affidavit Feature
Problem: SAP Concur’s target audience is very busy, and often times don’t keep track of their receipts for expense reports. When the time comes for filing reimbursements, they are often found shuffling around scrambling for receipts that they might not have...
Solution: Introduce a feature within the SAP Concur mobile application that allows for the selection of a missing receipt affidavit (use the existing design architecture). Streamline the process so as to give the users the best possible experience.
Prototyping in Proto.io
The above user flows and hard mock implementations were later imported into proto.io, and presented to executive stakeholders for approval.
As part of my last design assignment, I was tasked with not only implementing one of my own designs within the newly released budgets section, but also with the creation of the interactive prototype for its user testing.
Comparatively to invision and marvel, Proto.io definitely has a much steeper learning curve. The upside to this is that it delivers one of the most organic experiences out in the market. However, with all tools there are limitations. Proto.io cannot do complex masking animations much like the one below, this being the case I had to recreate the vector assets in illustrator, and then import them into Photoshop where I then exported the asset as a gif to use within my prototype.
Programming in Swift 3
My last encounter with iOS programming was in Swift 2. However, when I transitioned into the SAP Concur architecture, they were on Swift 3. I had to quickly familiarize myself with the new features, such as accessibility tags, and concepts like protocol oriented programming.
Since I had finished the bulk of my design assignments ahead of time, I had the opportunity to participate in two development sprints, and aid in the shipping of the missing receipt affidavit feature. This included actively participating on Jira, being supervised by the senior scrum master, and working alongside project owners to meet expectations.
What I Learned
In the end, you get out of it what you put into it, and I for one got a lot out of my first full time summer internship here at SAP. I dedicated close to about 600 hours total, but in return I learned a vast myriad of tools, and techniques that helped me become a better designer. Getting to participate in stakeholder meetings, and sitting it on design thinking challenges really helped bolster my problem solving capabilities, and allowed me to approach solutions from all angles. I even got to participate in the programming team’s agile development sprints, which isn’t very common for most interns to work on projects cross departmentally.