Category Archives: Week 3

The Complexity of Organizing for Modularity

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

I’m struck by both the simplicity of why organizations might be designed in a modular manner for the production of modular products and the immense real world challenges of building modular systems rather than interconnected systems. Reading Langlois, I cannot help but think of how my employer Cognizant found itself torn between these two approaches on my project this past summer.

The 40,000 foot long-term view of the client’s needs was to move from a pre-digital operating model, to an industry leading company optimizing modern technology and data to excel in the healthcare insurance industry. As a health insurance company many distinct groups of internal and external users need to access the same pool of data for a variety of purposes (claims, sales, benefits, provider access, etc.). In a sense, the overall company forms the architecture of the “system.” That company level “system” of teams is supported by distinct system applications that can be seen as the modules of the overall system – Salesforce Sales Cloud supports the Sales team, Salesforce Service Cloud supports call center support services, a system called TranZform supports all of the external user needs to access information (contracting, bills, claims, etc.), and on. The engagement involved three major system environments – Salesforce, Oracle, and Tranzform – with four additional industry specific systems.

With all of the subsystems under these the total architecture was comprised of 16 modules with varying levels of integration, a singular system served to provide the communications interface between these modules, and a need to adhere to internal performance standards as well as government regulated handling of personal health information. Understandably, this is the largest and most ambitious engagement of its kind ever undertaken.

So how to tackle such a complex system? Well Cognizant has specialist teams for each of the 16 module level systems. These teams use approach product development from a largely Agile Methodology, chunking their systems into bite sized modules of work, as has become the tech industry standard. Over the years the organization had been built up to anticipate the challenges of ensuring that each Salesforce based module would successfully integrate with the other Salesforce modules at the final go live date. This was known and this worked. However, even a large, multi-module, Salesforce implementation strains the ability of individuals involved to keep track of the interoperability of the systems and the big picture impacts of small design decisions. Managing both that level of system interaction as well as the larger, cross-environment interactions, led to significant concerns about usability at go-live. Even while one module may be complete, it is useless without the full operability and communication of many other modules. Continuing to design in an Agile manner by module from the bottom up runs the risk of significant failure in the end product. This was an issue my team worked to bring to the forefront of leadership, asking that we pause and reassess whether the ideal of modularity was truly feasible.

My question still though, is was this project always too big to succeed? Since no one system could fulfill the needs of the company architecture, modularity will always be the answer. Given that constraint, how does a team of designers and strategists go about “minimizing the interdependencies” of such a complex system? It seems to me that a clear set of communication standards, starting with identifying and mapping these interdependencies, must form the foundation from which the modules can be built.

Richard N. Langlois, “Modularity in Technology and Organization.” Journal of Economic Behavior & Organization 49, no. 1 (September 2002): 19-37.

Modular Communication and Instagram’s Algorithm

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

Instagram is undoubtedly the most used app on my phone, but it is also a mystery to me. From it’s launch in 2010, Instagram has changed the way many industries work most notably fashion, beauty and wellness industries. Instagram has also been integral to the development of a new kind of celebrity, influencers. Influencers and content creators have been some of the greatest outcomes of Instagram, another consequence of Instagram is the dissemination of beauty and lifestyle standards that many feel the need to meet. Instagram has reshaped advertising and marketing and by de-blackboxing the algorithm of  this app, we can not only  start  to understand the modular design of it but also utilize some of the aspects that make Instagram effective in other apps.

The most integral aspect of Instagram’s user facing operations is invisible: the infamous Instagram algorithm. Instagram’s algorithm is infamous due to the control it has over each user’s feed. The design of Instagram’s algorithm heavily relies on modular communication between users interactions with content on the app. Once a user likes or comments on a post, this signals that the post is “quality” content. This determination impacts whether or not a user will see the similar content from other feeds in their “Discover Page” and how often a user will see another user’s content. “Quality” content has other determinants that are a result of the many modules that operate within the Instagram app. Instagram stories is a relatively new module where users can post live or pre recorded video clips. Instagram tracks the views and comments of these videos to also establish the “quality” of the user and its contact. This further impacts where and who will see the content on the app. Instagram algorithm is also largely impacted by each users actions on Facebook, Spotify and the aforementioned Discover page. Each module that is connected to Instagram impacts the user experience and has been essential to the growth of many influencers and content creators.

