Archive for the ‘Innovation’ Category

Why is it so hard to give Apple a little more credit for the iPad?

Thursday, June 30th, 2011

I’ve quickly skimmed through the latest wave of tablet review here, and a nice review round-up here. The single common trait to many of the reviews I’ve seen is that “Despite some nice features on the device…, H-P and other tablet makers have yet to introduce something that compares to Apple’s tablet.” (MarketWatch quoting Mozberg).

To me, perhaps the pundits should give more credit to Apple, as their achievement seemed to have left just about every one else in the dusts. Repeating myself, a strategy that bases itself on “me too” is often going to stutter if not simply fail. Maybe there’s just too much of that going on, more so than say acknowledge how hard it can be to deliver a solid tablet (mobile?) experience.

On an entirely different register, I can’t wait to see the reviews on Google+. It’s all nearly too predictable.

Microsoft Lync and Skype

Wednesday, May 11th, 2011

The news that Microsoft bought Skype made me wonder: what is happening with Lync (formerly OCS)? Is it going the Zune way? Is this a tacit admission that Lync would never have succeeded?

Microsoft are all in – is this panic in the Clouds for some?

Saturday, March 13th, 2010

I read the news today oh boy,
the Redmond giant has just joined the war.
(my bad retake on a Beatles classic, I love The Beatles)

Now that Microsoft is all in the Cloud, things are set to change in some significant ways. Like it or not, Microsoft is doing what they’ve always done: embrace a technology promise with the intention to rule it. I’ve read a few articles and blogs mocking Microsoft’s Cloud announcement, which I found to be a misguided view on the tech giant.

Few would have forgotten, there was a time when Microsoft was scorning the Internet. Eventually, they turned around and entered the web browser market, and bossed it comprehensively, wiping out Netscape’s market in the process.

Microsoft all in the Cloud, There’s something in it for everyone.

For Microsoft Competitors: is it, Panic in the Cloud yet?

At the very least, lots of people will now have to scrub their presentation slides and other flyers, positioning Cloud as an alternative to Microsoft has become a confusing message, no longer a differentiator. Regardless of how they do it, if Microsoft says that they’re in, buyers will take notice and start to ponder their position, markets will react. That is what matters the most to Microsoft’s clients and partners alike, they’re definitely avoiding the fate of WordPerfect.

For Visual Studio Developers: is it, the strongest will surf the Cloud?

Enabling Visual Studio developers to directly target Cloud platform will be a huge empowerment to lots of developers. The ability to develop and package Azure applications from within Visual Studio is going to hit the right chord for many. The bad news is that, more than ever sound architecture design will determine success and failure. The finest developers will be able to do really nice stuff, those who just click their way to a solution will probably create a lot of mess.

For Windows users: is it, the Cloud sets you free?

With Windows applications becoming first-class Cloud clients, it become possible to manage documents on the Cloud natively from Windows and Ms Office products. The notion of office application development is extended, the office becomes virtual in a way. This could be a stretch for infrastructure management, which is likely to become significantly harder and fragmented. A lot of IT managers might be scratching their heads over this prospect, strategic sourcing might become more crucial to some organisations.

Should IT managers not buy into Microsoft’s Cloud story, this could be another “Vista moment” for Microsoft. On the other hand, we know that the knowledge worker has been clamouring to be set free of work location. Cloud enablement for the masses of Windows users could actually force IT management to accelerate their Cloud adoption schedule.

Accidental IT infrastructure tsars

Friday, March 5th, 2010

In the past decade, some of the most successful IT infrastructure innovations have been stumbled upon, after the originators found themselves in unanticipated conundrum! In some instances, this kind of anarchic R&D is reaping rewards of several orders of magnitude higher than walled-in research efforts.

Think about it for a moment, we are enjoying an amazing array of technology that were created after some dudes’ fiddles and ramblings forced them to rethink their infrastructure. In their travails, clever & bohemian as they are, they’ve come up with solutions that many of us can enjoy. Witnessing such success, deep pocketed vendors joined in the fun, and the field is being redefined in the process.

Once frowned upon, FaceBook is now a leading contributor to prominent open source infrastructure projects. Google’s track record is longer and deeper, their data centre innovations are being copied around the world, their latest announcement in the U.S. is just illustrating how far reaching their ambitions are. The whole No SQL movement has spawned a category of data manipulation techniques forcing a rethink of the way we manage information. Google, Yahoo! and FaceBook are all strong leaders in this space. The best example is probably the open source Unix/Linux ecosystem (counting in the OpenBSD and FreeBSD variants, which are not Linuxes). What is happening with the uptake of Cloud computing is simply amazing, would make many a veteran chuckle (isn’t this what was supposed to be uncool?). Now that heavyweights such as Oracle and Microsoft are trumpeting the Cloud, we are probably entering a new era where mix-and-match will become a norm.

