Category Archives: Apple

the state of the independent developer

I’ve been shipping software in various roles since I was an undergraduate student in 1997.  I’ve done tech support, technical writing, software development, and user experience in the intervening years.  I’ve shipped code in at least 8 languages, including Smalltalk and VAX assembler.  I’ve contributed to and helped organize several tech conferences, ranging from programming languages to women in tech.

Although I had been a Mac user for some time, I officially became a part of the Mac developer community in 2005 when I joined Microsoft to work on Office:Mac.  I was excited to join that team.  Not only did I finally get to work on Mac applications (and with people who had been doing Apple development for 20+ years!), I was part of a vibrant community.  I attended MWSF first as an engineer, and later as a speaker.  I met many people who have long since crossed the line from fellow developer to friend.

I was a part of the community for the transition from PowerPC to Intel and the corresponding transition from CodeWarrior to Xcode.  I was part of the community when the iPhone was announced.  I was a part of the community when iOS really took off, and when being able to attend WWDC was not just a matter of getting employer approval but also the luck of a draw to get one of the relatively scant handful of available tickets.

When I started working on Office:Mac, I observed that there weren’t a lot of large Mac development shops outside of Apple.  There was the Office:Mac team of ~250 at the time, and Adobe too, although I didn’t have a good estimate of how many Mac developers they had.  Then there were smaller teams, like Quicken for Mac, VMware Fusion, and The OmniGroup.  And then there were a lot of very small shops and single developers releasing great products.  One of the challenges that the Office:Mac team had when I was there was the dearth of software engineers who had both Mac development experience and very large codebase development experience.

Both the platform and the development community have evolved, resulting in significant impacts to independent developers.  As is obvious from the near-impossibility of getting WWDC tickets since it first sold out in 2008, the Apple developer community has seen an unprecedented influx.  Companies large and small have added iOS developers.  Independent developers have flocked to the platform.

A major point of change has been the App Store, first for iOS and then for Mac.  The proliferation of apps has made app differentiation difficult for developers, whether they are a large company or an independent developer with a great idea.  To attempt to gain users, not only has there been a proliferation of apps, but those apps are  likely to be free.

Free apps are, of course, not free.  Apps require developers, and developers have bills and a desire to keep paying those bills.  For a large company, the cost of developing a free or inexpensive iOS app is often absorbed in the costs of developing other products that are well-funded and that the iOS application supports.  The App Store has evolved other methods for developers to make a living, including advertisements and in-app purchases.

Which leads us to the state of the independent developer.  It was possible to be an independent developer and make a decent living at it.  Some developers, through a combination of skill and luck, found themselves doing more than just making a decent living.  As the price tag of applications has trended towards zero, it’s been ever-harder for an independent developer to be only an independent developer.  A good idea for an app, the skill to develop a great app, and a sprinkling of luck is no longer sufficient to make a decent living.

Independent developers often have to diversify their income. They might have to keep their day job and work on their app on evenings and weekends.  They might have to become writers or podcasters to ensure that they have sufficient income.  They might become developers in a corporate environment, taking advantage of all of the iOS developer opportunities that are available now.

I was overjoyed to see Samantha Bielefeld‘s take on the state of independent developers as she considered Marco Arment‘s move to make his iOS app Overcast available for free with an optional patronage model.  Her point that he is able to try this as a result of his unique position in the community and his other income streams is one that resonated with me.  If a well-known and well-regarded developer isn’t reaching an audience with a well-designed and inexpensive iOS app and thus chooses to make it free, what about everyone else?

It’s distressing to see a well-known independent developer seemingly throw in the towel on independent development.  It’s doubly distressing when that independent developer doesn’t seem to understand that the model of patronage isn’t necessarily one that will work for independent developers at all, let alone ones who don’t have thousands of Twitter followers or close friendships with well-placed members of the tech press.

What is the state of our community?  Are our options limited to either working for a big company or hoping that ad revenue continues to limp along?  How do we have a vibrant community of world-class apps and developers creating those apps if our users have become conditioned to free apps?

These are important questions for us.  Attacking Bielefeld for asking important questions is the wrong thing to do.  For all of us, whether we’re in big companies or independent developers, we have to consider our place in the community and how we’re supporting both ourselves and the long-term success of the community.  I’m hard-pressed to see how this constant drive to zero is going to ensure our long-term success.  We must stop shying away from important and difficult questions, and we must stop attacking anyone who questions this status quo.

