Categories
Uncategorized

Mobile Developer News Roundup: Windows Phone Edition

Windows Phone Could Take RIM’s 3rd Place Spot in Europe Soon (says one analyst), 2nd Place in the World by the End of 2015 (says Gartner)

The exact figures vary from analyst to analyst, but there’s a general consensus that Android and iOS are the number one and two mobile operating systems, leaving about 10% to 20% for whoever wants to take the sad-yet-coveted distant third place. Fighting over these table scraps are both RIM and Microsoft, two giants who once defined what a “business phone” was and who are now trying to reassure everyone that their upcoming operating systems are the future and not “too little, too late”.

A recent CNET article cites a study by Kantar Worldpanel, who study consumer behaviour, suggests that Windows Phone could win that battle and take the third-place position in Europe from RIM. Kantar’s study says cheap, low-end Windows Phone devices like the Nokia 610, which run Windows Phone 7, but can’t be upgraded to Windows Phone 8, will drive WP adoption.

Kantar aren’t the only people who think this way; Gartner concurs. In fact, they don’t just think that Windows Phone will capture third place; they’ve predicted that it will make it to second place by the end of 2015 — 6% of the market share by the end of 2011, 11% by the end of 2012, and 20% by the end of 2015:

This TechCrunch article says that Gartner’s prediction is based on the same assumption as Kantar’s: that Nokia will carry Windows Phone to the number two position by focusing on the more price-sensitive portion of the market (primarily people in emerging “Second World” economies buying their first smartphones) and selling low-end Windows Phones much cheaper than Androids or iPhones. The article also states that these phones would extend the life of Windows Phone 7 and eventually run version 7.8, which is essentially Windows 7 enhanced with some features to make it more like Windows Phone 8.

Links

The Windows Phone 8 Mystery

"I Want to Believe" poster from "The X-Files", with the flying saucer replaced by a giant Windows Phone

As of this writing, if you were to head to the Windows Phone Dev Center’s page for getting their SDK, you’d be able to get your hands on…the Windows Phone 7.1 SDK and the 7.1.1 update. The Windows Phone 8 SDK is available, but only if you apply and are accepted into their closed-door preview program. It appears that if you’re accepted into this program, you’ll be sworn to secrecy about what’s in the SDK until it’s officially released.

Microsoft’s Todd Brix explained why they were doing this:

I know that many of you want to know why we simply don’t publically release the full SDK now. The reason is that not all Windows Phone 8 features have been announced and our SDK includes comprehensive emulators that allow developers to test apps against a wide range of Windows Phone features. We recognize that this is a different approach to delivering tools than we’ve taken in the past. Our goal is to generate as much Windows Phone 8 excitement as possible to attract new customers when phones go on sale. This is one of many steps we’re taking to help give you what you (and we) want most.

To me, this seems like another episode of Microsoft’s George Costanza-style decision-making, and if you look at the comments made in response, you’ll see that I’m not the only one who’s thinking this. As a former Microsoft Developer Evangelist and Windows Phone Champ, I got developer love and attention for the platform by getting phones and tools into as many developers’ hands as I could, as early as possible. I think my approach worked better than the approached used by some higher-ups, which was to pay mobile development shops to create shovelware. I thought it was a bad idea, as did former Windows Phone Champ program guy Charlie Kindel, but a number of Constanza-esque managers forged ahead, because they were incentivized to do the quick-and-easy thing — make their scoreboards green — not to grow the platform, which takes more time and effort.

This secrecy forces Windows Phone developers, who are already dealing with plenty of uncertainty, to deal with even more. I can’t imagine that there are many who are very happy with having to make best guesses about how to prepare for Windows Phone 8.

The Verge’s Tom Warren suggests that there may be some goodies still in the Windows 8 SDK, and that by keeping mum about it, they’ll be able to pull a Steve Job-style “Oh, and one more thing…” rabbit out of their hat. I have my doubts as to how earth-shaking these secret goodies, if they even exist, could be, but ever since the iPod, every time Microsoft tries to ape Apple’s style, it ends up looking rather sad.

