SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Famo.us: Build native 
quality apps using HTML5 
within a day 
-Debnath Sinha 
CoFounder @ CoSight.io
The following slides are 
an outline of the talk, and 
will be changed for the 
final presentation
Who am I? 
- Software engineer : 6 years 
- CoFounder @CoSight.io: 1 year 
- Hybrid mobile app developer : 3 years 
- Previous job: worked on Salesforce Analytics 
delivering Dashboards as HTML5 components 
inside their Native app
The HTML5 journey 
- Native Analytics Mobile App ~2008 
- Small but loyal user base 
- Company push towards one-Salesforce HTML5 app 
- No time for feature-dev on Analytics app! 
- 2 ways forward: 
- Individual connected apps 
- Single HTML5 app
Software engineering rule #1: Never bet against the 
compiler! 
- Javascript is the high level language 
- Android/iOS etc. all run ARM 
- So when folks complain about the performance, they are 
really complaining about a bad compiler
Where have I seen this before? 
- Previous job @Cisco, low level device drivers 
- Conversation (imaginary), late 90’s 
- Hey, we’re going to write it in C++, OOP should help 
us structure the code better and save developer cycles 
- WHAT?? C++ is too slow for embedded systems 
- No worries, the compiler will get better! 
- Today, no one complains about C++ performance issues
Where have I seen this before, part 2 
- Early 2000s: 
- Yeah, Java is an enterprise language, no way you 
would use it for embedded systems 
- Why? 
- Too slow...garbage collection kicks in at all odd hours 
- Azul systems: Java for real-time apps, write their own 
garbage collector 
- Never bet against the compiler!
So HTML5 is the right way to go, 
right? 
- Happy with the conclusion 
- Discuss with my team, feeling proud of the 
analysis 
- Until...
So now what? 
- Dig deeper into what exactly went wrong 
- The app was slow in obvious ways which had nothing to do with tech, so was 
it HTML5 or immature engineering? 
- Luckily there are folks in the HTML5 ecosystem with way more resources than 
me 
-Sencha, with vested HTML5 interests, releases their report on HTML5 
Fastbook
Sencha Fastbook : or why not to 
take your eye off the HTML5 ball! 
- Make sure the 
DOM depth doesn’t 
get too large 
- Don’t transfer too 
much data, 
increases latency
LinkedIn Hybrid iPad app: 95% 
HTML5 
“We always focus on user 
experience and app speed as a 
number one priority,” he told us. “If 
the performance wasn’t there, we 
wouldn’t have gone with the web. 
“But with the iPad having the faster 
processor and being a more 
powerful mobile device, we felt like 
the web-based version could give us 
the performance we needed.” 
http://venturebeat. 
com/2012/05/02/linkedin-ipad-app-engineering/
Famo.us
Core technology 
- Browsers are built to render 
documents 
- Browsers were never built to 
render apps 
- Games were built to render app 
- All smooth animations must be 
GPU accelerated 
- faster animations 
- saves battery
So what is the hack? 
- Implement rendering engine in Javascript 
- Matrix multiplication in JS ~80% of compiled C 
- Use the -webkit-transform:matrix3d API to talk to GPU 
- Since this is part of the W3C standard, you can expect 
all browsers to implement this API 
- Smooth transitions, faster render, lesser battery 
- Expose the physics engine for custom animations
Famo.us : Advantages 
- Imperative programming, rather than declarative 
programming like CSS 
- Personal opinion: always harder to debug declarative 
programs, whether they are CSS or SQL 
- Simpler to come up to speed 
- Very important for a startup since you don’t have the 
bandwidth to wrestle with technology
DEMO 
- Using Famo.us @ CoSight.io
LinkedIn moved away from HTML5 
to Native only app 
- But this time performance was 
not the reason 
- Tools were 
- Or as C programmers would say: 
- Its not that gcc is slow 
- Its that gdb is not up to snuff
Looking onwards 
- Phonegap + Android = :( 
- Uses default phone browser 
- Intel Crosswalk : ships with Google’s Blink 
rendering engine 
- Famo.us wrapper : working with both 
Adobe and Intel on it 
- Debugging tools remain painful 
- Debugging OOM is still like pulling teeth 
out
Thank You!

Weitere ähnliche Inhalte

Was ist angesagt?

SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
Sébastien Levert
 
SharePoint Fest DC - SharePoint Framework, Angular and Azure Functions
SharePoint Fest DC - SharePoint Framework, Angular and Azure FunctionsSharePoint Fest DC - SharePoint Framework, Angular and Azure Functions
SharePoint Fest DC - SharePoint Framework, Angular and Azure Functions
Sébastien Levert
 
SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...
Sébastien Levert
 

Was ist angesagt? (20)

SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
 
An Introduction to ReactNative
An Introduction to ReactNativeAn Introduction to ReactNative
An Introduction to ReactNative
 
SharePoint Fest DC - SharePoint Framework, Angular and Azure Functions
SharePoint Fest DC - SharePoint Framework, Angular and Azure FunctionsSharePoint Fest DC - SharePoint Framework, Angular and Azure Functions
SharePoint Fest DC - SharePoint Framework, Angular and Azure Functions
 
SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Vancouver - SharePoint Framework, Angular and Azure Funct...
 
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
 
SeConf_Nov2016_London
SeConf_Nov2016_LondonSeConf_Nov2016_London
SeConf_Nov2016_London
 
Naeem Akram Malik, Sr. Software Engineer & SQA Analyst
Naeem Akram Malik, Sr. Software Engineer & SQA AnalystNaeem Akram Malik, Sr. Software Engineer & SQA Analyst
Naeem Akram Malik, Sr. Software Engineer & SQA Analyst
 
BuildStatus - PiterJS #1
BuildStatus - PiterJS #1BuildStatus - PiterJS #1
BuildStatus - PiterJS #1
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
 
AbdulBasit
AbdulBasitAbdulBasit
AbdulBasit
 
Groovy - Why and Where?
Groovy  - Why and Where?Groovy  - Why and Where?
Groovy - Why and Where?
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
 
Serverless Computing with Azure
Serverless Computing with AzureServerless Computing with Azure
Serverless Computing with Azure
 
No code, low code, machine code QA ATL 2021
No code, low code, machine code   QA ATL 2021No code, low code, machine code   QA ATL 2021
No code, low code, machine code QA ATL 2021
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...
 
Selenium conference, 2016
Selenium conference, 2016Selenium conference, 2016
Selenium conference, 2016
 
Centric - PWA WebCast
Centric - PWA WebCastCentric - PWA WebCast
Centric - PWA WebCast
 
Lets cook cucumber !!
Lets cook cucumber !!Lets cook cucumber !!
Lets cook cucumber !!
 
When to (use / not use) React Native.
When to (use / not use) React Native.When to (use / not use) React Native.
When to (use / not use) React Native.
 
Is There An API In That (IoT)?
Is There An API In That (IoT)?Is There An API In That (IoT)?
Is There An API In That (IoT)?
 

Ähnlich wie Js foo famo.us- build native quality apps using html5 within a day

Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012
Sergejus Barinovas
 
Mobile APIs: Optimizing APIs for Many Devices
Mobile APIs: Optimizing APIs for Many DevicesMobile APIs: Optimizing APIs for Many Devices
Mobile APIs: Optimizing APIs for Many Devices
Apigee | Google Cloud
 

Ähnlich wie Js foo famo.us- build native quality apps using html5 within a day (20)

Mobile apps for web developers
Mobile apps for web developersMobile apps for web developers
Mobile apps for web developers
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloud
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 upload
 
How to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - EnglishHow to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - English
 
Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012
 
PHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolPHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the fool
 
Over view of Technologies
Over view of TechnologiesOver view of Technologies
Over view of Technologies
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Expo - Zero to App.pptx
Expo - Zero to App.pptxExpo - Zero to App.pptx
Expo - Zero to App.pptx
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1
 
Trends in front end engineering_handouts
Trends in front end engineering_handoutsTrends in front end engineering_handouts
Trends in front end engineering_handouts
 
TRWResume-10-2016
TRWResume-10-2016TRWResume-10-2016
TRWResume-10-2016
 
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorOSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
 
Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery Conference
 
201001162_report
201001162_report201001162_report
201001162_report
 
Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)
 
