The Mindful Coder

Code, yes. But think about it a little first.

Archive for the ‘Fundas’ Category

Weird money

leave a comment

This falls outside the usually technical or at least tech related nature of my posts. But it’s something I don’t understand and I’m intuitively taking a very technical approach to learning about it.

L_100

I cannot comprehend finance. I truly cannot. I can build and understand complex software + network architectures but finance is a mystery to me and I always have felt pretty ‘thick’ when I hear my much younger cousins discussing their killing on the stock market or the latest ETFs or ask me about my portfolio (what portfolio?). If you are reading this, cousin PK and you thought we had an intelligent discussion, it’s because I am an amazing faker – it’s unfair that I can never list that on my otherwise hollow looking linkedin profile.

I have started looking into this new world of finance and don’t quite like what I hear. I have never been able to make purely profit based judgements of any matter big and small and this is getting to be an issue with the financial system as well. What does it produce? How can you create nothing but be able to make the most money in it? Simply put, how can money ‘create’ more money without any intermediate product or step as an outcome as well?

I need to start at genesis if I have any hope of understanding a subject and so I have started at the beginning – or atleast a recent beginning and this shit is crazy. In my mind, there is no such thing as perpetual energy – you cannot produce or consume anything without a by product or cost. But the last 30-40 years has seen the emergence of what is called ‘Financial Innovation’ or ‘Financial Engineering’ – which has made made possible producing money from money without any actual product involved!! How neat. Not really. That neatness has apparently translated into the global chaos we see now.

Co-incidentally, I listened to the ‘How money got weird‘ podcast on NPR’s Planet Money this week and something clicked for me – I wasnt the only one who thought this stuff would be funny if it didn’t basically mean armageddon. Apparently many people have clued into this a long time ago and I am just discovering it now because I am new to the subject.

Also watched Inside Job on netflix yesterday and it only re-iterated the ‘this stuff is ridonkulous’ message.

If so many ‘experts’ think it is fucked up now, how the fuck did we get into this mess??

Both Planet Money and Inside Job featured a commentator Satyajit Das – who seems to be one of those crucial spectators of the last few decades who both participated and observed the transition of Financial services from a service industry to a primary industry and is able to lucidly document and talk about it.

I just bought his latest book ‘Extreme Money‘ and it’s proving to a fascinating read as well.

So…I have totally digressed from my original goal of understanding the financial system so I can ‘diversify’ my portfolio (I’m just copying what my nouvea rich friends say). But this is far more interesting than making money any day – or at least till the day when I find my bank account empty again.

Also, I have a certain revulsion – immature according to my father – to making money without creating something or at least producing something. Far away from what I am learning about the global financial system, perhaps the stock market is about showing faith in companies that produce and helping them produce by investing in them. I hope so. But that doesn’t explain what many people around me do – this thing called ‘day trading’. What’s that about?

I’ve been told that my general engineering/knowledge-based approach to life and knowledge of various verticals makes me a potential money-spinner. When I hear that, I sit back in my chair, cross my legs,  nod sagely but don’t reveal that I don’t even know where to begin – or if I want to. I don’t know but I am slowly cluing in and I recognize right now is that I need to understand this stuff a little more before I can even know if this is something that produces value.

Any gurus who can help me fast track my enlightenment so I can get started making money? Or I could just stick to my plan, work 20 hour days and create a company that makes me a lot of money (or not).

OK, must listen/watch list from this post:

  • Last week’s Planet Money podcast ‘Wierd Money’. Planet Money, This American Life and in general most NPR podcasts are delicious listens. Their accompanying blogs are equally tasty. Must must subscribe if you are a podcast sort of person. If you are not, these podcasts are a great introduction to podcasts.
  • Extreme Money, the movie. If you are on Netflix (Canada), you already have access. If not, go to your neighbourhood Blockbuster. Oh wait…(Snap!).
  • Another generally top notch and related podcast – Freakonomics radio.

Written by The Fat Oracle

October 8th, 2011 at 6:03 pm

Posted in Fundas

“White labeled” solutions – Grow up because your customers have

leave a comment

Heads up: I banged this post out after my morning pot of coffee so the thoughts are cluttered, I ramble and I repeat myself. I have a lot more to add here and I aim to put forth my opinion on the subject in a much more concise and refined form going forward. Look for future posts on the subject as I want to delve deeper …much deeper.

I recently visited a fairly well known agency/vendor at the request of one of our business partners who wanted to look at a mobile solution that the agency was working on that kind of intersected with the line of business our partner was in.

