Category Archives: Week 13

Group Project – Week 13

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/commons/public_html/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

For Xiaoman & Tianyi’s presentation, please check this out!

Spotify, Examined

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/commons/public_html/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

By Huazhi Qin and Kevin Ackermann

Sociotechnical Perspective of Spotify

Spotify as a social network

Generally speaking, Spotify has already built up the most important part of a social network: people. They owned a hundred and forty million users. More than 50 million of them pay for its premium service. In addition, it makes a connection with Facebook and Twitter. It allows its users to integrate their account with their existing Facebook and Twitter accounts. Then they are able to access their friends’ or followees’ favorite music and playlists. They can like or listen to the song that their friend was just listening to — making it as if they are with their friends. In other words, their existing ties in other social media platforms can be transferred to and pushed deeper in Spotify.

The function including “following” and “sharing” make the connections among its users, and make it go beyond just a music player.

Spotify as a new marketing channel

Spotify owns a large user base and database, which is the solid foundation for its ad experience. According to Spotify, it has 100% logged-in audience and more than 2 hours a day for multiplatform users. Also, Spotify collects billions of data points every day. The data they collect reflects the real people behind the devices, revealing users’ preferences, behaviors, and mindsets. As what Spotify emphasize, “the more the user stream, the more they learn”. Its streaming intelligence provides a new marketing channel, helping its customers to locate and reach the right audiences in the right context.

Spotify as a representation of the new music production and consumption activities

Spotify is one of the most popular streaming music platforms. It can be seen as a great example to elaborate the change the widespread of streaming technology bring to music production and consumption activity. The introduction of streaming technology addresses the conflicts between the users’ “objective” or needs and other elements in human activities, including tools, rules, community and division of labor. (Adamides) Streaming technology makes music more “playful, short-term, social, visual and mobile”.

How Does Spotify’s Recommendation System Create the Discover Weekly Playlist

Spotify’s Discover Weekly playlist, a weekly, personalized mix that is meant to help you “enjoy new discoveries and deep cuts chosen just for you,” works so well, it’s hard to believe that each Spotify account doesn’t actually come with its personal DJ. The song recommendations in the Discover Weekly playlist feel like they come from a close friend who knows you deeply, but in reality, this close, personal friend was created from a combination of several pre-existing filtering and analysis methods (Cowan).

The Discover Weekly playlist is fresh and new every Monday.

While recommendations on Spotify feel entirely unique, there was a long history of computationally-mediated recommendation systems from which Spotify borrowed and combined to make its Discover Weekly playlist. Borrowing a system of recommendation from Pinterest, Spotify originally tailored the design of its recommendation to mimic Pinterests with cards and panels that the user could interact with (Cowan).

This was the original design for Spotify’s recommendation system. The design drew inspiration from similar content recommendation systems, like Pinterest.

So, how was this technology designed to replicate a feeling of personal knowledge about a user to provide such intimate recommendations? Spotify combined three filtering/analysis technologies to create the Discover Weekly playlist: Collaborative filtering, natural language processing, and audio models (Ciocca).

Collaborative Filtering

Sharing music isn’t new or unique to technological mediums. Have you ever thought of how you determine if you should take someone’s suggestions to heart or not? You probably have an idea of if someone has “good” or “bad” taste, and you decide whether or not to listen to their suggestions based on the worthiness of what you determine their taste to be. You probably use shared interests and preferences to determine this worthiness.

In this scenario, Person 2 would leave with the suggestion of “Song A,” and Person 1 would leave with the suggestion of “Song E.”

Spotify realized they did not have to redesign this core action of recommendation in which people with similar tastes will like other things that the other person likes. Spotify just had to design a technologically-mediated version of this process that fit within a music streaming service. Netflix already popularized this process of collaborative filtering with its rating system, and Spotify took this system of modeling user behavior and comparing it with other users’ data to suggest new content and made the ratings into implicit data within the streaming service, such as play count. Spotify then creates a massive data matrix, in which every user of the platform is a column and every song is a row. An algorithm compares this absurdly massive matrix of data to find similar listening patterns among users. Collaborative filtering is now often viewed as the “starting point” for making a suggestion system (Ciocca).

Imagine a chart like this, but with literally millions more columns and rows.

Natural Language Processing

Another layer of Spotify’s recommendation system uses natural language processing to determine commonalities between songs and artists. Spotify has crawlers that search out what people and organizations are writing about certain songs on the internet. Once the sentiment of the song is analyzed and turned into a mathematical representation, the data is compared to other songs to find similarities among a user’s listening patterns (“Ever Wonder How Spotify Discover Weekly Works? Data Science.”)