The interface of Instagram is relatively easy to use and operating the app is intuitive for many. This is largely due to the modules that empower the Instagram algorithm. Instagram not only relies on Facebook feedback to amalgamate a unique feed for each user, it also relies on Facebook to guide users through the application. Both Instagram and Facebook are run by the same company which helps to understand the symbiotic relationship that is both visible( the application interface) and invisible ( the algorithm)

Modularity and Spotify

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

Without modularity in design, my beloved Spotify wouldn’t exist. Within my iPhone’s interface, each app is a module of the system. The process of running a new application and allowing it to populate the screen on my phone is abstracted to a graphical user interface in which I just tap the Spotify button.

Each of these icons is a separate application, allowing modular communication between parts and decomposability in the system.

Within the self-contained module that is the Spotify app, the app is allowed to communicate with myriad different parts of the iPhone: first the app must communicate with Wi-Fi or a data network to load or stream a song, and then the app must be able to communicate to the speakers/headphones of the phone.

Once within the Spotify app, the hierarchy is a simple nest structure, where the user can enter the parent elements of either a playlist or an album and then enter the child element that is the song that he or she wants to play.  

The design of the interface while a song is playing is simple and relies on the mental models of playing any kind of media that have become standardized over the years. That is to say, the process of beginning and ending your song is abstracted to a play button that is a sideways triangle and a pause button that is two vertical rectangles.

Without the mental models I already have about media, I would have no idea how to play this beautiful song. 


Gardiner, Bryan. “The Secret Histories of Those @#$%Ing Computer Symbols.” Gizmodo,, 18 June 2013,

Week 3-The modularity of Google Map

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

Zijing Liu

 “Google Map” is an application that I use very often, whose functions are not only locate and provide routes but also offer abundant of information of the destination. The design of Google Map follows the principle of modularity.

Primarily, as a digital map, the most essential module is that users can locate themselves and search the location of places as well as different ways to get there. This module involves GPS and local transportation information. As users enter the starting point and destination, Google Map will show multiple transportations, including public transportation, driving and walking, compare the convenience and efficiency of each transportation to recommend the best route for users on the top. Also, calculate commute time and estimated fee for each route to provide other options for users.

Moreover, Google Map is not just a map. It also functions as an all-rounded life guide. For instance, if someone intend to enjoy Italian food, they can simply enter “Italian restaurant” in Google Map, then all the locations of nearby Italian restaurants will be shown, as well as their opening time, phone number, reviews, average price, menu and photos took by previous customers. In fact, Google Map is more like a digital life guide book, whose data involves shopping, service and everything relate to our daily life. Therefore, users can gain plentiful information by Google Map in addition to how to get to their destination, map is just the part of module after users decide which destination they are heading to. This module utilizes the advantages of big data and Internet community, which communicates with the “mapping” module by meeting users’ need more precisely and intelligently.

Modules should be designed to hide their internal complexity and interact with other modules through simple interfaces. (Lidwell-Holden-Butler) In this case, on one hand, Google Map hides these functions into “explore”, so only when users click it or search places directly, these modules start to show up. On the other hand, complex algorithm are hided while only a list of recommending results are shown on interfaces.

The modularity and its wide range of adaption (more than 40 countries and 29 languages) are the reasons why Google Map is so powerful.



Martin Irvine, Introduction to Modularity and Abstraction Layers (Intro essay)

Lidwell, William, Kritina Holden, and Jill ButlerUniversal Principles of Design. Revised. Beverly, MA: Rockport Publishers, 2010

Baldwin, C., & Clark, K. (2000). Design rules. Volume 1, The power of modularity. Cambridge, Mass.: MIT Press.

Modularity of Google Translate App

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

Huazhi Qin

As more and more opportunities for people to travel abroad or communicate with people using different languages, their desire to break language barriers intensify. Google Translate provides a solution.

The way to operate it is really simple: just open up the app, select the two languages you would like to convert between and input the original content via handwriting, camera or speaking. Then you get the response with little delay.

In order to achieve a simple mode of operation, Google Translate has to build up a complex design. In other words, it is a well-designed product, with “a hybrid structure containing interconnected, independent and hierarchical elements”. (Clark, 2000)

Language Translation

Language translation is the most basic and apparent functionality Google Translate provides. It is supported by Google’s strong computing power and database. Its basic translation system is built upon all available United Nations documents in six official languages. (Murphy, 2013) In addition, a sea of Web documents and users’ feedback also contribute to make up its data sets. Besides, English is taken as the intermediary step language in the conversion of other two languages. However, all the process of data collection, analysis and conversion are hidden beneath the icon “translate”.