The solution, the agency made clear was quote, a ‘white-labeled’ mobile solution that they were trying to sell to not only our business partner but also to others in the same business domain. Fair enough. I immediately started asking what I thought were obvious questions regarding the points of integration and customization with our business partner’s existing mobile product. It quickly became obvious that ‘white-labeling’  to the agency *merely* meant that the UI could be customized – and that too only to the extent of changing the branding, colors etc. There were no other integration points – no API, no integration SDK, no ability to change layouts of the UI, no ability to choose components of the product and create a workflow that could be integrated with the client’s existing solutions. Which is also ok – as long as it’s part of your product roadmap. No, just the ability to make shallow changes to the UI and that was labeled white labeling. The obvious void in the room was not even visible to them. Nobody was thinking of building a platform, just a “take it and go” solution.

Another aspect I noticed was this. The engineering/technology lead I talked to seemed very talented and knowledgeable. He seemed to know the mobile space, the technologies established & emerging and seemed to have an overall solid engineering head on his shoulders. However, the roadmap the agency had for the product did not even plan for advanced customization points – why were they not even thinking of an API, a client SDK, of vertical integration??? Why was this not even obvious to them that a white-labeling should mean building a platform, not changing colours.

My opinion – this was the case because the agency’s product was being dictated by the marketing team, by marketing strategists – who would never be able to fathom that building a platform is a money making machine. Key take away: Product managers and architects need to step up and educate the marketing/sales teams on what a platform should be. In this day and age, there is no excuse when you have a roadmap that doesn’t even think about building a platform and has a feature set that’s shallow and dictated by the ask. Your job, dear Product Managers and Architects is to help your sponsors understand what they are asking for – not to do what is asked. Pick up your game. 

When they start talking to their clients’s teams, it will emerge that allowing for the ability to tweak the UI is not going to be good enough. A shallow approach to a white labeled solution will initially appeal in the early marketing discussions but will quickly sink in the advanced conversations when the ill-fit with the client’s own technology or program strategy will become obvious.

  • Allowing clients to differentiate is critical. At the end of the day, a very good solution that the client may be interested in will die because you did not built a true “white labeled” solution, a platform. You built a facade and that’s just not good enough in this day and age. If your product is going to be used by multiple clients – many of whom may be competing with each other – you solution must allow for a way for clients to differentiate their feature sets by either
    • customizing the experience (note, I did not say UI),
    • extending your feature set by plugging in their own ideas
    • plugging in their own content which would be different and exclusive to them.
    • Integrating your feature set or only features of value to the customer into the customer’s own products.
  • White labeling does not mean skinning the UI. This agency’s solution in particular provided very limited UI customization but even if it did, it cannot stop at the UI.
  • Try to keep in mind that many clients already will have their own mobile or digital products and roadmaps. They have advanced programs, knowledgeable engineering and strategy teams that have thought through their technology platforms and digital touch point strategy. Your goal should be to come up with an offering that fits into that planning and program. Your product should be geared towards integrating with the clients solution instead of insisting on having your product offered as a separate offering from the client. You will get stronger buy-in and less friction if you position your product as a solution that seamlessly merges into the client’s programs (important to the marketing strategists) and architecture (important to the technology group).
  • In way too many such discussions and much too often when I ask how can I (the client) customize the solution, what I hear is “We will do it for you or we can work on coming up with a price that will including customizing xxx that you are asking for”. I am not asking you to customize anything. I am asking if your solution will allow me to take what you have an offer and customize it myself without depending on you or paying you for it. If you want me to adopt your solution long term, I don’t want to have to come to you or pay you whenever my future direction changes or I want to add a feature.
  • When you start with the goal of building a white labeling solution, you will kill your product even before its launched if you misunderstand it as “Oh look, I will allow you to change colours and your logo”. Grow up because your customers have matured. They understand that beauty is more than skin deep. It’s what on the inside. White labeling should basically mean a platform. A platform means
    • Being able to customize workflows of your product – including the ability to interface parts of your product workflow into the client’s existing product’s workflow
    • Being able to extend the UI and UX based on the client’s branding guidelines, human interface guidelines (especially important on multi platform experiences), and UI archictecture.
    • Being able to plug in the client’s custom content into your product – in addition to the content you are providing. Clients should be able to plug in various content providers because that’s how they can make it truly their own.
Here’s the gist of it.  Show me an example of one recent successful product – *especially* a product that may be termed a “white-labeled” solution – that is not a platform, that cannot be extended, that cannot be integrated at the API level or the presentation level or the workflow level and I will show you a solution that is doomed.

Written by The Fat Oracle

October 2nd, 2011 at 2:36 pm

Posted in Fundas

Question from a recent discovery meeting: What are your views on the Flash vs HTML5 debate?

