Today’s programming meme

by Joey deVilla on March 2, 2016

Most Interesting Man in the World: 'I don't always git reset --hard... but I'm glad it's there when I need it!'

{ 0 comments }

3rd-generation Moto G: On sale for $199 until March 7!

by Joey deVilla on February 29, 2016

android developers best friend - moto g

If you’re an Android developer looking for a good phone to use for development and testing, you probably know that Motorola’s Moto G offers so much bang for so few bucks. It’s an even better deal until March 7th, because Motorola is now selling the unlocked 3rd-generation Moto G with 16GB storage for $199 each.

It’s got great specs for a phone in its price range…

  • Processor: 1.4GHz Quad-core Snapdragon 410 CPU, Adreno 306 GPU
  • Display: 5 inches, 1280 pixels by 720 pixels
  • RAM: 2GB
  • Camera: 13 megapixel rear camera, 5 megapixel front camera
  • Operating system out of the box: Android 5.1.1

…and it’s received glowing reviews from Engadget, GSM Arena, Techradar, Tom’s Hardware, and CNet.

Even at this low price, there are a number of customization options, including front, back, and accent colors, plus some paid optional goodies such as engraving ($5) and protective shells ($30). It’s a phone with top-of-the-line looks, middle-of-the-pack performance, and rock-bottom pricing. And remember, it’s unlocked; you can drop any SIM card into it, and it’s ready to go.

I’m the happy owner of a second-gen Moto G, and seeing the improvements they put into the third-gen model, if you’re looking for maximum Android at minimum price, I can recommend this phone without hesitation. Don’t forget that this deal’s only on until March 7th!

{ 0 comments }

This is virtual reality

by Joey deVilla on February 25, 2016

Get ready for a world full of this.

{ 0 comments }

Microsoft acquires Xamarin

nat friedman - scott guthrie - miguel de icaza

It was bound to happen, and it finally did: Microsoft is acquiring Xamarin. It’s a good fit for the all-new, all-platform, mobile-and-cloud-first Microsoft, as the Xamarin IDE lets developers code in Microsoft’s flagship C# language on Windows and Mac OS and target Windows, Mac OS, Android, iOS, and Windows Phone apps.

That’s pretty much all that either company are saying at the moment, other than they’ll talk more about it at Microsoft’s upcoming Build conference, and then again at Xamarin’s Evolve conference.

IBM releases Kitura, a Swift web framework and web server

kitura

It used to be that a programming language wasn’t real until it could be used to implement itself. These days, a programming language isn’t real until it’s been used to implement a web framework with RESTful routing and web services support, which means Swift just got real. IBM announced the Kitura web framework at Mobile World Congress 2016 in Barcelona, and The Register was there to cover the announcement with their trademark snark.

It’s a pretty good follow-up to an earlier announcement about bringing Swift to the web/cloud with Bluemix.

Square’s writeup of Kotlin

square and kotlin

If you were looking for a writeup of the developer experience with JetBrains’ newly-1.0-released language Kotlin, look no farther than the writeup produced by Square’s Jake Wharton. It was written in January 2015, but most of it is still applicable. I love the fact that at the end of the document, he asks people not to refer to it as “the Swift of Android”, but it’s just too useful and apt a phrase not to.

{ 0 comments }

Is it time for your organization to hang up on voice mail?

by Joey deVilla on February 24, 2016

office voicemail

The move to technologies such as email, instant messaging, and unified communications is morphing or displacing technologies that were once must-haves at the office. The fax machine has undergone this transformation over the past decade, with online services replacing the once-dominant stand-alone machineNow it’s voice mail’s turn.

A growing club

The shift from voice mail has been slow and steady over the past few years, accelerating after the debut of the iPhone and the smartphone revolution it launched. The first signs were there back in 2009 when the New York Times published an article titled You’ve Got Voice Mail, but Do You Care? Since then, a number of businesses have decided that they don’t care about voice mail.

ppg place

PPG’s headquarters in Pittsburgh.

Last month, PPG, the world’s largest producer of paint, joined the growing ranks of companies that announced their phase-out of fixed-line voice mail from their headquarters in downtown Pittsburgh, where 800 of its 46,000 employees worldwide work. The voice mail system was going largely unused, with employees at the head office opting for tools like email, mobile phones, and instant messaging. If you call a landline at the PPG headquarters and nobody picks it up, you’ll hear a recording telling you that the party you’re trying to reach is unavailable, and that you should call back later or “try an alternative method to correspond”.

Mark Silvey, a spokesperson for PPG, says that cost didn’t drive the move to drop voice mail and that the savings from doing so was “not significant”. “The main driver was to streamline the work environment,” he said.

Other notable companies that have cancelled voice mail include:

Reasons to cancel voice mail

1. If nobody’s using it