These infrastructure innovations are making it easier and faster for us to do more with our computing resources. Incidentally, this is also making us more vulnerable and fragile from a security point of view. Security breaches can do much more damage much faster than ever before. This could mean that our security infrastructure is simply being thrown out, forcing us to rethink the very notion of security.

Marketing mantra aside, here looking at you Google, these infrastructure innovations have had a profound impact on the way we perform computing these days. A substantial amount of these innovations were actually not planned, they seem to have been following a kind of Darwinian evolution theory, the good ones quickly gain traction and everyone adjust their positions.

Is this the beginning of a bigger and truly world changing movement? Is this a vindication of the open source phenomenon? Is this the edge of what an Agile (Californian?) culture could nurture?

Time will tell.

Buzzing, tweeting, now everybody can get a taste of being stalked

Saturday, February 13th, 2010

I’ve started buzzing, stumbling upon it’s activation at a browser restart. After a couple of days, I’m reconsidering the whole thing: why am I getting involved in all this?

Having been involved in innovations in social networking and online communities for a number of years, I was always going to try the latest stuff to see if it could help in my job. Little did I realise the slippery nature of all this. It is somewhat like “zapping” with your TV remote control, pointless but you somehow keep doing it until something urgent drag you away from the sofa. Before you know it you’ve spent a couple of hours watching the TV but seeing absolutely nothing. What a waste that is!

I started tweeting because I was too lazy to blog, it was just an excuse for me and I hoped to learn something in the process.

My idea of blogging has always been measured, I don’t like all the self broadcasting that goes with it, I didn’t want to write “hello world” program codes or regurgitate what others have been saying somewhere else.

I tried Google Wave and I never really found a reason to stick to it. I could imagine tons of use though, I just wasn’t ready for any of those – still am not.

Now I’ve joined Google Buzz, it’s giving me the goose bumps for it’s eerie stalker feeling. I never felt stalked like this before, it’s not due to my contact list or my friends activities, but rather it is the fact that I kept seeing a mirror reflection of my activities in many places of my Google account. Then you start to think: if I click on any link, it’s likely being broadcast. For someone  who is a private person by nature, this freaks me out.

A few years ago, I’d already taken a giant step by going out there and putting pictures, comments and various things online. I could always do it again, when I get a chance, and it felt ok. But, the idea that something follows me and tells the world about what I’m doing doesn’t feel right, I have no control over it. It is bad enough that this is happening, street CCTV cameras are an example, it’s much worse when you can actually see realtime the footages. That is what is troubling, and Google seemed to have thought none of that. Of course, when you’ve not known anything else you would just adapt to it.

There you go, the bucket must stop somewhere. I’ve got nothing to hide, but I don’t want to broadcast everything either. This is a case of a feature’s default option in user’s disadvantage. That is a hindrance to user acceptance from my point of view, and Google failed in this case. This case inspires me to write an architecture principle: design for acceptance, the default features and options must cater for user’s natural preferences and behaviour.

Can the battle of rich content delivery platforms determine the future of the web?

Saturday, February 6th, 2010

Jeremy Allaire’s article on TechCrunch offers an interesting perspective of the current debate on rich platform technologies. While the article’s coverage was broad, a couple of omissions left me wondering a bit.

I was surprised that Jeremy didn’t have a view on Silverlight, in my opinion a faster growing alternative to Flash. Given Microsoft’s reach, it doesn’t take a genius to figure that Silverlight could trump both Flash and HTML5. Windows 7 is proving that Microsoft have not lost its touch.

Apple has always been a niche player, the iPad could change that fundamentally. It is too early to tell if the iPad will just extend the iPhone and iPod Touch reach, or if Apple will have the hunger to go for the masses at large.

When starting a new project, folks want to maximise their reach while minimising their costs going forward. This is most likely the place where the debate heats up in many organisations: which platform should we base a brand new codebase on? It would have been nice to hear Jeremy ‘s opinion on this issue, because I think Flash is under serious pressure here.