Mobile APIs: Optimizing APIs for Many Devices
Mobile APIs: Optimizing APIs for Many DevicesMobile APIs: Optimizing APIs for Many Devices
Mobile APIs: Optimizing APIs for Many Devices
 
PWA
PWAPWA
PWA
 
APIdays Paris 2019 - The Mother of All APIs - From Engelbart to the Present b...
APIdays Paris 2019 - The Mother of All APIs - From Engelbart to the Present b...APIdays Paris 2019 - The Mother of All APIs - From Engelbart to the Present b...
APIdays Paris 2019 - The Mother of All APIs - From Engelbart to the Present b...
 

Kürzlich hochgeladen

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 

Js foo famo.us- build native quality apps using html5 within a day

  • 1. Famo.us: Build native quality apps using HTML5 within a day -Debnath Sinha CoFounder @ CoSight.io
  • 2. The following slides are an outline of the talk, and will be changed for the final presentation
  • 3. Who am I? - Software engineer : 6 years - CoFounder @CoSight.io: 1 year - Hybrid mobile app developer : 3 years - Previous job: worked on Salesforce Analytics delivering Dashboards as HTML5 components inside their Native app
  • 4.
  • 5. The HTML5 journey - Native Analytics Mobile App ~2008 - Small but loyal user base - Company push towards one-Salesforce HTML5 app - No time for feature-dev on Analytics app! - 2 ways forward: - Individual connected apps - Single HTML5 app
  • 6. Software engineering rule #1: Never bet against the compiler! - Javascript is the high level language - Android/iOS etc. all run ARM - So when folks complain about the performance, they are really complaining about a bad compiler
  • 7. Where have I seen this before? - Previous job @Cisco, low level device drivers - Conversation (imaginary), late 90’s - Hey, we’re going to write it in C++, OOP should help us structure the code better and save developer cycles - WHAT?? C++ is too slow for embedded systems - No worries, the compiler will get better! - Today, no one complains about C++ performance issues
  • 8. Where have I seen this before, part 2 - Early 2000s: - Yeah, Java is an enterprise language, no way you would use it for embedded systems - Why? - Too slow...garbage collection kicks in at all odd hours - Azul systems: Java for real-time apps, write their own garbage collector - Never bet against the compiler!
  • 9. So HTML5 is the right way to go, right? - Happy with the conclusion - Discuss with my team, feeling proud of the analysis - Until...
  • 10.
  • 11. So now what? - Dig deeper into what exactly went wrong - The app was slow in obvious ways which had nothing to do with tech, so was it HTML5 or immature engineering? - Luckily there are folks in the HTML5 ecosystem with way more resources than me -Sencha, with vested HTML5 interests, releases their report on HTML5 Fastbook
  • 12. Sencha Fastbook : or why not to take your eye off the HTML5 ball! - Make sure the DOM depth doesn’t get too large - Don’t transfer too much data, increases latency
  • 13. LinkedIn Hybrid iPad app: 95% HTML5 “We always focus on user experience and app speed as a number one priority,” he told us. “If the performance wasn’t there, we wouldn’t have gone with the web. “But with the iPad having the faster processor and being a more powerful mobile device, we felt like the web-based version could give us the performance we needed.” http://venturebeat. com/2012/05/02/linkedin-ipad-app-engineering/
  • 15. Core technology - Browsers are built to render documents - Browsers were never built to render apps - Games were built to render app - All smooth animations must be GPU accelerated - faster animations - saves battery
  • 16. So what is the hack? - Implement rendering engine in Javascript - Matrix multiplication in JS ~80% of compiled C - Use the -webkit-transform:matrix3d API to talk to GPU - Since this is part of the W3C standard, you can expect all browsers to implement this API - Smooth transitions, faster render, lesser battery - Expose the physics engine for custom animations
  • 17. Famo.us : Advantages - Imperative programming, rather than declarative programming like CSS - Personal opinion: always harder to debug declarative programs, whether they are CSS or SQL - Simpler to come up to speed - Very important for a startup since you don’t have the bandwidth to wrestle with technology
  • 18. DEMO - Using Famo.us @ CoSight.io
  • 19. LinkedIn moved away from HTML5 to Native only app - But this time performance was not the reason - Tools were - Or as C programmers would say: - Its not that gcc is slow - Its that gdb is not up to snuff
  • 20. Looking onwards - Phonegap + Android = :( - Uses default phone browser - Intel Crosswalk : ships with Google’s Blink rendering engine - Famo.us wrapper : working with both Adobe and Intel on it - Debugging tools remain painful - Debugging OOM is still like pulling teeth out