SlideShare a Scribd company logo
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies

More Related Content

Viewers also liked

Lovely Bump Presentation
Lovely Bump PresentationLovely Bump Presentation
Lovely Bump Presentation
Marissa Pawlak
 
Flip Chip technology
Flip Chip technologyFlip Chip technology
Flip Chip technology
Mantra VLSI
 
Witricity PPT
Witricity PPTWitricity PPT
Witricity PPT
Arpit Dwivedi
 
Physical design
Physical design Physical design
Physical design
Mantra VLSI
 
WiTricity
WiTricityWiTricity
WiTricity
trishasingh
 
wireless electricity ppt presentation by Ashish raj sahu 1112232015 (uptu)
wireless electricity ppt presentation by   Ashish raj sahu 1112232015 (uptu)wireless electricity ppt presentation by   Ashish raj sahu 1112232015 (uptu)
wireless electricity ppt presentation by Ashish raj sahu 1112232015 (uptu)
ASHISH RAJ
 
Wireless mobile charging using microwaves full report
Wireless mobile charging using microwaves full reportWireless mobile charging using microwaves full report
Wireless mobile charging using microwaves full report
Ayswarya Ayshu P R
 
wireless charging of mobile phones using microwave full seminar report
wireless charging of mobile phones using microwave full seminar reportwireless charging of mobile phones using microwave full seminar report
wireless charging of mobile phones using microwave full seminar report
Harish N Nayak
 
A seminar on Nanorobotics
A seminar on NanoroboticsA seminar on Nanorobotics
A seminar on Nanorobotics
pooja mote
 
Biometric's final ppt
Biometric's final pptBiometric's final ppt
Biometric's final ppt
Ankita Vanage
 
Bubble Power
Bubble PowerBubble Power
Bubble Power
Seminar Links
 
Еmail vs Social — Евгений Вольнов
Еmail vs Social — Евгений ВольновЕmail vs Social — Евгений Вольнов
Еmail vs Social — Евгений Вольнов
Maria Podolyak
 
INFLUENZA H1N1, desde la ciencia, el mito y la realidad
INFLUENZA H1N1, desde la ciencia, el mito y la realidadINFLUENZA H1N1, desde la ciencia, el mito y la realidad
INFLUENZA H1N1, desde la ciencia, el mito y la realidad
Pablo Gallegos
 
Famous slogans
Famous slogansFamous slogans
Famous slogans
Phuc Nguyen Thanh
 
Kibice
KibiceKibice
Converting Your Crowd for Culture Days, National Arts Congress
Converting Your Crowd for Culture Days, National Arts CongressConverting Your Crowd for Culture Days, National Arts Congress
Converting Your Crowd for Culture Days, National Arts Congress
Liesl Barrell
 
More than a 1000 words
More than a 1000 wordsMore than a 1000 words
More than a 1000 words
Timothy Kunau
 
Unit 2.11 - Forms
Unit 2.11 - FormsUnit 2.11 - Forms
Unit 2.11 - Forms
Intan Jameel
 
Connect the Dots: Set yourself apart in a saturated market.
Connect the Dots: Set yourself apart in a saturated market.Connect the Dots: Set yourself apart in a saturated market.
Connect the Dots: Set yourself apart in a saturated market.
Footprint Consulting Group
 

Viewers also liked (20)

Lovely Bump Presentation
Lovely Bump PresentationLovely Bump Presentation
Lovely Bump Presentation
 
Flip Chip technology
Flip Chip technologyFlip Chip technology
Flip Chip technology
 
Witricity PPT
Witricity PPTWitricity PPT
Witricity PPT
 
Physical design
Physical design Physical design
Physical design
 
WiTricity
WiTricityWiTricity
WiTricity
 
wireless electricity ppt presentation by Ashish raj sahu 1112232015 (uptu)
wireless electricity ppt presentation by   Ashish raj sahu 1112232015 (uptu)wireless electricity ppt presentation by   Ashish raj sahu 1112232015 (uptu)
wireless electricity ppt presentation by Ashish raj sahu 1112232015 (uptu)
 
Wireless mobile charging using microwaves full report
Wireless mobile charging using microwaves full reportWireless mobile charging using microwaves full report
Wireless mobile charging using microwaves full report
 
wireless charging of mobile phones using microwave full seminar report
wireless charging of mobile phones using microwave full seminar reportwireless charging of mobile phones using microwave full seminar report
wireless charging of mobile phones using microwave full seminar report
 
A seminar on Nanorobotics
A seminar on NanoroboticsA seminar on Nanorobotics
A seminar on Nanorobotics
 
Biometric's final ppt
Biometric's final pptBiometric's final ppt
Biometric's final ppt
 
Bubble Power
Bubble PowerBubble Power
Bubble Power
 
вебинары конф
вебинары конфвебинары конф
вебинары конф
 
Еmail vs Social — Евгений Вольнов
Еmail vs Social — Евгений ВольновЕmail vs Social — Евгений Вольнов
Еmail vs Social — Евгений Вольнов
 
INFLUENZA H1N1, desde la ciencia, el mito y la realidad
INFLUENZA H1N1, desde la ciencia, el mito y la realidadINFLUENZA H1N1, desde la ciencia, el mito y la realidad
INFLUENZA H1N1, desde la ciencia, el mito y la realidad
 
Famous slogans
Famous slogansFamous slogans
Famous slogans
 
Kibice
KibiceKibice
Kibice
 
Converting Your Crowd for Culture Days, National Arts Congress
Converting Your Crowd for Culture Days, National Arts CongressConverting Your Crowd for Culture Days, National Arts Congress
Converting Your Crowd for Culture Days, National Arts Congress
 
More than a 1000 words
More than a 1000 wordsMore than a 1000 words
More than a 1000 words
 
