Coursekit is totally free (and always will be).
24 Jan 2012
Coursekit is totally free (and always will be).—
You have fun with that.
free ftwCoursekit is totally free (and always will be).—
You have fun with that.
free ftwEarlier today, I tweeted :
After working with IOS & Android, I can say it’s not about openness, it’s about building great tools for developers (and apple wins).
I got a large response (some positive, some negative) and though this deserved a bit of exploration.
A bit of background: I used to own a galaxy s, and dabbled a bit in learning how to build android apps. Now, I own an iphone 4, and have been learning how to make iphone apps. I’ve mostly been struck about much better the development the development tools are, and how many more good resources are available.
Now, Google has been using the term “open" as a bit of a marketing term. They claim that it is more “open" than IOS. Let’s examine this and see what this really means and how much it contrasts with IOS, and what that really means for customers.
First, first we take “open" to mean “open source", let’s look at the android source. First, it’s released under the Apache 2.0 license, but not developed in the open. Meaning that you can’t see developer commits, view open bugs, or see versions in development. This is then shared with handset manufacturers, who can make changes and release these forked versions of android on their own phones. Being under the Apache license, they are under no obligation to share these changes, and rarely are you able to even install a custom android build without “rooting" your phone. Additionally, Google’s applications (Gmail, Maps, Market, Youtube, etc) are in fact completely proprietary, and you can only distribute these apps if your distribution is approved by google.
Let’s compare with IOS - much of IOS uses the darwin kernel. This is open sourced under the Apple Open source license, but not developed in the open. You can’t get access to the full source code of all of the frameworks, nor can you install any custom IOS builds without jailbreaking your phone (except apple’s developer previews). Apple’s apps are proprietary, and you cannot redistribute them at all. Not all that different in the end, except with android you can read through the code, make changes, and install patches (although without a developer phone, you can’t actually test or redistribute any of these changes).
Next, if we take “open" the ability to make applications, let’s compare the two again. In android’s case many android devices can only install apps from the android marketplace. This is a handset manufacturer choice, and many devices don’t allow users to change that option without rooting the device. So, in many cases the google marketplace is the only way to download and install new apps. Looking at the Android Market Developer Policies apps cannot contain sexually explicit material, gratuitous violence, hate speech, illegal activities, gambling, etc. So, not all apps are allowed, and can be removed later by the market.
Now, let’s look at IOS’s guidelines. In addition to the same policies for the android marketplace (pornography, violence, hate speech, etc) Apple has a number of app guidelines about content scraping, privacy control, poor design or buggy code, but also states that the review process is guide, and the review process is manual and subject to change. So the large difference here is that apple won’t let you release what they consider “bad" apps. While this does add an extra step in the process, I actually see this as generally being a plus rather than a minus. Apple doesn’t want bad user experiences, and also wants you to succeed as a developer. Sometimes these policies are more restrictive than they need to be, but over time many of these have been relaxed.
So in the end, android is not as different as it claims to be. As an android user, I was frustrated by having a restricted device running a buggy, outdated OS controlled by my carrier and handset manufacturer. Apple makes it’s money by keeping it’s focus on it’s customers and making them happy. Google makes money from advertisers and keeping it’s focus on customer conversion. I’d rather build for (and use) a platform that’s slightly more restrictive, but is working to make customers happier. Because as a developer, that’s also what I want - to make customers happy.
android ios openWith the new year here, everyone’s starting to set new resolutions. I really hope that one resolution that starts becoming more popular is individuals wanting to learn to program.
You should learn to program, and now. Why?
So what are you waiting for? Go sign up at codeyear or codeacademy or tryruby or Khan Academy. I even teach ruby lessons as well if you want one on one help and instruction.
learn to programjwz’s recent rebuttal to Arrington’s startup’s are hard post was pretty scathing. You can tell that jwz got burned out pretty hard, and it’s understandable if you go watch Code Rush and read his resignation letter. But Arrington’s stuck a chord here - the jwz’s of the world have killed it. They put in long hours, grueled over churning out code, and have ridden the startup roller coaster.
Yes, startups are hard. But the reason we work there anyway is because we’re passionate builders. I think jwz’s rebuttal and Arrington’s response got side-tracked about VC money. If you work for a startup, and you have taken money from someone else, go back and thank them right now, or give it back. They paid your salary, and let you follow your passion and dream and fronted your risk. It’s their ass on the line if you fail as well, and they’ve entrusted their money to you. The alternative is pretty clear - bootstrap your company without money. While there are a few recent good exceptions (37 Signals, Github) that have been able to bootstrap it’s really hard. You either have to convince talented people to work for nothing, or stay a small one-person shop and grow small. Depending on your business this is either godsend or a death-knell.
Arrington’s point that jwz would do it all again was wrong - he said that it got him rich, and that’s why he’d do it again. He’s wrong. jwz would do it again because he loves to build awesome products, and was on the forefront of building a product that changed the world. The money is a nice side effect (don’t get me wrong), but there are other easier, less stressful, ways to make money.
There are lots of paths to success. I take jwz’s tale as both an inspiring and cautionary tale. At the end of the day, jwz now does something else for a living (he owns a nightclub, and I think codes occasionally, but I doubt that’s his primary function). I, for one, love to write code and build products that people love to us. I want to do my job for a very long time. As a result, I try to manage my work/life balance as best as I can, because I’m in it for the long haul. I want to be doing this in 30 years when I’m the grey-haired curmudgeon that rants about the days of php, nfs and the goddamn internet explorer 7. I will still out-pace the competition, deliver my products on time, and make a few amazing hacks along the way. But I’ll do it happier, and be there extra-early and excited monday morning ready to kick more ass. That’s how you stay passionate.
uncrunched jwzmain( )
{
printf("goodbye, dennis");
}
RIP dmr
nerd goodbye dmr