From the Big Android BBQ Europe, Appstudio.nl senior developer Maarten Edgar on transitioning from Windows Mobile to Android, why you need to read the documentation, and what might lie ahead for Google's OS.
The Big Android BBQ Europe, held in Amsterdam, Netherlands recently, brings together some of Europe's top Android developers, enthusiasts and other community members in a celebration of Android, code and cooked meat. A spin-off from the U.S.-based Big Android BBQ, the European event is now in its second year.
In addition to the actual BBQ part, it's also host to two days of talks from Android developers. Among the devs presenting this year was Appstudio.nl senior Android developer Maarten Edgar. We caught up with Maarten to talk about breaking into Android development, current challenges for devs, and what the future might hold.
Who are you and what are you doing here at the Big Android BBQ Europe?
My name is Maarten Edgar. I've been developing [for] Android pretty much since it came out. I used to be a Windows Mobile developer, of all things, until they switched to Windows Phone and I couldn't make my apps anymore. The apps which I'd written didn't exist; I couldn't port them. So I got pissed off, and haven't looked back since.
I'm here at the Big Android BBQ, talking about surface views and how to get the best performance with them. And when to use them and when not to use them.
You already touched on this a little, but how did you get started in the world of Android development?
They switched from Windows Mobile to Windows Phone and I couldn't make my apps anymore.
As I say, I used to make stuff for Windows Mobile — this is Windows Mobile 5.0 — I really liked developing for it, but then they shifted over and I could not make my apps anymore. The apps I made I couldn't port, I couldn't access things, and so I got pissed off. And Android had come out, looked good, so I went and did that. And I've been enjoying it ever since.
And I've touched pretty much all aspects of the phone to dual camera to Wi-Fi to Bluetooth, Bluetooth LE, encryption. You name it, I've screwed around with it.
What are some of your favorite and least favorite things about working with Android — especially considering you've come from Windows Mobile back in the day?
Good question! Well, I like [that] it's open source, I like that [in mobile development in particular] you make something and it's "one there." Specifically or Android, I like that it runs on a lot of different things. I've done some commercial Google Glass development — and, you know, it has a skin, but it is Android.
I like that you can do really useful stuff [with Android], it keeps on evolving and getting more interesting, so I like that.
What I don't like is... implementations of Android that are not truly Android — Samsung had this problem where, for example, you'd ask something in the system, you'd do a system call [asking] what kind of resolution it was and it would lie to you! It would say "oh no, I'm HDPI" when really it was an MDPI thing. And that just pisses me off. Incorrect documentation. And what's difficult is all the different device sizes. That is a challenge. Not necessarily something that I hate but it is challenging.
What's the most important piece of advice you could give to someone starting out in Android development today?
The best documentation is already there. You don't have to buy a book.
Read the documentation and start at developer.android.com and work through everything that's there. Especially the basics, and then just pick and choose depending on what you're doing. But too many people look for — y'know, oh, what paid course can I do or what YouTube video can I see. Anything you'll see there is actually often a shallow interpretation of what's there already. The best documentation is already there. Some of it might be a bit off, but it's all there, and it's free, and it's well laid out. You know, you don't have to buy a book because it's already there.
And I see this on Stack Overflow and hear it from people and they go like: "oh, well, where can I find that?" And very often, especially for the beginner, it's all there and you have to read through it to get to "grok" the Android lifecycle, and that kind of thing. So that, I think, is the most important thing that you can do when you're starting out, when you're an absolute beginner. Just do that.
Where do you see Android development, or Android in general, headed in the next few years?
Desktop. You see the freeform windows mode [in Nougat]? I've played around with it on my Pixel C. It's buggy as all hell, but with a proper windowing system you've got the infrastructure to be a desktop replacement. That's the most important thing that I think might come up.
Maarten Edgar is a senior Android developer at AppStudio.nl