Thursday, June 12, 2025

Saving Humanity and Social Media?

By: Alon Cohen Jan 21st, 2025

Updated: June 12, 2025

Aggression on Social Media.


Humans often exhibit more aggressive or hostile behavior on social media compared to face-to-face interactions. We recently witnessed a public demonstration of this when one of the two most influential individuals on earth decided to poke the other over social media. This phenomenon of out-of-character over-aggressiveness is happening for several reasons:


Anonymity and Disinhibition: Social media platforms offer a layer of full or pseudo-anonymity, allowing users to feel less accountable for their actions. The reduced accountability phenomenon, known as the "online disinhibition effect," diminishes the social cues and immediate feedback that are present in in-person conversations, such as facial expressions or tone of voice, which ordinarily moderate behavior. Without these cues, people may feel freer to express harsh or critical thoughts without immediately seeing the impact on others.


Distance and Lack of Consequence: The physical and emotional distance provided by online communication means no immediate personal consequence to hurtful words. In face-to-face conversations, you might see someone's reaction, feel empathy, or face social repercussions, such as losing respect or damaging relationships. On social media, the immediate impact is often not visible, and the consequences can seem less tangible or delayed, which can embolden people to express themselves more harshly.


Deindividuation: When individuals are part of a large online community or mob, they may experience deindividuation, losing their sense of personal identity and feeling less responsible for their actions. This can lead to behavior that is more in line with the group's norms, which might be more aggressive or dismissive on platforms where such behavior is typical.


Echo Chambers and Group Polarization: Social media algorithms often create echo chambers, where users are primarily exposed to similar viewpoints, which can lead to group polarization. In these environments, individuals might feel validated in their harsher opinions because they see others expressing similar or even more extreme views. This can escalate the tone of discourse as users attempt to stand out or gain approval within their echo chamber by being more confrontational or provocative.


The Need for Attention: Social media thrives on engagement, and controversially harsh comments often garner more attention or reactions than polite or moderate ones. For some, pursuing likes, shares, or even notoriety can drive them to write in a way that's more likely to provoke a reaction, even if it's negative. The platform's reward system can inadvertently encourage this behavior by highlighting contentious content, thereby reinforcing it.


Instant Gratification and Impulse Control: Social media allows for immediate expression of thoughts without the time for reflection that might occur in person. This can lead to impulsive comments in the heat of the moment, which might not reflect one's true character or usual manner of discourse. The immediacy of posting can bypass the typical social filters that would moderate speech in real-life interactions.


These factors, when combined, create an environment where harsh comments are common.

Is that bad for humanity?

While there might be some scenarios in which harsh comments could lead to positive outcomes, the overwhelming evidence suggests the opposite. The potential benefits are often overshadowed by the damage they can cause to individuals' mental health, societal cohesion, and the quality of public discourse.  The consensus suggests that harsh comments are not helping humanity, particularly when they contribute to a climate of fear, misunderstanding, or hate. The challenge lies in maintaining open, honest communication while promoting kindness and respect.


Addressing the challenge


Social media platforms can implement a few measures to help address the challenges described that can help reduce the “temperature” in regular Social Media discourse.


Implementing some or all of the solutions described below could be a good starting point.


  1. THE UPLOADED PICTURE:
    If possible, require people to upload a verified picture to reduce anonymity.


  1. SHOWING THE FACE OF THE OTHER SIDE:
    Show the commenter, on the same screen, the picture of the poster on which they are commenting. This base-level feature can help signal commenters that they are responding to a REAL person on the other side.

  2. SHOW HOW THE OTHER SIDE FEELS:
    Let's take it to the next level. We can take the verified, loaded image (as the user uploaded it) and derive other images using AI that reflect that person's range of emotions. Users should also be able to upload their emotional photos if they like.




Emotional faces

As the commenter writes the response to a post, the AI analyzes the dialog and the comment's sentiment (text or emojis - see sample UI below) and shows the commenter a realistic image (as possible) of the poster, that reflects the most likely feeling of the poster if they read that comment.

