Cover photo
Miguel Miranda de Mattos
Works at Miranda Mattos Inf. Ltd.
Attended Instituto Industrial Luis A.Huergo
Lives in Porto Alegre, Brazil
401 followers|178,334 views


An excellent written comparison of #reactjs and #angular2
“Angular 2 versus React: There Will Be Blood”
Angular 2 has reached Beta and appears poised to become the hot new framework of 2016. It’s time for a showdown. Let’s s…
View original post
My new blogpost! What about creating a RESTful API in couple of minutes? With Dart of course :-)

#dartlang   #gde   #blogpost  
View original post
Dev Tips: #DevTools: Use the Threads pane to debug multiple JavaScript threads

View original post
Swift, Apple's powerful new programming language, is now open source on GitHub. Developers can submit bug fixes and enhancements, and help bring the language to new platforms. Open Source has been...
Carter TSAI's profile photo
Add a comment...
Today’s #AndroidDev #Protip from +Nick Butcher and +Katherine Kuan is on a smoother app launch experience.

On app launch, Android displays a simple preview window (based on your activity theme) as an immediate response to the user action. Then the preview window crossfades with your actual UI, once that has fully loaded. To ensure a smooth visual transition, your activity theme should match your full UI as closely as possible. The below image shows how the experience can be jarring if not handled properly. 

For example, if your activity does not require an action bar, then disable it in your theme so that it doesn’t briefly appear in the preview window. To do this, use or extend an activity theme with no action bar. You can also override the background color of the window, if applicable, to better match your full UI.

<style name="AppBaseTheme" parent="android:Theme.Holo.NoActionBar">
    <item name="android:windowBackground">@color/red</item>

When using an action bar in your activity you can tweak it’s displayOptions such as showing or hiding the title or logo to achieve a smooth app launch. For more info on this refer to the documentation & Action Bar API guide

Don’t be tempted to use this functionality to build a splash screen as the preview window is shown whenever the activity is constructed i.e. after configuration changes such as rotating your device; not just on the first app launch.  Do use this to create a smooth experience for your users, minimising jarring transitions. For more info on gorgeous app launching see this blog post by +Cyril Mottier.
40 comments on original post
Have him in circles
401 people
Genmark Kwech's profile photo
Alexandro Borba's profile photo
Mike Whitmarsh's profile photo
Leandro Lemos's profile photo
Cristian Perez's profile photo
Marry Brandon's profile photo
Scott Williams's profile photo
Krishna Oza's profile photo
Noemi Camps's profile photo
It long been the case that CPUs are significantly more performant and expensive than I/O devices. This era may be coming to an end, however, due to the arrival of high-speed, non-volatile storage devices, or Storage Class Memories (SCM). This article in acmqueue explores this paradigm shift in detail:
5 comments on original post
Have you been working with ES2015? In today's blog post, Front-end Director Drew Barontini details what you can do with it and the geolocation Web API.

Read the new blog post and let us know your thoughts below!
View original post
Thanks for accepting me in joining this community.
Looking forward to exchange experiences about Swift. 
abdou ett's profile photo
Add a comment...
A flowchart for background work, alarms, and your Android app
Pro-tip by +Ian Lake