I doubt that this particular platform debate can really swing the future of the web one way or another, because there is a 3rd party in this dance, the user. This hungry content producer and consumer will have a massive impact on the future of the web. Come to speak of content, Google, Microsoft, Facebook and Twitter in some ways are the big contenders. In my mind, if both Google and Facebook put their weight behind HTML5, the debate could be reduced to HTML5 versus Silverlight, and Flash will be pushed to a niche and legacy corner.

If Facebook keeps its momentum, and actually come up with their own rich media delivery platform (on the back of HipHop for example, it makes little sense to me at this point but I’m speculating), then we’re in for an entirely new debate.

This article makes me also reflect on words attributed to Steve Jobs (that “Adobe is lazy” and “flash is buggy”, article here). I shared those two views for two reasons,

  1. I’ve been thinking that Adobe should make a splash amidst all the assault they’re subjected to, I’ve yet to see that splash and was curious why that was. That doesn’t warrant the label “lazy” though, I have to say.
  2. whenever examining application crash dumps on my MacBook I noticed that the Flash plugin was always there. I was seeing application crashes showing the Flash plugin, yet it seemed to me they had nothing to do with the plugin. I took note for myself, but I didn’t dig it any further.

So when I came across the article mentioning Steve’s alleged comments, it fitted my thought.

So yes, there is a healthy debate going on, it has many facets, thinking in terms of “developer mindshare” alone is reductive. If the means of producing and consuming content on the web keeps shifting towards the end-user, and that Cloud computing takes hold and becomes ubiquitous, the IT platforms could eventually turn into a kind of “modern-day plumbing”. That’s also an aspect that plays a big part in this platform debate.

You can read Jeremy’s article here: http://www.techcrunch.com/2010/02/05/the-future-of-web-content-html5-flash-mobile-apps.

Effective architecture documentation practice on a budget

Friday, December 11th, 2009

Think of good practices in waste reduction, since you have scarce resources.

Use architectural frameworks as guidance to good practice, don’t bother creating all kinds of artefacts that nobody in your teams will miss.

Regular architecture reviews and code reviews will do much to ensure quality and share knowledge within your teams. Run them effectively.

Boxes and lines are nice, can even be aesthetic. But unless they shed light on otherwise unclear semantics, boxes and lines can be wasteful.

To be effective, your architecture models must capture and maintain essential knowledge about your system, this includes user stories and issue and feature databases, and source code!

When you’re clear on what your team should produce and maintain and the scheduling, then and only then look for cheap tools that can help.

Here is a take:

You can get away with a few simple documents:

  • screen flows: use a simple drawing tool, or scan sketches into image files
  • user stories (or use cases), it’s your software promise to its users
  • design principles, essential Do’s and Dont’s for your technical folks
  • design trade-offs, technical decisions and their limits
  • contracts (internal and external APIs for your modules)
  • business rules, the knowledge-bearing decision points in your system

In the list above, one can argue whether business rules should really be included in an architecture documentation. The same goes for screenflows and user stories. But when running on tight budget, decisions tend to be made on the flight and built into the code, people rarely go back and update otherwise stale diagrams.

User stories are created at the initiation stages, but over time they are superseded by the issues logged against iterations of the product. The features could change shape as a result of the learning process, to a point where the initial architecture might become significantly altered.

What happens is that, over time, knowledge increasingly migrate to the issue database and the source code, and it stays there. That is the rationale for considering the issue database as part of the architecture documentation.

Some tips:

  • Avoid waste: any document that doesn’t hold unique information is a waste
  • Be economical with the boxes and lines, focus on contracts and boundaries
  • Use spreadsheets to capture your architecture principles, trade-offs, business rules
  • Maintain an active issue and feature database. You would probably be doing this anyway, but I’m saying that consider it an architecture documentation artefact
  • Encourage in-code documentation, enforce through standard quality checking and code reviews
  • If your tool-kit permit it, (thinking JavaDoc) generate documentation from source code and include them in your code review sessions

There are more tactics for capturing and maintaining knowledge within your organisation, but that is perhaps a topic for another post.

Leverage the best of community and agile approaches for results

Tuesday, December 1st, 2009

It seems to me that Microsoft is applying some valuable lessons from open-source and community driven software processes: get user buy-in as early as possible, deliver early and frequently incomplete or partially flawed products. People will happily participate, you would get a more accurate feel for the reception when the product finally ships. I don’t know what the pundits are saying, but to me (as a software architect and user), this strategy pays off handsomely.

Every new Microsoft product I laid my hands on over last half-year has been nicely thought out and clearly user-oriented by design. You can almost feel that product development received a lot of attention, and that is good news for the 90% of us who use Microsoft software.

