Category Archives: Nadyne

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 user experience of healthcare

I’ve worked for software companies for my professional life.  Coming to work in healthcare has been eye-opening for me.

The user experience is … well, let’s be generous.  Let’s call it “challenging”.  And it’s challenging for, as far as I can tell, everyone involved.

It’s challenging for the patients themselves.  Getting care is no simple matter.  There are decisions to be made, providers to find, waiting lists lurking.  There are healthcare and wellness apps which promise to help the patient in some way.

It’s challenging for healthcare providers.  We’ve seen an explosion in everything related to healthcare.  There is an ever-increasing amount of data.  Some of it is specific to a single visit with a patient, such as the results from blood work or an MRI.  All of this data, not to mention whatever notes are jotted down or diagnoses given or prescriptions filled, are aggregated into a patient’s healthcare record.  Any given patient likely has multiple of these health records, even if you only consider that a patient probably has a different health record with their primary care physician than they do with their dentist.  Keeping up with all of this data is difficult and time-consuming.

And that’s just the medical side of it.  We haven’t touched the administrative side of matters, which involves the patients, family members or other caregivers, the patient’s insurance company 1, administrators and office staff at the healthcare provider, and so much more.

All of this adds up to a bad user experience.  Some of the bad user experience is just annoying.  But, since we’re talking about healthcare, a bad user experience has risks far beyond annoyance.  A patient could choose to delay treatment because navigating the system just to get an appointment is too difficult and time-consuming.  A clinician could miss an important detail in the patient’s health record and prescribe the wrong treatment.  A data-entry clerk in the doctor’s office could make a typo that results in the patient’s insurance company rejecting the claim.

I’m sure you can imagine that I read “Why Health Care Tech Is Still So Bad” with much interest, and I agree with almost every word of it.  The only point that I disagree with is that it’s not enough for physicians to be unable to live without a given technology.  There are many technologies that physicians today can’t live without.  Whatever technology is part of getting the user experience of healthcare right has to make the whole process better for everyone, not just the physician.  If my doctor thinks the technology that gives her my health record is something that she can’t live without, that is almost useless to me if she refers me to another doctor who can’t access that health record.

There are too many moving parts in the system, too many stakeholders.  It’s not sufficient to get it right for just one of them.  We’ll probably get there in a piecemeal fashion, improving experiences for different sets of stakeholders at different points.  We can’t stop because we’ve gotten it right for the physician.  The user experience of healthcare goes far beyond the physician.

  1.  I’m being lazy here, there’s also public payers like Medicare or the Veterans’ Administration.

finding my people

A couple of weeks ago, I had the opportunity to attend an event hosted by the US Digital Service.  I got a last-minute invitation to attend, I didn’t have any plans, I didn’t really know what the US Digital Service is but I rarely get email with the seal of the White House on it, so I figured I might as well attend.  It was so very much worth my time.  I learned that USDS are my people, which is something that I’ve been kind of lacking at Genentech.

My new role is pretty awesome.  I work on Genentech Access Solutions, which is a program where we help patients get access to the medicines that they need.  At first gloss, this doesn’t necessarily sound like it’s a good fit for someone with a UX background.  It’s actually a perfect fit.  We’ve got people who understand how to deliver great services to patients and their healthcare providers.  We’ve got people who understand how to run such services internally.  We’ve got an IT team to deliver the software that’s necessary for patients, their healthcare providers, and our internal team.  What they don’t have is an understanding of the overall user experience for each of the different types of people who use our system and services.

On the other hand, I don’t exactly fit in with my direct team, who are all very focused on business and operations.  I don’t exactly fit in with the IT team either, who are very focused on delivering a solution to my team.  I’m the one who’s tasked with understanding the experience of everyone who comes in contact with our system and services, and ensuring that we’re delivering the right user experience for each of those groups.  Patients have different needs than healthcare providers, and both have different needs to our various internal users.

From a UX perspective, this all makes perfect sense.  As a UX professional, it’s my job to understand not just what people do (or don’t do) with our software and services, but the context in which they do it.  I have to understand what they’re really trying to accomplish, and what else they’re using to accomplish it, what works and what doesn’t about their current method, and design a solution that meets their needs.

I’ve spent my time so far getting up-to-speed on Genentech and Access Solutions: what we do, how we do it, who interacts with us.  I’ve spent some time in the offices of healthcare providers, talking to everyone from doctors to nurses to office managers to front office staff to billing managers.  I’ve learned so much in the past few months.  It’s been amazing.  And I’ve shared what I’ve learnt with my team, to help them see our services through the lens of UX, and to consider ways we can better meet the needs of our patients.

I get to use my UX skills in a way that we often don’t get to.  It’s been fun, it’s been eye-opening, and I have high hopes for the future.  But I also don’t have a built-in UX community that I can turn to.