For many apps, doing work in the background can be an important part of building a great experience. An alarm registered with AlarmManager ( is one way to schedule your app to be run sometime in the future, even if your app isn’t in the foreground. What alarm type and API should you use for your app or are alarms even the best option? Let’s go through some of the factors that should influence your opinion:

How often do you want to trigger?
For events less than 60 seconds apart, alarms aren’t the best choice: use the much more efficient Handler ( for frequent work.

Want to set a user visible alarm clock?
On API 21+ devices, new APIs allow you to set a user visible alarm via setAlarmClock(): the system UI may display the time/an icon and apps can retrieve the next alarm clock with getNextAlarmClock(). Note that alarms set with setAlarmClock() work even when the device/app is idle (similar to setExactAndAllowWhileIdle()): getting you as close to an exact wake up call as possible. For backward compatibility, you’ll follow the same guide below for a single alarm.

Wake up the device/app while idle (i.e., doze, app standby)?
On Android 6.0+ (API 23) devices, additional power-savings optimizations ( have been added in the form of Doze (triggered by a completely stationary, unplugged, and idle device) and App Standby (triggered by an unplugged device on idle apps that haven’t been used recently). You’ll use setAndAllowWhileIdle() for inexact and setExactAndAllowWhileIdle() for exact alarms if you need it to fire an alarm while in these idle states. If it can wait until the user returns to their device/your app, use the standard set() and setExact() to be the best Android citizen and save your user’s battery.

(We’ll be talking more specifically about Doze and App Standby later!)

Just a single alarm?
A single alarm can be set with the aptly named set() method. One thing to keep in mind is that on API 19+ devices when you target API 19+, the system will be treated as inexact, potentially batching alarms together - the alarm will never go off before the time specified, but may go off afterwards. If you have some flexibility in the start time but have a hard deadline, consider using setWindow() to gain more control over the exact time period to be used.

You can use setExact() for a precisely timed single alarms on API 19+ devices, but use these only when the exact timing is required (such as with a calendar reminder).

Need to repeat at a constant rate?
For repeating alarms, batching is the key to good battery life. setInexactRepeating() does exactly that. Prior to API 19, you can use one of the INTERVAL_ constants (such as INTERVAL_HOUR to batch alarms of the same interval. On API 19+ devices, all repeating alarms (no matter what the interval) set with setInexactRepeating() will be batched.

You’ll note there’s also setRepeating() - similar to set() the behavior changes with API 19 from exact to inexact repeating alarms, meaning if you are on an API 19+ device and target API 19+, this functions identically to setInexactRepeating(). If you really need exact repeating alarms on API 19+, set an exact alarm with setExact() and schedule the next alarm once your alarm has triggered - keep in mind the battery implications though!

BUT WAIT: should you even use alarms?
If you want to be as battery efficient as possible (and you should!), consider using JobScheduler ( on API 21+ devices or GcmNetworkManager ( on all Google Play services enabled devices of API 9+.

Supporting both one off and periodic work, these APIs lack the ability to wake from idle, but gain the ability to wait for network access, wait until the battery is charging, take advantage of automatic backoff and retry, persist across reboots, and batch jobs across the system (meaning lower battery usage!).

That’s a lot of good reasons to use JobScheduler and GcmNetworkManager so consider them strongly in your push to #BuildBetterApps
72 comments on original post
Miguel's Collections
Have him in circles
401 people
Genmark Kwech's profile photo
Alexandro Borba's profile photo
Mike Whitmarsh's profile photo
Leandro Lemos's profile photo
Cristian Perez's profile photo
Marry Brandon's profile photo
Scott Williams's profile photo
Krishna Oza's profile photo
Noemi Camps's profile photo
  • Instituto Industrial Luis A.Huergo
  • British Culture Association (Buenos Aires, Argentina)
Basic Information
Other names
Miguel Miranda Mattos
Lead software developer. Programmer. Entrepreneur.
Miguel Miranda de Mattos (a.k.a. mmmattos) is a  software craftsman specialised in solution architecture, planning, design and coding of software projects. 

During the last three year with major focus in Mobile, Back end, SOA and Cloud computing  applications.

Founder of Miranda Mattos Informática Ltda. As part of this initiative Miguel is engaged in developing several mobile and cloud projects for different clients and requirements.

Currently volunteers as Mobile developer for the project, which aims to provide an interactive accessibility map for people to easily find accessible point in the city.
The project original idea was from Educandário São João Batista (NGO) , a school for kids and teens with special needs, and its professor Betha Medeiros.

Miguel also contributed recently for the neoEYED project as mobile developer and now as advisor. neoEYED  provides an alternative and unique way to replace the passwords as they are known and used nowadays. 

Devoted to family in the spare time. 
He occasionally doubles as a musician playing drums in one of the most known Brazilian native rhythms, Samba.
Entrepreneur. Founder. Senior Software developer. Programmer.
Software Engineering. Solution Architecture. SOA. .SaaS. Mobile, Web and Backend applications. Cloud computing.
  • Miranda Mattos Inf. Ltd.
    Founder. Lead Software Dev., 2014 - present
    - - - Accessibility map - Volunteer. Mobile developer (iOS). - - Lead mobile developer (iOS)
  • Sicred Informática Ltda
    Programmer Analyst, 2013 - present
    - - Financial applications development in .Net, c#, Sql Server.
  • neoEYED
    Advisor, 2015 - 2015
  • Hewlett-Packard
    Tech Lead and Sofware Design Engineer, 2008 - 2013
  • T&T Engenheiros Associados Ltda.
    Software Engineer, 2006 - 2008
  • Sicred Informática Ltda.
    Web Application Specialist, 2002 - 2005
    - - Web Application Analyst.
  • W3
    Account Manager, 2000 - 2002
  • UOL International
    Programming and Design Management, 1999 - 2000
  • Sterling Software Intl.
    Software Development Specialist, 1989 - 1992
  • Grupo Brennand
    Technologi Manager, 1993 - 1997
  • neoEYED
    Mobile Software Developer, 2015 - 2015
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Porto Alegre, Brazil
Buenos Aires, Argentina - Ottawa, Canada - Recife, Brazil
Sempre peço tele-entrega de lá! A pizza é muito saborosa e o preço é bem razoável.
Public - a year ago
reviewed a year ago
Profissionais muito atenciosos. Tratamento surtiu I efeito esperado.
Public - 3 years ago
reviewed 3 years ago
Fugazza y Fugazzeta (pizzas de cebolla/ cebolla y mussarela) son diez puntos! Imperdonable ir a Buenos Aires y no pasar por Banchero...
Public - 4 years ago
reviewed 4 years ago
13 reviews
Great. Car-wash, and car accessories
Public - 3 years ago
reviewed 3 years ago
Desde pibe acompañaba a mis padres a este pintoresco lugar adornado con obras de pintores famosos. Las especialidades, tales como: Gambas al Ajillo, Rabas, Calamaretis, y las más variadas Paellas, son un verdadero espectáculo! Imperdible!
Public - 4 years ago
reviewed 4 years ago
Tanto lá ou por tele-entrega, estas Media Lunas Argentinas são a melhor pedida para o lanche da tarde. (Foto tirada da última vez que pedimos).
Public - 4 years ago
reviewed 4 years ago