This document discusses the development of the DeliRadio Android app from 2012 to 2014. It went through several versions of the Android OS, from Froyo to KitKat. It describes the tools and libraries used, including migrating from Eclipse to Android Studio and using Gradle. It also covers the app's graphics, user interface, and quality assurance testing process.
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
OpenSky is one of the first large ecommerce platforms to use Symfony2 and has been running on it for many years. On this talk we share how we use the framework and many tips about workflow, testing, deployment, Doctrine, migrations and much more.
How Bitbucket Pipelines Loads Connect UI Assets Super-fastAtlassian
Connect add-ons deliver better user experience when they load fast. Between CDN, server-side rendering, service workers, and code splitting, there are loads of techniques you can use to achieve this. In this session, Atlassian Developer Peter Plewa will reveal Bitbucket Pipelines' secret for fast loads, and what they can do in the future to make Pipelines even faster.
Peter Plewa, Development Principal, Atlassian
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
OpenSky is one of the first large ecommerce platforms to use Symfony2 and has been running on it for many years. On this talk we share how we use the framework and many tips about workflow, testing, deployment, Doctrine, migrations and much more.
How Bitbucket Pipelines Loads Connect UI Assets Super-fastAtlassian
Connect add-ons deliver better user experience when they load fast. Between CDN, server-side rendering, service workers, and code splitting, there are loads of techniques you can use to achieve this. In this session, Atlassian Developer Peter Plewa will reveal Bitbucket Pipelines' secret for fast loads, and what they can do in the future to make Pipelines even faster.
Peter Plewa, Development Principal, Atlassian
DevCon 2018 - 5 ways to use AWS with AlfrescoGavin Cornwell
Learn how to leverage AWS with Alfresco. We will look at current and future methods for deploying onto AWS, how you can use serverless and AI technologies to power your next generation extensions and how we’re using AWS internally to manage online trials and improve user experience.
Alon Fliess: APM – What Is It, and Why Do I Need It? - Architecture Next 20CodeValue
So, you have a mature development process, and you also embrace DevOps. Your development team uses agile methodology. You use Git, and you have a continuous dev, test, and deployment process. But do you sleep well at night? Do you know that your services are up and running? That there are no availability, performance, and stability problems? Do you know if your customers are happy? The answer to all of those questions is precisely what APM systems provide.
Application Performance Monitoring systems have become the IDE of the Site Reliability Engineers (SRE) and, as a matter of fact, for the all DevOps team, including the Dev part. In this session, you will get to know the essence of the APM systems, the good, the bad, and the vision about their future.
Add-ons and integrations for JIRA Cloud have come a long way, but there are still huge opportunities for improvement. JIRA Cloud product manager Dave Meyer will walk through some "Do"s and "Don't"s for making your add-ons simpler, faster, and more beautiful today, plus an insider look at new APIs and integration points that will enable you to take your add-on to the next level in the future.
Dave Meyer, Senior Product Manager, Atlassian
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Martin Bergljung
In this talk you will learn how to set up an Alfresco SDK 3.0 multi module project that could be used in a larger consulting project context. Extension modules will be standalone and versioned and released independently in the Nexus 3 Repository Manager. The talk also includes a look at defining a Parent POM and an Aggregator POM for your SDK 3 project solution.
Confluence Connect has added APIs and enhanced macros – but we didn't stop there. We've also introduced new types of add-ons: theming, workflows, and custom content. Confluence product manager Brian Swift will cover each of these, including the building blocks you'll need and examples of how to use them. He'll also show you how to integrate these types of add-ons with Confluence features to provide a great experience for users. There's never been a better time to create add-ons to satisfy more Confluence use cases!
Ben Mackie, Head of Confluence Engineering, Atlassian
Brian Swift, Principal Product Manager, Atlassian
ADF Basics and Beyond - Alfresco Devcon 2018Mario Romano
If you want to know everything about ADF its architecture, technologies and best practices you can't skip this talk. Join us also to know more about what we released in November as part of ADF 2.0 and what is our vision for the future.
Getting started with Appcelerator TitaniumTechday7
Techday7, Cross platform application development using Appcelerator Titanium event's Getting started with Appcelerator Titanium By Naga Harish M, Lead Developer of Anubavam Technologies
EclipseCon-Europe 2013: Making the Eclipse IDE fun againmartinlippert
Many Eclipse IDE users are still happy using Eclipse as their daily Java IDE - and indeed, the Java tooling in Eclipse is great. But don’t you hear people saying things like: Eclipse got too big, too slow, too clunky, too overloaded with features and plugins, doesn't support language X, hard to configure, and similar complaints? I do. I hear people complaining about all sorts of things and I am afraid of Eclipse losing its great reputation as an IDE. As a consequence, I think, we should try to make Eclipse fun again.
This talk throws in some proposals for making Eclipse fun again, shows some live demos of features we worked on to achieve this, and discusses many of the ideas we’ve been having. The idea is not to present ready-to-use solutions only, but also to trigger thoughts, discussions, and build the ground for more work in this direction. Eclipse should be fun again.
Scaling your Android App With ModularizationBen Schwab
Droidcon SF 2018
Ben Schwab discusses Airbnb's journey to modularization its app to scale with a growing number of developers.
https://www.youtube.com/watch?v=jrnhIgFzgns
HoloLens Unity Build Pipelines on Azure DevOpsSarah Sexton
Developers of Unity UWP apps: stop wasting time compiling builds in Unity, then Visual Studio, then manually deploying. Save time with an automated pipeline! Create builds from start to finish, implement Unit Tests, save every build artifact, and even distribute using App Center! Learn how to create a Azure DevOps pipeline that can be used to build any Mixed Reality solution.
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
DevCon 2018 - 5 ways to use AWS with AlfrescoGavin Cornwell
Learn how to leverage AWS with Alfresco. We will look at current and future methods for deploying onto AWS, how you can use serverless and AI technologies to power your next generation extensions and how we’re using AWS internally to manage online trials and improve user experience.
Alon Fliess: APM – What Is It, and Why Do I Need It? - Architecture Next 20CodeValue
So, you have a mature development process, and you also embrace DevOps. Your development team uses agile methodology. You use Git, and you have a continuous dev, test, and deployment process. But do you sleep well at night? Do you know that your services are up and running? That there are no availability, performance, and stability problems? Do you know if your customers are happy? The answer to all of those questions is precisely what APM systems provide.
Application Performance Monitoring systems have become the IDE of the Site Reliability Engineers (SRE) and, as a matter of fact, for the all DevOps team, including the Dev part. In this session, you will get to know the essence of the APM systems, the good, the bad, and the vision about their future.
Add-ons and integrations for JIRA Cloud have come a long way, but there are still huge opportunities for improvement. JIRA Cloud product manager Dave Meyer will walk through some "Do"s and "Don't"s for making your add-ons simpler, faster, and more beautiful today, plus an insider look at new APIs and integration points that will enable you to take your add-on to the next level in the future.
Dave Meyer, Senior Product Manager, Atlassian
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Martin Bergljung
In this talk you will learn how to set up an Alfresco SDK 3.0 multi module project that could be used in a larger consulting project context. Extension modules will be standalone and versioned and released independently in the Nexus 3 Repository Manager. The talk also includes a look at defining a Parent POM and an Aggregator POM for your SDK 3 project solution.
Confluence Connect has added APIs and enhanced macros – but we didn't stop there. We've also introduced new types of add-ons: theming, workflows, and custom content. Confluence product manager Brian Swift will cover each of these, including the building blocks you'll need and examples of how to use them. He'll also show you how to integrate these types of add-ons with Confluence features to provide a great experience for users. There's never been a better time to create add-ons to satisfy more Confluence use cases!
Ben Mackie, Head of Confluence Engineering, Atlassian
Brian Swift, Principal Product Manager, Atlassian
ADF Basics and Beyond - Alfresco Devcon 2018Mario Romano
If you want to know everything about ADF its architecture, technologies and best practices you can't skip this talk. Join us also to know more about what we released in November as part of ADF 2.0 and what is our vision for the future.
Getting started with Appcelerator TitaniumTechday7
Techday7, Cross platform application development using Appcelerator Titanium event's Getting started with Appcelerator Titanium By Naga Harish M, Lead Developer of Anubavam Technologies
EclipseCon-Europe 2013: Making the Eclipse IDE fun againmartinlippert
Many Eclipse IDE users are still happy using Eclipse as their daily Java IDE - and indeed, the Java tooling in Eclipse is great. But don’t you hear people saying things like: Eclipse got too big, too slow, too clunky, too overloaded with features and plugins, doesn't support language X, hard to configure, and similar complaints? I do. I hear people complaining about all sorts of things and I am afraid of Eclipse losing its great reputation as an IDE. As a consequence, I think, we should try to make Eclipse fun again.
This talk throws in some proposals for making Eclipse fun again, shows some live demos of features we worked on to achieve this, and discusses many of the ideas we’ve been having. The idea is not to present ready-to-use solutions only, but also to trigger thoughts, discussions, and build the ground for more work in this direction. Eclipse should be fun again.
Scaling your Android App With ModularizationBen Schwab
Droidcon SF 2018
Ben Schwab discusses Airbnb's journey to modularization its app to scale with a growing number of developers.
https://www.youtube.com/watch?v=jrnhIgFzgns
HoloLens Unity Build Pipelines on Azure DevOpsSarah Sexton
Developers of Unity UWP apps: stop wasting time compiling builds in Unity, then Visual Studio, then manually deploying. Save time with an automated pipeline! Create builds from start to finish, implement Unit Tests, save every build artifact, and even distribute using App Center! Learn how to create a Azure DevOps pipeline that can be used to build any Mixed Reality solution.
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
Cordova APIs
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
The web has changed! Users spend more time on mobile than on desktops and expect to have an amazing user experience on both. APIs are the heart of the new web as the central point of access data, encapsulating logic and providing the same data and same features for desktops and mobiles. In this workshop, Antonio will show you how to create complex APIs in an easy and quick way using API Platform built on Symfony.
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Tom Johnson
This is a presentation I gave to the Southwestern Ontario STC chapter on API documentation on Feb 2, 2015. For more details, see my blog at http://idratherbewriting.com. You can listen to the recorded presentation here: http://youtu.be/I8rGe2w1sAo.
Angular: Go Mobile!
How could you develop a mobile app across iOS, Android or windows devices? We’ll show how Apache Cordova opens the world of mobile app development to web developers. In the session, a “To Do” app using Angular will be explored and then it will be demonstrated step by step on how to turn it into a mobile app, with access to native device capabilities. Along the way, you'll also learn what kind of apps are best-suited for the hybrid architecture and when to make the switch from web app to mobile app.
Hot Topics: The DuraSpace Community Webinar Series,
“Introducing DSpace 7: Next Generation UI”
Curated by Claire Knowles, Library Digital Development Manager, The University of Edinburgh.
Introducing DSpace 7
February 28, 2017 presented by: Claire Knowles - The University of Edinburgh, Art Lowel - Atmire, Andrea Bollini - 4Science, Tim Donohue – DuraSpace
Building your first android app using xamarin (Gill Cleeren)Visug
Do you have a great knowledge about C#? Maybe you’ve already built a great mobile app on Windows Phone or Windows 8 or even Windows 10? Would you like to be able to use your knowledge to build an Android app without having to resort to other languages or IDEs? This is possible using Xamarin! In this session, Gill Cleeren will take you through the creation of your first Android application: Joe’s Coffee Store. Along the way, you will learn the basic concepts of Android such as Activities and see how we can use these from Xamarin.Android. We’ll need to connect with services to get access to data and we’ll learn how to navigate in the app. You’ll see we can do this all of this directly from Visual Studio. We will finish the session by looking at how we can deploy the application to the Google Play Store so it’s ready for our users! You’ll walk away wanting to port your code to Android!
Building applications for mobile devices has its additional challenges: The network connection can be flaky and slow, so the application should still work when the device is offline. Users expect application icons on their home screens to start them. Depending on your use cases you want to access sensors that are not available in the browser.
This Meetup Martin Sotirov (@unclemartycodes) will talk about Vue on mobile devices and take a look at the different ways you can deploy a Vue app on mobile. We start with a PWA, go through a hybrid solution using Ionic Capacitor and then finally arrive at a NativeScript app which renders native iOS and Android views.
https://martinsotirov.com
contact@martinsotirov.com
Freelancer Weapons of mass productivityGregg Coppen
In the battle to stay organized, efficient, sane and maximize on billable time it helps to have systems in place to help deal with the daily business processes and management that make sure that you are working on what you should be and that projects, budgets and timelines stay on track. In particular, when you work on your own, its critical to have things like billing, time tracking and project management as a natural and seamless part of your workflow.
This session aims to be a whistle stop tour of some useful open source tools and subscription solutions I have found to be well worth their costs - including how they can be used effectively together to allow you to make the most efficient use of your time designing and developing Drupal sites.
I work as a remote contractor & consultant and my clients are drupal shops and companies needing web sites and systems designed, built, themed and/or maintained. These tools and services work for me to help stay organized and on top of my workload and help me to manage my responsibilities across multiple clients and timezones effectively.
The material in this session is geared more towards individual freelancers although much of it will be relevant for larger drupal shops and teams too.
A few of the topics I intend to cover will include
* Project Management with Redmine - an overview of this powerful open source project management system and a demo of some of the plugins that extend its functionality and integrate well with Drupal, Dropbox, Github, Chrome and others.
* Simplifying getting paid and easy record keeping - Easy invoicing, credit card processing and automatic importing of expenses using Freshbooks & Stripe
* Design to theme tricks and up and coming in-browser design tools and workflows using Styletiles, CSS Hat, SASS, Typekit, Typecast & Livestyle
* Faster Drupal development tips using Alfred & Sublime Text
* Rapid protoyping using Bootstrap/Zenstrap
* Site building strategies using install profiles and drush make files
* Deployment and Maintenance using Aegir
* Server monitoring using New Relic & load testing using Blazemeter
* Hosting and managing your site in the cloud
It is my aim to introduce ( in some cases briefly) tools and services that have made a difference to me that may have the potential to add to and improve your existing workflows.
This presentation describes the principles behind Sahi, the best automation tool for cross browser testing of complex AJAX applications. The video is available here: http://www.youtube.com/watch?v=Fue5unKjuCM
Building your first android app using XamarinGill Cleeren
Do you have a great knowledge about C#? Maybe you’ve already built a great mobile app on Windows Phone or Windows 8? Would you like to be able to use your knowledge to build an Android app without having to resort to other languages or IDEs? Well, now you can! With Xamarin. In this session, Gill Cleeren will take you through the creation of your first Android application. We’ll see how we can use our trusted Visual Studio for this task, how we can create apps with mulitple screens and how we can call services. We’ll also look at how we can deploy the application and how we can debug our code.
2. About Me
• Android & Rails developer at ChaiOne in Houston, Texas, USA
• Android apps on Google Play - DeliRadio, Music Library, and
Wrist Presenter
• Hobbies/Interests - Vinyl collector, coffee & beer snob, burger
aficionado
• Ich lerne Deutsch
3.
4. About DeliRadio
• Explore local concert
calendars
• Stream stations based on
location or specific venues
• Share discoveries with
friends
• Receive notifications when
favorite artists play nearby
6. About DeliRadio - Server Architecture
• Sinatra/Ruby API used by Android, iOS, and
third-party clients
• Virtual private cloud
• Web, database, and job servers
• Hosted on Amazon S3 & CloudFront CDN
• ElasticSearch & Redis for caching & high
performance search
7. Supported Android Versions Over Time
Early 2012
Min: Froyo
Max: Honeycomb
Mid 2012
Min: Froyo
Max: ICS
Early 2013
Min: Gingerbread
Max: Jelly Bean
Early 2014
Min: ICS
Max: KitKat
10. Development Tools (Early to Mid 2012)
Eclipse
• But which one?
• Build System: Ant
• Dependencies:
JAR files or
Maven (if you’re
patient)
11. Development Tools (Mid 2012 to Mid 2013)
Android Developer Tools (ADT) Bundle
• Android specific version of Eclipse
• Slightly more lightweight
12. Build Process - Eclipse & ADT
• Initial approach - File > Export, manually enter
keystore password, etc.
• Slightly better approach - Template based Ant
build
• Release & debug resources
• Custom Ant build targets with config specific
tokens
• Templates for manifest and other source files
13. Build Process - Eclipse & ADT
Problems with this approach
• Non-standard
• Templates must be be updated instead of
main files (i.e. manifest gets overwritten with
populated template on each build)
• Switching between release & debug must be
done via the command line. IDE just builds
current files.
14. Development Tools (Mid 2013 to Present)
Android Studio
• Gradle
• Maven dependencies - Similar to Ruby Gems
15. Build Process - Android Studio
Gradle
• Release & debug resources - automatically
merged during build process, no need for
templates
• Automated signing & version code
incrementing for release builds
• Automatic upload of test builds to Test Fairy
29. Graphics & User Interface
• iOS design != Android design - But iOS 7
blurred the lines
• Retina images - XHDPI
• Non-Retina images - MDPI
• Icon font - Scalable icons that can be styled as
text
30.
31.
32. Graphics - Using an Icon Font
1. Use Font Awesome web font or your own font
for scalable, styleable icons
2. Map font characters in a strings resource file
3. Load font, apply to TextView or Button subclass
4. Set view text to desired character, style, etc.
5. Bask in the awesome
!
https://github.com/bperin/FontAwesomeAndroid
35. User Interface - Multiple Screen Sizes
• Use ActionBarCompat & Nine Old Androids if
supporting Gingerbread or lower
• Use RelativeLayout where possible to
dynamically position views
• Dimensions in dimens.xml files, different
values directories for various screen sizes
• Screen size specific layouts where necessary
37. QA & Testing - Devices
• Too many to test them all
• Attempt to test a representative sample
• Major manufacturers - HTC/Motorola/
Samsung/Nexus
• After Gingerbread support dropped, OS version
& OEM customizations are much less of an
issue
38. QA Testing - Process
• Bugs & features entered in Pivotal Tracker
• Multiple builds delivered for testing each week
• Use Test Fairy test session videos to
troubleshoot device specific issues
• Full regression test of RC build before each
release