360iDev: What is the Soul of an App?

360iDev: What is the Soul of an App?

The theme behind the 1982 Movie Tron was that programs reflect the programmer who wrote them, a bit of their user's soul makes then what they are. I thought about that Monday while attending sessions at 360iDev in Denver. While I could have gone to technical sessions, I went to the softer sessions. At the afternoon keynote, speaker Mike Lee brought Tron back in my memory with a presentation Growth the Destroyer. Towards the end of his presentation he challenged the audience if growth as the overall achievement of success would not only take our reputation, but our souls.

That ending for Monday, the first day of 360iDev was summed up for the first day of sessions and what soul we put and lose in developing apps. This is an unconventional convention as I've written before. I'm listening to Moving Right Along by the Muppets as the music before the 2nd day keynote session. Lighthearted as that is, there a seriousness to the themes I saw here. I can sum it up with that question: What is the soul of an app?

The sessions I attended Monday, both technical and nontechnical has that as themes. For me the theme started with Michael Sacks' With Great Power Comes Great Responsibility. He started with an impossible challenge for this audience: shut off all devices for a whole day. His talk continued on two lines: how B.F. Skinner's Behaviorism and the optimization of it has lead to an addicted connected culture. That is primarily to the benefit of the large organizations collecting data and advertising to us on platforms. These organizations are using that data to addict us more and to sell product, yet they are not releasing data that could be used by others in research to make other, better outcomes for people, such as achieving a balance between online and offline time. Then came the incredible talk by Neem Serra Being a Cupcake in A Doughnut World. That talk discussed unconscious bias, starting with a simple case of bringing donuts to a morning business meeting where some might like cupcakes, though many people assume everybody likes doughnuts. The talk challenged assumptions, and showed how some systems might promote unconscious bias. Unconscious bias and poor testing of apps without a large and diverse enough test group can end up with a poor user experience for the app. Serra gave one personal anecdote about user experience: a kiosk she helped design using the camera in an permanently mounted iPad was installed too high for her to appear on camera when using the app. Following that I gave my talk, so I saw no other sessions in the morning, but after lunch I went to the session From IOS To IOT: The Experiences Of A Software Guy Building Hardware. Ben Lachman converted both his developer hat and his passion for conserving energy to making a new hardware product to monitor electrical use in the home. After a presentation on the current situation in high schools teaching coding by Jessi Chartier, was the afternoon keynote speaker, Mike Lee and his thesis our obsession with growth is actually destroying everything.

Many of these sessions, except Mike Lee's keynote, were poorly attended. As many probably ask, why are these important to app developers? Should't it be all technical sessions? There's a few answers to that question, and I like Neem Serra's answer as a good starting point. First impressions count, and they are a double edged sword. You might prejudge a person by their appearance, gender, or skin color, and treat them permanently different. But you also judge an app on first impression the same way. If your first experience with an app is a bad one, or offensive to you, you won't use or buy the app. As someone who is color blind, apps that rely completely on color never grace my phone. Apps that require a lot of dexterity due to some neurological disabilities mean I don't do arcade games, nor will you find many on my phone. If I am frustrated the first time I use an app, I'll probably delete it. I suspect most people do. Thinking out the details that don't exclude audience means more people will buy an app.

Yet the bigger issue is the soul of an app. Tron is right. We as developers import our soul, our attitudes, biases and admittedly our ignorance to an app. When developers fail to focus on the welfare of the user, it's not good for anyone. This can fail at a very early stage, as Jessi Chartier stressed in her talk about high schools. Perception of what programming is must come from experiencing programming, not by teaching abstraction about programming. It's like teaching Mozart without listening to music. One might not love programming or one might not, but either way what programming is and is not becomes clear. Once one knows what programming is, one can write apps to one own voice and personality. There are many voices that get silenced, she argues because the system is biased towards only one kind of learning, and at that age one type of student tend to fit in that category of learner. If you get the basics done, you find those students that would have been excluded due to more traditional learning have incredible ideas from their experience.