Given the set of ready-to-use “emotional images” created at image upload, there is no need for any real-time processing besides the text sentiment analysis and selecting the corresponding image.


Using this method, the commenter will see if the poster’s image changes to angry, sad, crying, etc., based on the sentiment in the comment that they are writing in real-time. The assumption is that most people (i.e., commenters and posters) would be more aware and less harsh if they realized, by looking at that instant emotional image feedback, that they would be inflicting emotional pain on the reader. 


This process works on both sides: the Poster’s and the Commenter's sides.


  1. PREDICT THE OUTCOME BY SIMULATING THE BACK-AND-FORTH TEXT:
    The third level involves having the AI display possible back-and-forth sentences a few steps ahead and assess whether the result, after a potential escalation, is beneficial or detrimental to either side, i.e., the poster or the commenter.



Sample UI


Sample UI to cool down social media.

Conclusion


The solution outlined above aims to cool social media without censorship. It is designed to address and alleviate the problem of harsh comments and harmful escalation on social media platforms.

The solution aims to address the psychological aspects of online interactions. We can perfect the concept by taking into account the following elements:


Privacy and Consent: The above solutions must be implemented with robust privacy policies and user consent mechanisms. Users should have some control over their image set and need to agree to load and display larger images, although results may also be achieved by displaying emojis.

Cultural Sensitivity: Responses to these features may vary widely across different cultures. Differentiated deployment of the feature can prevent bad reactions in certain cultures.

Technical Feasibility: The AI systems can run locally on the device to handle sentiment analysis and behavior prediction accurately across diverse human emotions and expressions. The speed at which the AI is progressing and local device capability might make this task more straightforward than it seems.

User Adoption: For these features to be compelling, they must be user-friendly and not intrusive or manipulative.


In conclusion, while these solutions offer promising avenues to mitigate toxicity on social media, they require careful implementation, ongoing evaluation, and possibly adjustments to strike a balance between effectiveness, ethical considerations, and user rights.


What do you think?




Wednesday, June 11, 2025

Beyond Sprints: A New Approach to Efficient Software Development

Beyond Sprints: A New Approach to Efficient Software Development

By: Alon Cohen & Grock

Date: June 9th, 2025 (published two days later)

In my earlier blog post, "Do You Prioritize or Multitask?", I examined the drawbacks of rigid prioritization and the necessity of effective interrupt handling in software development. I argued that an obsession with "first priority" tasks often leads to tunnel vision, where developers neglect broader team needs, slowing down the entire organization. Since writing that post, I’ve observed another common practice that exacerbates these issues: the sprint-based development model, or as some call it, a religion. While sprints are a cornerstone of Agile methodologies, my experience suggests they can hinder efficiency, extend project timelines, and create silos within teams. In this post, I propose a new approach to project management that replaces sprints with a continuous task pool, emphasizes daily releases, and prioritizes organizational collaboration over individual task completion.
The Problem with Sprints
Sprints, typically spanning one to two weeks, are designed to focus teams on a set of tasks to deliver incremental value. However, in practice, they often lead to unintended consequences:
  1. Undercommitting to Tasks: Developers, wary of overpromising, tend to select fewer tasks than they can realistically handle. This cautious approach stems from a desire to ensure all tasks are "completed" by the sprint’s end, but it reduces overall throughput. As Parkinson’s Law suggests, work expands to fill the time available, meaning tasks often take longer than necessary simply because they’re constrained by the sprint’s artificial timeline.
  2. Resistance to Interruptions: Sprints discourage handling unplanned work, such as fixing bugs reported by other teams or addressing customer issues. Developers, focused on their sprint goals, view these interruptions as threats to their deliverables. This creates friction between teams, slows down responses to critical issues, and ultimately harms the customer experience.
  3. The "First Priority" Trap: As I discussed in my previous blog, the phrase "first priority" is often weaponized to justify ignoring broader team/company needs. In a sprint-based system, developers usually use this excuse to avoid collaborating with other teams or assisting colleagues, thereby further isolating efforts and reducing organizational efficiency.