phone covered in cobwebsTake it from the carriers themselves: fewer people are using voice mail. Vishy Gopalakrishnan, a manager with AT&T’s unified communications unit, said this of voice mail: “Most people have it, but they don’t end up using it. There are ways to get around it.” Back in 2012, when smartphones and BYOD were less prevalent than they are now, Vonage’s VP of Product Management Michael Tempora told USA Today that the number of voice mail messages left by callers had dropped 8% year over year. Even bigger was the drop in voice mails checked by receivers — 14% fewer voice messages were retrieved by Vonage users in 2012 than 2011.

This is especially true with younger workers — the 35-and-under set who’ve have never known a world without point-and-click interfaces and spent their adolescence on the internet. Here’s a small sampling of articles on millennials’ relationship with voice mail:

Ask your employees if they’d miss voice mail if it were to be eliminated. When JPMorgan Chase offered to eliminate it for employees who don’t directly interact with customers, 65% elected to do so. When Coca-Cola did the same, a mere 6% chose to keep it.

2. Productivity

productivityWe’ll let Harvard Business Review do the talking. Here’s what Michael Schrage wrote in Time to Hang Up on Voice Mail, an article that appeared in the September 2013 issue:

The truly productive have effectively abandoned voice mail, preferring to visually track who’s called them on their mobiles. Irritated office workers, by contrast, despair that their desk phones can’t display who’s called and when. They’d be far better off if office calls were forwarded to their devices with the relevant Caller IDs attached. Yes, unified communications protocols and technologies were supposed to address these gaps but they’re taking an inordinately long time to do so as other messaging alternatives improve. Google Voice and other audio-to-text transcription services could also obviate the aural inefficiencies but, frankly, few organizations have bothered to make that investment.

The result is the worst of both worlds: A legacy system drag on organizational productivity and individual confusion around the technology’s role and relevance in getting work done. That’s wasteful. What’s worse, it signals enterprise laziness and complacency.  What’s the big deal? If people want to call, they’ll call; if the want to text, they’ll text; if they want to email, they’ll email. More choice is used as an excuse for not thinking through how individuals and teams should be productively communicating.

3. Potential cost savings

There’s some disagreement as to whether the savings from cancelling it are significant. At about $10 per user per month, voice mail is an inexpensive telecom service compared to many others. Both PPG and Coca-Cola say that the savings are small (Coca-Cola says they’re saving less than $100,000 a year), while JPMorgan Chase say that their move to eliminate it generates over $3 million in annualized savings. A telecom audit can help you find out how much cancelling voice mail will save your organization.

Regardless of whether or not cost savings is a factor in your decision, be sure to communicate this clearly to your employees if you decide to eliminate voice mail. The internal announcement of voice mail’s impending demise at Coca-Cola led some employees to believe that it was part of a program to cut expenses by $3 billion by 2019, sparking concern and rumors about the possibility of layoffs.

4. Simplicity and security

Consider these in the case where voice mail isn’t used often at your organization. An unused service not only wastes money, but add unnecessary administrative and billing complexity to your telecom environment. It also offers another “attack surface” to be exploited by hackers and other malicious parties.

Reasons to keep voice mail

phone employeeFor customer-facing employees who communicate largely by phone, voice mail is still useful. A customer who tries to leave a message only to be told to try some alternate means of communication may feel that his or her time has just been wasted. The “high touch” aspects of your business, where personal attention is a differentiator, will still benefit from voice mail, especially if your customer base is 45 or older.

As with removing voice mail, it’s worth listening to the employees who want to keep it.

Does it serve your business?

In the end, the question you need to ask of voice mail — or anything else in your communications infrastructure — is: does it serve your business, or at least certain parts of it?

this article also appears in the GSG blog

{ 1 comment }

intro to network programming on ios

We’ve just announced the next Tampa iOS Meetup: it’s called Build a simple weather app (and learn basic network programming along the way), and it’s taking place on Monday, March 7th at 6:30 p.m. at our usual spot: Energy Sense Finance, 3825 Henderson Boulevard (just west of Dale Mabry), Suite 300.

While it’s fine for a lot of apps to simply do what they do without any network connection, many of the ones you use most often need to go online. That’s what the March session of Tampa iOS Meetup is all about: making your first steps in writing apps with network programming. By the end of this session, you’ll be ready to write your own simple networked iOS applications and have enough knowledge to start tackling more complex networked application development.

We’ll start with the concepts of network programming, introduce you to a number of classes and constructs in Swift that you’ll find useful for networking, and then put together a couple of simple apps that grab online data to do something useful, including an app that answers an incredibly simple question: “Do I need my umbrella today?”

There’s more to building an app than just programming, so we’ll also look at issues like usability and design, and other factors you need to consider when building an app.

Interested in catching this meetup? Sign up now!