Beyond language translation, it also implements the technologies of converting text, voice, handwriting and images information to voice and text response, which means it has to interact with other components or modules on mobile phone.

Handwriting to Text

Handwriting is the one of the methods to input content waiting for converting. Google Translate works together with touch sensitive scree and implements touch-screen handwriting recognition technology to interpret users’ movements into texts.

Voice to Text and Text to Voice

Google Translate works with microphone, loudspeaker and audio systems to achieve voice input and output. To fulfill the needs of speech-to-text conversion. it employs Text-to-Speech Technology and Speech Recognition or Dictation Technology, which is based on deep learning and big data.

Camera Instant Translation

Google Translate integrates Word Lens, an augmented reality translation application, to achieve camera instant translation and visual presentation. It uses camera on mobile phone to scan and quickly identify text in foreign language, and then complete the translation and display on the screen.


Tap to Translate

This is a relatively novel function in Google Translate. It improves the users’ experience by eliminating the additional efforts they make on shifting between Google Translate and other apps with content. In order to achieve simultaneous operation, Google Translate manages to not occupy onboard storage while keep all its functions by shrinking their language packages by 90 percent.



Carliss Y. Baldwin and Kim B. Clark (2000). Design Rules, Vol. 1: The Power of Modularity. Cambridge, MA: The MIT Press.

Kate Murphy. (2013). A Score or More of Languages in Your Pocket. Retrieved from the New York Times:


Weekly Writing for Week 3

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

Banruo Xiao

This week’s readings are mainly discussing how modules work well in a complex system or product. Richard N. For example, Langlois, Carliss Y. Baldwin and Kim B. Clark give a complete set of design rules that people can follow the rules to design the modularized system. The relationship between a complex system and modules, from my perspective, is like a child can dress up his/her Barbie with many different dresses, shoes and necklaces. He/she can even put the Barbie in various playset to make the same Barbie a brand new toy. In fact, many innovative products and systems are composed by items we are familiar with, or adding a new element on the previously existed work.

I shall take land transportation tools as an example. People initially have bicycle, carriage and cart which are moved by man power. Following with the development of engine and the usage of natural resources, such as steam and fossil fuels, trains and motor cars appeared. The first automobile with internal combustion engine was patented in 1860 (Robertson). At this time, the modules of automobile were basically settled. After people learned to utilize new energy sources, such as electricity and solar energy, automobiles powered by these new energy sources were designed. No matter how different each car is, the components are more or less the same. Now we have unmanned systems. Many companies, such as Tesla and Google, have tried to add the system to vehicle.

Looking through the development of transportation, I feel that each step comes from the small changes inside a module. It could be the engine system can provide a more powerful energy, or the material of a windshield gets more resistant. Although the modularization seems to make the development of a system/product easier, the progress of making each small improvement happen still needs a large effort for a designer.


A Brief Analysis on WeChat_Reflection for Week 3

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

Tianyi Zhao

WeChat, the most popular web, mobile and desktop application in China, has established a multi-purpose platform to support people deal with their daily life. Operated on smartphones, in both IOS and Android system, WeChat, to a great extent, achieves the combination of software and hardware. In modularity and complex system’s view, WeChat can be divided into   sections: messaging, payment management, location and mapping. First of all, besides the coordination with user system’s keyboard, video or voice call can be realized with the front-facing camera and acoustics. Meanwhile, WeChat has positioned itself as a daily payment tool. The module of Wallet empowers consumers to pay for real-time online and in-person transactions by binding credit or debit cards. Users can also transfer to any WeChat contact either in Red Packet or in Transection. Furthermore, by cooperation with GPS and Mapping, users are able to share real-time location anywhere at any time to any friend. The shining point of this function is the utilization of real-time dialogue.

In addition, WeChat is an ideal tool for file sharing, not only for sharing to other users but also for storing for self. By logging in desktop and mobile version, user himself/herself can transfer files between the two devices. A new item called File Transfer will appear in the messaging list, and all the transfer history will reappear and save until being deleted. So, it is also a good file storage station.

As for the interfaces of WeChat, it has been a cluster to meet nearly all daily needs by deeply coordinating with other applications. For a better user experience, the way to communicate with others is quite unique because all of them show as WeChat Public Accounts or Small Programs inside of the single software. Consumers can order food delivery, purchase apparel, reserve online car-hailing, and even search personal income tax, look for the nearest public bicycles and update traffic conditions.

As Richard Langlois argues for better managing complexity, grouping to subsystems is fundamental. (Langlois 20) It will be easier to analyze the design of WeChat, as a comprehensive software with multipurpose, by breaking it into modules and components, and then the black box is no longer a myth.