leave a comment

That question came up (as it often does) in a discovery meeting with the very talented UI Team lead of a client and partner who was trying to place me on the competency scale.

The problem with my answer was that I answered to his question when I should have re-framed it. I told him that Flash was definitely going to lose ground while a combination of more core web technologies was going to replace it. It might take a couple more years but it would happen.

Except that is definitely not the correct picture is it? The truth is that the web is more than the presentation layer and honestly the set of technologies that is loosely termed as HTML5 is just another presentation layer. There is this rabid and staunch stand taken by many web evangelists that insists that HTML5 is the way forward – except each expert’s definition of HTML5 is different and when you drill down to it, the whole debate is not even that important.

Here is what everybody needs to get – and call me a blind moron but remember me as the blind one who saw it first (or at least one of the first) – we will start building for user stories rather than for presentation layers. A new application will build 2-3 presentation layers with significant differences in features but built for the user story and for the platform.

How is this different from what is already happening? Facebook has the web interface and an iphone app and an Android app right? Right. Except I bet their UI team did not start thinking in terms of “web” vs “mobile” stories. The web came first as and still remains the primary interface – all experiences – mobile or otherwise lead back to it.

Towards this thinking, consider instead the Google+ app. Their mobile feature set is still very web centric but has a feature (hangout aka messenger) that is not present in its web UI – though the web UI has a comparable feature that is built with a sharp focus on the web experience. That is an illustration of thinking that does not start with one interface and then cascades it to other interfaces. It starts with features cleanly sliced and diced between the mobile story and the online story – and other stories going forward.

What this also implies is that its hardly important whether the technology is HTML5 or a native iOS/Android app or Flash or a command line interface. It may be all the above – whatever works best for the audience in question.

Developers/ Engineers – and I am one -will often start with a technology – either from the ideological or familiarity standpoint. But as should become evident, stop caring about it. Build for user stories and make your technology decisions based on the user story and who your user is -not the other way around.

Interfaces will arise, interfaces will fall away.
There is no interface that is permanent.
So why are you thinking for one?
The user on the other hand – is always there.
Whether behind the command line or behind an app,
both matter.

I need to think through these thoughts a little more, I know. I hope to nuance this more as I think through a little more.

 

Written by The Fat Oracle

September 26th, 2011 at 7:21 pm

Posted in Code,Fundas

Who are the real evil doers – Apple or Google?

leave a comment

That’s a pretty prophetic cartoon from geek and poke all the way from July 2007.

But let’s talk about Apple first. The last few months have seen a significant turnaround in the opinion the public – or at least the technology crowd – have of Apple. From the high purveyors of gadgety goodness who could do no wrong, they have suddenly become a – at least in some minds – cynical, and petty company whose very existence is about one man and neither public opinion nor genuine problems with his products will sway his mind on what needs to be done to fix both.

But is that evil? Hold that thought.

Then we have Google. Darlings of us engineers/tech crowd – because they are run by engineers, with an engineering ideal and are one of the few companies whom we believed when they mouthed “Do no Evil”.

The last couple of years has seen Google take Android from an exciting prospect and only viable to the Apple iPhone to what it is now – the strongest smart phone platform, selling more than the iPhone. Let there be no mistake that they got there with huge good will from the developers, the community and the public – who thought that the Android was an amazing platform but also believed in Google’s self professed determination to have a ‘fair’ internet, where everybody got access to the same unfiltered information (The China situation was supposed to their idealistic high point). They seemed to volunteer to be the big brother who will forcefully defend us against the pretty alarming propositions spit out fairly regularly by the AT&Ts, Verizons and ISPs of the world (well, America).

Then a couple of weeks back, it emerged that they were working on a proposition with Verizon to have basically a tiered internet – something they had been publicly been against in the past. This was happening behind the scenes, without public input – all hush hush.

There was a lot of shock and I guess if I was to get dramatic about it – a sense of betrayal. And now, there is wariness of Google.

So what changed? What caused the about face by Google? As Jeff Jarvis noted in TWig, they have now become a phone company with the popularity of Android and they want to change the rules. Screw the ideals, the ‘Do no evil’ slogan. Google’s pretty weak reaction to the outcry was effectively – Well, things are a standstill and to get things moving, we had to concede on some things.

First, what you are conceding is not yours to concede. You are shaping the very *internet* by virtue of your size and how pervasive you are across the services consumers use on the internet. Also, saying that this applies only to wireless and not to wired Internet is bull crap. The future – a very near future – is going to be largely wireless so that is nonsense.