Audio Models and Convolutional Neural Networks

The above methods are great for artists and songs that already have a large base of listeners, but how does the Discover Weekly playlist serve undiscovered hits to the user so regularly? Using convolutional neural networks, Spotify analyzes audio data from songs to determine certain characteristics such as tone, tempo or mood. Then using this extracted data, Spotify can compare and discover new, fresh songs and artists that sounds similar to artists and songs that a user already loves (Ciocca).


Works Cited

Adamides, Emmanuel. (2018). Activity-based analysis of socio-technical systems innovations.

“Audiences: You Are What You Stream.” Spotify For Brands,

Ciocca, Sophia. “How Does Spotify Know You So Well? – Member Feature Stories – Medium.”, Medium, 21 June 2018,

Cowan, Matt. “How Spotify Chooses What Makes It onto Your Discover Weekly Playlist.” WIRED, WIRED UK, 27 Jan. 2017,

“Ever Wonder How Spotify Discover Weekly Works? Data Science.” Galvanize Blog, 22 Aug. 2016,

“Spotify: The New Social Network.” Campaign Creators,


“New” Gmail Snooze Function

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/commons/public_html/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

By Adriana Sensenbrenner, Max Wilson, and Banruo Xiao

Last April, Google released an overhaul of their web-accessed version of Gmail, dubbed creatively by the tech community “New Gmail.” With it the team at Gmail introduced a plethora of features and functions to the market dominant email client. One of these was the Snooze function, already made popular in the mobile version of Gmail and in their market testing platform, Inbox. While there was a lot of buzz about the Snooze function, as we have discovered throughout the course, this function is simply a combination of already existing aspects of the Google Applications and Gmail environment. The technical simplicity of the combination of modular elements and existing functions involved in the creation of the snooze function is impressive. The function also highlights how the team at Gmail uses Human Centered Design in the creation of features and graphical interfaces that seamlessly integrate into the overall user experience, aligning with digital and “real world” norms and expectations.

Human Centered Design: The socio-technical interface of Snooze

The name of the function, Snooze, is aptly chosen for the action it executes. Snooze comes from the ubiquitous alarm clock function, both computer based and analog, that lets sleepers say, “Just 5 more minutes,” to their insistent alarm telling them to wake up. Alarm clocks, at their core, serve as time based notification devices. The Snooze button lets people delay reaction to that notification.

Over the past few decades, email notifications, whether in the form of mobile alerts or simply the appearance of yet one more unread headline in an inbox, have gone from exciting, ala the “You’ve Got Mail” era, to overwhelming. Many have come up with productivity and triaging strategies to handle the onslaught of emails received, with varying levels of stickiness. One method that has remained popular comes from a 2007 Google Tech Talk by Merlin Mann on Inbox Zero. Mann’s strategy challenges users to clear out their email inbox by the end of every day. Several early elements of Gmail’s design differentiated it as an email client better able to support users in this goal than others, specifically: Archive – users can remove emails from their inbox without deleting them, instead keeping them in a searchable archive; Tagging – users can facilitate the recall of messages from the archive based on user created and applied tags; and Filters – users can apply filters to their inbox that screen incoming emails based on keywords, sender, or other aspects and have tags auto-applied and/or have the email archived immediately upon arrival. The Snooze function is yet one more tool Gmail has provided its users to facilitate achievement of Inbox Zero and pursuit of other productivity strategies.

Just as the snooze button on an alarm clock resets the alarm to go off at a specified later time, Snooze in Gmail resets the arrival sequence of a particular email to a user specified time. Users are empowered to forgo dealing with an email until a later time of their choosing, while also removing the email from their inbox, helping them achieve Inbox Zero for the given day. This lets users take advantage of all of the email receipt notification pathways for emails that they deem important but can’t immediately respond to. In summary, the design of the Snooze function focuses on the organization needs of users, hopefully reducing the stress and frustration of overwhelming inboxes and forgetting to respond to important communications.

User-Interface Design

Gmail is renowned to having one of the “easiest” and “user-friendly” progressive web apps. Google is able to smoothly reduce a lot of information into simple and efficient parts to create a really nice design for anyone to use. Part of the major update that Gmail hauled a few months ago was the introduction of “smart features” on the right of an unread email in your inbox. How it works is like this: when you hover over an email without clicking on it, you’ll see the usual bevy of options, including archive, delete, and mark as read. Snooze is right after “mark as read”. Gmail gives you the option to resurface it later in the day, tomorrow, later this week, on the weekend or next week,” TechCrunch explained. It’s funny that the snooze feature was actually only on the mobile app before but Google wanted it to become more ubiquitous and probably more popular so they implemented in on the web app.