the hallway track

On the first day of MacIT, it’s traditional for the members of the advisory board to say what they’re looking forward to.  Arek Dreyer went first, and he cited the hallway track as the thing that he’s most looking forward to.  He’s right: even at a conference with the most amazing content, the hallway track is often one of the most useful tracks at a conference1.  It’s a huge miss when conference organizers forget about the importance of the hallway track.

This afternoon, I got to be a part of the hallway track in action.  I was talking to another member of the advisory board and one of the MacIT speakers.  Someone came up to us, and asked what we knew about network security.  She referenced a question that she had asked during the security talk this morning.  None of us are network experts, nor are we security experts, but we’ve all picked up bits and pieces over the years.  She explained her situation as we looked at her error logs.

We came up with a plan of attack, both short-term to address the issue that she found, and long-term to address the likely root cause of the problem.  We talked about how to figure out what levers to pull within her organization to make it possible to do the long-term fixes.  We shared our own war stories about our own experiences with issues and figuring out exactly what dance is needed to get something done.  And we reassured her: yes, she really did have an issue, and yes, her issue is resolvable.

This is why I love the hallway track.  None of us had the complete answer.  Together, we were able to talk through her problem, brainstorm ideas for how to address it, and come up with what felt like the right way to address it in her environment with her team.  We worked together, came up with some potential solutions, and identified more resources that she can use back home when she doesn’t conveniently run into people in the hallway.  We all learned something in the process, and we helped out a member of our community.

That is the power of the hallway track.

  1. Now that I think about it, possibly most especially at a conference with the most amazing content.  Great content creates another opportunity for great hallway conversations

MacIT submissions

I spent most of this morning on one of my tasks as a member of the MacIT advisory board: reviewing submissions.  It’s a hard task: there’s a lot of great submissions, and there’s not room for all of them.  Complicating matters is the need to select not only great individual sessions, but a group of sessions that will come together and somehow create a cohesive conference.

Work is ongoing, so those who submitted ideas will be notified in the coming weeks.  I hope to see all of you in Santa Clara, CA, on July 14-16.

missing album artwork on iPhone

After spending hours figuring out a fix for 43 GB of mysterious “other” on my iPhone a few months ago, I suppose I shouldn’t be surprised that I ran into yet another problem syncing my iPhone and iTunes.

This time, the problem is with an iPhone 6 running iOS 8, and iTunes 111.  I’ve got over 60GB of music on my iPhone.  One afternoon earlier this week, I noticed that after syncing my iPhone, all of my album artwork was missing.  I’ve got album artwork for everything in iTunes, and it was quite annoying to have it go missing.  I tried the basic fix, which was re-syncing the iPhone.  That didn’t work: my iPhone still didn’t have any album artwork.

Next, I decided that I would try to delete the music from my iPhone, and then re-add it.  That didn’t work.  I connected my iPhone to my Mac, unchecked “sync Music”, and then clicked the “Sync” button.  I let it go for 3 hours, and it seemed stuck.  In the Music app on my iPhone, the list of songs was constantly updating, but nothing was actually getting deleted.  So I cancelled the operation, then tried to sync again.  When I did that, I discovered that I had 60GB of “other” on my iPhone.

At least I’ve been here before.  I tried rebooting the phone, and that didn’t make a difference.  I did the same thing as last time: erased the phone and let iTunes restore it.  This time, the mysterious “other” was missing.  Of course, the sync stalled again.  I let it go for about 20 minutes before pulling the plug and restarting the sync.  On the second sync, I had a functional iPhone, but no music.  I re-checked “Sync Music”, and started yet another sync.  A couple of hours later, my iPhone had its artwork back.

All told, I lost a whole evening to this.  Come on, iTunes.  Get it together.

  1. Yes, I haven’t updated to iTunes 12. It’s so unusable, and it’s not like I have a lot of confidence that the problems that I experience are any better.

iPhone announcement anniversary

Eight years ago today, the iPhone was officially unveiled.  Since I was working for Microsoft on Office:Mac at the time, I was at the Moscone Center.  We also officially announced Office:Mac 2008 (whose previous codename was Magnesium) that week, an announcement which got overshadowed by the iPhone announcement.

