So I have decided to take a new format to writing the CS3216 blogs. You can still find the overview of the class below but they will be in raw typed notes. Instead I will be digging deep into an issue that the class brought up in my mind.
In the class, it’s about developing on evolving platforms. And that begets the questions why platforms are so attractive to both the companies creating them and the developers making stuff for the platform and the users using the platform. Platforms exist in: social network applications, mobile application, Internet, game consoles,
Simply put, platforms enable efficiency in a system by
1) Developer Efficiency: Restricting what you can do
This is counter intuitive. But by decreasing the number of ways a certain function is implemented, this also means that developers can focus less on the implementation and more of the design and the product feature. This means that the production time is shorten
This also means that in the narrowed evolution path, products evolve much faster, they die much faster and application commodization is quickly reached. This means also means that being first to platform is very important because once commodization (Developers have learnt all the skills to build almost all the app) has reach, network effects of your application play a strong influence in the sustainability of your application.
2) Distribution Efficiency: Platform handles distribution and /or Sales/marketing.
Sales and distribution is a large reason to go with a platform. Developers want to develop and most of the time they are crappy salesman. Most nascent products suffer mainly from brand awareness. Platforms with product discovery features like iTunes store “Top 50”, “Most Popular” Facebook applications etc solves this problem. This is a huge plus to products with mass market appeal and high quality because this means that most likely you will get into the most popular list and stay there. Give the product awareness and you have half of your sales problems solve. (The rest being product fit, competition and purchase). Contrast this to an internet only application. How do you gain awareness? Well one option is spend loads of money but that unlikely with an app that might not even monetize. It is obvious which you will choose if you are going for a simple mass market application.
3) Strong network effects => ever increasing market share for those in the platform.
Once a platform is dominant or seen to be dominant, it’s a natural monopoly because there is no reason to rock the boat. Everyone in the platform is happy and every out of the platform is busy switching in from the sinking ship. Just ask the HDDVD guys.
Whoa sounds like heaven!
But good things never last! Haven’t you learnt? Take a look at the S curve, the innovator’s dilemma and you will see again and again how platforms get out platformed. So platforms need to evolve to upgrade themselves.
I am not too sure that platforms should ever reach commodization level because if it does, this means that the user excitement will be leaving it soon. All the features and cool applications that one can make have been seen and people get bored of it. Without this excitement, PR and news stories decreases and developers then jump onto the next new exciting platform.
Plotting Platform on S Curve (consumer targeted Platforms)
Facebook (near Stagnation: luckily they are using web as a platform which means applications are very flexible),
Windows (time to switch S Curve man),
IPhone (Tornado: getting all the attention right now. How long more before commodization? At least they restrict developers with NDA (past) and a high financial barrier to entry),
Closing Notes: I hope the above makes sense…I am not sure if does ha-ha. Any thoughts especially counter thoughts are welcomed!
S Curve: A picture Tells a thousand words
Raw Class Notes:
Companies are building platforms which means developer recruitment is as important as ever
How to recruit developers? Development programs, technical support, distribution channel,
App store, Xbox live market place,
Which is the most important? ROI (return = distribution reach,
Why platforms work
Simplify developers, use companies’ brand and marketing entry point to consumers
MDA again $50K. Why is this a magic number?
Why is there a mac in the picture? Cross platform compatible?
One person 7 teams
Which is why platform creates awareness…why getting into top 50 is so impt for app store, my getting on most popular list matters
WPF: nice tech….but why would I use it?
Flash has 98% of market
Is compression better
But why use silver light? More libraries available in flash.
Look at the past….what similar scenarios have happened before
Late entrant, early entrant, software, developer network effects
Completely new way of doing something
Rapidly growing market size
How to installing apps
Difference between building a desktop app and silver light app
Why don’t MS use WPF for windows and office? To kick start dev libraries, code etc
Do we get free visual studio?
So many things, so little time
A simple solution to a well defined problem!
Somehow the message is always a diverse, coordinated team…all TR modules except 2202 teaches these