Categories
Uncategorized

Your Satya Nadella demotivational poster of the day

640 karma points

Don’t get the reference? It’s about a quote popularly attributed to Bill Gates.

Categories
Uncategorized

A tribute to Alec Saunders, VP Developer Relations at BlackBerry

“I have the second toughest mobile evangelist job,” I used to say when I was a Windows Phone champ. “The toughest job…that’s Alec’s.

Anybody can promote the Android and iOS platforms to developers. Taking on the job of being the head of BlackBerry’s developer relations team in late 2011, in the era of iOS 5 and the beginnings of Android 4 called for a rock star, ninja, and Jedi master all rolled up into one person. Luckily, Alec Saunders fits that description, and for three years he worked tirelessly to bring developers to the BlackBerry platform.

Yesterday, he announced that his last day at BlackBerry/QNX would be “sometime between now and November 3”. I don’t know what his plans are, but from one tech evangelist to another, I wish him the best in whatever challenge he takes on next, and thank him for honoring the profession through his hard work, and his fearlessness in taking on a cheesy ’80s hit in a “rally the BlackBerry troops” music video. You know the one I’m talking about…

I can’t think of a more fitting way to send him a tribute than with the same song:

I’m wishing you the best of luck, Alec, but I know you’ll kick ass wherever you go.

Categories
Uncategorized

“Bloom County” predicted agile practices back in the ’80s

I was taking a trip down memory lane, flipping through an old Bloom County collection when I saw this classic strip…

just wing that mother

Click on the comic strip to see the source.

…and it occurred to me: this is how a lot of so-called “agile” software projects are run.

On second thought, make that software projects, period.

Categories
Uncategorized

Xamarin and Xamarin.Forms covered in Visual Studio Magazine

xamarin.forms in visual studio magazine

enlightened lazinessIt’s a sign of the times when Visual Studio Magazine covers a development tool that’s neither Visual Studio nor even made by Microsoft. Lately, they’ve been giving a lot of love to Xamarin, which lets you code with C# and the .NET Framework to create native Android, iOS, MacOS, and Windows apps, with particular attention paid to Xamarin.Forms, their new cross-platform UI API that lets you target Android, iOS, and Windows Phone with a single code base.

With Xamarin.Forms, you build mobile UIs using an API that abstracts away each mobile OS’s particular features as far as the developer is concerned. When you create a Button in Xamarin forms, it becomes an Android Button instance on Android devices and a UIButton view on iOS devices. I’ve been noodling with Xamarin.Forms for the past few weeks and it looks like it’s the tool I’ll use to build sales, marketing, and training apps for partner organizations of GSG, the company I work for.

Why use Xamarin.Forms?

In their article, Simplifying Cross-Platform Mobile App Development with Xamarin.Forms, Visual Studio Magazine’s Wallace McClure suggests that you ask these questions when considering adopting Xamarin.Forms as your development platform:

  • What type of expertise do you currently have? A company that has invested heavily in C# and the Microsoft .NET Framework would have a significant burden taking on Objective-C for iOS and Java for Android.
  • How much do you want to invest for the application you’re developing? Web applications tend to be lower cost to get started. As customers ask for more features, the cost to continually add platform-specific features tends to cost more money than merely adding features to a platform-specific application. Will the application fit within a Web application forever, or will end users ask for features that will result in a dead-end Web interface? What happens when an application needs to use the image processing capabilities in iOS? Will the time, effort, and money spent building a Web application end up being a sunk cost?
  • What’s your end-customer expectation? End customers want apps that look like all of the other apps with which they work. Giving iOS users an application that looks like some generic platform (think jQuery Mobile default themes) results in some strange looks from those users. While they won’t hate the application, they won’t love the application as much as if they’d been presented with a platform-looking application.
  • Increasing the productivity of end users tends to be much more valuable than increasing the productivity of developers. End users outnumber developers by many times. I have a client with approximately 3,000 end users using an application I’ve written. A simple 5 percent increase in end-user productivity would greatly offset a 50 percent increase in developer productivity gained by using a cross-platform framework.

Xamarin.Forms in action

The article also features a sample app, which takes JSON data from a remote source via .NET’s HttpClient and displays it in list form as shown below:

xamarin data binding example

It’s worth noting that they don’t show a Windows Phone screenshot — just Android and iOS. You can download the code here.

What do developers make of Xamarin.Forms?

Another Visual Studio Magazine article, Xamarin.Forms: What Developers Make of It, has McClure talking to developers who participated in the Xamarin.Forms beta program as well as Xamarin evangelist Craig Dunn. Some quotes:

  • I really like Xamarin.Forms for creating simple and complex UIs for cross-platform (mobile) apps. I’m currently working on a video catalog app for a local telco, which I’ll be building the app for iOS, Android and Windows Phone. The user will scroll through a list of categories and TV shows and pick a video to watch on the handset. The data (menu structure) comes from a JSON feed and is perfect for Xamarin.Forms. Instead of creating a separate UI for each platform I can use one code base to cover all three platforms. I’m very excited about that.”
  • One of the most useful things in XAML is the DataBinding platform and this saves a lot of time in tracking properties and changes. Now it’s in Xamarin via XF [Xamarin.Forms]. Also, you can now separate your UI code from your business/logic code and have a clearer separation of concerns.”
  • The main benefit is that if you have a .NET background or know how to write C# code or F# and want to start building mobile apps, you can start immediately with Xamarin. You won’t need to learn a new programming language, and you can reuse all of your .NET skills building mobile apps. At the same time you are saving precious time by reusing your business logic between platforms, and even your UI if you are using Xamarin.Forms. You should use Xamarin.Forms if your main goal is to develop for all three platforms and share some UI between them.”
  • “The project has great traction because Xamarin.Forms is being widely adopted by many developers. We have around 10 contributors, almost 350 commits and we have NuGet packages with around 600 downloads — all this in less than two months of Xamarin.Forms being publicly available.”

Xamarin Test Cloud

xamarin test cloud

Xamarin isn’t just doing their part for cross-platform coding, but cross-platform testing as well, with Xamarin Test Cloud. Xamarin Test Cloud lets you test your apps on thousands on devices with your having to acquire them all. According to the Visual Studio Magazine article Xamarin Test Cloud Now Available:

Xamarin Test Cloud can provide simulated testing environments for more than 1,000 devices, from desktops to mobile devices and includes the various OS versions on a number of platforms.

Xamarin Test Cloud can be used to automate testing of apps through its Calabash cross-platform test automation framework whether developers are working in any C# or Ruby supported tool suite, and can report back on memory and CPU usage performance and test durations. Automated testing can be integrated into Team Foundation Server and other continuous integrations systems like Jenkins and TeamCity.

Xamarin Test Cloud is able to gain access and collect diagnostics information from device logs, stack traces and through hardware data to generate performance reports for more accuracy.

Categories
Uncategorized

The simple Swift shoot ’em up: updated for Xcode 6.0 and now on GitHub!

swift kickA couple of quick updates about the simple “shoot ’em up” game tutorial app written in Swift with Sprite Kit that I posted a little while back:

Categories
Uncategorized

Xcode 6.1 beta 3 and iOS 8.1 beta are out!

do you feel lucky geek

For those of you who like living on the edge, beta 3 of Xcode 6.1 (the current stable version is 6.0) is now available to registered iOS developers. Of note in this release:

  • More APIs have been made optional-conformant. The good news is that code will make more sense. The bad news is that some existing code may break.
  • Value of type Any can now contain function-type values, as you might come to expect from a value named Any.
  • Documentation for the standard library, which shows up in quick help and in the synthesized header for the Swift module, is improved.
  • All the *LiteralConvertible protocols now use initializers for their requirements rather than static methods starting with convertFrom. Any type that previously conformed to one of these protocols will need to replace its convertFromXXX static methods with the corresponding initializer.
  • Xcode now produces fixit hints to move code from the old-style fromRaw()/toRaw() enum APIs to the new style-initializer and rawValue property.
  • Class properties don’t need to be marked final to avoid O(n) mutations on value semantic types.
  • iOS Playgrounds now support displaying animated views with the XCPShowView() XCPlayground API. This is disabled by default, but can be enabled by checking the Run in Full Simulator checkbox in the Playground Settings inspector. When this checkbox is checked, running the playground will cause the iOS Simulator application to launch and run the playground in the full simulator. This is also required for some other functionality that fails without the full iOS Simulator, such as NSURLConnection http requests. Running in the full iOS Simulator is slower than running in the default mode.
  • Apple has addressed an issue that could cause Xcode to become unresponsive while editing Swift code.
  • Dead code stripping no longer removes public declarations from Swift application targets which are needed by unit testing.
  • Weakly-linked symbols no longer cause compilation errors in Playgrounds .
  • Swift expressions like expr, p, and print that are evaluated from the LLDB prompt in the Debugger console will now work on 32-bit iOS devices.
  • Profiling App Extensions with Instruments now works.
  • Ampersand and double quotation mark characters are now fully supported in the company name for iOS projects you create.