Second is the hover action element. It comes up as soon as you bring your mouse over an area of the unread or read email- creating minimal to no effort from the user to find the icon. This only adds to Google’s innate ability to make everything easy for someone using their interface.

Third is where the features are located on the user’s screen. Gmail has already created icons for the first three features- archive, delete and mark as read- using pre-existing icons used on either google’s platform or on other websites. It is then no surprise that they used the clock as an icon for snooze- playing up on what we think off when someone says “snooze”- an alarm clock (analog not digital). Something else that I noticed was where the icon was located on the interface. It is right next to the timestamp of when the email was delivered. This was a very strategic design on Gmail’s part so the user can know when they received the email in order to assess what time and which day they want to snooze that specific email.

Technical Side of Snooze

Being an interactive design, which allows users to organize their inbox and even time, Snooze function works similarly in a way which some other Google functions work. For example, Archive function enables users to hide certain emails from the inbox by moving and saving them to All Mail folder. Snooze function, in the meantime, is designed to keep all the snoozed emails in the Snoozed folder. Moreover, the way that Archive function and Snooze function organizing emails has no difference with the function of “move an email to a specific folder”.

Meanwhile, Snooze function allows users to schedule a specific time to deal with the snoozed emails. They will reappear at the top of the inbox (as new emails). Some Google add on functions can also enable users to schedule a time slot for sending emails later. Their ability to send emails from a folder to another folder, or from an email address to the recipient, is more or less the same. Both of these functions set up a cron job with Google Scripts, and the emails will be sent around the specified time. The functions run in the background on Google server which are invisible to users so that even if someone turns off his/her computer, the emails will be sent to the right destination.

Despite the fact that Snooze function is an already existed, well developed function, its speciality includes but not limited to link several modules to work together to make Gmail as a more thorough system. When users try to snooze an email, they can add reminder at the same time. In the newer version of Gmail, the design of Reminder function allows users to write down notes while snoozing emails. The reminders with come up with the snoozed emails and can be repeated. From a system design thinking, Snooze function and Reminder function are two modules working together to make the whole system more responsive to user needs.


What’s Behind the Inbox Zero Philosophy?

What Is Gmail Snooze? The New Feature Is SO Helpful For Easily Distracted People

Why We like Gmail’s Latest Redesign and Why You Should Too

How to Schedule Email Messages in Gmail for Sending Later

Snooze Emails and Reminders Until Later

Inbox Zero by Merlin Mann, Google Tech Talk 2007

Group Project_Taobao

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/commons/public_html/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

Xiaoman Chen, Tianyi Zhao

Please kindly find the Slides here

Group discussion – Online Banking, Your Personal Financial Manager

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/commons/public_html/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

Dominique Haywood, Zijing Liu, Anna Yu

Talking points

  • Online banking and mobile banking history
  • General services that mobile banking provides
  • Deblackboxing mobile banking and features of it

Online Banking — Your Personal Financial Manager

Online banking can be traced back in the 1980s, when the World Wide Web started to evolve. The emerging use of online shopping promoted using credit cards online. Some banking and financial organizations seized the opportunities to invent “home banking”, which used televisions and telephones to fulfill transactions. The development and wide spread of the Internet made online banking possible. And, when Apple launched Iphone, there is a significant shift from online banking through personal computers, to managing accounts through cell phones with mobile banking apps (“Infographic: The History Of Internet Banking”).

Also, online banking can be regarded as a simulation of the real bank, where staffs help customers manage their money. Online banking served as a digital mediation of bank and cards.

Online Banking Services

The services designed into Mobile Banking Applications include viewing accounts and transactions, view monthly bank statements, deposit checks, as well as pay bills and loans. These services are designed to mediate financial transactions which have been developed from  sociotechnical systems. Mobile banking applications are created using modular and combinatorial design thinking, which enables users to access different facets of their bank accounts. Mobile banking applications are also designed with many affordances of applications in general, as well as many of the affordances experienced through modern day banking. Basic affordances that are included in mobile banking applications are the prompt for username and password as well as menu navigation. The menu in mobile banking is extremely modulary because it allows users to initiate from different aspects of the user’s bank account. One major constraint of mobile banking is that users are unable to make many changes to their bank account or associated cards. If a user needed to change her pin number, then the user would need to go to a branch of her bank. Similarly, if a user wanted to open a new account, she would need to visit a branch of her bank.  The affordances of mobile banking applications are not unique and are designed into applications across industries.

