Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
The world of JavaScript client-side frameworks is overflowing with contenders vying for the crown, but which one do you choose for your next project? Which one has what it takes?
In this talk we’ll look at the “Big 3”, AngularJS, Ember.js, and Backbone.js. We’ll compare them head to head, toe to toe. We’ll look at the pros and cons of each one. How do they handle form bindings? Talking to APIs? Code organization? Routing? Etc?
Who’ll come out victorious in this battle of the JavaScript frameworks, or will we all just come out bloodied and bruised on the other side? Guess we’ll find out!
Example-driven Web API Specification DiscoveryJavier Canovas
Slides of my presentation at European Conference on Modelling Foundations and Applications (ECMFA'17). To be presented during the session on Thursday 16:00-17:30
The world of JavaScript client-side frameworks is overflowing with contenders vying for the crown, but which one do you choose for your next project? Which one has what it takes?
In this talk we’ll look at the “Big 3”, AngularJS, Ember.js, and Backbone.js. We’ll compare them head to head, toe to toe. We’ll look at the pros and cons of each one. How do they handle form bindings? Talking to APIs? Code organization? Routing? Etc?
Who’ll come out victorious in this battle of the JavaScript frameworks, or will we all just come out bloodied and bruised on the other side? Guess we’ll find out!
Example-driven Web API Specification DiscoveryJavier Canovas
Slides of my presentation at European Conference on Modelling Foundations and Applications (ECMFA'17). To be presented during the session on Thursday 16:00-17:30
APIs REST Usables con Hypermedia por Javier Ramirez, para codemotionjavier ramirez
Con la adopción de REST, la proliferación de smartphones y tablets y el revival del JavaScript, exponer nuestra aplicación como un servicio es más importante que nunca.
Frameworks como Rails hacen muy fácil la creación de un API (más o menos) REST, pero en muchas ocasiones estas APIs se diseñan sin pensar realmente en los desarrolladores que las va a usar.
En esta charla habo sobre algunos de los puntos que pueden hacer tu API REST más amigable para desarrolladores, cubriendo áreas como el autodescubrimiento, autenticación, cabeceras, formatos, versionado, parámetros, documentación y herramientas.
Aunque comparte tema (y algunas slides) con la charla de APIs usables que preparé para el grupo de Usuarios de Ruby en Londres, gran parte del material es inédito.
Creating GUI container components in Angular and Web ComponentsRachael L Moore
So you've embraced architecting your Angular application with reusable components--cheers to you! But you have UI components that need multiple entry points for user markup, and regular ng-transclude left you hanging. In this talk, we'll cover how new web component standards, like the Shadow DOM, handle this. Next, we'll walk through how to accomplish it today in Angular 1.3 -- and also give you a brief glimpse into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to make layout scaffold components with custom elements that serve as containers for arbitrary user-provided HTML content.
Talk presented at ng-conf in March 2015.
Android Developer Days 2013 - MultiDevice NightmareHasan Hosgel
Here you can gain advances knowledge on how to survive the Multi-Device Nightmare. It gives an introduction and samples of using different resource/ layout folders for filter specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Management visuel pour l'amélioration des activités de service, Aurore XemarInstitut Lean France
Découvrez comment la mise en place d'un mur qualité a permis d'améliorer nettement et très rapidement, la qualité de service et la satisfaction des clients chez Plastic Omnium.
Une présentation d'Aurore Xemar au Lean Summit France 2016 visible ici : https://youtu.be/6rWZgzqiH6I. Visionnez des retours d'expérience Lean sur notre chaîne YouTube.
Mtc spring 2014 best practices to develop for different android device classi...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
True Dreams Furniture is one of India’s leading Furniture Manufacturers has wide range of Office Furniture, Hospitality Furniture and Home & Interior Furniture at very low price. Taking the improvements of office furniture products quality and art taste as our responsibility and the largest number of consumers in the market. We develop the good quality modular furniture with competitive price.
APIs REST Usables con Hypermedia por Javier Ramirez, para codemotionjavier ramirez
Con la adopción de REST, la proliferación de smartphones y tablets y el revival del JavaScript, exponer nuestra aplicación como un servicio es más importante que nunca.
Frameworks como Rails hacen muy fácil la creación de un API (más o menos) REST, pero en muchas ocasiones estas APIs se diseñan sin pensar realmente en los desarrolladores que las va a usar.
En esta charla habo sobre algunos de los puntos que pueden hacer tu API REST más amigable para desarrolladores, cubriendo áreas como el autodescubrimiento, autenticación, cabeceras, formatos, versionado, parámetros, documentación y herramientas.
Aunque comparte tema (y algunas slides) con la charla de APIs usables que preparé para el grupo de Usuarios de Ruby en Londres, gran parte del material es inédito.
Creating GUI container components in Angular and Web ComponentsRachael L Moore
So you've embraced architecting your Angular application with reusable components--cheers to you! But you have UI components that need multiple entry points for user markup, and regular ng-transclude left you hanging. In this talk, we'll cover how new web component standards, like the Shadow DOM, handle this. Next, we'll walk through how to accomplish it today in Angular 1.3 -- and also give you a brief glimpse into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to make layout scaffold components with custom elements that serve as containers for arbitrary user-provided HTML content.
Talk presented at ng-conf in March 2015.
Android Developer Days 2013 - MultiDevice NightmareHasan Hosgel
Here you can gain advances knowledge on how to survive the Multi-Device Nightmare. It gives an introduction and samples of using different resource/ layout folders for filter specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Management visuel pour l'amélioration des activités de service, Aurore XemarInstitut Lean France
Découvrez comment la mise en place d'un mur qualité a permis d'améliorer nettement et très rapidement, la qualité de service et la satisfaction des clients chez Plastic Omnium.
Une présentation d'Aurore Xemar au Lean Summit France 2016 visible ici : https://youtu.be/6rWZgzqiH6I. Visionnez des retours d'expérience Lean sur notre chaîne YouTube.
Mtc spring 2014 best practices to develop for different android device classi...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
True Dreams Furniture is one of India’s leading Furniture Manufacturers has wide range of Office Furniture, Hospitality Furniture and Home & Interior Furniture at very low price. Taking the improvements of office furniture products quality and art taste as our responsibility and the largest number of consumers in the market. We develop the good quality modular furniture with competitive price.
How to use media queries to optimize the same markup for different devices and features.
Get an overview for designing sites for mobile, desktop and even the iPad. Examples include mimicking native appearance and animations with CSS3.
As present at FluentConf 2014 on March 11th, 2014.
AngularJS is one of the most popular, and powerful, JavaScript frameworks for building rich client-side applications. AngularJS is both simultaneously both simple to use and extremely full featured. With AngularJS a little goes a long way, but to make the most of it, you need to know what you’re doing.
In this workshop we will build a complex application to help exercise all of the salient points of the AngularJS framework.
Topics covered include, ngResource, directives, fitlers, routing, templates, controllers, testing, and more.
Code can be found at: https://github.com/markbates/fluent-2014
avaScript, REST, CSOM, Office 365 APIs: Like it or not, client-side development is the future of SharePoint development. At the forefront of this wave is the powerful JavaScript library jQuery. Utilizing jQuery in SharePoint, developers can take their applications to the next level in less time. What's more, you can utilize jQuery in SharePoint 2007, 2010, 2013, and in Office 365 often without making changes to your code. In this class, you gain a new appreciate for jQuery and learn:
"What's possible," including visual enhancements and practical business intelligence
Tips and Tricks for deploying and maintaining scripts
How to get quick wins with little effort using third-party jQuery libraries
How to interact with SharePoint forms and lists using JavaScript and jQuery
http://www.opitz-consulting.com/go/3-4-11
JavaScript applications have yet become increasingly powerful but likewise increasingly complex. How can such an application remain maintainable and testable in spite of its growth? Design pattern like data binding, dependency injection and modular design.
OPITZ CONSULTING Senior Solution Architect Stefan Scheidt at JavaScript Conference, Düsseldorf, Germany, 27/02/2012.
Introduction to Solr. A brief introduction to Solr for the resources who wants to get trained on Solr.
1. Introduction to Solr
2. Solr Terminologies
3.Installation and Configuration
4. Configuration files schema.xml and solrconfig.xml
5. Features of SOLR
a. Hit Highlighting
Auto Complete / Suggester
Stop words
Synonyms
SpellCheck
Geo Spatial Search
Result Grouping
Query Syntax
Query Boosting
Content Spotlighting
Block Record / Remove URL Feature
Content Spotlighting / Merchandising / Banner / Elevate
Block Record / Remove URL Feature
6. Indexing the Data
7. Search Queries
8. DataImportHandler - DIH
9. Plugins to index various types of Data (XML, CSV, DB, Filesystem)
10. Solr Client APIs
11. Overview of SOLRJ API
12. Running Solr on Tomcat
13. Enabling SSL on Solr
14. Zookeeper Configuration
15. Solr Cloud Deployment
16. Production Indexing Architecture
17. Production Serving Architecture
18. Solr Upgradation
19. References
Similar to MTC 2013 Berlin - Best Practices for Multi Devices (20)
DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Ch...Hasan Hosgel
With the new release of Lollipop we have finally an updated API Level for Google TV, oops Android TV. This is not the only approach by Google for the large screen. There is also the Chromecast, a HDMI dongle/ media player. This Session gives an introduction how you can develop for Android TV and the ChromeCast. It presents the tools and also the support library for creating own Screens, based on an example application.
Android Developer Days 2014 How second screen can enhance your appHasan Hosgel
The session aims to provide an overview of existing second screen that currently can be used to enhance your app. It also provides information on the general idea of how second screen extend your user’s immersion into the app.
Droidcon it 2014 best practices to develop for different android device class...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Droidcon nl 2013 best practices to develop for different android device class...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Here you can gain advances knowledge on how to survive the Multi-Device Nightmare. It gives an introduction and samples of using different resource/ layout folders for filter specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Customer’s Choice is a AB-Test library for Android. Unlike the Amazon’s offer, you can use it in every productive application, configure it freely and it’s easily extensible. It is provided as an Open Source library that can be used within any Android project. The slides will be an introduction into the library and will present a Demo for showing the practical usage of Customer’s Choice.
The talk gives an introduction to automatic Android application builds with continuous integration servers. It shares ImmobilienScout24's best practices and experiences on this topic.
Mobile Development across Different Platforms @ Immobilienscout24Hasan Hosgel
The presentation shows professional Android Development and Best Practices regarding API Development It presents several aspects of a professional Android Development like organizational setup as well as the technical environment like build infrastructure and API development. It also covers our best practices and lessons learned regarding software architecture for android applications and API development. This includes API compatibility, security and versioning.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
13. Resource Folders
You can use several qualifiers in the
resource folders name for serving the
best matching resource.
14. Qualifiers
• Language (-en)
• Language & Region (-en-rUS)
• Smallest Width (sw600dp)
• Screensize (-small, -normal, -large)
• Screen Orientation (-port, -land)
• Screen Pixel Densitiy (-mdpi, -hdpi,...)
• Platform Version (-v11, -v13)
15. Best Matching Resources Win
1. res/values/strings.xml
2. res/values-en-rUS/strings.xml
3. res/values-large/strings.xml
4. res/values-sw600dp/strings.xml
The order of the qualifiers in the previous slides
gives the ranking, if two resources have the
same matching number of qualifiers.
16. Images Resources
• Use the different qualifiers for the screen pixel
density (mdpi, hdpi, etc.)
• If you are forced to use text on images use
language and region (en, es-rUS, en-rUS, etc.)
• Better approach is to use 9-patch drawables, which
stretches automatically depending on the content
inside.
• You must provide different launcher icons for
Froyo, Honeycomb and above? Use the platform
version. (v4, v11, v14)
17. Classifications for Layouts
Platform version at least v13
project-folder/res/
layout/ è small phones
layout-sw320dp/ è other phones
layout-sw600dp/ è tablets 7”
layout-sw720dp/ è tablets 10”
18. Platform version at lower v11
project-folder/res/
layout/ è phones
layout-v11/ è tablets 10”
layout-v13/ è small phones
layout-sw320dp/ è other phones
layout-sw600dp/ è tablets 7”
layout-sw720dp/ è tablets 10”
19. hint
The smallest width qualifier gets
automatically platform version "-v13"
through the packager, for avoiding
problems with the number of matching
qualifiers.
20. Howto Classify In Code
• Read configuration from the device
• Smarter approach use boolean
resources
28. Fixing one bug in the 10" layout has to
be done in two files
29. Fixing one bug in the 10" layout has to
be done in two files
è error prone
30. Fixing one bug in the 10" layout has to
be done in two files
è error prone
How to avoid this?
31. Fixing one bug in the 10" layout has to
be done in two files
è error prone
How to avoid this?
- Use resource aliasing.
32. Resource Alias
Put your layout files in the default folder.
project-folder/res/
layout/main_phone_small.xml
layout/main_phone_other.xml
layout/main_tablet_7.xml
layout/main_tablet_10.xml
33. Resource Alias
2. Create an item with the needed
classification in the previously defined
values folder.
project-folder/res/values-sw720dp/
layouts.xml
<item name="main"
type="layout">@layout/main_tablet10</item>
34. Resource Alias
2. Create an item with the needed
classification in the previously defined
values folder.
project-folder/res/values-sw720dp/
layouts.xml
<item name="main"
type="layout">@layout/main_tablet10</item>
35. Resource Alias
2. Create an item with the needed
classification in the previously defined
values folder.
project-folder/res/values-sw720dp/
layouts.xml
<item name="main"
type="layout">@layout/main_tablet10</item>
36. Resource Alias
2. Create an item with the needed
classification in the previously defined
values folder.
project-folder/res/values-sw720dp/
layouts.xml
<item name="main"
type="layout">@layout/main_tablet10</item>
64. Best Practices
• You have already an application
» Remove orientation fixation and suppressing
of orientation change from manifest to avoid
long bug analyzing.
• You start from the scratch
» Focus on main classification for faster time
to market
» But create an overall concept for better
modularization
65. Best Practices
• If you support both orientations, save
the instance state while orientation
changes for more responsiveness
» Especially for states, that need a long
computation for creation.
» Make the state object Parcelable for
faster write & read and also to have a
smaller memory footprint
66. Developer Hints
• You can start an activity for result from
a fragment, so the response can be
handled in the fragment.
• If you want to register a special service
on every onCreate method of an activity
give the ActivityLivecycleCallbacks a
try. You can register them in the
onCreate method of the application.
(min v14)
67. • If you get a BadParcelableException
with the cause ClassNotFound-
Exception, the source can be a
NullPointerException during the read or
write of the Parcelable. Exceptions are
hidden during the parcel process.
68. Listener Hell
If you have to many listeners or you think
the programming model is old school like
the “goto statements”. Give message/
event/ service bus a try. For Android:
• Otto from Square
• EventBus from greenrobot
See also: Callbacks as our Generations' Go To Statement
73. Q & A
Source: http://www.flickr.com/photos/21496790@N06/5065834411/
74. www.immobilienscout24.dewww.immobilienscout24.de
Thanks for your attention
& we are hiring!
Contact:
Hasan Hosgel
Twitter: @alosdev
Github: alosdev
Best Practices to develop the Layouts for different Android Device Classifications
Repo: https://github.com/alosdev/multidevice-nightmare-demo
SlideShare: http://www.slideshare.net/hosgel/mtc-2013-berlin-best-practices-for-multi-devices