Links

Is Microsoft Making Its Own Phone?

The new Surface — the tablet, not the big-ass table — was a necessary act of “tough love”. Microsoft had to take the reins and make their own tablet as a way of saying to all the OEMs “Okay you idiots, we’ll show you how it’s done”.

Windows Phone was a different story. In the beginning, all the Windows Phone hardware vendors — Samsung, LG, HTC and so on — were in a position where they could hedge their bets; they all made Android phones. The partnership with Nokia gave Microsoft a hardware partner who was, to use an expression often used within Microsoft’s walls, “all in”: someone who truly had an incentive to make the best Windows Phones possible. Nokia held up their end of the bargain, producing the nicest Windows Phones I’ve ever laid hands on, and the latest version has the best camera of the current crop of smartphones. They were supposed to be the gold standard for Windows Phones, the ones from which other vendors were supposed to take their cues.

The problem with the Microsoft/Nokia partnership is that it’s an unequal one: Nokia needs Microsoft to stay afloat, which Microsoft just needs someone to be the flagship Windows Phone vendor. It looks as though HTC is the “Plan B” partner, judging by all the love, attention and co-promotion that Microsoft gave them during the recent launch of their upcoming Windows Phones. These phones even incorporate “Windows Phone” into the model names — something that even BFF Nokia didn’t do. You’d think that HTC was the preferred partner! As you might expect, the folks at Nokia are miffed.

Now it looks as if Microsoft has a “Plan C”, in which they make their own phone. Dan Rubio at WPCentral cites a reliable source who says that it’s already in testing. “When compared to current WP8 hardware,” he writes, “it’s something unique.” Another tech blog, BGR, has an apparently different source who also says that Microsoft is working on their own phone, giving the rumours a little more credence.

My Recommendation to Mobile Developers

Remember the funeral the Windows Phone team had for the other platforms after WP7 went “release to master”? I was a Windows Phone Champ back in early September 2010 when the funeral took place. All I could do was slap my forehead and say “Thanks, guys. That’ll really help.” Two years later, Windows mobile OSs account for under 4% of the market.

Looking at the current Windows Phone situation and speaking as someone whose rent cheques depend on building mobile apps for the enterprise, my recommendation is that unless you’ve got some kind of sweetheart deal for a customer who loves the platform and is willing to pay you to build apps for it, don’t write Windows Phone apps to make money.

If you look at it from a strictly technological point of view, Windows Phone is pretty nice. Nokia and HTC’s latest hardware is pretty nice. They’ve got nice, clean, unique UI. C# is a great programming language, you’ve got the Silverlight framework for informational app and XNA for game apps, and Visual Studio in many respects is a far nicer IDE than the ones you use for Android or Apple’s Xcode. Based on my experiences, I think that Windows Phone is the easiest platform to build apps for.

If you look at it from the “Will it pay the bills?” angle, the story isn’t as good. If the analyst’s wacky predictions that Windows Phone will surpass iOS ever do come true, it means that most of its users will be a stingy, price-sensitive market. Microsoft have chosen to leave most of the Windows Phone developers (who’ve had to put up with a lot of frustration) in the dark. On the hardware side, they’re frantically bouncing between preferred vendors and possibly making their own phones, throwing random spaghetti against the wall in the hopes that something — anything — sticks. Finally, there just aren’t enough Windows Phone users. The stats says so, as does my own experience: in my travels to conferences and events across North America over the past year and a half — enough to have earned me Star Alliance Gold status — the non-Microsofties/non-Windows developers who I’ve met who are also Windows Phone owners could fit into a cab…and still leave room for the cabbie.

You should treat the Windows Phone platform as if it were one of those Russian car crash videos made with a dashboard camera: be glad it’s not you, sit back and watch from a safe distance, cringe at the right moments, and hope for the best.

Links

Categories
Uncategorized