These issues compound over time, leading to delayed projects, frustrated teams, and a culture where individual task completion takes precedence over collective success. There has to be a better way.
A New Model: Continuous Task Flow and Daily Releases
To address these challenges, I propose a new project management model that eliminates sprints, fosters collaboration, and aligns development with the organization's overall needs. Here’s how it works:
  1. Continuous Task Pool: Instead of locking tasks into fixed sprints, maintain a prioritized pool of tasks that developers draw from continuously. Tasks are categorized by urgency and impact (e.g., customer-facing bugs, new features, technical debt, revenue generation). Developers select tasks based on their skills and the organization’s immediate needs, ensuring flexibility and responsiveness. This approach eliminates the artificial boundaries of sprints and encourages a steady flow of work. There is also no need to include time buffers.
  2. Daily Releases (When Possible): Aim to release code to production daily, or as frequently as feasible. Daily releases enable QA teams to test and perform regression testing incrementally, catching issues early and reducing the risk of large, error-prone deployments. This aligns with the principles of Continuous Integration and Continuous Deployment (CI/CD), ensuring that code is always production-ready and customer feedback is incorporated quickly.
  3. Prioritize Organizational Efficiency: Redefine a developer’s "first priority" as helping the organization function at its highest efficiency. This means assisting other teams with urgent bugs, mentoring colleagues, or addressing customer issues, even if it temporarily delays individual tasks. By fostering a culture of collaboration, teams break down silos and ensure that the entire development pipeline—from coding to deployment to support—runs smoothly.
Benefits of the Continuous Task Flow Model
This model offers several advantages over traditional sprint-based systems:
  • Increased Throughput: Without sprint boundaries, developers work at a sustainable pace, selecting tasks that match their capacity and the organization’s needs. This reduces the tendency to undercommit and ensures more work is completed over time.
  • Faster Issue Resolution: By prioritizing collaboration, teams respond to bugs and customer issues promptly, improving customer satisfaction and reducing bottlenecks across the organization.
  • Improved Quality: Daily releases and incremental testing enable QA to identify issues early, increasing coverage and thereby reducing the likelihood of major defects slipping into production. Regression testing becomes a routine part of the process, rather than a last-minute scramble.
  • Enhanced Team Cohesion: When developers prioritize helping others, silos dissolve, and teams work as a unified whole. This fosters a culture of mutual support and shared accountability.
Implementing the Model
Transitioning to a continuous task flow model requires careful planning and a cultural shift. Here are some steps to get started:
  1. Set Up a Task Management System: Use a tool like Jira, Trello, or Linear to create a centralized task pool. Ensure tasks are clearly prioritized based on business needs and tagged with relevant metadata (e.g., urgency, team, skill set).
  2. Establish a Release Cadence: Work with QA and DevOps to enable daily or near-daily releases. Invest in automated testing and CI/CD pipelines to streamline the process and minimize manual overhead.
  3. Redefine Success Metrics: Move away from measuring individual task completion or sprint velocity. Instead, track organizational metrics like cycle time (from task start to production), bug resolution time, and customer satisfaction.
  4. Foster a Collaborative Culture: Encourage developers to view interruptions as opportunities to contribute to the organization’s success. Reward team members who go above and beyond to help others, and celebrate collective achievements.
  5. Iterate and Improve: Start with a pilot project to test the model. Gather feedback from developers, QA, and other stakeholders to refine the process over time.
The Continuous Task Flow
The continuous task flow model builds on the idea of removing the rigid structure of sprints and empowering developers to make dynamic decisions about what to work on next. It is also encouraging focused work on one task at a time, but remaining open to helping others when needed.
Conclusion
Sprints, while well-intentioned, often create inefficiencies that slow down development and fracture teams. By adopting a continuous task flow model with daily releases and a focus on organizational efficiency, we can create a more responsive, collaborative, and high-performing development process. This approach aligns with the realities of modern software development, where adaptability and teamwork are critical to success.

I’d love to hear your thoughts on this model. Have you experienced the downsides of sprints in your own work? What strategies have you used to improve development efficiency? Share your insights in the comments below, and let’s start a conversation about building better ways to deliver software.