See also Chen Shen’s final project on WeChat.

Works Cited

Irvine, Martin. Introduction to Modularity and Abstraction Layers (Intro essay).

Langlois, Richard N. “Modularity in Technology and Organization.” Journal of Economic Behavior & Organization 49, no. 1 (September 2002): 19-37.

Carliss, Kim B. Clark. , Design Rules, Vol. 1: The Power of Modularity. Cambridge, MA: The MIT Press, 2000. Excerpts.

Week 3-Modular Structure of Meitu

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

Before diving into the logic of the complex system and modular design, I have never truly scrutinized those software applications on my phone. For many of us, our knowledge of what’s going on behind that glossy display isn’t much more than a kid’s.


Actually, modular structures are basically built into every design model we take for granted. The phone itself as a device to function in various ways could be divided into separate, interconnected components like camera, front microphone, volume buttons, multi-touch display, lightning connector, etc., of which each could be further “de-black boxed” into a cascade of subcomponents. And app icons on display represent another sort of black-boxed systems–software applications which serve different purposes.


Take one of the most popular image processing apps for instance. I‘d wager that every girl, at least Chinese girl, has a Meitu app on her phone. What makes it so welcoming? Let’s take a closer look at its design step by step. First, touch the pink icon. Well, we are not literally touching the screen but hitting the electrostatic grids embedded on the screen a tiny electrical charge with our finger, just as Prof. Irvine said in last class. Then, we are welcomed by a pretty intuitive and user-friendly interface which guides us to explore options like Edit, Beautify, Camera, Collage etc. with a perceptible icon on each. “…the design principle for nested modular organization in software and hardware in which the details of complexity in a module or subsystem can be ‘hidden’ from the rest of the system with only interfaces to the module as needed by the system.” Interface here on Meitu functions perfectly well since it serves the purpose of creating interconnections. If you are looking to manually touch up your selfie, the “Edit” option has a number of features that are relatively standard when it comes to photo editing, including “auto”, “brightness”, “contrast”, “sharpen”, etc.. And each feature could be further modularized for detailed adjustments, like we can change the picture’s saturation or B/W balance by drag-and-drop to alter its parameters.



Though its powerful portrait retouching functions and fun image enhancing effects and filters make it well-received worldwide, its most recently amazing function is Andy the ArtBot, which led Meitu to its new spike in popularity. According to Meitu, Andy the ArtBot is the world’s first feature to utilize AI technology to create unique portrait illustrations. What we do simply is selecting a selfie from “Photos” or take a new one with the camera, and let Andy do the rest. Here modules are interconnected again when Meitu gets access to phone’s camera roll and photo saving function. If we look into this ArtBot a little deeper, we will find it another modular combinatorial design. Andy’s artworks are mainly based on Draw Net, an image generating network developed by Meitu Imaging & Vision Lab. This network utilizes human feature analyzing technology as well as the technology of capturing the essence of multiple illustration styles.



After we get fantastic selfies, the last thing to do is to decide whether we want to share photos with friend on other social media platforms like Facebook, Instagram, LINE, Wechat Moments, Weibo, etc.. Here the sharing system interacts with other applications–other modules, and shares social media users’ data including personal information, contacts, preferences, pictures, etc..



“By breaking up a complex system into discrete pieces–which can then communicate with one another only through standardized interfaces within a standardized architecture–one can eliminate what would otherwise be unmanageable spaghetti tangle of systemic interconnections,” Langlois notes. It is really worth it to disassemble those black boxes we take for granted not only for refreshing our knowledge of it, but also getting us equipped with systemic ideas of design.


Credits to:

Martin Irvine, Introduction to Modularity and Abstraction Layers(Intro essay).

Lidwell, William, Kritina Holden, and Jill ButlerUniversal Principles of Design. Revised. Beverly, MA: Rockport Publishers, 2010.

Richard N. Langlois, “Modularity in Technology and Organization.” Journal of Economic Behavior & Organization 49, no. 1 (September 2002). 

Meitu Website

Week 3 – Case study of Netflix modules

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

The most common thing for people to do in their leisure times nowadays must be “Netflixing”. Netflix is a widely used streaming service online, where customers can found thousands of free movies and trending tv series. It is hard to believe but Netflix is one of the oldest application that still being used in modern days. It was first founded in 1997 in California by Reed Hastings and Marc Randolph.