Rapper Appearance Goes Terribly Wrong at Microsoft Store; Highlights Their “George Costanza Problem” [Updated]

See the update at the end of the article.

Microsoft has a George Constanza Problem. In the 1990s TV series Seinfeld, the perennial loser came upon his biggest winning streak in life happened when he decided to do the exact opposite of what his instincts told him to do. They should’ve not had Machine Gun Kelly (a.k.a. “MGK”) perform at the Atlanta Microsoft Store, as the video below shows:

I’ve seen musicians perform at Microsoft stores before, but which decision maker thought that a performance by MGK would end well? They could’ve Binged the search term “Machine Gun Kelly lyrics” and easily discovered the lyrics to his single, Hold On:

I don’t gang bang, hoe, I just gang bang these hoes
And I keep like eight jays rolled, then I face them after my shows
And I got your main thing bro, on my dangalang when she swinging like an urangutan
But you don’t really want a part of me, ‘cause everyone of my boys bang around.
Cocaine, cocaine, my skin white like cocaine, marked up like them ol’ trains
And I keep it hood, but this low mayne
Propane, propane, spark that shit like propane, I’m on east side of my domain
But ya’ll kick more shit than Liu Kang.

(I’ve gotta give MGK some props for referencing Mortal Kombat.)

According to The Verge, MGK hopped on the display tables, kicked off some signs and a few laptops and was hauled away with the assistance of police.

This is a bad judgement call on a level you normally don’t see outside of characters from the Grand Theft Auto videogames. To use Microsoft parlance, “someone’s gonna get PIPped.”

Update

Buzzfeed, who also covered this story, got an email from Microsoft which had this statement:

On Sept. 28, The Source held a private event at the Microsoft Lenox Square Store. We offer our stores as a venue for the community to use, and this event was not sponsored by Microsoft.

While the artist’s behavior was appropriate for a concert, some of it was not appropriate in a store environment. Please contact The Source for further information on the event itself.

That makes more sense. Had I been the store manager, I’d have put away most of the laptops on display.

Categories
Uncategorized

How New Yorkers with iOS 6’s Maps See the World

You’ve probably seen this classic map showing a New Yorker’s view of the world:

Here’s how a New Yorker running iOS 6’s Maps app sees the world, courtesy of MAD:

Click to see the original.

This article also appears in The Adventures of Accordion Guy in the 21st Century.

Categories
Uncategorized

Lenovo’s Looking for the World’s Oldest Working ThinkPad

The ThinkPad laptop — originally made by IBM, now made by Lenovo — made its debut 20 years ago. Industrial designer Richard Sapper (the guy behind the Tizio lamp, Lamy ballpoint pen and a lot of Alessi kitchenware) contributed to its initial design, taking his inspiration from traditional black lacquered bento boxes. When it came out, it stood apart from other laptops, in both looks, functionality and toughness. According to Wikipedia, the ThinkPad has been used in space and is the only laptop certified for use on the International Space Station.

Oddly enough, of all the laptops I’ve had, I’ve never had a ThinkPad. I came pretty close: in the spring of 2011, when I was still a Developer Evangelist at Microsoft, I got one assigned to me as part of my gear (I used to joke that my job meant that I had “one laptop for every limb”). The laptop arrived for me — three days before I left the company. I never even got to unbox it; the photo above shows how close as I got to the machine.

The ThinkPad 700 – the first ThinkPad, released in 1992.

Lenovo have put out a call on the internet — they’re looking for world’s oldest working ThinkPad. Have you got an old one that still boots up or may even be performing yeoman service in some corner of your office? Post a story and picture on Google+ with the hashtag #ThinkPad before Friday!

Categories
Uncategorized

Autosynthesis / I’m Really Into This / Everybody Happy When We Write Less Code

In an earlier post, I talked about a couple of changes to Objective-C that should reduce the amount of “yak shaving” you need to do while coding: syntaxes for NSNumber, NSArray and NSDictionary literals, as well as the new, shorter syntaxes for NSArray/NSMutableArray and NSDictionary/NSMutableDictionary item access.

