Herein you’ll find articles on a very wide variety of topics about technology in the consumer space (mostly) and items of personal interest to me. I have also participated in and created several podcasts most notably Pragmatic and Causality and all of my podcasts can be found at The Engineered Network.
All The News 'Is' Fit To Aggregate
Todays bombings in Boston have shown a growing trend in news reporting in the past five years. Previously large news corporations would need a reporter on the ground, talking to witnesses face to face, or perhaps over the phone to lend credibility to their news and make themselves the “must watch” or “must read” news outlet. This could involve helicopters and satellite link-ups and dozens of people all working together to report the news as quickly as possible and getting the best footage in order to draw the biggest audience. The bigger the audience, the more advertisers would pay, the better their bottom line. At least that WAS the model.
Much of this still happens however in the past five years social media has taken off and portable cameras and video recording devices (smartphones) have become ubiquitous amongst the general populace. Scarcely does an event occur where someone is not recording it because their friends or family are involved. Add to that the ability to share these photos, videos, messages and tweets on the internet quickly, plus the ability for anyone, anywhere in the world to search for those messages quickly and you have millions of reporters all over the world at the source of the news at the exact moment when it breaks. No sending a reporter, a chopper or setting up a satellite link needed any more. Joe Armchair can sit back in a shack in middle of nowhere (provided he has a good internet connection) and can link to or republish (with or without attribution) with very little effort, a web page with all of that information from a crisis in one place. Many people are drawn to the speed the news aggregators put news together and some leave old media behind.
That’s great but the underlying issue is credibility. News organisations have an aura of credibility (yes, many still do) when it comes to mainstream reporting. Journalistic principles and editorial ensure there are some checks and balances as news is reported. In some cases there is a long history of good reporting in that organisation that reinforces that perception. Perception is crucial.
Bloggers aren’t journalists. Reporting for a tech blog doesn’t make you a journalist. A journalist has studied journalism and reports on it as part of their life and job. Bloggers sometimes report on things, usually with large doses of opinion thrown in, this does not make them journalists either. Each has its place and that’s fine. Another hit to credibility: the bloggers are seldom (if ever) physically on the ground when the news breaks. That would require flying, driving or walking, rather than just searching the internet and reposting content to a web page from an armchair.
The speed of blogging may seem hard to beat but it’s not all over for the big news outlets. They are catching up as they learn to scour the internet (as aggregators do) for up to the moment news but they are still slower than blogs/aggregator websites. So the sequence of events seems to be: read the blogs first, then wait until the “real” reporting from news corporations comes in shortly thereafter. Provided big news outlets can stay afloat financially they will continue to close the gap and I hope they do. If bloggers and aggregators have pushed big news outlets along to be quicker at reporting news then that’s great, so long as they don’t break in the process.
It’s easy for people to become opinionated bloggers that aggregate content without analysis or relevance and sit back claiming they are journalists by doing so. News; Real News, doesn’t just need to be timely but needs to be credible and that credibility is something that bloggers simply can not earn by aggregating other peoples tweets.
Who is Your Customer? Honestly.
Over the last decade I have developed HMI (Human Machine Interfaces) and SCADA (Supervisory Control and Data Acquisition) user interfaces [amongst many other things] as well as few desktop/mobile apps - one of which made it to the App Store a few years back. As I’m embarking on yet another piece of desktop software development I’ve been thinking a great deal about how end-users (aka customers) see, use and react to the work I do. This is healthy and I suppose, nothing new or particularly interesting. Today I had an epiphany: the problem so often isn’t satisfying your customer, it’s identifying your customer in the first place.
When developing software for a client there are often meetings [sometimes far too many] with different people representing the client and all too often they are not the end users of the product itself or worse, have no experience with what you’re doing. When developing your own software the first people that use the software in question are usually the alpha and/or beta testers. They say a good beta tester is worth their weight in gold by exercise functionality and also reporting bugs accurately: making it easy to track them down and fix them. That’s all well and good but testers like that don’t provide the balance you need. The problem is the selection process for beta testers and for client representatives is usually A) influenced too heavily by ourselves or B) out of our control entirely.
Clients will often “allocate” someone who is interested in the product from the client side and for our own Beta testers we typically choose those within our close circles: i.e. geeks like us. In both cases these people will often bend your ear and say “I’d really like this feature” or “I think this would work better this way”. They distort what your application is trying to achieve. As such, feedback from them will give a distorted view of what end-users will actually think and how they use the end product.
With clients I find the best choice is to request two representatives: one that is well versed with similar products/software in their organisation or the market and one that is going to use the software regularly but is preferably NOT well versed in other similar type software. The balance between their views should hopefully guide the product to a more balanced end result. Admittedly one does not always get a choice, but it doesn’t hurt to ask nicely - they can only say no.
With beta testers, have as many friends (geeks probably) that you like, but try to get older people (aunts, uncles, parents, grandparents) that aren’t as familiar with technology to have a look if you can. They will provide more balance and push and prod the software into places it wasn’t supposed to go. These are the sorts of beta testers people should value the most.
My only other piece of advice is to remember that you are also your own customer. Think to yourself: Am I proud to put my name on this? Would I use this software and recommend it to others? (selflessly of course). If you make a design decision that you strongly believe is right (even against the opinion of one or more of your testers or client representatives) sticking with it is usually the right call. Understanding who your end customer honestly is, helps you to focus. Be careful who you choose as the customer(s) to satisfy. Pick the wrong one(s) and you’ll burn time, money and waste effort. Pick the right one(s) and your chances of success will improve dramatically.
Facebook Home and Excessive Focus
Today Facebook unveiled Facebook Home that will be released on a new phone, manufactured by HTC (called the HTC First) but also mentioned their new software that sits atop Googles Android mobile operating system will be available from the 12th of April on selected, existing Android phones. If you’re looking for in-depth discussion about each feature then I suggest reading any of the large number of reviews of the phone software available on the internet, as I’m not discussing the specifics in detail here.
Instead what concerns me is what appears to be the excessive focus of the Facebook Home concept. Up until this point mobile operating systems were concerned primarily with the task of making a phone call (Smart-phone: it’s in the name). Certainly the iPhone had a great iPod and a great web browser built-in too. webOS and Android were and are much the same. The home and lock screens were never so specific that they were just about one function either. Be it Mail, SMS or any other kind of notification they never sought to make one service the front-and-center of their device.
Facebook Home changes that and is perhaps the first big-name mobile “operating system” (okay it’s just a layer on top of Android) that puts a single app and its content front and centre on the device. Naturally this makes sense for Facebook, but does this make sense for the end user?
Anecdotally people have observed that smartphone users spend a great deal more time using their smartphones for anything OTHER than making/receiving phone calls as Apps become more easily accessible. Once an individuals has an impulse to check something they can now have it satisfied with a short sequence of taps, swipes and button presses.
There is nothing that Facebook Home can do that a standard iOS or Android Facebook app can’t do, except to take the lock and home screens of your device and give control of them to Facebook. That said, if you hardly ever use your phone for making phone calls; you don’t use Twitter, or anything else, and you “live” in Facebook then this makes sense to you. My problem is that I don’t believe this is a large number of people.
Why buy a new phone to access Facebook Home in this way if you’ve already got access to Facebook through an app on your device? Why add Facebook Home to your existing device for the same reason. People will do it - they will try it. I suspect a great many will then remove it. If it’s true that most Android users (not power users) leave their phones stock-standard then it’s unlikely it will penetrate that market very far. The highest hopes must be then for newly purchased phones in which case, how many people that are already hooked on Facebook when they are away from their desktop PCs don’t already have a smartphone with a Facebook app installed? The biggest uptake would then likely come from those users when they need to upgrade. Growth in this manner will be slow and only time their numbers will not end up being huge.
Undoubtedly Facebook has plenty of money. Doubtless they have spent a considerable amount of money already on the development of their Facebook Home interface for Android. They will not succeed or fail as a company based on the success or failure of Facebook Home and in this sense they may not care too much about its long-term future. The risk they take is that if it fails the market may recoil with claims that Facebook is failing, not moving forward and such, and it’s time to switch to the next social network: My Spacebook perhaps.
The mass market is unlikely to see large-scale adoption for a product that is so excessively focussed and omni-present as Facebook Home when using the device it’s installed on. Facebook Home is a quaint idea but in reality it subtracts flexibility from the device and enhances very little in the process.
The iCloud Debate: Fix it
Recently there has been a great deal of criticism levelled at Apple. Whether it’s fair or not isn’t the point. The facts bare a quick review:
iCloud promised Documents in the Cloud with effortless syncing of documents and data between Apple devices. That was the consumer pitch. At WWDC Apple noted to developers that if they were using Core Data or NSDocument in their apps, they would have to do barely anything at all to add iCloud functionality to their apps. In addition the Key-Value Storage part of the iCloud API had much in common with the existing user defaults making migration/enabling of iCloud functionality a breeze. That was the developer pitch.
Many programs use Core Data for storing all of the data in their software as it is essentially a database system with many powerful tools built in to reduce the number of lines of code you need to write to make something work. NSDocument is the more traditional API but is still quite common. All of Apples iWork apps (all iCloud enabled and work fine) use NSDocument to do their syncing.
The truth is that developers have been reporting issues for close to two years with Core Data and most have abandoned any hope of a fix for the iCloud Core Data problem until the next major software revision from Apple. Some have transitioned to NSDocument to get iCloud (where it was not too involved or expensive, or perhaps when their user base demanded it profusely) but many have simply not bothered. It seems as though Apple spent more time ensuring the iCloud APIs their own apps were using were a higher priority and made them relatively clean and solid, whilst the Core Data APIs had much less attention. Though, this is speculation.
For Apple this is a big issue - their APIs don’t work reliably with Core Data. Apps that are released with iCloud support using NSDocument work fine but a great number of top-shelf applications rely on Core Data and their code bases are too large to simply recode them. Better to wait until the next release of the operating system from Apple and hope for the best then.
No-one is saying that cloud syncing isn’t hard: It is VERY hard to do it well. No-one should be saying that Apple didn’t live up to their promise to their customers - iCloud app syncing generally works very well (for NSDocument apps). Not having accurate numbers I’d expect no more than 40% at best of all apps use NSDocument simply because it is not as powerful as Core Data can be. Even if that figure is out by +/- 10% that’s still a very large, non-trivial, chunk of apps that CAN’T use iCloud without major code base rewrites.
Apple aren’t stupid. They know about this and they know it’s straining their developer relationships. Then again, being the operating system platform with the highest rate of return on investment means they can probably push their luck a bit longer. Without any genuine competition to iCloud (Dropbox is another thing entirely) for the moment Apple may feel like they can take their time solving this problem. Thus far, they’ve had almost two years. Let’s hope at WWDC 2013 there’s an announcement about how they’ve fixed it. To stay as the top revenue platform they need to deliver this for developers to pass on and make their customers, and inevitably Apples customers happy.
iCloud is positioned as the heart and soul of Apples new universe where everything is tied into the cloud. It has to be solid and it has to be great.
It matters.
Fix it.