Blog Archives

Android at #io16

(As usually…) It has been a while since my last blog post 🙂

This time I’m coming back just to tell you briefly about Google I/O 2016!
Last time it was back in 2013 when I went with my friend Massimo and since then a lot of things have changed. The Android platform got a lot more mature and my impression is that Google started to focus more on simplifying the developer life while still gaining a lot of new data.

I’m not gonna talk about VR, Artificial Intelligence and Machine Learning. These are really cool technologies but my developer heart still belongs to an Android made of custom UIs, Content Providers, messy fragments, multi-threading, memory constraints,… and… why not… Android Studio!

It’s kind of funny because back in 2013 when Tor Norbye and Xavier Ducrohet announced Android Studio starting to ditch support for Eclipse, I was a bit upset. After few months, I started to appreciate IntelliJ and all the efforts that the Android Developer Tools Team made in order to have a first class Android IDE integration/experience.

…but this is the past!!! Without forgetting about being dwarfs standing on the giants shoulders, let’s focus on the present and what’s ahead of us! 🙂

This Google I/O 2016 came with a lot of news:

  • Android N will support native Multi Window with Drag&Drop capabilities.
  • ConstraintLayout: not a RelativeLayout, not a FrameLayout, not a LinearLayout, not a PercentageBlaBlaLayout,… but a completely new ViewGroup that comes with a full integration in a new layout editor for Android Studio. The power of this new tools is based on the promises of flattening drastically the View hierarchy creating constrains between Views and parents! 🙂
  • Java8 support + Jack Compiler
  • An APK analyzer to inspect generated APKs and help you try to remove un-necessary and/or un-optimized resources
  • Instant Apps is a new feature that will allow you to modularize more your application allowing the user to download just a single use case of your app, without having to install a full APK. Even if it might look a bit strange, this tool could be really handy when it comes to introduce your service to new users, engaging them little by little.
  • Android Wear 2.0: even if it comes as a preview, it will have a new enhanced user interaction and more immersive experiences.
    • Watch Faces will support more than just time and battery info. There will be a chance to support more complicated(complications) data that will provide useful info to the user.
    • Notification will come with a new interaction style and paradigm.
  • Firebase: this is kind of hard to describe. The most simplest description that comes in my mind is “A magic box that contains a lot of tools to help you build better apps.  All these kind of little things those are taking a lot of time when developing new features in your apps will become definitely a lot easier. A/B testing, analytics, syncing, login, GCM,… have been bundled and connected(not all of them) togheter into Firebase, giving you a simple way to check and maintain them.

…there is definitely a lot more and you can check it out on the Google I/O 2016 Youtube channel!

I hope you’re gonna enjoy some of the pics I took over there 🙂

This slideshow requires JavaScript.

Cheers,
Simone

P.S.:
..if you live in UK, have a long weekend! 🙂

#London Chapter 3: Be ambitious! Be bold!

Time flies when you are having fun and apparently today it’s my 3rd London anniversary 🙂
I was just reading few minutes ago the second chapter of my adventure in the United Kingdom and I’m really surprised to see how many things have changed during the last year.

Driven by my dream of getting better and better, I tried to hit most of the targets for this year.

In January, I have finished my Mobile Cloud Computing specialisation on Coursera and my project was also awarded with a tablet that my mum has definitely appreciated.

The following months have been really intense and plenty of events that is better to summarise in just few points:

Yesterday, I also started a Machine Learning course that will try to keep me busy till to the end of February.

I don’t know why… but I still feel that I haven’t done enough things during this 2015. I can justify this, saying that otherwise I wouldn’t know what to do next year… even if I have already got something in mind 😉

After a long period of silence on my blog, I hope that all my achievements have turned on you the desire of striving always for something more. Someone would say YOLO(you live only once) and I definitely agree with that: life is to short to let it fly away.

See you at the next time 🙂

Cheers,
Simone

Miscellaneous (part 6)

Being at the last step of our Android Wear journey suggests us to make some assumptions and considerations on how to take advantage of this new platform in real scenarios. Beside this, we are going to have a brief look at some of the missing elements that we did not touch before, focusing our attention on answering the questions those might have risen in the mind of the readers while going through the entire path.

Read the rest of this entry

Data Exchange and Sync (part 5)