Here’s the tl;dr version of this post: you no longer have to @synthesize properties! (Most of the time, anyway.)

From Public Variables to Getters and Setters to Properties

In the early days of object-oriented programming, you were supposed to make a class’ public attributes accessible through public variables. Access was pretty simple:

previousSpeed = myCar.speed;
myCar.speed = 50;

Then, it became a better idea to lock away all the variables and use getters and setters:

previousSpeed = [myCar getSpeed];
[myCar setSpeed:50];

It does the job, but it’s a little clunky.

Nowadays, the preferred way to expose class attributes in a number of languages is through public properties. With them, we’re back to accessing object attributes through this simple syntax:

previousSpeed = myCar.speed;
myCar.speed = 50;

What @synthesize Was For

Creating properties in Objective-C classes used to require statements in a couple of places. For a public property, you had to declare it in the interface (.h) file:

// Car.h
@interface Car : NSObject
@property int speed;
@end

The @property statement tells the compiler that you want to expose a property; in the case of the code above, the name of the property is speed. Properties are by default both readable and writeable. If you like to spell everything out very explicitly, you can by declaring the property this way:

@property (readwrite) int speed;

If for some reason you wanted speed to be read-only, you can declare the property this way:

@property (readonly) int speed;

With every property declaration comes the need for the underlying instance variables — ivars in Objective-C parlance — and the requisite getter and setter methods, which go in the implementation (.m) file. All this setup for each property can get a little tedious, and the @synthesize statement saves you from that tedium. Instead of having to declare the corresponding ivar and write those methods, @synthesize lets you do all that in a single line of code:

// Car.m
@synthesize speed;

By default, the name of the ivar created by @synthesize was the name of the corresponding property preceded by an underscore character. For example, the default name of the ivar behind a property named speed would be _speed. If you preferred, you could specify a different ivar name this way:

// Car.m
@synthesize speed=someOtherIvar;

The general rule was that if you only needed a simple getter and/or setter for a @property, use @synthesize.

Introducing Autosynthesis

The version of CLang (the Objective-C compiler) that comes with XCode versions 4.3 and later (the latest version is 4.5), supports autosynthesis, which automatically does the synthesizing for any class properties you declare in the header. If your @property needs only a simple getter and/or setter, you don’t need to have a corresponding @synthesize anymore. The compiler takes care of that for you.

Properties with autosynthesis work like they did with manual synthesis. You access them using the self.propertyName syntax, and the name of the ivar that gets generated is still the name of the property preceded by an underscore character.

Cases Where @synthesize is Still Useful

There are some cases where you’ll still want to use the @synthesize keyword, and this article in the blog Use Your Loaf does a good job explaining these cases. Such cases are a little more rare; most of the time, you can simply skip added @synthesize to your code because the compiler’s taking care of that for you!

In Case You Were Wondering…

The title for this article comes from the chorus of Shriekback’s 1985 alt-dance number, Nemesis:

Priests and cannibals
Prehistoric animals
Everybody happy as the dead come home

Categories
Uncategorized

Fighting Tooth and Nail for Third Place

3rd Place is a disturbing yet amusing coloring book really meant for adults.
Click the photo to find out more.

A conversation I had with a friend circa April 2011, shortly after I posted this article:

Friend: So why’d you leave? Was it the money?

Me: Are you kidding? The money’s awesome. In fact, the money’s making it hard to leave.

Friend: It was the incident*, was it?

Me: Actually, no. Even right after “the incident” [I made “air quotes” with my fingers while saying this], I was quite sure I was going to stick around for a while.

Friend: So what was it, then?

Me: A bunch of things. After everything that’s happened, I figured I was due for a change. Plus, there’s the whole being-the-Windows-Phone-guy thing. I’ve done too many 14-hour days and a lot of slogging around for what? A distant third place…if we’re lucky.

* The incident is a good story, best told in person over drinks.