And then I got to meet the US Digital Service team and hear about projects that they’ve worked on, and suddenly I realized that I’d found my people.  They understood the challenges of doing UX in an organization that hasn’t exactly considered UX before.  They understood the challenges of doing UX in an organization that has deep ties to processes and technology that are often considered outdated elsewhere.  They understood the challenges of communicating about UX in an organization that knows they’re missing something but isn’t quite sure what it is. And they understood how deeply satisfying it is to improve the UX of something that is used by people not because they want to, but because they have a very different driver behind their usage.

There are other UX people out there who are trying to do the same thing that I’m doing.  It was a great feeling.  I’ve already had coffee with a couple of people that I met that night, and it was so exciting to have found my community again.  Thank you, US Digital Service.  You’re doing awesome work.  I can’t wait to share with you the results of what I’ve been doing.

Miss Manners on women’s pages

I adore Miss Manners, and so it’s no surprise that I find her article looking back on the women’s pages of the 60s and 70s quite interesting.

The women’s section reported the feminist revolution of the ’60s and ’70s when other parts of the paper mentioned it rarely and then only as a joke. The Women’s Strike for Peace was ridiculed as being a bunch of housewives who should have stayed home, but we took them seriously long before their actions grew into the wider youth movement protesting the war in Vietnam.

Her anecdote about asking President Kennedy a question is an excellent one, too.

“what happened when … ” the Yahoo! board made yet another bad decision

The recent New York Times article titled “What Happened When Marissa Mayer Tried to Be Steve Jobs” is frustrating.  It’s frustrating to watch Yahoo! continue to flounder (and oh, flounder it has).  It’s frustrating to see a new CEO come in with the goal of righting the ship, but insufficient experience to do so.  It’s frustrating to see the Times resort to a clickbait headline involving Steve Jobs.  And it’s frustrating that the Times puts the blame solely on the shoulders of the CEO, only noting that Yahoo!’s board of directors had “hesitations”: “One of the Yahoo board’s hesitations upon hiring Mayer was her relative lack of experience as a manager.”

So let me get this straight.  The board makes the decision to hire a CEO who doesn’t have sufficient experience leading an organization, and who is well-known to be extremely (one might say excessively) hands-on in an organization.  Somehow, though, her failure is solely hers.  The board gets no blame for making a poor decision.

Welcome to the glass cliff.  I’m relieved that New York Magazine also noticed that the Times story should have been more appropriately titled “Marissa Mayer and the Glass Cliff”.  The board of Yahoo! did not set up Marissa Mayer to succeed, and apparently didn’t give her the right resources where she could succeed.  And they get to blame her, instead of themselves, if Yahoo! does fail.  Nevermind all of their bad decisions long before she came on board (passing up the Microsoft offer is but one of them).  No, if Yahoo! fails, the blame will fall solely on her, and she will be pushed off of the glass cliff.

Susan Kare on design

“What Every Young Designer Should Know, From Legendary Apple Designer Susan Kare”:

“People say graphic design is so different now, because you have so many more pixels and colors to work with,” Kare says. “But when you study art history, you see there’s just nothing new under the sun. Mosaics and needlework, it’s all analogous to pixel and bitmap art. And with it all, good design’s not about what medium you’re working in, it’s about thinking hard about what you want to do and what you have to work with before you start.”

you say goodbye, I say hello

In saying goodbye to VMware, I decided to say hello to a new adventure.  As of last Monday, I started a new role at Genentech.

In some respects, Genentech and VMware have a lot in common.  Unless you directly work with one of the two companies, you might not have heard of them, but they’re doing important work behind the scenes.  VMware is the foundation of the datacenters and the clouds of many Fortune 500 companies.  Genentech scientists research treatments for diseases.  If you have been prescribed one of the treatments that we make, just like you might not know what software forms the cloud for your company or what is in your bank’s datacenter, you might not look up the name of the company that makes a medical treatment.

At Genentech, I’m working on Access Solutions, which offers coverage and reimbursement support services for patients and health care professionals.  I’m here to understand and improve the user experience of Access Solutions.  I’m a week and two days in to this new role, and I’m only beginning to understand the complexity of what I’ve undertaken.

Why am I here?  The answer is twofold.  First, this role scares me.  It’s very different in every way possible from working on software.  Taking a role like this that scares me is an excellent way to get out of my comfort zone, apply my skills in a new area, and stretch my abilities.  Second, as someone with degrees in computer science and math who has spent 15 years working on software, it’s not often that you get this kind of opportunity to make a material impact on the lives of people when they need all the support that they can get.  I couldn’t turn this chance down.  And so, here I am, sitting in Genentech’s US headquarters in South San Francisco.

I don’t know where this role will take me.  I can’t wait to find out.