got a problem

If you’ve hit some kind of wall with learning iOS development, come on down! We always leave some time to discuss issues and problems you may be having while learning how to build iOS apps. We’re here to help!

Tampa iOS Meetup banner with photo of Joey deVilla and Angela Don in the background.

Tampa iOS Meetup is a monthly meetup run by local mobile developer/designer Angela Don and Yours Truly. While Tampa has a couple of great iOS developer meetups — Craig Clayton’s Suncoast iOS and Chris Woodard’sTampa Bay Cocoaheads — they’re aimed at intermediate- to expert-level iOS developers. We figured that there was room for a third iOS meetup in the Tampa Bay area, and especially one that focused on people new to iOS development or even development in general. So we made one.

The Details

  • What: Tampa iOS’ Meetup’s “Build a Simple Weather App (and learn basic network programming along the way” session. Please sign up on our Meetup page so we can plan accordingly!
  • When: Monday, March 7, 2016, 6:30 p.m. – 9:30 p.m. We’ll have some snacks at 6:30, with the presentation beginning at 7:00.
  • Where: Energy Sense Finance, 3825 Henderson Boulevard (just west of Dale Mabry), Suite 300. See the map below.
  • What to bring: Yourself, but if you’d like to follow along, bring your Macbook and make sure it’s got Xcode 7.2.
  • What to read in advance: If you’re one of those people who likes to do some readings ahead of a presentation, take a look at this NSURLSession tutorial on Ray Wenderlich’s site. We’ll be using our own tutorial material, but Ray’s stuff will come in handy.

{ 0 comments }

Weekend resources for new Kotlin programmers

by Joey deVilla on February 20, 2016

jetbrainsOver the years, JetBrains have released a number of nice development tools. Many of you from the .NET world live and die by ReSharper, the add-on that supercharges Visual Studio and takes a lot of drudgery and donkey-work out of .NET development. If you’re a Java developer tired of the nightmare of self-flagellation that is Eclipse, you probably use IntelliJ IDEA, which is a far nice environment to work in. And if you’re building Android apps, you probably are still giving thanks for Android Studio, which was built on IntelliJ.

kotlinSix years ago, JetBrains embarked on a project to build a new programming language named Kotlin after an island near St. Petersburg, Russia, where one of their development teams is based. On February 15, 2016, JetBrains announced the 1.0 release of Kotlin, which in their own words, “works everywhere where Java works”:

  • IntelliJ IDEA, Android Studio and Eclipse
  • Maven, Gradle and Ant
  • Spring Boot (Kotlin support released today!)
  • GitHub, Slack and even Minecraft :)

You can try out Kotlin online or on your own development environment:

  • IntelliJ IDEA (Ultimate or Community): just create a Kotlin project or a Kotlin file in a Java project
  • Android Studio: install the plugin through Plugin Manager
  • Eclipse: install the plugin through Marketplace

…then download its documentation from the official site, after which you should check out these perfect-for-weekend-enjoyment resources…

First, a little reading material

why kotlin is my next programming language

Start with Mike Hearn’s essay on Medium, Why Kotlin is my next programming language. It lays out a pretty complete list of reasons why you’d want to take up development with Kotlin. If you’re convinced by the end of the essay, continue with the videos below…

The Fragmented podcast on Kotlin

fragmentedIf you’re going for a walk, run, bike ride, or to the gym, and you’d like to find out more about Kotlin, check out the October 2015 edition of the Android-centric Fragmented podcast in which hosts Donn Felker and Kaushik Gopal talk about Kotlin with Hadi Hariri, JetBrain’s developer advocacy lead. This one’s pretty in depth and runs 1 hour and 25 minutes.

Fun with Kotlin

Eder Bastos, and Android developer at Raizlabs, takes under 8 minutes to provide a nice tour of the Kotlin programming language and why you should consider it for your next Android project. This was published January 14, 2016:

Kotlin: New Hope in a Java 6 Wasteland

Michael Pardo gave a Kotlin talk at Droidcon NYC 2015 on August 27, 2015:

Kotlin: The Swift of Android

Here’s Svetlana Isakova of JetBrains (creator of Kotlin, Android Studio, ReSharper and a whole lot of IDEs) at DroidCon Berlin on June 4, 2015:

Android Development with Kotlin

Presented by Jake Wharton at the AndroidKW Meetup in Waterloo, Canada, December 3, 2015:

You may also want to take a look at these other Android/Kotlin presentations by Jake Wharton:

Functional Programming with Kotlin

Here’s a talk by Mike Hearn (the same Mike Hearn who wrote Why Kotlin is my next programminglanguage) where he shows Kotlin in action, with an emphasis on functional programming. This one was posted November 5, 2015, and he’s demonstrating using a pre-1.0-beta version:

{ 0 comments }