If they get past the coding and programming, there comes new dilemmas. We can work for others, such as Facebook or Twitter, making things that do not reflect us. Those thing as Michael Sacks brought many of these big producers use optimized random-reward systems to keep us addicted to our devices. Developers could be a startup, but I'm with Mike Lee here in his definition of a startup: A pig waiting to be slaughtered. A startup is somewhere that is fattened up with a lot of money to be bought out by a bigger company for more money. Is there anything that change the world for the better there? Is the more money destructive to an intrinsic culture, as Mike Lee described as the internal battles at Apple between the Mac teams and the Phone teams, or as Mike did not remark on, from the same replacement and marginalizing of the Apple II teams by the Mac teams? Both are growth, but in either case was Apple better for it? As we build apps, are we building thing to make both users personal space and the world at large better like Ben Lachman?

I've been trying to come up with answers that fit easily into a column, like a simple happy ending to a Disney movie like Tron. Yet I can't. Maybe that's the point. These sessions were not about answers like their technical cousins here at 360iDev, but to leave us with the questions we will need to answer for ourselves when we plan and code apps in our daily lives. It is not to just have an answer, but to keep asking the questions.


Steven Lipton is the mind behind makeapppie.com for learning iOS app development. He is the author of several books on iOS programming and development. He is also a LinkedIn Learning and Lynda.com author. His latest courses are Advanced iOS ApplicationDevelopment:Core Motion and Learning Swift Playgrounds Application Development




Silvia .

loving live . that part

7 年

does an app have a soul? from lazy "soul-less" mentality? oh.... sorry, you are not talking about those ones.

回复
Dan Bertrand

Leverage the Full Potential Of RapidResponse Automation

7 年

Great article! I agree that "soul-less" apps come from multiple sources. Some are intentionally designed as parasites that latch on to consumers harvesting data while others are the unintended consequences of a lazy code-to-spec mentality (severe lack of attention to detail/consequences). There was a brief period in past years when software development educators encouraged psychology courses along side programming courses (...not to manipulate but to create a better design to SERVE the user...). It's great to see that this is finally returning to our profession.

要查看或添加评论,请登录

Steven Lipton的更多文章

  • Predicates and Predicate functions in HANA

    Predicates and Predicate functions in HANA

    #Bizoneness: Over the last few newsletters, we reviewed functions in HANA and their SQL equivalents. Our last in this…

  • LucaERP part 5: Building A Form

    LucaERP part 5: Building A Form

    In this series of biweekly columns, we're building an ERP from scratch, starting with the general ledger. We've learned…

  • BizOneness: Aggregate Functions in HANA

    BizOneness: Aggregate Functions in HANA

    #HANA #Bizoneness Over the last few newsletters, we've been looking at the basics of HANA. This time, I'd like to look…

  • LucaP: The Anatomy of User Interfaces for ERP

    LucaP: The Anatomy of User Interfaces for ERP

    #LucaP In the last installment of building the LucaP ERP, we discussed the part of the general journal. We have yet to…

  • Bizoneness: Common SQL and HANA types, Operators, and Functions

    Bizoneness: Common SQL and HANA types, Operators, and Functions

    Bizoneness: Common SQL and HANA types, operators, and Functions #Bizoneness #HANA Two weeks ago, I wrote the first of…

    1 条评论
  • LucaP ERP part 3: Adding General Journal Entries

    LucaP ERP part 3: Adding General Journal Entries

    #LucaP *Note:As I've gained a few followers and subscriptions in the last few weeks, I want to remind everyone that I…

  • Bizoneness: Introducing HANA

    Bizoneness: Introducing HANA

    #Bizoneness While I had planned something about the General Ledger for this newsletter, circumstances changed, so I'll…

    3 条评论
  • LucaP ERP part2: The Chart of Accounts

    LucaP ERP part2: The Chart of Accounts

    #LucaP #ERP In the ERP application, we have established credits and debits on a ledger with the five major accounts…

  • The Bizoneness Migration Guide

    The Bizoneness Migration Guide

    #Bizoneness Data migration is taking data from one source and merging it into another source. If you're very lucky, it…

  • LucaP ERP Part 1: The Basic Equation

    LucaP ERP Part 1: The Basic Equation

    #LucaP How do you start to understand the workings of an ERP system? By making one. In this biweekly column, we’ll make…

社区洞察

其他会员也浏览了