Instagram is dead

What a wonderful piece of writing by Om Malik:

It was a wonderful gathering place for photographers to showcase their work and build an audience. Not a day goes by when some photographer friend or the other bemoans how Instagram is no longer a place for photography. 

When I started out as a photographer-hobbyist a decade and a half back; Flickr was the platform where photographers form beginners to pro flocked and shared their creativity. I learned what mistakes I was making, composition, lighting and most importantly met people and have made life long friends. I was still on my blackberry which worked perfect to communicate and plan photo shoots but I always wondered, now that we have an iPhone, when will Flickr move to this new platform and bring this art to millions of more people.

Well, Flickr missed the boat and in came instagram and I was so excited to share my pictures and improve. But it looks like the platform that we all loved, is take a 180 degree detour.

What’s left is a constantly mutating product that copies features from “whomever is popular now” service — Snapchat, TikTok, or whatever. It is all about marketing and selling substandard products and mediocre services by influencers with less depth than a sheet of paper.

Clearly, instagram isn’t asking “Why” this product/platform exists, but are more focused on the “What”.


I recently moved to glass and so far it has been one of the best experience that I have had in a very long time.

IconFactory’s WorldWideWeb

I absolutely love IconFactory’s apps. I use at least 2 or 3 of them on almost a daily basis. Iconfactory’s developer Craig Hockenberry announced a new app recently and it home for me.

The Mac and Web have a long history together. From the very beginning, Mac OS X included the ability to run an Apache web server by clicking a Start button

About a decade ago, things started to change. Since then it’s gotten harder and harder to start a simple web server for testing HTML, CSS, and JavaScript. I eventually found a way to do it using AppleScript, but as Apple continues to remove open source components from its standard macOS distribution, this workaround isn’t likely to last.

It’s simple and yet powerful. Reminded me of my college and work days when starting an apache or IIS server and hosting your PHP application was the way to go about developing your app.

FYI, this works on macOS, iOS and iPadOS.

gqt

Off late I have been dealing with API at work and home, REST and GraphQL. Came across this fantastic utility today – gqt. It’s a simple GraphQL client, but runs in the terminal. Using this in Visual Studio Code’s Terminal is so helpful when you don’t have to switch windows while working.

Give it a spin.

Drama at Twitter continues… 🍿

Well, everyone wants to make sure they get a fair deal: Elon Musk says Twitter deal on hold pending details on fake accounts; shares sink 9%.

Elon Musk announced Friday that his Twitter deal is on hold until he receives more information about how many fake accounts there are on the social media platform.

In a follow-up tweet around two hours later, Musk added that he was “still committed to the acquisition.” Twitter’s stock plummeted 18% in premarket trading following the initial announcement, but trimmed some losses after the second tweet.

Ever since Elon Musk made his intentions clear, it’s been entertaining to watch this unfold.

The Hinderberg Research published an article: We See a Significant Risk That The Twitter Deal Gets Repriced Lower:

1. Nasdaq Has Plummeted ~17.6%, Implying A Twitter Price of ~$31.40 Per Share Without a Deal

2. Twitter Reported Weak Quarterly Results And Disclosed It Had Overstated Its Users (Again) Just 3 Days After Accepting Musk’s Offer, Suggesting Further Downside That Has Not Already Been Priced In, Should Musk Walk Away

3. Musk Indicated He Will Sell His 9.2% Twitter Stake Should a Deal Not Consummate

But, I did not expect this at all: Twitter CEO Parag Agrawal says he fired key execs due to ‘challenging’ economy.

Kayvon Beykpour, who’d been head of product at Twitter since the acquisition of Periscope fired off a few tweets when this news broke out.

Kayvan Beykpour had done a tremendous job and played an important role to set up a good product strategy for Twitter.

Bruce Flack the other executive who was laid off took very little time to update his Twitter Bio.

Not sure how Twitter Inc. is reacting to this decision.

mitmproxy2swagger

Came across an interesting library (or tool) – mitmproxy2swagger that reverse-engineers REST API just by running the web app and sniffing traffic in the background. Once you are done, the tool allows you to download a yaml file. Open up the file in Swagger and voilà! Beautifully formatted API endpoint. Can be useful to document API for your application.

Pretty fascinating.

The New York Times buys Wordle

New York Times buy Wordle:

