In the beginning:
After playing some songs and playing a current song:
2 Objectives
• Design and implement a Graphical User Interface (GUI) program in Java.
• Design a good user interface.
2
• Use several classes from the AWT and Swing graphics packages.
• Manage a grid of buttons using a 2-dimensional array.
• Re-use classes that you implemented previously in a new context.
• Apply the basics of event-driven programming using events and listeners.
3 Getting Started
3.1 Design
Before you start writing any of the code, read through the specifications and draw a rough
sketch of your GUI. We will be collecting this 1.5 weeks before your project is due to make
sure you are on track, which this Wednesday July 26th.
• Label the various components in your design with the corresponding Java classes (e.g.
JLabel, JList, JButton, etc.).
• Group your sketch into logical sections that will be implemented in the same Java
container (e.g. all of the song control buttons will go in a sub-panel). Make notes on
your diagram about the LayoutManager and Border style (if any) you will use for each
container
3.2 Project Setup
1. Create a new Eclipse project for this assignment.
3
2. The easiest way to import all the files into your project is to download and unzip
the starter files directly into your project workspace directory. The starter files are
available on Blackboard.
3. After you unzip the files into your workspace directory outside of Eclipse, go back to
Eclipse and refresh your project. You should have the following files (if your setup
looks di↵erent than what is shown below, you will want to fix it now before you get
too far):
Name Type Description
MyTunesGUI-
Executable
To see the sample GUI in action, you can run
Sample.jar the jar from the command-line using java -jar
MyTunesGUI-Sample.jar
MyTunesGUI.java Class The main driver class. Adds your panel to a frame
and launches it.
MyTunesPlayList
Interface
The interface providing method headers for all
Interface.java the new methods you will need in your PlayList
class to manage the songs.
images/*.gif Directory Contains icons (in case you don’t want to find your
own) downloaded from http://www.iconsdb.
com.
sounds/*.wav Directory Contains cheesy sound clips (the same as in P3).
playlist.txt Plain text Playlist import file - contains more songs than P3.
4. Import your Song.java and PlayList.java classes from P3 into your project.
Note: If you didn’t get these working, now is the time to get them working. Don’t
be afraid to ask for help.
5. Create MyTunesGUIPanel.java (the core panel class) in your project.
6. At this point, your Eclipse project should have the following layout. We will walk you
through the steps to fix the errors in Step 0 of the Specification.
4
http://www.iconsdb.com
http://www.iconsdb.com
3.3 Implementation and Testing
The details of the following items are outlined in the Specification sections below. This
section is intended to give you an o.
In the beginningAfter playing some songs and playing a cu.docx
1. In the beginning:
After playing some songs and playing a current song:
2 Objectives
• Design and implement a Graphical User Interface (GUI)
program in Java.
• Design a good user interface.
2
• Use several classes from the AWT and Swing graphics
packages.
• Manage a grid of buttons using a 2-dimensional array.
• Re-use classes that you implemented previously in a new
context.
• Apply the basics of event-driven programming using events
and listeners.
3 Getting Started
3.1 Design
Before you start writing any of the code, read through the
specifications and draw a rough
2. sketch of your GUI. We will be collecting this 1.5 weeks before
your project is due to make
sure you are on track, which this Wednesday July 26th.
• Label the various components in your design with the
corresponding Java classes (e.g.
JLabel, JList, JButton, etc.).
• Group your sketch into logical sections that will be
implemented in the same Java
container (e.g. all of the song control buttons will go in a sub-
panel). Make notes on
your diagram about the LayoutManager and Border style (if
any) you will use for each
container
3.2 Project Setup
1. Create a new Eclipse project for this assignment.
3
2. The easiest way to import all the files into your project is to
download and unzip
the starter files directly into your project workspace directory.
The starter files are
available on Blackboard.
3. After you unzip the files into your workspace directory
outside of Eclipse, go back to
Eclipse and refresh your project. You should have the following
files (if your setup
looks di↵ erent than what is shown below, you will want to fix it
now before you get
3. too far):
Name Type Description
MyTunesGUI-
Executable
To see the sample GUI in action, you can run
Sample.jar the jar from the command-line using java -jar
MyTunesGUI-Sample.jar
MyTunesGUI.java Class The main driver class. Adds your panel
to a frame
and launches it.
MyTunesPlayList
Interface
The interface providing method headers for all
Interface.java the new methods you will need in your PlayList
class to manage the songs.
images/*.gif Directory Contains icons (in case you don’t want
to find your
own) downloaded from http://www.iconsdb.
com.
sounds/*.wav Directory Contains cheesy sound clips (the same
as in P3).
playlist.txt Plain text Playlist import file - contains more songs
than P3.
4. Import your Song.java and PlayList.java classes from P3 into
your project.
Note: If you didn’t get these working, now is the time to get
4. them working. Don’t
be afraid to ask for help.
5. Create MyTunesGUIPanel.java (the core panel class) in your
project.
6. At this point, your Eclipse project should have the following
layout. We will walk you
through the steps to fix the errors in Step 0 of the Specification.
4
http://www.iconsdb.com
http://www.iconsdb.com
3.3 Implementation and Testing
The details of the following items are outlined in the
Specification sections below. This
section is intended to give you an overview of the big picture
before jumping into the details.
1. Start by implementing the MyTunesPlayListInterface in your
PlayList to make sure
you have all the methods you will need to manipulate your
playlist in your GUI.
2. Then, move to your MyTunesGUIPanel and write the code to
produce the GUI you
sketched above.
Pro tips: Working on one component at a time helps to reduce
the overall complex-
ity of this project. Don’t worry about any of the logic for now.
Just get your GUI
looking the way you want it. And don’t spend too much time
5. making the layout
perfect. Get everything on there and you can always go back
and tweak things if
you have time.
Choose good variable names! If you don’t, it can be extremely
di�cult to remem-
ber what everything is. If something is a JButton, put button in
the name (e.g.
private JButton playSongButton; ). If something is a JPanel, put
panel in the
name (e.g. private JPanel songControlPanel;). This will also
make it easier
for our tutors to help you if you get stuck.
3. Once you have the visual framework in place consider the
listeners and how they will
interact with each component in your design. Decide if you
want a single event listener
with a compound conditional or if you want separate listeners to
handle each event.
Pro tips: To make sure all of your listeners are hooked up
correctly, you can just
print something to the console in the action listener and make
sure it prints when
you interact with the component. For example, after hooking up
your listener to
your playSongButton, print “Play song button clicked...” in
your actionPerformed
method and verify that is showed up on your console. This can
prevent spending
hours on a bug because you forgot to add the action listener to
the component.
4. Finally, implement the playlist and song grid logic. Make
sure you are testing early
and often! I’d say after writing every couple lines of code – it’s
6. easy just push a button
5
or type a command.
5. Ensure you have the basic functionality implemented before
improving or adding to
your MyTunes.
4 Specification
4.1 Project files
For this assignment you are going to implement the
MyTunesGUIPanel which is the class
that will extend JPanel and contains the GUI setup and logic.
You should be able to develop this program incrementally in
such a way that you can turn in
a program that runs even if you don’t succeed in implementing
all the specified functionality.
4.2 Step 0: MyTunesPlayListInterface
PlayList.java
You will need to modify your existing PlayList class from
project 3. You must use and
implement the interface provided in the P5 stubs directory.
• First, modify your PlayList class header so it implements the
MyTunesPlayListInterface.
public class PlayList implements MyTunesPlayListInterface
7. Make sure to stub out all the methods (you can use the Eclipse
auto-fix suggestion).
• You must load a playlist from the playlist.txt file. Implement
the loadFromFile()
method that takes in a File as an argument and reads in the song
data from the
provided text file, adding each song to the playlist.
4.3 Step 1: User Interface Design
The following components are required. Your layout doesn’t
have to look like the one we
provided. Be creative and have fun with it! This should all be
done in MyTunesGUI and
MyTunesGUIPanel.
• Labels for the name of the playlist, the number of songs in the
playlist, and the total
play time of the playlist.
• The list of songs in the playlist (as a JList).
• Buttons for moving songs up/down the list.
• Buttons to add and remove songs from the playlist.
6
• Buttons to control the play back of a song in the playlist (e.g.
play previous, play next,
play/stop current song).
8. • The name and artist of the song that is currently playing
should be displayed some-
where.
• A grid of buttons providing a visualization of the play list.
Eventually, these buttons
will change colors based on the number of times a song has
been played creating a heat
map of your play list.
Here are some helpful examples for this step. Don’t just look at
them on the GitHub page.
Run them in Eclipse. You should have all the chap06 examples
checked out already. (Also,
these aren’t necessarily the only examples that will be helpful,
but just a list to help you
sort through them).
• LayoutDemo.java
• JListDemo.java (and corresponding JListDemoPanel.java)
• TwoDColorChooser.java
• Your PhotoAlbumGUI lab files.
After this step, your GUI may look something like this:
4.4 Step 2: Loading the PlayList
The next task is to get the songs loaded into your JList. To do
this, you will first need to
provide a way to convert your ArrayList of songs into an array
of songs (Song[]).
7
9. 1. Implement the public Song[] getSongArray() method
provided in the MyTunesPlayListInterface
and call this from your GUI to get the array of songs.
Add the songs from the playlist into your JList (as demonstrated
in the PhotoAl-
bumGUI lab).
Note: This is similar to what you did in the PhotoAlbum class
for the
PhotoAlbumGUI lab. You may even want to consider putting
this logic in a method
(as shown in the lab) because you will need to sync JList data
later on too.
2. Update the play list name, the number of songs and total play
time labels with the
correct values.
Note: Keep in mind that you will need to update these labels
every time the
PlayList changes.
3. Implement a ListSelectionListener for your JList and print
the title and artist of
the song that is selected in the JList to make sure it is working.
These are just debug
statements, you will add play functionality later.
Note: Yet again, similar to what you did with the preview of
your PhotoAlbumGUI
lab.
4. Don’t worry about playing the songs for now.
4.5 Step 3: Manipulating the PlayList
10. Now, you will add action listeners to all your buttons. You can
choose to use a single listener
for all of your buttons using conditionals to check the source, or
you can create di↵ erent action
listeners for each button. It’s up to you. There are advantages
and disadvantages to both
ways.
1. Implement the action listeners for switching the song order of
your playlist. When you
switch the order, you aren’t actually changing the order in the
JList (this isn’t possible
without some major code going on), you are changing the order
in your PlayList class
and resetting the list data with the contents of the modified
playlist. You may find
this example helpful (it’s the same one that was given in the
Photo Album GUI lab:
JListDemo.java (The driver class) and JListDemoPanel.java
(The JPanel GUI class).
To move songs in the PlayList, implement the moveUp(int
index) and moveDown(int
index) methods provided in the PlayListInterface and call these
from your GUI
when the buttons are clicked.
2. Implement the action listener for your “Add Song” button.
• When the button is clicked, it should pop up a JOptionPane
asking for the song
information. When the user clicks OK, the text in the
JTextFields should be
read and used to create a new Song.
8
11. • The song must be added to the playlist and the JList should be
synced with the
new array.
• Ideally, you would want to use a JFileChooser to let the user
select a file from the
file system and validate that the user entered valid information.
You can have
them enter a filename string and assume they entered the correct
data for now
and come back to this if you have time.
• Here are some JOptionPane/FileChooser examples:
JOptionPaneDemo.java (and
corresponding JOptionPaneDemoPanel.java) and
FileChooser.java.
3. Implement the action listener for your “Remove Song”
button.
• When the button is clicked, it should pop up a JOptionPane
asking if they are
sure they want to remove the song.
• If they click “Yes”, the song must be removed from the
playlist and the JList
should be synced with the new array.
4. Make sure you are updating the number of songs and total
playtime of the playlist
each time you add/remove a song from the playlist.
4.6 Step 4: Playing Songs
12. Important: You will need to modify your existing playSong
method to stop the
currently playing song before playing the next (if you
don’t...you will know...what
an awful noise!). If you haven’t already, implement the stop()
and playSong(Song
song) methods outlined in the MyTunesPlayListInterface.
• The song currently selected in the song JList should play when
the user clicks the play
button.
• When the user clicks the next button, the current song should
be stopped and the next
song in the list should start playing.
• When the user clicks the previous button, the previous song
should be stopped and
the previous song in the list should start playing.
• You will need to use a Timer (from the javax.swing package)
to play each song for the
specified amount of time (e.g. song.getPlayTime()). See
examples: TimerDemo.java
(and corresponding TimerDemoPanel.java) and
TimerDemoCooler.java (and corre-
sponding TimerDemoCoolerPanel.java).
• Make sure you are updating the “Playing Now” song
information when you start/stop
playing a song.
9
13. 4.7 Step 5: Music Square
The music square was inspired by Samsung’s Music Square app.
The original Music Square
requires classification and sorting, so we decided it was a little
too complex for this class,
but we went with something similar – a 2 dimensional grid
visualization of the songs in your
playlist (added in the order of the playlist) with a heat map
showing which songs are played
most often.
• The size of the grid is dependent on the number of songs in
your playlist.
– If you have 25 songs, your grid should be 5 x 5.
– If you have 100 songs, your grid should be 10 x 10.
– If you have 20 songs (a non-square number), your grid should
be 5 x 5, with the
remaining 5 songs repeated in the last row.
• Implement the public Song[][] getMusicSquare() method in
your PlayList class
as described in the PlayListInterface javadoc comment. Use this
method to get the
2D array of songs needed for your grid of buttons.
• The button should display the name of the song.
• The song square should be updated as songs are
added/removed from the playlist and
when songs are moved up/down the order of the playlist.
Note: To see this in action, run the sample jar and delete 9 of
14. the songs. The
square should switch from 5 x 5 to 4 x 4.
See GameBoard.java (and corresponding GameBoardPanel.java)
that shows how to
replace an existing panel with a new one.
• When the button is clicked, the song should play.
• Each time a song is played (from the music square or via the
play button), the button
corresponding to the played song in the music square should be
updated with the new
heat map color. Here is a method you can use to get the color
based on the number
of times the song has been played.
/**
* Given the number of times a song has been played, this
method will
* return a corresponding heat map color.
*
* Sample Usage: Color color =
getHeatMapColor(song.getTimesPlayed());
*
* This algorithm was borrowed from:
* http://www.andrewnoske.com/wiki/Code_-
_heatmaps_and_color_gradients
*
15. * @param plays The number of times the song that you want the
color
for has been played.
10
http://www.tech-recipes.com/rx/52077/how-do-i-use-music-
square-on-my-samsung-galaxy-device/
https://en.wikipedia.org/wiki/Heat_map
* @return The color to be used for your heat map.
*/
private Color getHeatMapColor(int plays)
{
// upper/lower bounds
double minPlays = 0, maxPlays = PlayableSong.MAX_PLAYS;
// normalize play count
double value = (plays - minPlays) / (maxPlays - minPlays);
// The range of colors our heat map will pass through. This can
be
modified if you
// want a different color scheme.
16. Color[] colors = { Color.CYAN, Color.GREEN,
Color.YELLOW,
Color.ORANGE, Color.RED };
// Our color will lie between these two colors.
int index1, index2;
// Distance between "index1" and "index2" where our value is.
float dist = 0;
if (value <= 0) {
index1 = index2 = 0;
} else if (value >= 1) {
index1 = index2 = colors.length - 1;
} else {
value = value * (colors.length - 1);
// Our desired color will be after this index.
index1 = (int) Math.floor(value);
// ... and before this index (inclusive).
index2 = index1 + 1;
// Distance between the two indexes (0-1).
dist = (float) value - index1;
17. }
int r = (int)((colors[index2].getRed() - colors[index1].getRed())
* dist)
+ colors[index1].getRed();
int g = (int)((colors[index2].getGreen() -
colors[index1].getGreen()) * dist)
+ colors[index1].getGreen();
int b = (int)((colors[index2].getBlue() -
colors[index1].getBlue()) * dist)
+ colors[index1].getBlue();
return new Color(r, g, b);
}
11
Project OverviewObjectivesGetting StartedDesignProject
SetupImplementation and TestingSpecificationProject filesStep
0: MyTunesPlayListInterfaceStep 1: User Interface DesignStep
2: Loading the PlayListStep 3: Manipulating the PlayListStep 4:
Playing SongsStep 5: Music SquareTestingSubmitting Project
5DocumentationSubmission
Case Material Source: Strategic Management & Business
Policy By T. L.Wheelen And J. D. Hunger, 10th Edition, 2006,
Prentice Hall.
18. Please note: Every case is unique and the list (total numbers) of
S, W, O, and T can vary depending on the case information.
This is provided as an example.
CASE: AOL TIME WARNER (AOLTW), INC.: A BAD IDEA
FROM THE START?
STAGE I: STEP I - Brief Summary
AOLTW is in the entertainment, media, publishing, and Internet
businesses. The AOL and TIME WARNER merger was initially
conceived to achieve a strategic convergence. The strategy
behind merging the two industry giants was to unify new media
outlets with established ones to create a company that would
provide a new type of media service to the public. The strategy
for success was to be built around synergy, which was to find
ways to deliver and take advantage of media solutions across
various units, such as AOL, Time, CNN, Warner Bros. Studio,
Netscape, People, HBO, TBS, TNT, Cartoon Network, Warner
Music, AOL.com, Fortune, Looney Tunes, etc. Subsequently,
Richard Parsons, the current CEO, restructured AOLTW into
two segments—the Media & Entertainment Group and the
Entertainment & Networks Group, both headed by TW
managers. The synergy between AOL and TW could not be
achieved, and the company was facing a host of major and
minor problems, such as FCC regulations, the Securities and
Exchange commission investigation, anti-trust issues, court
cases, high level of debt, and reviving the AOL segment.
AOLTW management was pursuing various strategies to deal
with these problems and succeed in the competitive
environment.
STAGE I: STEP II: Development of an Exhaustive SWOT list
A. Strengths (S)
1. Merger between industry leaders--AOL was the industry
leader with 27 million subscribers (the largest dial-up internet
19. service provider) and Time-Warner became the largest media
and entertainment company
2. Globally trusted strong brand names--AOLTW included many
brands offered in many markets: AOL, Time, CNN, Warner
Bros. Studio, Netscape, People, HBO, TBS, TNT, Cartoon
Network, Warner Music, AOL.com, Fortune, Looney Tunes, etc.
3. Offered a wide variety of products and services in the
internet, entertainment, media, and communication
4. AOL was synonymous with the internet, a household name—
the leading e-commerce service, internet technologies, and
interactive service
5. Synergy between AOL and TW--marketing concept was to
combine new and old media vehicles to strengthen overall total
position in market (AOL needed broadband capabilities and
Time Warner was a major content provider
6. The huge amount of resources—including capital resources
7. Core competencies in many areas: Cable infrastructure,
AOL’s ease-of-use trademark, globally trusted brands, vast
internet expertise, journalistic integrity
8. Synonymous with strong customer service
9. Offered one-stop shopping--held unique status of being the
only one-stop broadband, internet, entertainment, media, and
communications company in the world
10. Merger lead to increase consumer usage, cross-marketing,
and promotion capabilities
11. Increased revenue--rose from $32.2 billion in 2001 to $40.9
billion in 2002 after the merger
12. Cable infrastructure
13. Vast internet expertise—ability to stay competitive and keep
services current with technological upgrade
20. 14. Restructuring of AOLTW into two business units and use of
decentralization—the Media & Entertainment Group and the
Entertainment & Networks Group, both headed by TW managers
B. Weaknesses (W)
1. Highly risky, costly, and overvalued merger deal--AOL had
to assume $17 billion debt (high) and pay 71% premium to Time
Warner stockholders
2. Strategic mistakes—synergies between traditional media
(same information to everyone) and new media (match personal
interest) don’t exist (consumers use them for different purposes
and to obtain entirely different things)
3. Very low liquidity level indicating hardship in paying off the
current liabilities as they become due (liquidity ratios)
4. Staggering proportion of loss and getting worse compared to
the past year— -85% and -187% Return on Investment & Return
on Equity, respectively, in 2002 (profitability ratios); the net
loss of $99 billion in 2002 compared to the loss of $5 billion in
2001—which was improving in 2003
5. Very low Asset Turnover (.35 in 2002; .18 in 2001)
indicating extreme inefficiency of management in utilizing
resources (activity ratios)
6. High degree of leverage, and it is getting worse as the trend
indicates (leverage ratios)
7. Impairment of goodwill
8. Chaos and problems in the human resource area--Instability
and reshuffling in the ranks of upper management:
· sudden departure of Gerald Levin, former CEO, and ouster of
Robert Pitman, COO of TW
· Several key executives of AOL were removed including Jan
Brandt who is recognized for the successful marketing strategy
for AOL—flooding the market with AOL CDs
· Management changes designed to help TW take over AOLTW
21. 9. Cultural turmoil and possible ego and boardroom clashes
resulting from the merger, affecting the performance
10. The failure to realize the vast potential of AOLTW even
after three years of merger—the projected stock market
valuation, the combined profits and revenues, and the outlined
synergies were yet to be realized
11. Animosity between AOL and TW units, and infighting
among the remaining employees
12. A merger that never worked--AOL and TW never should
have merged (experts); TW feels cheated and robbed and is
keeping the company afloat
13. Departure of Steve Case, the AOL CEO who was accused of
making a bad deal and was poor strategic leadership; was
removed from day to day operations to advisory position, who
finally left AOLTW
14. Restructuring of AOLTW into two business units-- both
being headed by TW managers
15. A 70% decline in the share price of AOLTW
16. Wastage of valuable resources in handling the after-merger
activities--a lot of time was spent in the analysis and integration
of the company’s differing cultures, employee and management
personalities, and operations
17. Slow move into broadband business
18. Accounting troubles (not explained)
19. Market reaction was mixed when AOLTW changed its name
to TW, Inc., raising questions about the operational viability of
the merger
20. Negative image--AOL ticker symbol was synonymous with
gut-wrenching stock dives and aggressive accounting practices
to employees and investors
22. C. Opportunities (O)
1. Booming cable industry (1985 onward)
2. Make use of technology simpler for the customers
3. Cross marketing by AOLTW
4. Abundant supply--in the Publishing, Music, and Media
industries, the availability of writers, musicians, and ideas for
publications is virtually inexhaustible
5. Limited threat of new entrants in the Publishing, Music, and
Media industries-- because it’s very difficult to gain enough
market presence and sustain over time due to unpredictability of
success
6. Prediction that broadband connections would be the future of
the internet and computing world
7. Barriers for dial-up internet service providers (ISPs)--Federal
Communications Commission (FCC) in 2002 ruled that cable
industry does not have to open up cable network to dial-up
internet service providers (ISPs), which keeps more than 6000
dial-up ISPs outside the cable network
D. Threats (T)
1. Investor skepticism about the merger but high expectations--
AOLTW merger was the most controversial (2001) but bred
overly confident market expectations about future growth after
the merger
2. Slowing subscriber growth
3. Numerous national and global competitors--mostly large
companies with deep pockets--competing directly with AOLTW
for the various products and markets, such as:
· Cable Systems—AT&T Broadband, Direct TV, Cox
Communications, Comcast
· Internet—Earthlink, Yahoo!, Microsoft
· Filmed Entertainment—Universal, Viacom, Walt Disney
· Publishing, Music, and Media—News Corp., McGraw-Hill,
23. Dow Jones
4. The industry requires heavy investments in technology to
remain competitive--the nature of competition will force
AOLTW to upgrade equipment and introduce new technologies
related to the products or services on a regular basis to stay in
the game
5. Low entry cost in internet industry may allow numerous new
entrants
6. The film and entertainment industry requires large budgets
for success and is highly dependent on the talent of the writers,
directors, producers, actors, and actresses
7. The slow-down of the economy
8. A three-year bear market (stock market decline) and the burst
of internet bubble
9. The 9/11 terrorist attack in 2001
10. Securities and Exchange Commission investigation
(accounting) and investigation from Department of Justice on
anti-trust issues
11. Uncertainty due to changes in the FCC regulations
12. The unhappy and wary investors
13. Potential lenders are reluctant in making loans to the
company which has skyrocketing debt levels and it will be hard
to sell new shares
APPENDIX: FINANCIAL ANALYSIS OF AOL TIME
WARNER
FINANCIAL RATIOS
YEARS
1. Liquidity Ratios
24. 2002
2001
Current Ratio
0.83
0.79
Quick (Acid Test) Ratio
0.69
0.65
2. Profitability Ratios
Net Profit Margin
-240.95%
-13.28%
Gross Profit Margin
43.08%
44.75%
Return on Investment (ROI)
25. -85.49%
-2.37%
Return on Equity (ROE)
-186.86%
-3.25%
Earnings Per Share (given)
-$22.15
-$1.11
3. Activity Ratios
Inventory Turnover
21.60
20.75
Days of Inventory
28.46
31.84
Asset Turnover
0.35
0.18
Fixed Asset Turnover
3.37
2.93
4. Leverage Ratios
26. Debt to Asset Ratio
54.25%
27.08%
Debt to Equity Ratio
118.58%
37.15%
PAGE
1
GOOGLE CASE: AN EXAMPLE OF SWOT MATRIX
STAGE I: STEP III-Part I: S, W, & O (SO, WO) MATRIX:
Strengths
S1. A continuous stream of successful products
S2. Financially very strong: revenue increased by 106 times in
10 years, high net income
S3. Highly experienced top management, includes founders
S4. Top management owned controlling share ensuring stability
S5. The flat, flexible structure, fewer management levels,
numerous small groups foster innovation and efficiency
S6. Strong culture instilled by the founders; Google's Statement
of Philosophy, Ten Golden Rules
S7. Culture encourages innovation, risk taking, honesty,
integrity, emphasizes technology
S8. History of introducing new products or technologically
better product offered by the competitors
Weaknesses
W1. Brin, Page, Schmidt controlled 80% of votes, which could
increase strategic risk-taking & dilute investors' influence over
company's direction
W2. Tarnished image: news publishers complained Google of
using their content without their permission and of threats from
27. that Google will remove publishers if they demand payment
W3. Google failed to deliver (as of 2010) Google Chrome OS
for netbook computers as promised
Opportunities
O1. Search services grew with World Wide Web; 70%
transactions via web search, 40% commercial motivation
O2. U.S. small businesses spent $22 billion on local ad
including $10 billion on printed yellow pages listings
O3. Yahoo!'s failure to focus on sponsored link business &
repeated upgrading delay; splintered attention to many other
businesses; instability & collapse of Yahoo! in 2008-2009;
demoralized state
O4. With world wide web, market is vast, worldwide, potential
for innovative products is limitless
SO STARTEGIES
SO1: Differentiation; conglomerate diversification; horizontal
growth: concentric diversification
O1, O4, S2, S3, S5, S7, S8
SO2: Offensive tactics, e.g., frontal assault, flanking maneuver,
encirclement (push into Yahoo!'s market during strategic
window)
O3, S2, S3, S5, S7, S8
SO3: Concentric/conglomerate diversification, differentiation,
product development (to capture small business market)
O2, S2, S4, S7, S8
WO STARTEGIES
WO1: Acquisition strategy (acquire Yahoo! for content, portal,
and market share)
O3, W1,W2
28. WO2: Concentric or conglomerate diversification
O2, W1
STAGE I: STEP III-Part II - S, W, & T (ST & WT) MATRIX:
Strengths
S1. A continuous stream of successful products
S2. Financially very strong: revenue increased by 106 times in
10 years, high net income
S3. Highly experienced top management, includes founders
S4. Top management owned controlling share ensuring stability
S5. The flat, flexible structure, fewer management levels,
numerous small groups foster innovation and efficiency
S6. Strong culture instilled by the founders; Google's Statement
of Philosophy, Ten Golden Rules
S7. Culture encourages innovation, risk taking, honesty,
integrity, emphasizes technology
S8. History of innovating products technologically superior than
the product offered by the competitors
Weaknesses
W1. Brin, Page, Schmidt controlled 80% of votes, which could
increase strategic risk-taking & dilute investors' influence over
company's direction
W2. Tarnished image: news publishers complained Google of
using their content without permission and of threats from that
29. Google will remove publishers if they demand payment
W3. Google failed to deliver (as of 2010) Google Chrome OS
for netbook computers as promised
Threats
T1. Strong competition: Yahoo!, Microsoft, eBay,
Amazon.Com, Facebook
T2. Some portals offered numerous add-ons to encourage users
to linger on the site
T3. Advertisers complaints of improper charges, unapproved
placement of ads
T4. Hackers divert payments via false click through hijacked
computers
T5. Many lawsuits in the U.S., abroad (copyright, etc.)
T6. Privacy issue from Google's "cloud" applications
T7. The DOJ threatened with antitrust lawsuit, concerned with
Google's monopoly & gathering market power
ST STARTEGIES
ST1: Acquisition strategy (acquire a competitor) T1, S2, S3, S4
ST2: Product innovation, differentiation, frontal assault,
flanking maneuver (new products to capture competitors'
market); T1, S1, S2, S3, S4, S7, S8
ST3: Product innovation (stop hackers), strategic alliance
(prevent hackers via new program)
T4, S1, S2, S5, S7
ST4:Vertical integration (book publishers); lobbying; strategic
alliance with foreign companies
T-5 ,7; S-2, 3, 4, 6, 7
ST5: Refocus on Google philosophy & Golden rules; T-3 & 6;
S- 6 & 7
ST6: Prod. innovn; differentiation; horizontl. integratn. T2; S-
1,2,5,7
WT STARTEGIES
WT1: Retrenchment--divestment strategy (divest Chrome OS),
strategic alliance w/companies strong in Oper. System; T1, W3
30. WT2: Acquisition (Yahoo! for content, portal, market share);
T1, W1, W2
WT3: Retrenchment--divest problematic business unit;
T3, T4, T5, W2
WT4: Retrenchment--turnaround/divestment strategy (for
problem business unit like OS);
T5, T7, W1, W2
STEPS AND GUIDELINES FOR CASE ANALYSIS
THE FORMAT REGARDING YOUR CASE ANALYSIS
INVOLVES TWO STAGES--STAGE I AND STAGE II-- AS
DESCRIBED BELOW. FOLLOW THE INSTRUCTIONS
GIVEN UNDER EACH STAGE.
STEPS IN STAGE I
STAGE I: STEP I - Brief Summary
Provide a brief summary of the company ( one page or 2
minutes )
STAGE I: STEP II - Development of an Exhaustive SWOT List
Internal Scanning (see chapters 5 & 12) for Strengths (S) and
Weaknesses (W) may include areas, among others: Top
Management; Board of Directors; Corporate Structure;
Corporate culture; various functional departments, e.g.,
Marketing, Finance, Production, Research and Development,
31. Human Resources, MIS, etc.
Also, you must analyze financial statements (see Table 12-1,
page 367) to identify financial S & W; otherwise, there will be a
penalty. If the case does not provide financial statements, you
would not need to do so.
External scanning (see chapter 4) for Opportunities (O) and
Threats (T) may include various external factors under natural,
societal, and task environmental categories.
Your task is to:
A. Identify, list all STRENGTHS (S) for your company, &
briefly explain each
B. Identify, list all WEAKNESSES (W) for your company, &
briefly explain each
C. Identify, list all OPPORTUNITIES (O) for your company,
& briefly explain each
D. Identify, list all THREATS (T) for your company, & briefly
explain each
STAGE I: STEP III - PART I & PART II: SWOT MACHING
32. MATRIX
Develop a SWOT matrix in two parts.**
See Textbook Section 6.3 & figure (TOWS/SWOT matrix) on
page 185. Follow instructions here in the following pages.
STAGE I: STEP III-Part I: STRENGTH, WEAKNESS, AND
OPPORTUNITY (SO, WO) MATRIX: Insert the important S, W,
& O from the previous step and number them. For each of S,
W, & O, use about 7 or 8 factors.
STRENGTHS
S1: . . .
S2: . . .
S3 :
S4:
S5
S6
.
WEAKNESSES
W1: . . .
W2: . . .
33. W3
W4
W5
.
.
OPPORTUNITIES
O1: . . . .
O2: . ..
O3:
O4:
.
.
.
.
SO STRATEGIES
SO1: Forward Vertical integration ( Develop own retail outlets);
S2, S5, O3
SO2: . . .
SO3: . . .
SO4:. . .
Clarification:
*For each SO strategy, use the jargon indicating the strategy
based on the SO factors matched (e.g., Forward Vertical
integration);
*Next, cite the company specific strategy for this (e.g., Develop
own retail outlets)
*Next, indicate the specific factors from S and O matched for
this strategy (S2, S5, O3).
WO STRATEGIES
WO1: Horizontal integration (Expand business in EU
countries); W1, W6, O5, O6
WO2:
WO3:
WO4:
34. WO5:
Clarification:
*For each WO strategy, use the jargon indicating the strategy
based on the WO factors matched (e.g., Horizontal integration);
*Next, cite the company specific strategy for this (Expand
business in EU countries);
*Next, indicate the specific factors from W and O matched for
this strategy (W1, W6, O5, O6 ).
**You should ensure that matching of the factors (SO, WO, ST,
& WT) and the formulation of strategies based on the
matching/combination are logical and rational.
STAGE I: STEP III-Part II - STRENGTH, WEAKNESS, AND
THREATS (ST & WT) MATRIX: Insert the important S,W, & T
from the previous step and number them. For each of S, W, &
T, use about 7 or 8 factors.
STRENGTHS
S1: . . .
S2: . . .
S3 :
S4:
S5
S6
.
WEAKNESSES
35. W1: . . .
W2: . . .
W3
W4
W5
.
.
THREATS
T1: . . . .
T2: . ..
T3:
T4:
.
.
.
.
ST STRATEGIES
ST1:
ST2: . . .
ST3: . . .
ST4:. . .
ST5
ST6
Clarification:
*For each ST strategy, use the jargon indicating the strategy
based on the ST factors matched;
*Next, cite the company specific strategy for this; *Next,
indicate the specific factors from S and T matched for this
strategy.
WT STRATEGIES
WT1:
WT2:
WT3:
WT4:
WT5:
36. Clarification:
*For each WT strategy, use the jargon indicating the strategy
based on the WT factors matched;
*Next, cite the company specific strategy for this;
*Next, indicate the specific factors from W and T matched for
this strategy.
STAGE I: STEP IV - RECOMMENDED STRATEGIES FROM
SWOT MATRIX
Select/recommend strategies (three to five) from those
generated in the SWOT matrix (SO, WO, ST, & WT cells) for
implementation purpose.
Rank them in order of importance with reason for ranking.
STAGE I: STEP V - FEASIBILITY ANALYSIS OF THE
RECOMMENDED STRATEGIES.
37. Now, you should evaluate each of the strategies (separately)
selected in
STAGE I: STEP IV to ascertain if they can be implemented by
the corporation. You may evaluate each recommended strategy
(repeat, each strategy separately) in terms of various relevant
criteria (applicable to your case) to ascertain if they can be
implemented or there will be problems or barriers to its
implementation. You may evaluate and justify your choice
based on the following or other relevant criteria (whichever
apply):
(a) financial situation of the company: if the company is
financially able to implement the strategy;
(b) relevant stakeholders' preference and reactions: if there will
be any opposition to or support from stakeholders for the
implementation;
(c) culture of the company: whether the culture is compatible to
strategy recommended or opposed to the strategy;
(d) acceptance or opposition from influential groups within the
organization ( i.e., political perspectives)
(e) any other relevant factor specific to your company
STAGE II - DISCUSSION QUESTIONS
Discuss the questions related to your assigned cases (to be
given)