Unit 2.11 - Forms
Unit 2.11 - FormsUnit 2.11 - Forms
Unit 2.11 - Forms
 
Connect the Dots: Set yourself apart in a saturated market.
Connect the Dots: Set yourself apart in a saturated market.Connect the Dots: Set yourself apart in a saturated market.
Connect the Dots: Set yourself apart in a saturated market.
 

More from Michael Galpin

Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in school
Michael Galpin
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and Smartphones
Michael Galpin
 
Android workshop
Android workshopAndroid workshop
Android workshop
Michael Galpin
 
That’s My App - Running in Your Background - Draining Your Battery
That’s My App - Running in Your Background - Draining Your BatteryThat’s My App - Running in Your Background - Draining Your Battery
That’s My App - Running in Your Background - Draining Your Battery
Michael Galpin
 
Mobile Web 5.0
Mobile Web 5.0Mobile Web 5.0
Mobile Web 5.0
Michael Galpin
 
Persistent Data Structures And Managed References
Persistent Data Structures And Managed ReferencesPersistent Data Structures And Managed References
Persistent Data Structures And Managed References
Michael Galpin
 
Scala on Your Phone
Scala on Your PhoneScala on Your Phone
Scala on Your Phone
Michael Galpin
 
Mobile Development 101
Mobile Development 101Mobile Development 101
Mobile Development 101
Michael Galpin
 
RIAs Done Right: Grails, Flex, and EXT GWT
RIAs Done Right: Grails, Flex, and EXT GWTRIAs Done Right: Grails, Flex, and EXT GWT
RIAs Done Right: Grails, Flex, and EXT GWT
Michael Galpin
 
Eclipse @eBay 2009
Eclipse @eBay 2009Eclipse @eBay 2009
Eclipse @eBay 2009
Michael Galpin
 
Introduction to Scala for Java Developers
Introduction to Scala for Java DevelopersIntroduction to Scala for Java Developers
Introduction to Scala for Java Developers
Michael Galpin
 
Eclipse@eBay
Eclipse@eBayEclipse@eBay
Eclipse@eBay
Michael Galpin
 

More from Michael Galpin (12)

Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in school
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and Smartphones
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
That’s My App - Running in Your Background - Draining Your Battery
That’s My App - Running in Your Background - Draining Your BatteryThat’s My App - Running in Your Background - Draining Your Battery
That’s My App - Running in Your Background - Draining Your Battery
 
Mobile Web 5.0
Mobile Web 5.0Mobile Web 5.0
Mobile Web 5.0
 
Persistent Data Structures And Managed References
Persistent Data Structures And Managed ReferencesPersistent Data Structures And Managed References
Persistent Data Structures And Managed References
 
Scala on Your Phone
Scala on Your PhoneScala on Your Phone
Scala on Your Phone
 
Mobile Development 101
Mobile Development 101Mobile Development 101
Mobile Development 101
 
RIAs Done Right: Grails, Flex, and EXT GWT
RIAs Done Right: Grails, Flex, and EXT GWTRIAs Done Right: Grails, Flex, and EXT GWT
RIAs Done Right: Grails, Flex, and EXT GWT
 
Eclipse @eBay 2009
Eclipse @eBay 2009Eclipse @eBay 2009
Eclipse @eBay 2009
 
Introduction to Scala for Java Developers
Introduction to Scala for Java DevelopersIntroduction to Scala for Java Developers
Introduction to Scala for Java Developers
 
Eclipse@eBay
Eclipse@eBayEclipse@eBay
Eclipse@eBay
 

Recently uploaded

How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
The Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdfThe Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdf
paysquare consultancy
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
Safe Software
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
chetankumar9855
 
The Evolution of Remote Server Management
The Evolution of Remote Server ManagementThe Evolution of Remote Server Management
The Evolution of Remote Server Management
Bert Blevins
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
Ivanti
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Zilliz
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdfARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
Inglês no Mundo Digital
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 

Recently uploaded (20)

How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
The Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdfThe Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdf
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
 
The Evolution of Remote Server Management
The Evolution of Remote Server ManagementThe Evolution of Remote Server Management
The Evolution of Remote Server Management
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdfARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
ARTIFICIAL INTELLIGENCE (AI) IN MUSIC.pdf
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. Example of some dense Scala code from Bump. Imagine what this would look like in Java.\n
  32. That’s Indy driving. Michael is in the passenger seat. Obviously this picture was taken a few months ago when he had more hair.\n
  33. \n
  34. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  35. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  36. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  37. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  38. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  39. But wait, didn’t we pick Scala because of the promised developer productivity?\n
  40. How we got our agility back\n
  41. How we got our agility back\n
  42. How we got our agility back\n
  43. How we got our agility back\n
  44. How we got our agility back\n
  45. How we got our agility back\n
  46. \n
  47. Scalac compiler pukes on the Java code produced by the protocol buffers Java compiler, hence initial javac step. Pro Guard rips out Scala code from scala-library.jar that we don’t need. Dex is the Android compiler. It takes Java class files and produces Dalvik byte code.\n
  48. Build everything, rip out app code, put the rest in a jar, and then use Eclipse/IntelliJ.\n
  49. Android Parcelables require a public static field called PARCELABLE. A val in a companion object offers equivalent functionality, but is compiled into a method, not a field. Scala team hacked the compiler for Android as result: https://lampsvn.epfl.ch/trac/scala/changeset/22628\n
  50. ~7M total downloads. 4 star rating. Featured on the Android Market. \n
  51. Tricky to access non-static inner classes defined in Java, such as android.os.PowerManager.WakeLock\nCan’t send Scala collections between processes\nClosures -> Mystery classes -> Many allocations and leaked memory\nHard to debug crashes that happen on a line with multiple statements, closures, etc.\n
  52. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. \n