Wordle was acquired from its creator, Josh Wardle, a software engineer in Brooklyn, for a price “in the low seven figures,” The Times said. The company said the game would initially remain free to new and existing players.

I’m very happy for Josh Wardle, especially after the twitter-verse got behind him to take down all the copy cats, but this news hits hard. Guess we will find out how much we pay to play this game once a day.

Emotional Intelligence – An example

Justin Bariso writing for Inc. on explaining emotional intelligence when reporters asked Tom Brady if he was going to retire after the Bucs lost to Rams last weekend:

Never make a permanent decision based on a temporary emotion.

Nice, short and simple read, but does extremely well to explain how not to be emotional when making decisions.

As product managers we tend to get attached to the products we build and work on day in and day out but it is very important to keep our emotions aside while making decisions.

Scaling with Process vs. People

Marty Cagan writing for SVPG on scaling your product with people instead of processes:

I loved reading this article particularly because he simply uses quotes from former CEO’s who have focused on people rather than processes to scale new heights for their product.

My favorite quote here is from Reid Hastings talking about Netflix:

“[The reason Netflix has been so successful is because it has] a culture that values people over process, emphasizes innovation over efficiency, and has very few controls. Our culture, which focuses on achieving top performance with talent density and leading employees with context not control, has allowed us to continually grow and change as the world, and our members’ needs, have likewise morphed around us.”

You need people to continue scaling your product which simply means creation of new software, hardware, service, etc

What’s in a Good Error Message?

I came across this great article by Gunnar Morling and have been wanting to repost this for a while… better late then never.

So what makes a good error message then? To me, it boils down to three pieces of information which should be conveyed by an error message:

Context: What led to the error? What was the code trying to do when it failed?
The error itself: What exactly failed?
Mitigation: What needs to be done in order to overcome the error?

The reason I find this article get is cause its coming from a Software Developer keeping other developers in context. I have worked as a Product Manager & a UX professional for several years now and Error messages is one of those areas which does not get much attention.

Its always at the back of your mind but other important aspects take over and error messages typically get overlooked.

Good error messages are important. When things go wrong, these error messages are the only communication channel between your software and customer. A good error message will allow your customer to recover well or submit a support ticket – and thats $ we are talking about.

The first comment by RossVertizan on this blog also has an important aspect for good error messages:

One thing that I would add is an indication of severity. Personally, I like to have every message preceded with a word which indicates the severity of the message

Killing a feature is also important

When it comes to adding a feature to your product, there are countless ways of doing this – and we still mess it up. However, when it comes to killing a feature there isn’t much out there.

As product managers we get excited to take the product to the next level with new features. But deep inside we know there are some features in your product that simply don’t work anymore. You are tracking your product with countless KPIs and metrics to see the health of your product, and its right on the dashboard when a feature isn’t getting clicks or for that matter appreciation (feedback). We either ignore them or simply stop tracking them.

Features that don’t work cost money to support. Worst, just by being present in the product they complicate workflows and risk distracting your users from their core tasks.


You may have heard your customers complain at times: “Your product is to complicated or bulky”. There is a high likely hood that there are features sitting in your product that isn’t being used that’s adding to this bulk and complexity.


Removing a feature isn’t simple. You can’t simply release a new version without a feature. You have to treat removing a feature the same way as adding a new feature to the product:

  • does the existing feature align with your overall product vision & strategy.
  • deprecating a feature needs user search, interviews and analysis.
  • deprecating a feature needs planning, included in the roadmap, and communicate with your users.

To decide if a feature needs to be deprecated:

  • check with your users what are they using to solve their problems instead of your feature.
  • did the feature miss the market?
  • the feature may solve a user problem but its unsustainable for you.
  • the feature solves a problem for a very small set of users, but its not a problem worth solving for you.

When deprecating a feature, communication and transparency is key. Ensure you have two set paths, i.e. End of Life (EoL) and End of Support (EoS) and there is sufficient time for the users (if any) to move to other options if they are using this feature.

To ensure a successful EoL and EoS,

  • remove the feature so that new users do not have access to this
  • de-emphasize the feature in the UI – out of sight out of mind.
  • suggest alternatives and help your users migrate

Lastly, make sure this is part of your continuous onboarding strategy, where you are communicating this to your users and helping them migrate through the EoL and EoS timeframe.