Tag Archives: Mobile apps

Why some apps and websites have never changed their user interface #DontFixWhatsBroken

The Google search “user interface” has been the same for over 17 years now. The simple text search box with a button for Google search and “I’m feeling lucky”. That’s it. Nothing has changed at all.

Feeling Lucky
Feeling Lucky

Same for iOS and similarly for Instagram, etc.

Media properties go through several changes every 12 to 18 months. Some even undergo changes more frequently than that.

Why do some websites and apps – Facebook, etc. change so often and have the users go through the pain of learning the new experience?

And why do some services NEVER change at all even after user feedback about their experience.

The basic user interface theory suggests that once your user / customer knows how to make something work, they like it and get used to it. After that it is hard for them to change. Many of your users may not even like the change, since it forces them to learn new things and be productive at the same time.

I have a theory of User interfaces, which is just a theory, but I’d love contrasting opinions on this. I believe that most users dont care about the User interface. They care about the experience and want it to be seamless, easy to understand and simple.

Which means, they expect the complexity to be hidden.

As an example the search input for Google has not changed, but the response pages have dramatically changed over the years.

From a simple list of blue links, now, Google provides contextual and relevant information.

That means the search engine has changed a lot (in the back end), but the complexity is largely hidden from the user.

Which is the reason why most apps in the future wont have a User Interface is my belief.

The user interfaces we know of are mostly there or will be there soon. Learning new interfaces will take us a long time.

A combination of micro services and service based apps, will result in the death of mobile apps and pretty much most apps.


The input elements for apps will likely be questions (business apps) or statements (communications) via voice, gestures, etc.

The output elements will have multiple levels of detail (overview, specifics and detail) and while I think they will evolve, they will start to coalesce around the known.

I’d love to know if you think I am wrong.

What has changed for developers in the last 20 years

I asked this question on Hacker News last week to understand the shifts in software development over the last 20 years. From 1995 to 2015, there has been a dramatic change in the developer ecosystem. I thought I’d summarize all the changes and try to make sense of the trends. In this post I am only going to focus on the identification of the trends, as opposed to the analysis. I would love your thoughts on trends I may have missed.

1. The rise of open source options: In 1995, there were about 5 open source languages for the web including Perl. Now there are over 100 languages including Ruby, PhP and Javascript.

2. Plethora of libraries and frameworks: From < 10 libraries and frameworks to over 200 (Bootstrap, Javascript frameworks, etc.) The only libraries available in 1995 were those for Javascript. Today, there are over 100 libraries and frameworks for Php alone.

3. From waterfall approach to development to Agile: Most early software development was based on Requirements -> Design -> Architecture -> Development -> Testing -> Release. Now with agile methodologies being followed by many development teams, we are seeing a rise of faster release and in many cases daily releases.

4. Client-server application development to Web apps to Mobile apps: The overall changes are from PC (dekstop / laptop) client software to web applications and now to mobile applications. We have gone from native clients to browser based apps back to native mobile apps all over again.

5. Phenomenal rise of consumer apps, thanks to mobile : Personal finance (Intuit), to 1+ Million consumer apps thanks to mobile. PC’s were largely (90%) used for “work” with few consumers having home PC’s. The home PC’s rose thanks to the web, but now everyone has a mobile phone. Which has led to a phenomenal increase in # of consumer apps, not just business or productivity apps.

6. Increased availability of application level API’s: From providers such as Facebook, Twitter, and others on programmable web. The abstraction of core API’s from just Operating system SDK’s to application level API’s has made the move for apps to be built on the next level of the application stack.

7. Ease of looking up coding examples, tutorials and sample code: Thanks to Stack Overflow and Github, there are many more samples, code snippets and examples that developers can use to be more productive quicker.

8. Rise of coding / hacking schools: From no programming skills to employed developer in less than 6 months. Most developers, 20 years ago, needed to have an education in Computer science, before they could code. With the rise of frameworks and libraries, along with higher level languages, there has been a significant rise in number of coding schools and bootcamps to get anyone with any degree be a developer in less than 6 months.

9. Increase in the number of indie developer (solo): With the rise of consumer mobile apps and mobile games, there has been a significant rise in # of solo developers who are able to make a living based on building applications for niche audiences.

10. The change in market share of complied versus interpreted languages: 20 years ago, most programs and applications were compiled (C, C++) and the share of interpreted languages was small. Now, with Javascript Ruby and Php taking the forefront, most applications are interpreted not compiled. The only exception is mobile apps – which are still compiled.

11. The rise of DevOps: Developers are now being asked to not just build and architect, but also release and push their apps to production. Roles that were previously performed by specialized system administrators and release engineers are now performed by the software developers themselves.

12. The fall of software testing: More developers are also being asked to test their own code and software applications, instead of handing off the testing to a separate team.

13. The changes in app distribution – App Stores: Discovering, installing and using apps is a much more smoother and easier process now than before thanks to App stores.

14. The availability of Cloud infrastructure for app development: The biggest change for developers over the last 10 years has been the rise of AWS and other cloud services, which allow developers to provision, build and deploy instances and machines much faster than 20 years ago.

I’d love your feedback on the relative ranking of these trends and if I have missed any trends I’d love your feedback on those as well.