Archive

Archive for the ‘DNA’ Category

Invisible design

January 17, 2013 Leave a comment

Late Steve Jobs once remarked about design,

Most people make the mistake of thinking design is what it looks like. That’s not what we think design is. It’s not just what it looks like and feels like. Design is how it works.

A lot of people repeat it, but do they really know what they are talking? Specially in today’s IT corporate filled with phony jargons like “innovtion”, “cutting edge”, “out of the box”, etc. coming specially from the most rigid (always thinking inside the box) guys from the top management.

Well, pet peeves apart.

Coming to the point, why am I writing this post today? Because, its been long since I wrote and I have been meaning to resume blogging lately. And today, when I completed a critical ‘invisible design’ as a part of a mobile app I am developing, I thought its worth sharing.

A part of the app that I am developing involves uploading large files from mobiles. Large files, low upload speed phones#, low bandwidth, spotty data connections on mobiles, failed uploads, restarted uploads, etc. sounds a ring? Well, the straightforward and naive way to do that would have been to ask the user to chose a file and try to upload it. If anything fails, just tell the user and let him take a call or just silently restart (from scratch) the upload when data connection is available. Well, what if it fails again? How many times the user driven or the automatic restart will happen? Will the large file ever get uploaded?

#Most mobile phones, including smartphones usually have low upload speeds as compared to download speeds. Even in most middle end phones with the so called 3G speeds, they only mean high download speeds (HSDPA) and not upload speeds (HSUPA)

If upload does not sound a ring, then think download. What if your torrent downloaders did not offer resuming of a download and only allows restart (from scratch) of the download ? Will your favorite movie ever download if your connection is spotty, or your router SNR is high, or the router had a power cut, etc.? Did you ever observe that ‘ordinary’ (taken for granted) thing? Ask older (1970’s and 80’s) folks from the computers world, they will tell you how dowloaders worked back then.

You can say that is a feature (developers will say architecture) of the torrent software, but I say its design too.

Now think of a solution to that upload from mobile problem, wherein the client (the mobile app) uploads the data in small chunks and both client as well as server (where files are uploaded) are stateful with regards to the amount (chunks) of data uploaded. If the data connection drops somewhere, the client can communicate and negotiate with the server on where to resume the interrupted upload. That saves the trouble of manual or automatic restart, saves resources, time and simply get’s the job done. But do you ever observe such ‘ordinary’ things (which just get the job done), besides the user interface bells and whistles, in apps that you use? I guess not.

No, I am not showcasing any innovation, the concept of chunked upload is very much existent and referred with the same name in the tech industry, ‘chunked uploads’, but its like talked a lot, implemented a little. The point that I am trying to make today is that there is much beyond what you see in an object (specifically app/site) that you use, which makes your life simple. Observe it!!

SC20130117-194333

Hat tip for developers: Empathize, eat your own dog food, sink yourself in your end-users’ shoes and see what they see, feel what they feel, you will understand the deeper meaning of design, specially the invisible one, and you will start making better software (I am hopeful that you are making good software already, you just need to make it better).

P.S.: I am thinking to release the chunked uploads Android app code (Java) and server code (Python/Django) as an open source code on github soon, *if I get enough free time*.

Advertisements

Anyone who has started, will start, or wants to start a startup MUST watch this video

October 18, 2012 Leave a comment


source: venturebeat



The quote I like the most is:

‎”You’re gonna screw up. If you’re gonna go fast enough to succeed you’re gonna make mistakes. If you are not making mistakes you’re going too slow, you will never win. And it’s all about how you deal with those mistakes, it’s the key.”
— Dan Levin, COO, BOX.

How to establish culture in startups [with a workable template]

August 30, 2012 Leave a comment

I am in the process of getting my next venture up and have been talking to people to join me as founding members. Most of them are just not interested, even to explore. The one’s who are interested are either not a skillwise-fit, or want to do it as consultancy or just as a help. The one’s who are really interested, have their own set of nuances, like each one of us does (even I do). The question that confronts me is – should I put up with their nuances and work with them?

My answer to myself is : yes and no

Yes, on the personal side of things. It should not matter to me how the person handles his personal life and I should either accept it or keep no personal connection with him. The latter is hard when you are just two people on a boat. So I should just let his personal life be. e.g. if he eats with two hands and his mouth chomping the food like a cow, just let it be.

No, on the business side of things. I should not let any of his (or mine) nuances play foul with the business.

The way I have done it is, write the DNA/basic-principles/guidelines/values for the company. Each person who shall work for the company should either align with the values of the company or be left out (or fired like a liability if required be).

While writing the values document for my own venture, I thought that it might be useful for others too and decided to contribute it to pluggd.in – “India’s Largest Platform for entrepreneurs and Small Businesses” along with a workable template.

You can find the post here

The template can be found here.

%d bloggers like this: