View this presentation here on Android Developers:
https://www.youtube.com/watch?v=PxQl56aJ09A&list=PLWz5rJ2EKKc_HyE1QX9heAgTPdAMqc50z&index=21
In this session, we will be focusing on how to do full stack network performance testing of your Android application or embedded API as well as techniques to optimize common issues and how to track down less common ones. We will cover: Network Data capture tools Real-Time data analyzation Tools in Android In-depth tools like Wireshark and ARO Embeddedd Android command line tools You will be shown the patterns of bad network behavior with duplicated API calls or a ZergRush-type network call as well as how to track it down and fix or optimize that in your code. You will even be given the tools to do direct comparisons and use those same techniques with competitor products to see what they are doing right or to show what you are doing better.
Big Trouble in Little Networks, new and improvedStacy Devino
View this presentation here on Android Developers:
https://www.youtube.com/watch?v=PxQl56aJ09A&
This is a rehashed version of:
http://www.slideshare.net/StacyWylie/big-trouble-in-little-networks with NEW content and merged example code!
Timings of Init : Android Ramdisks for the Practical HackerStacy Devino
Android Ramdisks basics presented at the Big Android BBQ 2014.
Covers some of SElinux for Android, Kernels, Startup Sequences, Services, Classes, and Properties.
Even, some practical examples on how they can be used to help your Android embedded or debugging work.
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
Big Trouble in Little Networks, new and improvedStacy Devino
View this presentation here on Android Developers:
https://www.youtube.com/watch?v=PxQl56aJ09A&
This is a rehashed version of:
http://www.slideshare.net/StacyWylie/big-trouble-in-little-networks with NEW content and merged example code!
Timings of Init : Android Ramdisks for the Practical HackerStacy Devino
Android Ramdisks basics presented at the Big Android BBQ 2014.
Covers some of SElinux for Android, Kernels, Startup Sequences, Services, Classes, and Properties.
Even, some practical examples on how they can be used to help your Android embedded or debugging work.
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
Presented at SCREENS 2013 in Toronto.
Details at fitc.ca/screens
In this talk, Digiflare lead iOS developer Justin Howlett will discuss the impact of performance on User Experience. Justin will discuss easy to implement platform agnostic techniques, technologies and libraries to improve your user experience through performance. Although most techniques and technologies are platform agnostic many of the case studies and examples will be presented in native Objective-C for iOS.
Progressive Web Apps consist of a new palette of technologies such as the Web App Manifest, homescreen install support, Service Workers and the app shell. These bridge the gap between native and web apps offering new capabilities for web developers to create amazing desktop and mobile experiences.
Many new things are available with Google's APIs and services. These slides cover the main APIs: Android, Chrome, Cloud, YouTube, Maps, Google+ and wallet. There are many more APIs and services that you can leverage. Check them on: developers.google.com
Web scraping tools are software developed specifically to simplify the process of extracting data from websites. Data mining is a rather useful and commonly used process, but it can also easily turn into a complicated and messy activity and take a lot of time and effort.
This is a one hour technical talk by @wescpy on serverless computing with Google Cloud (Platform). It starts with a review of all of cloud computing then dives into serverless computing, demonstrates multiple products, and shows inspirational examples of apps built using these technologies. There is a bonus section covering serverless in-practice featuring how to think about app development, common use cases, flexibility, best practices, and local dev & testing.
A Look Under the Hood of H2O Driverless AI, Arno Candel - H2O World San Franc...Sri Ambati
This session was recorded in San Francisco on February 4th, 2019 and can be viewed here: https://youtu.be/oQfFPPUg5t8
Bio: Arno Candel is the Chief Technology Officer at H2O.ai. He is the main committer of H2O-3 and Driverless AI and has been designing and implementing high-performance machine-learning algorithms since 2012. Previously, he spent a decade in supercomputing at ETH and SLAC and collaborated with CERN on next-generation particle accelerators.
Arno holds a PhD and Masters summa cum laude in Physics from ETH Zurich, Switzerland. He was named “2014 Big Data All-Star” by Fortune Magazine and featured by ETH GLOBE in 2015. Follow him on Twitter: @ArnoCandel.
How far have you got with learning about Cloud? Got your head around Platform as a Service? Understand what IaaS means? Can spell Docker? Working in a DevOps mode? It’s easy to focus on learning new technology but it’s time to take a step back and look at what the technical implications are when an application is heading to the cloud. In the world of the cloud the benefits are high but the economics (financial and technical) can be radically different. Learn more about these new realities and how they can change application design, deployment and support. The introduction of Cloud technologies and its rapid adoption creates new opportunities and challenges. Whether designer, developer or tester, this talk will help you to start thinking differently about Java and the Cloud.
Presented at JAX DE, 2016
The developers love them, the clients are asking about them and the App's World is
constantly pitting these two development technologies against each other.
Which one should you choose above the other? We bring you two interesting knock out rounds between the two most talked about technologies for app development.
As a developer or a client, how would you go about picking the best technology for your project? Find out all the answers in Affle's POV on 'HTML5 V/S UNITY'
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...Codemotion
Dubbed with prominent descriptions like "REST done right" GraphQL, released by Facebook in 2015, is a technology quickly gaining adoption in the web space. How about mobile? In this talk we will discuss our "from the trenches" experience in adopting GraphQL in the context of designing of one of the biggest insurance companies in Italy and worldwide, MyAXA. We will discuss features of the protocol and query languages. including most popular implementations on the Android, iOS and NodeJS sides, and expanding on the best practices to squeeze the most value from this innovative approach.
IoT with Firebase : IoT DevFest Phoenix 2018Stacy Devino
Cloud connect your DIY IoT Appliances with Firebase Database.
Get your maker on and learn how to leverage Firebase for ESP8266/Arduino/Android Things/NodeJS
Look at the original slides bit.ly/FirebaseIoT
Presented at SCREENS 2013 in Toronto.
Details at fitc.ca/screens
In this talk, Digiflare lead iOS developer Justin Howlett will discuss the impact of performance on User Experience. Justin will discuss easy to implement platform agnostic techniques, technologies and libraries to improve your user experience through performance. Although most techniques and technologies are platform agnostic many of the case studies and examples will be presented in native Objective-C for iOS.
Progressive Web Apps consist of a new palette of technologies such as the Web App Manifest, homescreen install support, Service Workers and the app shell. These bridge the gap between native and web apps offering new capabilities for web developers to create amazing desktop and mobile experiences.
Many new things are available with Google's APIs and services. These slides cover the main APIs: Android, Chrome, Cloud, YouTube, Maps, Google+ and wallet. There are many more APIs and services that you can leverage. Check them on: developers.google.com
Web scraping tools are software developed specifically to simplify the process of extracting data from websites. Data mining is a rather useful and commonly used process, but it can also easily turn into a complicated and messy activity and take a lot of time and effort.
This is a one hour technical talk by @wescpy on serverless computing with Google Cloud (Platform). It starts with a review of all of cloud computing then dives into serverless computing, demonstrates multiple products, and shows inspirational examples of apps built using these technologies. There is a bonus section covering serverless in-practice featuring how to think about app development, common use cases, flexibility, best practices, and local dev & testing.
A Look Under the Hood of H2O Driverless AI, Arno Candel - H2O World San Franc...Sri Ambati
This session was recorded in San Francisco on February 4th, 2019 and can be viewed here: https://youtu.be/oQfFPPUg5t8
Bio: Arno Candel is the Chief Technology Officer at H2O.ai. He is the main committer of H2O-3 and Driverless AI and has been designing and implementing high-performance machine-learning algorithms since 2012. Previously, he spent a decade in supercomputing at ETH and SLAC and collaborated with CERN on next-generation particle accelerators.
Arno holds a PhD and Masters summa cum laude in Physics from ETH Zurich, Switzerland. He was named “2014 Big Data All-Star” by Fortune Magazine and featured by ETH GLOBE in 2015. Follow him on Twitter: @ArnoCandel.
How far have you got with learning about Cloud? Got your head around Platform as a Service? Understand what IaaS means? Can spell Docker? Working in a DevOps mode? It’s easy to focus on learning new technology but it’s time to take a step back and look at what the technical implications are when an application is heading to the cloud. In the world of the cloud the benefits are high but the economics (financial and technical) can be radically different. Learn more about these new realities and how they can change application design, deployment and support. The introduction of Cloud technologies and its rapid adoption creates new opportunities and challenges. Whether designer, developer or tester, this talk will help you to start thinking differently about Java and the Cloud.
Presented at JAX DE, 2016
The developers love them, the clients are asking about them and the App's World is
constantly pitting these two development technologies against each other.
Which one should you choose above the other? We bring you two interesting knock out rounds between the two most talked about technologies for app development.
As a developer or a client, how would you go about picking the best technology for your project? Find out all the answers in Affle's POV on 'HTML5 V/S UNITY'
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...Codemotion
Dubbed with prominent descriptions like "REST done right" GraphQL, released by Facebook in 2015, is a technology quickly gaining adoption in the web space. How about mobile? In this talk we will discuss our "from the trenches" experience in adopting GraphQL in the context of designing of one of the biggest insurance companies in Italy and worldwide, MyAXA. We will discuss features of the protocol and query languages. including most popular implementations on the Android, iOS and NodeJS sides, and expanding on the best practices to squeeze the most value from this innovative approach.
IoT with Firebase : IoT DevFest Phoenix 2018Stacy Devino
Cloud connect your DIY IoT Appliances with Firebase Database.
Get your maker on and learn how to leverage Firebase for ESP8266/Arduino/Android Things/NodeJS
Look at the original slides bit.ly/FirebaseIoT
Async task, threads, pools, and executors oh my!Stacy Devino
http://360andev.com/sessions/100-async-task-threads-pools-and-executors/
Frome 360 AnDev conference
There are many ways to use Threads and in the multithreaded world in which we live, it can be confusing when, where, and how to use these functions correctly. Still, that assumes you know what they all mean and how to manipulate them. Novices and Experts welcome as there are many schools of thought, but we will explore them all together.
Don’t worry, we have you covered.
Animated Version : but.ly/asyncThread
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
Online aptitude test management system project report.pdfKamal Acharya
The purpose of on-line aptitude test system is to take online test in an efficient manner and no time wasting for checking the paper. The main objective of on-line aptitude test system is to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc. This can be used in educational institutions as well as in corporate world. Can be used anywhere any time as it is a web based application (user Location doesn’t matter). No restriction that examiner has to be present when the candidate takes the test.
Every time when lecturers/professors need to conduct examinations they have to sit down think about the questions and then create a whole new set of questions for each and every exam. In some cases the professor may want to give an open book online exam that is the student can take the exam any time anywhere, but the student might have to answer the questions in a limited time period. The professor may want to change the sequence of questions for every student. The problem that a student has is whenever a date for the exam is declared the student has to take it and there is no way he can take it at some other time. This project will create an interface for the examiner to create and store questions in a repository. It will also create an interface for the student to take examinations at his convenience and the questions and/or exams may be timed. Thereby creating an application which can be used by examiners and examinee’s simultaneously.
Examination System is very useful for Teachers/Professors. As in the teaching profession, you are responsible for writing question papers. In the conventional method, you write the question paper on paper, keep question papers separate from answers and all this information you have to keep in a locker to avoid unauthorized access. Using the Examination System you can create a question paper and everything will be written to a single exam file in encrypted format. You can set the General and Administrator password to avoid unauthorized access to your question paper. Every time you start the examination, the program shuffles all the questions and selects them randomly from the database, which reduces the chances of memorizing the questions.
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
2. • Senior Android Innovator at The Home Depot
Dallas Technology Center
• Works on Consumer Mobile App and Internal
Product Innovation
• WTM Lead, SixSigma BlackBelt, Intel Innovator,
DMS Member, Vintage game collector/restorer
STACY DEVINO
WEBSITES
www.stacydevino.com
www.ledgoes.com
www.openbrite.com
EMAIL
childofthehorn@gmail.com
G+
https://plus.google.com/
+StacyDevino
TWITTER
@DoesitPew
3. ● Large, Unfiltered Images
● Untracked Data Usage (Does that API really need to be active right
now? )
● Non-optimized Network handling (Batching)
● Not Using the Android tools to help you
● Bad API designs
● Doubled / Badly Handled API calls
Biggest Issues
4. Using the Android Tools
Network Monitor in Android Studio
TrafficStats API in Android (http://goo.gl/9cu59J)
Watching your APIs and responses
Charles Proxy (not free, but worth the money)
Detailed Tracking of Network Data (with Forensics)
Application Resource Optimizer (ARO) by ATT (easiest)
Wireshark
Shark for Root (locally on the device)
Tracking Your Application Data
5. PCAP files are used to track network communications and data
Rooted Phones (see http://goo.gl/uMFv2N for non-rooted phones)
1. Grab a copy of tcpdump from http://goo.gl/YbyaA2
2. Go to Settings > Apps > Running Apps and Force Stop any services that are not part of the
Android System (or use Development options > Background process limit > At most 2
processes )
3. Now open just the app you want to test
4. Open a Terminal and type “adb push tcpdump /sdcard”, "adb shell", "su", “cp /sdcard/
tcpdump /system/xbin”, and then “chmod 755 tcpdump”
If using Wifi:
1. "tcpdump -i wlan0 -s 65535 -w /sdcard/networktrace.pcap"
If using Cellular (rmnetusb0 is also possible, look at “ip addr”):
1. "tcpdump -i rmnet0 -s 65535 -w /sdcard/networktrace.pcap"
Capturing a PCAP
6. 1.Download the appropriate version for your OS and Mobile
Platform here : https://goo.gl/gTIvwt
2.Download the DiffTool utility for doing side by side
comparisons of before and after a change https://goo.gl/
f1ai6M
3.Source for ARO : https://github.com/attdevsupport/ARO
4.Install Dependencies : WinPCAP and JRE 6.0+
Download + InstalL ARO
7. Quick, Valuable insight to major
issues which may be occurring.
Track Image sizes and downloaded
resources
Cached Resources
Duplicated APIs
Areas of Improvement
ARO Main Summary
8. You can track your app’s
performance just as well as
you can track your
competitor. It can be a great
way to see how your app
performance in that market
compares as well as be able
to find valuable insight to
things they may be doing
right where you are not.
ARO Main Summary (Competitor)
9. Gives you the reasons for your
failures
No cache headers?
That could be a problem for
reused web resources, making
the device re-download (using
more data).
Cache is King! $$$$$
ARO Main Summary (Competitor)
11. Define your own WIN parameters
Allows you to track your performance
against your user defined values.
Very useful if you have made new
Cellular performance characteristics
to your APIs and need to verify it is
within the desired performance (and
getting correct values!)
ARO Profiles
15. Compression is your FRIEND
PNG vs JPEG vs WebP
85% Quality JPEG with Smoothing can reduce a 42MB PNG image to 185kb in the Real World with virtually no loss in Visible
Quality
JPEG does not support Transparency
Lossy Compression for Network pulled resources is the way to go for everything that is not a Photo app (Ok, even a Photo
Gallery... maybe not an editor)
Saves MEMORY so you don’t get the dreaded OOME (OutofMemoryError)
WebP is a Combo of the best of JPEG and PNG since it supports Transparency and High Compression, but does not work for
iPhones or universal Mobile Web (so, not a great possibility for converged APIs)
You can compress PNG lossy and losslessly, but it never quite gets to JPEG
Filtering your Images
16. ARGB_8888 ARGB_4444 RGB_565
Transparency X X
Number of Bits 32 16 16
Full Color
(nice Gradients)
X X
Space on Image
Memory Load (def.)
SAME SAME SAME
● ARGB_4444 and RGB_565 will be about the same in size (Data in Transit)
● ARGB_4444 is ideal for web icon assets with minimal color gradients and needing
Transparency
● No need of Transparency? RGB_565 is always ideal.
● Android will always load images into the same amount of memory, regardless of
compression, so use the Bitmap Options tools to save Memory too
Types of Images
17. 1. JPEG (or WebP) whenever possible (no Transparency needed)
2. ARGB_4444 for Iconography assets pulled from the network
3.Compress all your images (once)
4.Compress all your images (twice)
5.Compress all your images (three times a …)
6. Don’t be afraid to compress Lossy (especially with large images like 5MP+ Camera captured
images, Google Photos does it!)
7. Compression on the Network != Compression in your Heap (do both)
8. Design your APIs to work with Screens of Many sizes
TL:DR Image Filtering
18. ADJUST YOUR ASSETS BASED ON YOUR NETWORK TYPE!!!!!
Very Simple, just use the BroadcastReceiver class I have posted here:
https://github.com/childofthehorn/BABBQNetworkTracker/blob/master/
app/src/main/java/com/stacydevino/networktracker/
ConnectivityChangeReceiver.java
That way you can dynamically adjust your API requests for quality
because SPEED MATTERS.
Tracking Your Network Type
19. ● Allows you to account for Multiple
Screen sizes without skewing
● Dynamic Quality adjustment
based on networks (Bigger
screens can go down)
● Never get larger images than
what you need
● Build based off of the devices you
want to support.
● iPhones can also be accounted
for in the Android sizing
Structuring Images for Speed
20. Ratio : 0.56:1 (16:9)
Devices : iPhone 5/6/6+,
Samsung 3/4/5/6 (Android
Devices with Hardware buttons)
HIGH
Width : 1440
Height : 2560
MEDIUM
Width : 1080
Height : 1920
LOW
Width : 720
Height : 1280
Ratio : 0.63:1
Devices : iPhone 4, OnePlus
1/2, Nexus 5/5x/6/6p/7(2013)/
7(2014), Moto X, G, E
(2013-2015) (Android devices
with software buttons)
HIGH
Width : 1440
Height : 2268
MEDIUM
Width : 1080
Height : 1701
LOW
Width : 720
Height : 1134
Ratio : 0.81:1
Devices : Nexus 9, Samsung
Tab S2, Samsung Galaxy
Centura , ZTE, Alcatel
OneTouch phones (Prepaid
smartphones less than $100)),
HIGH
Width : 1536
Height : 1904
MEDIUM
Width : 1050
Height : 1400
LOW
Width : 640
Height : 800
Tracking your network type
21. Batching your Data is one of the easiest ways to optimize your usage
of Cellular data.
Bundle Yourself
Wait to offload large datasets ’til the user is on Wifi (metrics and user behavior)
JSON is not very efficient (XML is way worse), see if it is possible to switch to buffered
data or binary files. Even CSV is more efficient...I know, right?
Bundle your requests and waits together
Bundle Together : GCMNetworkManager makes it easy to do this (https://goo.gl/ThFuyo)
Data Batching
22. 1. Use lower quality images in low quality networks
2. Time to User matters (you only have a few hundred milliseconds)
3. Allow users to dictate resources and run in a low-usage network mode (best
performance vs. best quality)
4. You can handle virtually all resources with just 3 aspect ratios for all of Android and
iOS, as well as mobile web (Spiffy!)
5. Batching your individual application data together and offload to high speed
networks when possible
6. Bundle as a system with GcmNetworkManager
TL:DR API Structure
23. The Home Depot DTC
Google Developers
Android Performance Patterns
ATT and WireShark
Big Android BBQ Team / IDEAA
THANKS !