Why people quite TV and movie but turn to Netflix? As Baldwin states in his article, “These are fundamental changes driven by powerful forces deep in the economic system, forces which moreover have been at work for many years (Baldwin).” The innovation of new applications and designs, such as Netflix and other streaming services, are economic triggered. Comparing to using Netflix, people need to spend more time and money on watching tv and seeing a movie at theatre.

Netflix, of course is not a magic, but a combination of useful small modules. As Professor Irvine mentioned in his article, “modularity allows us to manage a larger and more complex who structure by dividing up its functions into separate, interconnected components, layers, and subprocesses (Irvine).” There are couple modules of Netflix that I want to highlight. First would be the personal recommendation system, which would suggest and push shows and movies based on customer’s watching history. Second useful module would be the streaming part, which provides the visual product including shows, tv series, movies, documentaries as well as the talk shows. Another add-on module that I like is the subtitle service. It needs to be ran simultaneously with the picture as well as the audio, and it comes with four or five different languages. Moreover, Netflix system allows customers to have two different profiles, that can be shared with a family or a friend. The best part is that it will have a totally different, personalized page for different profiles. For examine, if your kid uses the second profile page, the recommendations will only based on what the he/she watched.

The recommendation system “interfaces” with customer’s watching history, which connected with the streaming services Netflix provides; while the streaming services is connected with the subtitle service. All these small modules combined and created the “magical” Netflix.

Here is a video talks about the algorithm that used for Netflix recommendation system.

Carliss Y. Baldwin and Kim B. Clark, Design Rules, Vol. 1: The Power of Modularity. Cambridge, MA: The MIT Press, 2000. Excerpts.

Martin Irvine, Introduction to Modularity and Abstraction Layers



Insta-Strength: Modularity and Usability of Instagram

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

Arguably one of the most influential and oldest of the apps is Instagram. Started back in October 2010, Kevin Systrom and Mike Krieger created the platform for friends can post and share photos on an online community. Fast forward almost a decade later and Instagram has influenced almost every aspect of society. It has made people famous, infamous; it is one of the worst apps for our mental health yet the best for promotion and branding. By de-blackboxing Instagram, we can gain insight into the modular design principles and systems thinking behind the application.

If you decompose Instagram it interacts with multiple other applications or “modules” (Facebook, Twitter, Pinterest, your contacts, and Camera Roll). Each of these “subsystems have specific set of functions that makes a system what it is by combination” (Irvine). Lidwell talks about “chunking” and “flexibility-usability tradeoff” as universal design principles and I believe the Instagram creators incorporated those ideas in the foundational architecture of the application. The app combines a large data system essentially for said user of the application- all of their contacts from their phone or Facebook, their external social media information and most importantly their photos. Together, this information is re-grouped and organized in a user-friendly format solely focusing on pictures (instead of Facebook which is rather generalized). As Lidwell explains, “[a]s an audience comes to understand the range of possible needs that can be satisfied, their needs become better defined and, consequently, the designs need to become more specialized. This shift from flexibility toward specialization over time is a general pattern observed in the evolution of all systems, and should be considered in the life cycle of products” (Lidwell, p. 86).

The benefits and efficiencies of modular design can be seen in this case study where the components within Instagram are spread yet interoperate according to design specifications (Irvine). Take for instance something that cannot be seen by the human eye- the algorithm behind your personal Instagram feed. Instagram revealed that there are three main factors that determine what you see in your Instagram feed: Interest (how much you will care about the post), Timeliness (how recent the posts are) and Relationship (whether you regularly interact with the account). On the other hand, there are three other factors that have a minimal effect on your ranking; Frequency (how often you open Instagram), Following (content from all accounts you follow) and Usage (how long a user spends on Instagram) {}.

instagram algorithmInstagram Algorithm - Feed Before and After

There are also “silent rules of Instagram” or according to Anna McNaught “The Unwritten Rules of Instagram: Do’s and Don’ts.” I knew a few on these lists like “be mindful of posting times” and there a lot of studies on when is the “best” time to post (mornings vs. evenings???). It’s crazy how much we get wrapped up in this idea- there are even platforms for you to optimize on your Instagram following (like Later). Here are a few Do’s and Dont’s for Instagram:


Martin Irvine, Introduction to Modularity and Abstraction Layers (Intro essay).

Lidwell, William, Kritina Holden, and Jill ButlerUniversal Principles of Design. Revised. Beverly, MA: Rockport Publishers, 2010.

How the Instagram Algorithm Works in 2018: Everything You Need to Know