I remember that announcement.  Since we were going to announce Office:Mac 2008, several of us got to sit in the VIP section for the Stevenote.  Behind me in the VIP queue was the guitarist of Cheap Trick, which meant that I knew who the super-secret band was for the Macworld Blast party that night.  During the Stevenote, I sat next to my then-manager.  Just before it began, he told several of us that he was sick of seeing John Mayer at these things, and he swore he was going to storm the stage in protest if Mayer showed up again.  He didn’t, but we had a lot of fun coming up with what the headlines in the tech press would’ve been.

I also remember the announcement because that’s the time that I got blind-quoted by Cult of Mac.  I remember the calls that night to let the PR team know that it was me.  They told me that no-one else would notice this thing because nothing was going to get column inches if it wasn’t iPhone-related.  I was still freaked out.  They were, of course, right.  (It does mean that when I got approached a few months ago by the self-same writer of that story to do an interview, I laughed and laughed and laughed.)

Looking back at my blog post that considered what little we knew about the UX of the iPhone, it’s fun to see what I got right and what I didn’t.  I guess it’s a toss-up about whether I was right about scrolling behavior, since the iPhone and Mac scrolling behavior was divergent for awhile, but now has converged to the iPhone model, and scrollbars have mostly disappeared, too.  I was right about the apps that I can’t delete.  I still have a stock ticker that I never use, and there are even more apps that I can’t get rid of.  Tips?  Really, Apple?  Tips is like Clippy but even less useful.

My iPhone immediately replaced my iPod, and I effectively haven’t used one since.  Once my iPhone got Exchange support, and thus I could stop trying to use Exchange Web Access 2007 on my iPhone1, my iPhone became something that I didn’t let out of my sight.  And, ever since I got that launch-day no-subsidy iPhone, I don’t think I’ve let an iPhone out of my sight.  I’ve got an iPad to keep my iPhone company, too.  The iPhone replaced my flip phone, my Palm, and my iPod.  My iPad hasn’t replaced anything, although it has reduced my laptop usage some.  Perhaps when the iPad hits its eighth anniversary, it will have replaced more.

  1. Now that was a website not optimized for mobile!

43 GB of mysterious “other” on my iPhone

This afternoon, I ran into a problem with iTunes 8 and iOS 8 on my iPhone 5.  When I connected my iPhone, iTunes said that I had 43 GB of “other” data on my phone.  I had no idea what it was.

After much wrangling, I finally came up with a solution that did work.

On the iPhone, I erased it (Settings -> General -> Reset -> Erase All Content and Settings).  Then, after the iPhone finished erasing, I reconnected it to iTunes, and let it restore from backup.  At first, I thought it didn’t work because the iTunes screen still showed the big yellow bar of “other” data.  A couple of minutes later, it refreshed, and suddenly I had <1GB of “other”.  I did have to reboot my phone and my Mac a couple of times each during this process to get it to work, and I had to sync twice to get all onto the phone.


(Edited to add in some reboots.)

more community stories of VMware and Apple OS X in production

My colleague William Lam of Virtually Ghetto has been busily talking to more system administrators who have virtualized OS X in a production environment.  The most recent two are:

This has been an awesome series of blog posts.  I’ve learned a lot!  Want to share your story of using VMware and OS X in production?  Contact William.

“Integrating women into the Apple community”

Brianna Wu, head of development at Giant Spacekat (who have just released their first iOS game, Revolution 60) wrote a great piece titled “Eve wasn’t invited: Integrating women into the Apple community” for Macworld.  The conclusion is fantastic:

When I was a teenager in the 90s, I had few female role models to look up to in computer science; it’s simply not acceptable for this to still be the case in 2014. Next year at WWDC, I want to see at least one woman in a public speaking role during the WWDC keynote. There are many bright, smart, well-spoken female Apple engineers; let’s put them on stage and be role models for their peers and our daughters. Or Apple’s Angela Ahrendts, who may not be a developer, but her business savvy and presentation skills seem like they would be well-utilized at next year’s keynote. And I want to see more women and minorities at WWDC next year. We’re a small crowd, but we do exist, and having more of us at the conference will emphasize this.

Go check out the whole article!