A tooth-and-claw battle for a distant third place doesn’t seem to bother RIM CEO Thorsten Heins, who earlier today at BlackBerry Jam (where they also presented that cringe-worthy music video) said:

We have a clear shot at being the number three platform on the market. We’re not just another open platform on the market, we are BlackBerry.”

“Why go for the gold when you can go for the bronze?” said no one, ever.

To be fair, later in the article, it says:

Asked why he wasn’t aiming for one or two, Heins said “you climb a mountain step by step.”

That’s actually pretty reasonable. The next 18 months will tell the rest of the story, but the trends aren’t with them right now, according to Dan Frommer, who reminds us how far RIM has fallen with this graph:

Maybe RIM can borrow a page from AVIS’ book and come up with a slogan like “We’re number three, so we try harder”

Categories
Uncategorized

The iPhone 5 and Scratchy Show (or: You’re Holding It Wrong 2.0 and Design for Deterioration)

The iPhone 5 and Scratchy Show

Click the photo to see the source.

Just like as the white zone at the airport is for loading and unloading only, my left pocket is strictly just for my iPhone (still a 4S — I got it in November, and I’ve no compelling reason to upgrade yet). That way, there’s considerably less chance for it to get scratched. Even so, I keep my iPhone in a case, even if Darth Gruber disapproves.

Click the photo to see the source.

With the iPhone 5, Apple ditched the “glass sandwich” design in favour of aluminum. The problem is that customers have noticed — and remember, it been available for less than a week — is that it scuffs, scratches and even chips a little too easily.

Click the photo to see the source.

Apple Senior VP Marketing Phil Schiller, when asked via email by a customer if there were any plans to fix this problem, replied:

Any aluminum product may scratch or chip with use, exposing its natural silver color. That is normal.

He must be channeling the spirit of Steve Jobs — this is “You’re holding it wrong”, version 2.0.

Design for Deterioration

All this reminds me of an article by Khoi Vinh in his blog Subtraction, in which he talks about designed deterioration. He waxes poetic about his cast iron skillet and other things that look better when worn or used heavily:

…I have a US$20 cast iron skillet that I bought several years ago from a restaurant supply shop in downtown Manhattan. I’ve cooked hundreds of meals with it, and over time it has developed a coating from oil and food — the manufacturers call it ‘seasoning.’ It’s a little unbecoming when you think about it; in fact, though I clean it, it’s a dirty piece of cookware, and it resembles its original, store-bought state not at all.

…After cooking in it and cleaning it up, I’ve spent a lot of time just looking it over, marveling at how its very deterioration has been incorporated into the design of the object, at how it’s gotten more attractive — less ignorant — the more I use it. I’m not particularly sentimental about much in my kitchen, but I would be heartbroken if you took away this iron skillet…

He compares it to his technological goodies, for which the opposite is true:

I mention these things because I’ve noticed recently that the concept of what we might call designed deterioration is fairly anathema to digital hardware. The objects we purchase from purveyors of digital technology are conceived only up to the point of sale; the inevitable nicks, scratches, weathering, and fading they will encounter is not factored in at all. The result is that as they see more use, their ignorance may recede, but they wear it poorly. They don’t age gracefully.

Looking at the digital technology I own, what moderate deterioration to be found — dents in my laptop, a gash in the side of a laser printer I own, the accumulated grime on my computer keyboard — doesn’t make these items more desirable at all. In fact, when I see the way the corner on my aluminum PowerBook has been warped due to a nasty fall from a chair, I cringe. Through this obvious, glaring example of use, of accumulated knowledge, the object itself hasn’t attained an additional whit of beauty.

In fact, the damage is actually quite repulsive. This is because the laptop was conceived by Jonathan Ive based on an assumption that it would remain perfect forever. There was no designed deterioration factored in whatsoever, and so no real thought was given to how the laptop might change with use. Marks of knowledge, like the warped corner, aren’t meant to be embraced, but rather denied.

He also astutely observes that if you designed things like iPhones to look better with age and use, you’re discouraging people from upgrading to a newer model.