Also available for download is iOS 8.1 beta. As with Xcode 6.1 beta, you have to be a registered Apple developer to get it now.

Remember, these are betas, and the standard caveats apply.

I’ll close with the Dirty Harry clip referenced in the photo at the top of this article, for the benefit of younger readers who may not be familiar with Mr. Clint Eastwood’s iconic character:

Categories
Uncategorized

Mobile carrier news roundup: Verizon gets top marks, US wireless market trends, AT&T’s double data deal, and get your unlocked iPhone 6 at T-Mobile

RootMetrics gives Verizon top marks for its wireless network

rootmetrics on us carriers

Investment site The Motley Fool points to RootMetrics’ report for mobile carrier performance for the first half of 2014, which shows Verizon as the best overall performer of the “Big Four”. RootMetrics’ methodology incorporates thousands of mobile network performance tests performed on voice, text, and data from the consumer’s point of view. In the most recent round of these tests, Verizon performed best in reliability, speed, voice call performance, and data performance. AT&T beat them out in text message performance.

rootmetrics tests 1

rootmetrics tests 2

rootmetrics test 3

Click on any of these test graphs to see the RootMetrics report.

The Motley Fool credits Verizon’s XLTE — their branding for their Advanced Wireless Service (AWS) spectrum — which allows them to offer more than double the bandwidth provided by 4G LTE to customers, and this often yields faster connection speeds. Verizon has made XLTE available to 80% of its wireless market and 35% of devices currently on their network, and nearly all the devices it sells are XLTE-compatible.

total us carrier subscribers

Graph from Jan Dawson’s US wireless market trends for 2014 slide deck.
Click to see the source.

Verizon added 1.4 million net new wireless subscriptions in Q2 2014, and most of them — nearly 1.2 million — were tablet subscribers, not phone subscribers. Tablet mobile plan subscriptions are typically secondary subscriptions (with the primary one being for a mobile phone), and this, coupled with the fact that they’re one of the top 2 carriers in the US, suggests that their focus is on retaining customers and keeping their churn rate down. They seem to be succeeding in this goal, considering that they’ve kept their churn to under 1% for postpaid subscribers in Q2 2014.

Worth reading: Jan Dawson’s US wireless market trends for 2014 slide deck

The last graph in the segment above comes from US wireless market trends for 2014, a slide deck created by Jackdaw Research’s chief analyst, Jan Dawson. The deck looks at the wireless market’s financials (revenues, profitability, capital intensity), subscribers (total subscriptions, net adds, churn), and device trends (subsidies and penetration). If you want a good overview of the market, this is a good place to start.

AT&T offers double the data for family plans

att double data chart
att jpgFrom now until October 31, a family currently on AT&T’s Mobile Share Value plan can apply to get double the data on their plan for the same price. The deal doesn’t expire once you’ve signed up for it, but you do have to sign up for it, as it’s not automatically offered, and you have to do so before Hallowe’en.

Want an unlocked iPhone 6? T-Mobile’s got ’em!

t-mobileIf you’ve got the money to buy it outright from the get-go, T-Mobile can help you; they’re the only US carrier who sells unlocked, contract-free iPhone 6. If you take this route, you’ll have to pay off any installment balance remaining on it and use the T-Mobile network for 40 days, which is the usual policy for T-Mobile. Once those 40 days have passed, you can switch to the network of your choice.

this article also appears in the GSG blog