I’ve started using Microsoft Office 2010 Beta on my Windows 7 box. You immediately see the impact of some of the lessons they’ve learned with the previous major release, the ribbon concept has been tweaked, the experience feels more natural yet innovative. I’ve not had to spend any time reading documentation (though that would be a mistake for a final product, reading the documentation is always for the best), I had no troubles working just like before.

Similarly, when I first learned about the early Microsoft Azure visions, I was having a strange feeling of “lipstick on a pig” treatment. After PDC2009, I saw lots of improvements and change of heart on some early ideas that seem to be, without a doubt, the result of extensive community participation.

The early concepts and beta releases of SharePoint 2010 and Office 2010 have stunned me in their clarity of vision, for the first time I’m getting excited about Microsoft’s web-based software. Having spent the best part of last decade delivering non-Microsoft solutions, albeit I’ve never lost sight of what they were doing, I am seeing a lot of good vibes coming from Redmont these days.

Another potential idea that can be read here, would be that Microsoft is directly engaging users and hence doing away with their former approach where their partners supplied the bulk of feature requirements (I’ve read a lot of Michael Cusumano and Mary Jo Foley throughout the years, any misreading would be mine).

To me, these are all signs that Microsoft’s products are improving, they are increasingly addressing unmet user needs. This would be a software delivery equivalent of a “growth business”, I buy it.

I see a parallel with the practice of software architecture, whether its Enterprise Architecture or Solution Architecture on a smaller scoped project. Software Architects can achieve much success by adopting some of the same recipes hinted at earlier, by no means a complete list:

  • don’t seek completeness on any significant topic before getting stakeholder communities fully engaged (no, they won’t think you’re daft)
  • don’t think you have all the answers (many thought leaders are saying this), actively seek and incorporate ideas from the receiving parties – they’d have a hard-time to reject their own input, wouldn’t they?
  • delegate major chunks to smaller and dedicated groups, see to it that the inter-group communication is fluid and sustained (I don’t know if Microsoft does this, it seems many of their products are still large silos).

With this type of approach, the outcome tend to feel much more natural and the acceptance will probably be easier. You see it for example when, using the product, you guess how something might work and could verify that the feature was implemented almost exactly as you guessed. This happens a lot when I use Apple products. I used to think that Microsoft would never be able to match such feat, but I now see that they are changing their approach for the better.

Twitter can expand its vocabulary a bit

Thursday, November 26th, 2009

I find it strange that advances in technology seem to somehow induce us to learn less and less: we become more and more ignorant as technology improves. Examples abound, semi-randomly: the advent of the pocket calculator means we can’t do mental calculation any more, email, SMS, and now Twitter! Arguably email and SMS have induced people to write badly, just check your last few emails – I bet people wrote beautifully crafted letter before all this appeared. As the Twitter generation comes of age, what’s communication going to end up like?

To expand on the Twitter example, hermits aside Twitter has been all the rage lately. Yet on Twitter, the verbs that can be conjugated are limited to tweet and retweet, both of which suggest that we have become birds. Incidentally, people don’t appreciate being given bird names :-) . But even birds are known to have a larger vocabulary, if you watch some of David Attenborough’s gems. So why wouldn’t Twitter expand its vocabulary, or just open up an expression platform?

There’s a whole range of impressions, feelings and knowledge that could be usefully expressed on Twitter:

  • like, nice: I like it (or, I dislike it)
  • interest: Interesting (or, Not Interesting)
  • buy: I would buy this  (or, I wouldn’t)
  • recommend
  • know: I know about this (or, I would love to learn more about this)
  • explain or reference: here is more information on this topic (or references)
  • etc.

I think there’s potential for a large ontology to grow here, making the platform even more powerful. Twitter would be terrific as a core ontology engine: create, visualise, browse knowledge and connections. Knowledge would organically build up, there’s an untapped crowd-sourcing opportunity in this. I’m sure there are groups out there harvesting and mining the massive amount of data generated on Twitter, but what if some of the mining was also partially occurring at real time on the platform itself?

The challenge in designing useful ontologies would also be entertaining, but it needs not be difficult or even be moderated.  So like any upgrade path, I would make such a service an opt-in branch and see if it catches on. Clearly this would only apply to a small group of the users, but who knows what might develop if it were available? It could be fun to see large crowds playing with ontologies in new ways and in real time. This would be more than just staring at a tag cloud evolve.

Note: this is an oldish post that sat as draft for a while, time to publish it.