InfoQ were at Throne of JS and captured John’s presentation, Mobile Webdev: The Horror, in which he talks about some of the difficulties that you’ll encounter when building web-based apps for mobile devices. Whether you’re a web developer who’s starting to build apps for mobile devices or one who’s been at it for years, you’ll find it a useful and entertaining overview of the current mobile landscape.
With a speaker in the thumb, a microphone in the pinkie finger and Bluetooth components and indicators near the wrist, the Hi-Call glove lets you make and take calls using the well-known hand gesture. It’ll be good for a laugh when you demonstrate it in front of friends, and strangers watching you use the glove from a distance will think you’re one of those crazy people who talk to themselves (although Bluetooth earpieces have had the same effect for years).
Here’s Engadget’s video, where they give the Hi-Call glove a try:
The Hi-Call should be available later this month for about $70. That’s a bit steep for something that has some joke value but that I probably wouldn’t use normally; if it were priced somewhere closer to the Moshi Moshi Retro Handset, I’d consider it as a joke gift for officemates.
The Commodore 64 is from about the same era as Objective-C. The 64 hit the market in 1982; Objective-C (and C++ as well) first appeared in 1983.
Older languages like C (and recently, Objective-C), won’t just let you call a function or method whose definition is later on in the same file. Consider these two C functions, which appear in my Inpulse Magic 8-Ball tutorial:
The function set_time_mode refers to update_time_display, whose definition comes afterset_time_mode‘s. As far as the C compiler is concered, set_time_mode doesn’t exist yet, and it will refuse to compile, giving you an error message that looks something like this:
src/pulse_app.c: In function ‘set_time_mode’:
src/pulse_app.c:76: error: ‘update_time_display’ undeclared (first use in this function)
src/pulse_app.c:76: error: (Each undeclared identifier is reported only once
src/pulse_app.c:76: error: for each function it appears in.)
You can’t simply switch the order of the two functions since update_time_display also calls set_time_mode.
Forward declarations solve this problem. By including the signature for update_time_display before the definition of set_time_mode, we give the compiler enough information so that it knows what to do with update_time_display when it’s compiling set_time_mode:
Newer languages like Python and Ruby don’t need forward declarations. You can have a method refer to another method that appears later in the file in Python:
# A quick and dirty example in Python
# second_method appears later in this module
And here’s the Ruby equivalent:
# A quick and dirty example in Ruby
# second_method appears later in this module
second_method "Hello there"
Objective-C joins the club in Xcode 4.3 and later (as of this writing, the current version of Xcode is 4.5); you no longer need to make forward declarations. The compiler will “look ahead” if the function or method it’s compiling makes calls to functions or methods that appear later on in the file.
This means that the following code compiles in Xcode (at least in Objective-C):
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”.
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.
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.
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 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.
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.
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.
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.