Google, you were among the very few corporations in recent times who were entrusted with public trust – a rare thing. Public trust is not a nice-to-have sentiment. It makes for great business. The only problem is that it’s brittle – if you do anything to break that trust, you may become a non entity very soon. Doesn’t seem possible? People once thought of AOL just the same as they once thought of you.

So, here’s my question. Who is Evil? Apple or Google?

Apple for all their arrogance and mistakes, they are the ones who refused AT&T’s proposal to restrict Youtube videos on the iPhone to 10 seconds because they cared that the consumers don’t get a limited experience just because they are on a mobile device. Apple is the company that is pushing open standards like HTML5 openly – though I would take that with a few tonnes of salt given how that is oriented towards killing Flash and how they made it look like HTML5 works great only on Safari.

But they are not making back-room deals that harm the consumer after being empowered with our trust and wallets. Google is. Google is screwing us after getting us to trust them. That’s evil.

Google, if you made a mistake fix it. Else, your most ardent supporters (including me) will turn their backs and you will lose the power which you are now using – evilly.

Think this reaction is overblown? Trust me, this is a tempered reaction. Also read this post from Jeff Jarvis, author of What would Google do? and shaken Google fanboy.

Update: Yes, Google is doing this in the U.S. But we all know that what happens in the U.S. soon becomes a model elsewhere – however undesirable that is.


Written by The Fat Oracle

August 21st, 2010 at 5:21 pm

Posted in Fundas

Wired mixes up the language used to deliver the web with the web itself

leave a comment

Wired Declares The Web Is Dead—Don’t Pull Out The Coffin Just Yet.

This may be more about Wired mixing up the language used to deliver the web with the web itself. HTML is *not* the web.  Pretty much all they have in their desert themed infographic pretty much comes off the web. Surprising that Chris Anderson wrote this – I expect him to know better.

Written by The Fat Oracle

August 18th, 2010 at 11:50 am

Posted in Fundas

Oracle fulfills the oracular prediction of causing the demise of Java

leave a comment

Here are the patents that Oracle says Google is violating?

The problem? Most of these patents were originally filed by Sun to see how much they can push the limits of what can be patented in response to being sued on similar flimsy basis by another firm (forget who) – successfully I might add.

Judge for yourself. Here are the patents in question:

*************************************************

United States Patent 6,910,205 June 21, 2005
Interpreting functions utilizing a hybrid of virtual and native machine instructions
(The “Speeding Up Something Slow Makes It Faster” Patent)

United States Patent RE38,104 April 2003
Method and apparatus for resolving data references in generated code
The “Direct is More Direct Than Indirect” Patent (James Gosling’s Patent)

United States Patent 7,426,720 September 2008
System and method for dynamic preloading of classes through memory space cloning of a master runtime system process
The “Memory Access is Faster than Disc Access” Patent

United States Patent 5,966,702 October 12, 1999
Method and apparatus for pre-processing and packaging class files
The “Smells like WinZip”  Patent

United States Patent 6,125,447 September 2000
Protection domains to provide security in a computer system
The “Well, it works for Users and Groups” Patent

United States Patent 6,061,520 May 2000
Method and system for performing static initialization
The “Static Side-Step” Pattern

*************************************************

via Can Andriod Pass the Copyright Test? – TheServerSide.com.

Update: The company that sued Sun in the past that I mentioned above was IBM – weird I forgot it was them. See James Gosling’s (inventor of Java) comments here in this very informative summary of this show down – The Oracle Google Patent Lawsuit Demystified

In particular:

James Gosling mentioned that when he worked for Sun, “IBM sued over a RISC patent that asserted that ‘if you make something simpler, it’ll go faster.’ Seemed like a blindingly obvious notion that shouldn’t have been patentable, but we got sued, and lost.” I can only imagine that seeing this patent of his involved in the fray put a bit of a smile on Gosling’s face.

and

“There was even an unofficial competition to see who could get the goofiest patent through the system.”
-James Gosling

Read the whole article. Good information.

Written by The Fat Oracle

August 18th, 2010 at 9:47 am

Posted in Code,Fundas

Your job – get with it or get out

3 comments

A  job always involves doing something you don’t like. There is always something – the small stuff like documentation when all you want to do is code or having a progress ‘update’ meeting every single day when you could be actually working with your team to get it done. Or the big stuff like you having to fill a void in the organization that involves you stepping out of what you signed up for and sometimes it is so horrible, you just want to shut down.

Liking a job simply involves making a call on whether most of what you have to do is what you like, can be good at and excites you enough to excel at it. If you ever find yourself in a situation where you come home everyday wondering ‘what am I doing here?’ or have more days where you don’t want to go into work because you hate what is lined up than days where you don’t want to go into work because you are so excited that you want to get started right now, this minute at home – then you need to start looking for another job.