Another affordance of online banking is high security, which is also a constraint.  When users quit the app and open another, if they want to open the online banking app again, they must enter the password again. This affordance ensures the security of the app to a great extent. However, it is disturbing for some users to enter password multiple times, especially most of the online banking app require users to set a long, complicated password. Also, some online banking apps such as PNC do not allow screenshot, which protects the privacy of users’ account, while causing inconvenience at the same time if users want to share to others.

Deblackbox Online Banking

As a digital financial mediation, online banking’s basic affordance is transaction. What visible to the users are only numbers instead of real cash. In another word, online banking simplifys the behaviors of transaction and consumption to numbers, which represents computational thinking — using abstraction to hide complicated process and show simple output to users.

What is magical of online banking is that it knows clearly where the money  was spent better than the users themselves. For instance, the PNC online banking app provides categories of spent money, such as groceries, education, entertainment. Moreover, it automatically show a histogram of monthly statement. To deblackbox it, the affordance of analyzing the data and make charts proves that online banking apps have data analysis tool built in. Also, for each expense, the app categorizes it to corresponding category.

Functions that take advantage of mobile devices features

As mentioned above in the history section of online banking, the mobile banking services emerged with the invention of iphone. People shifted from online banking to mobile banking. With that bear in our minds, we can also notice that there are a lot of mobile banking functions that took advantage of mobile devices features, and used mobile devices affordances as a part of their functions.

For example, the geolocation features on cell phone devices allows users of mobile banking to access location based functions, such as finding nearby ATMs and bank branches. Another cool feature that provided by mobile bankings with taking advantage of geolocation feature provided by phones is showing the exact location where the money was spent for each transaction. It is a good tool to track and monitor the bank accounts through cell phone, since sometimes it’s hard to remember where we spent the money even when we can see the amount and the date.

Furthermore, another affordance that uses the mobile built-in features is the camera function. It will be used when using Faceid to unlock the app, as well as when depositing checks with mobile banking apps. When using Faceid to unlock the app, the front camera would automatically opened and scan the user’s face, and will unlock the app once it matches the record. And when using the deposit function, the back camera would open up, and allows users to take pictures of the front and the back of the check. The picture would be saved to the system, and the amount of the check would be saved automatically to the account.

Invisible components

The invisible components to mobile banking applications are very similar to the invisible components of traditional banking. Users rarely see how a bank teller is able to access information about a users account, this level of invisibility is also apparent in mobile banking applications. Users do not see the back end of sourcing account information or how the financial system tracks and processes withdrawals and deposits.Though the users may benefit from and rely on the modularity of banking, the process with which the modularity is facilitated remains largely unknown. Another technical ambiguity of mobile banking application is how a username is connected with an account number. The process of signing up for a mobile banking account is simple for users, but there is likely a more complex system for banks to associate a user’s account number with their unique username. Connecting mobile numbers adds another layer of complexity to the banks tracking system which is unknown to users but integral to the functionality of the mobile banking applications. For applications which require double authentication, there is clearly a high level of interconnectivity to validate a user’s identity.From a social perspective, users of mobile banking applications also may not see the checks and balances in place that ensure the safety and security of their money and information. In both mobile banking and traditional banking, users do not know how much information is shared with third parties. Overall, there is a high level of ambiguity with banking and users are only allowed a peak into their transactions.

Social Systems and Technologies included in Mobile Banking

The institutions and social systems that fostered the creation of mobile banking applications are the financial industry, mobile devices and the rise in popularity of mobile applications. Mobile banking applications are also a result of the societal shift in use of mobile devices. Cell Phones were initially solely communication devices, but have shifted to instant transaction devices. Most mobile applications now have a transaction component embedded within it whether that is purchasing goods or services, transferring money between friends and family or guiding users to places where they will have a financial transaction.

Native Design Features that impact Mobile Banking

The “buttons” on smartphones are native to the device but control the navigation of mobile banking applications. This native feature is integral to the useability of the applications and rely on the user’s understanding of the affordances of their device’s buttons. Another native feature of the smartphone that allows use of the application is the screen itself. The touch screen of the mobile phone enables further navigation of mobile banking applications. Web based native features of the applications include the “crawling” capability that has been designed into the internet as a way to find information. This native feature is essential to the interface of mobile banking because it allows web developers to connect the mobile banking application to web hosted databases and information. Without internet connectivity, mobile banking applications would not allow users to sign in to their account, initiate any transactions or view their transaction histories.


“Infographic: The History Of Internet Banking (1983 – 2012).” The Financial Brand, 19 Nov. 2014,