Since the beginning of our journey, we have tried to create a wearable experience starting from our existing handheld app. A first working solution has been achieved just taking advantage of the WearableExtender that has allowed us to easily extend the status bar notifications, providing detailed info and extended functionalities to the wearable device. Even if this approach can work for the majority of the applications and it is really straightforward to achieve, it has some drawbacks in terms of achievable features and availability of content on the smartwatch. In fact, if the smartphone and the wearable device are not coupled, the latter one cannot offer any more access to the previously shown content. Keeping in mind that the wearable device is not a substitute of the handheld one but more like an extension that should try to simplify the user life, we have then exposed a limited number of functionalities into a custom wearable app. In order to achieve this result both applications currently share a common module but are decoupled in terms of single application modules. In this way it is possible to recycle and share code elements like the ContentProvider, the models and common utilities but at the same time keep distinct the different platform based implementations. In Pimp my Wear, this solution has led us to a wearable application that can be used by the user even if the two devices are temporarily disconnected but at the same time to a situation where the content gets out-synced. In this chapter we are going to have a look at how the Wearable Api can help us exchanging and syncing data between the two different devices.

Read the rest of this entry

Pimp my Wear (part 4)

In Colonizing Wearables, after a first attempt of running the existing handheld version of the Books application on a smartwatch, we ended up creating a simple Android Wear module that displays the number of available book entries. This has been done not only to discover more about Android Wear, but because a handheld app should not be just ported to a wearable device. During our journey, we have introduced few of the new UI components offered by the wear support library. Among them, WatchViewStub has allowed us to handle different screen shapes, figuring out at runtime the type of display. We also had a chance to understand the reason why and how the wearable module has to be included into the handheld build. Therefore, the goal of this part is to evolve the previous module into something that can be easily used by user and that tries to follow as much as possible the android wear design patterns.

Read the rest of this entry

Colonizing Wearables (part 3)

In Landing on Wearables we have approached wearables devices extending our existing app’s notifications and explaining briefly how to bind them to our development machine for debugging purposes. Now it is time to study more in deep what we can achieve directly on a device running Android Wear, understanding the constraints and the possibilities that the platform introduces. We will continue to keep as reference the Books application previously developed and we will try to create an Android Wear module.

Read the rest of this entry

[Story Of My Life] London Chapter Two

It looks like that Today it’s my second year anniversary here in London 🙂
I want definitely to be a lot more concise than the past year but at the same time I want to write something that will remain as stone in the path of my life. Read the rest of this entry

One year in #London, just the first chapter of a new book.

It has been one year since I left Italy, my friends and the warm nest of a family that never stops loving you.

Just this morning I received an email from my father who was asking me if I’m celebrating this wonderful day. I think that the biggest celebration is to be here; it doesn’t matter if it’s London, Paris, NY,… but the important fact is that I’m still here, fighting day by day for all those things that I like to do. In just one year a lot of things have changed in my mind, in my life and in my job. New horizons, goals and people have started to be part of this new life but at the same time all the “old” important ones have continued to follow me and support all my choices. Read the rest of this entry

First time at #droidconuk :)

Hi all,
at the end of last week, after the Apps World conference, I went to the Droidcon conference here in London. It has been an event full of Android rock stars and full of good speeches like the one of Facebook, ProGuard and Gradle.

This time I don’t want to spend many words but only give some pics from that experience.

This slideshow requires JavaScript.

“Just #Google it!”

I have started this post almost one month ago but I’m finding now the time to write something about one of the coolest companies in the World. I have never had the opportunity to work there but, as user and mobile developer, I have certainly noticed that in the last 15 years Google has changed the Web and in particular the life of billions of people.

Through products like its famous search engine, the Android OS, Google Plus, Chrome and dozens of other projects Google is gaining day by day more success and people that trust in its goals. If you think about that, every company tries to earn more money and to acquire more users but Google has something more: the desire to grow not only as a supremacy but as a vector of evolution for the entire World.

That’s not obvious because most of the people, especially in the IT world, tend to be more closed than opened to resources and tools sharing. Google thinks different and that’s the power and one of the aspects those have make it great!
I’m not saying that every product, every library and everything produced by this company is perfect or something that only a bunch of genius can produce but I would like to highlight the main purpose behind their business: make the life of everyone better.

Sometimes it quite difficult to maintain those kind of standards because if the other companies and competitors think in the opposite way, offering them a lot of useful tools can be quite painful. But if you consider the purpose of make the World better, that can be used to maintain alive the competition and the desire of discover new things.

As Android Developer, I’m really grateful to a company of this caliber because I have got the big opportunity to work in a world that without Google wouldn’t be so great and close at the same time. Working everyday on the mobile OS that is on the top of the edge makes me really proud and happy because, using a set of tools that’s offered for free, is giving me the possibility to do my own business but at the same time the possibility to work for something that goes beyond that.

There are a lot of big and good company all around the World but I’ll definitely continue to support Big G if they’ll continue in this way 🙂