Get out of your comfort zone, go do it…now. Do not whine at work, do not say ‘no’ at work just because you don’t like what you do. If you want to keep your current job, then get with the program and suck it up. Else, get out of the way. Its best for everybody. Get out your company’s way so that they can hire somebody who will get excited about what you don’t like doing. Get out of your own way and go find something that you like doing. Good for everybody.

The one thing that you should not do – whine and make life difficult and stressful for those who work with you because you don’t have the balls to go out there and get another job.

Get with the program.

Written by The Fat Oracle

August 6th, 2010 at 12:36 pm

Posted in Fundas

The good, bad and the ugly of Android

leave a comment

Good? It’s open

Bad? It’s open

Ugly? It’s open

Let me explain that.

I am an Android fan boy because the platform is so open that I can do anything I want with it. The U.S. Army loves it, NASA is doing things with it that are out there (literally), and most importantly I just saved 60 bucks in hotel Internet charges (boooo!) a couple of weekends ago when travelling using my Nexus One as a wifi access point – I mean what can’t it do? If you can thunk it, you can plunk it on the Android.

But as some burned soul once said evil is that which takes the good in us into the past to lesser freedom, lesser livingness, lesser intelligence, light and love. As over the top as that assessment is, that’s exactly what carriers out there do. Android is open to the extent that it allows carriers to disable all the goodness in Android and put horribly hobbled devices on the market. I bought a Nexus One a few months back and its such a dream – I can do anything with it. But I am a mobile developer and have had the opportunity (???) to play with devices that will soon be on the market from various carriers and they are horribly hobbled – you cannot download non-market place apps, the wifi hotspot function is gone, no USB tethering – everything that I take for granted on the Nexus One. Not cool.

Also not smart…and ugly as hell. Yesterday Verizon put out a statement saying that there will be no wifi hotspot or tethering on the Motorola Droid (on 2.2/Froyo) because apparently the Motorola hardware does not support it. Except that the same hardware can magically run both features when rooted. I mean come on, be outright about it and say you want to control the platform because you are afraid it will increase network load and you want to charge more for tethering and offer it as a paid-for option in the future. By lying, Verizon is saying we think you are fools who don’t know any better and forgetting that the base that goes for Android phones are usually the geekier of us.

And Google, sometimes you can be too open. Or let me put it this way – you can be artlessly open. Like when you install an Android app, the installer will show you all the permissions used by that app. This is one of the encouraging things about Android – it won’t allow me to develop an app that uses a phone feature without me explicitly declaring in the application manifest that I need those permissions. So when the end user is installing the app, he or she knows exactly what they are signing up for.

The problem is that the permissions listed for the end user state the “what” (what permissions are needed) but there is no framework to explain the “why’ (why does this app require these permissions?). The result is that an end user either gets frightened away from installing an useful app after reading the frightening text during installation that this app needs access to your phone information including your number – when in reality the app probably is using your device id to identify you as a user so if you are to accidentally delete this app and reinstall it, your data would not be lost. Agreed that there are better ways to do it but my point is that brutal transparency is not as helpful as toned transparency. The impact at the other end of this kind of openness is that users become so used to seeing the permissions page during an install that they soon become immune to it and stop reading it all together. The boy who cried wolf thing.

There has to be a solution somewhere between the Android’s brute force openness and Apple’s now clichéd walled garden. But if it was a choice, I would never give up my Android for the iPhone. Thankfully I live in a world where I can own and enjoy both :) .

Written by The Fat Oracle

August 5th, 2010 at 4:11 pm

Posted in Android,Code,Fundas

This blog is now iPhone, Android & BB friendly

leave a comment

I’ve enabled the excellent WPTouch theme on themindfulcoder and if you now visit me on the iPhone, iPod Touch, an Android device or the Blackberry, you’ll see a mobile friendly view of the blog. The theme is more iPhone-y then Androidy but works great on these devices.

It gives you the option to switch off the theme though just in case. Hope you like it!

IMG_0985.PNG
IMG_0986.PNG
IMG_0987.PNG
IMG_0989.PNG
IMG_0988.PNG

Written by The Fat Oracle

November 15th, 2009 at 3:33 pm

Posted in Fundas

iPhone Apps and the need for a server component

4 comments

I just wrote a post over on the Osellus blog on how apps might want to differentiate themselves from other apps by putting some effort on building a server component in addition to the iPhone client itself.

Check it out here.

What do you think?

Written by The Fat Oracle

August 20th, 2009 at 4:23 pm

Posted in Fundas

Tagged with , , ,