The document discusses designing user interfaces for Android applications that work well across multiple screen sizes. It recommends using a navigation drawer for the main application navigation, with four top-level screens as a minimum structure. Content should be organized into fragments that can be reused on phones and tablets. Layouts should be designed to fork the UI between phone and tablet configurations by checking resource boolean values that specify screen size and orientation. Sample wireframes demonstrate how the same app content can be presented differently for phones versus tablets.
Speaker's notes here : http://bit.ly/and-nav
This is a feedback about user experience creation, following a simple Android app I had to create.
In this presentation I'll tell you about this story, trying to identify the points that will hep you to make the good choice on your own project.
A basic overview of what Omeka is, when to use it, and how to use it. Omeka is a digital collections and exhibits platform used by museum professionals, teachers, librarians, and academics.
Here's a presentation I gave for ETC at Missouri State University. It's for Mac users on campus — it can be difficult to connect to campus resources or to get all the resources you need to run a Mac on campus. This presentation takes a few steps to help remedy that.
Speaker's notes here : http://bit.ly/and-nav
This is a feedback about user experience creation, following a simple Android app I had to create.
In this presentation I'll tell you about this story, trying to identify the points that will hep you to make the good choice on your own project.
A basic overview of what Omeka is, when to use it, and how to use it. Omeka is a digital collections and exhibits platform used by museum professionals, teachers, librarians, and academics.
Here's a presentation I gave for ETC at Missouri State University. It's for Mac users on campus — it can be difficult to connect to campus resources or to get all the resources you need to run a Mac on campus. This presentation takes a few steps to help remedy that.
Free Technology Tools for Better Engagement, Efficiency & Cost Controls.
The internet has many tools to help improve your productivity, organization, client collaboration and marketing – all for FREE. Are you taking advantage of these tools? In this fast-paced session, participants will be introduced to online tools for your day-to-day business processes, including alternatives to big-name software packages. We’ll cover what the tools can do for you and where to get them. Don’t miss this opportunity to explore new ways to solve common problems with uncommon tools.
How Accessibility Made Me a Better DeveloperBilly Gregory
This is a longer version of my presentation "Responsible Design: Accountable Accessibility" but with a catchier name :)
This talk tells my story of how I went from front end developer who knew nothing about accessibility to an accessibility advocate.
Included in this talk are my "10 Tips" that any developer can use on day one without any experience authoring accessible HTML.
This talk was originally presented at the Accessibility Conference in Guelph, Ontario, Canada on May 29, 2013.
Free Technology Tools - Promotions East 2011. The internet has many tools to help improve your productivity, organization, client collaboration and marketing – all for FREE. Are you taking advantage of these tools? In this fast-paced session, participants will be introduced to online tools for your day-to-day business processes, including alternatives to big-name software packages. We’ll cover what the tools can do for you and where to get them. Don’t miss this opportunity to explore new ways to solve common problems with uncommon tools.
Free Technology Tools for Better Engagement, Efficiency & Cost Controls.
The internet has many tools to help improve your productivity, organization, client collaboration and marketing – all for FREE. Are you taking advantage of these tools? In this fast-paced session, participants will be introduced to online tools for your day-to-day business processes, including alternatives to big-name software packages. We’ll cover what the tools can do for you and where to get them. Don’t miss this opportunity to explore new ways to solve common problems with uncommon tools.
How Accessibility Made Me a Better DeveloperBilly Gregory
This is a longer version of my presentation "Responsible Design: Accountable Accessibility" but with a catchier name :)
This talk tells my story of how I went from front end developer who knew nothing about accessibility to an accessibility advocate.
Included in this talk are my "10 Tips" that any developer can use on day one without any experience authoring accessible HTML.
This talk was originally presented at the Accessibility Conference in Guelph, Ontario, Canada on May 29, 2013.
Free Technology Tools - Promotions East 2011. The internet has many tools to help improve your productivity, organization, client collaboration and marketing – all for FREE. Are you taking advantage of these tools? In this fast-paced session, participants will be introduced to online tools for your day-to-day business processes, including alternatives to big-name software packages. We’ll cover what the tools can do for you and where to get them. Don’t miss this opportunity to explore new ways to solve common problems with uncommon tools.
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...Raj Lal
Learn how to design an HTML5 application which supports people with disabilities, and know why its a good business decision. An accessible web application gives maximum reach to your application's information, functionalities and benefits, by allowing multiple input methods, different interaction models, and customization based on special needs and limited device supports. The four major disabilities that effect user capabilities are visual, hearing, mobility (difficulty in using the mouse), and cognitive disabilities, which are related to learning abilities. Know how to use the latest technologies to accommodate these users in the user interface.
Web Accessibility (ADA Section 508): What Does it Mean for Your WebsiteWordCamp Tampa
What is ADA Section 508 (WCAG 2.0)and what does that mean for developers?
253 million people worldwide have some sort of visual impairment. As developers, we can help a lot of people by making the web accessible to everyone. We will explain in English what ADA Section 508 is and what that means for developers and web accessibility.
We will also explain some things developers can do to help their clients become compliant and avoid expensive lawsuits.
Featured Speakers: Joe Lopreste and Steve Curtis of St Pete Design. Steve Curtis is co-owner of St. Pete Design which he founded in 2012. He has been developing WordPress websites since 2008. Joe LoPreste is a proud father of 2 amazing girls 17 and 13. He is a St. Pete native and has been working with technology for the last 10+ years.
Presented at WordPress St. Petersburg Meetup.
Project EdTechJoker, laid out in slides. A demo was given as prt of this presentation being delivered at Domains 2019.
I need you to turn up the temperature on the edtech market through the adoption of the webcomponent standard. Together, we can eliminate corrupt vendors from our space and unleash creativity with higher accessibility and user experience then they can.
Similar to Build a user experience by Eyal Lezmy (20)
http://fr.droidcon.com/2014/agenda/detail?title=Parse+Worskshop
Learn how to focus on creating a great user experience and forget complex infrastructure. Instantly add a powerful core, push notifications, and analytics to your app with Parse. We will take a deep dive at Parse's native SDKs for Android and see how to build an app that scales to millions of users.
Speaker: Ali Parr, Parse
Head of Mobile Platform Partnerships Engineering, EMEA, Facebook and Parse, based in London. He currently heads up the Parse partnerships program for Facebook in EMEA, as well focusing on new developer acquisition. Ali is focused on building partnerships between Parse and developers across EMEA, through direct contact, public speaking opportunities, and mentoring events. Ali is also a mentor at Techstars in London, and The Family in Paris, providing advice and experience to high-potential startups. Prior to Facebook, Ali was the founder of Infinite Degree, a gaming startup that reached top 10 in Apple App Store across many regions including the US and the UK. Ali holds a Masters degree in Computer Science.
http://fr.droidcon.com/2014/agenda/detail?title=Extending+your+apps+to+wearables
speaker: Vitaliy Zasadnyy, GDG Lviv
Mobile developer, Google Developers Group and Gamedev Community Lviv co-founder. Interested in GameDev, Android, iOS, Google App Engine and community management. Used to work for enterprise giants like EPAM as well as for product companies such as NRavo. Nowedays work in two teams: first one make 3D MMO game using Unity, second - RnD. TEDx speaker.
http://fr.droidcon.com/2014/agenda/detail?title=Scaling+Android+Development+at+Twitter
In January 2012, nearly all Twitter for Android code was written by three engineers. As of January 2014, Twitter for Android has several dozens unique contributors from over ten different teams. In this talk, we'll discuss how Twitter moved to develop at scale from a single team-based development model to a project based development model that welcomes contributions from across the company and highlight some of the challenges that we ran into on the way.
Speaker: Jan Chong, Twitter
Jan Chong holds a BS and MS in Computer Science from Stanford University. She has Ph.D from the Management Science & Engineering Department, also from Stanford. She is currently the Engineering Manager for the Twitter for Android team. Prior to joining Twitter, Jan ran client and server software development at OnLive.
http://fr.droidcon.com/2014/agenda/detail?title=Ingredients+of+Awesome+App
There are an increasing number of apps that come with great design nowadays, and most of the carefully crafted apps resonate with the Android users due to their great and consistent User Experience (UX) design. Many developers and designers try hard to create an app with great UX by largely referring to the Android Design Guideline, however, to make remarkable UX design is certainly more than that, and often they missed certain important items from their check list. If you want to check if your app(s) is heading the right direction to awesomeness, be sure to check out this ‘advanced’ check list in making awesome Android apps.
Speaker: Taylor Ling
I am very passionate about User Experience (UX), not so much on the ethnography part, but more on the User Interface execution that can directly influence UX and Usability, particularly on the mobile devices (Android always come first!).
I am currently the GDE for UX/Design, and enjoy going around the world to share my experience on UI/UX Design.
Currently crafting pixels at snappymob.com.
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Framing+the+Canvas
This talk will guide you through a topic that is often ignored: the Canvas API. Even if there's only scarce documentation for it, the Canvas API is at the heart of everything that shows a UI on Android. You'll need to tame this powerful and mysterious creature if you want to create great custom views and brilliant, lightweight UIs for your apps.
What is a Canvas? How do you Paint? Can you draw Paths? What is Skia, and who invited it anyway? What actually happens during a drawing pass? What are Shaders? What are Filters? Is it true that text is basically impossible to measure correctly? What shape does a Shape have if noone's painting it? These and other questions will get an answer during this session. Well, some of them will not, probably.
Connect the dots in the spotty documentation the Android team has assembled, and become a true pixel pusher!
Speaker: Sebastiano Poggi, Novoda
Sebastiano Poggi is a Android Software Craftsman at Novoda in London.
A self-taught and strong OSS believer who loves in beautiful and simple UX and UI, where “less is more”, he spends a big chunk of his spare time reading and writing about Android development. He also creates and maintains some FOSS apps and libraries, that span from the fun little project to more serious (and, perhaps, useful) work.
He worked some time in AKQA as a Senior Software Engineer. Before moving to London, he also worked at i’m Spa (an Italian smartwatch startup) for two years, messing with the Android platform and handling their Developer Relations. He's been toying with the Android SDK since 2010.
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Deep+Dive+Into+State+Restoration
Come learn about how Android saves state in general in order to be able to restore an application in the exact same state the process was prior being killed because of a low memory condition or a configuration change. In this talk we will mainly focus on the Parcelable and Parcel objects and how Android uses them to save/restore some important stateful information such as the complete UI state.
Speaker : Cyril Mottier, Capitaine Train
Cyril Mottier is Mobile Software Engineer at Capitaine Train and Android Google Developer Expert. Passionate about technology and design, Cyril is an avid lover of Android and a multi-skilled engineer. He is actively involved in the Android community and shares his passion writing blog posts, creating open source librairies and giving talks. His motto: “Do less, but do it insanely great”
http://fr.droidcon.com/2014/agenda
http://fr.droidcon.com/2014/agenda/detail?title=Archos+Android+based+connected+home+solution
Archos has just launched a full connected home solution based on an Android tablet and relying on Bluetooth Low Energy accessories.
The purpose of the talk is to detail:
- how Android can play a major role in the connected home revolution
- the overall system architecture based on Android BLE, Google Cloud Messaging, Google Apps Engine, STUN/ICE remote connection
- the strategy to open up the Archos applications and accessories
Speaker : Marc de Courville, Archos CTO.
Archos is a French company and has been a player in the Android arena since Android 1.5: first to introduce Android tablets on the market and a Google certified Android TV (Archos TV Connect).
Archos is now a recognized brand for Android based tablets, phones and recently for Android based connected home solution.
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Porting+VLC+on+Android
VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files, discs and streams. VLC runs on most platforms and is developed by volunteers.
This talk will explain how we ported VLC to Android using the NDK, the issues we faced and how we solved most of them. It will also detail the future of VLC on the Android platform.
Speaker : Jean-Baptiste Kempf, VideoLan
Jean-Baptiste Kempf is the president of the VideoLAN non-profit organization and one of the main developers of VLC.
Jean-Baptiste led some of the ports of VLC on mobile devices, including the Android port, and is the current release manager of VLC.
http://fr.droidcon.com/2014/agenda
http://fr.droidcon.com/2014/agenda/detail?title=Robotium+vs+Espresso%3A+Get+ready+to+rumble+!
Ladies and gentlemen, boys and girls. Dans le coin rouge, accusant un poids de 104KB, le plus populaire de tous les frameworks de test: Robotium. Dans le coin bleu, avec un poids de 262KB et le support des équipes Google, celui qu’on qualifie de “new comer” : Espresso. Que le match commence !!
Au programme nous verrons avec du code le fonctionnement de ces bibliothèques, leurs avantages mais aussi leurs inconvénients. Nous y parlerons également de Calabash Android et de UI Automator.
Speaker : Thomas Guerin, Xebia
Thomas Guerin est consultant pour Xebia depuis 2011. Passionné de développement Android et adepte des bonnes pratiques de développement, il s'intéresse de près au déploiement continu sur mobile.
http://fr.droidcon.com/2014/agenda
http://fr.droidcon.com/2014/agenda/detail?title=buildsystem.mk
##
## This module is about android build system, especially its makefiles and how to use them well
##
## @authors : Remy Gottschalk, Charles-Henry Prunier
LOCAL_PATH:= $(call for-paper)
include $(CLEAR_VARS)
LOCAL_MODULE := buildsystem.mk
LOCAL_SRC_FILES := \
Android.mk \
BoardConfig.mk \
AndroidProducts.mk \
CleanSpec.mk \
device.mk
LOCAL_CONF_FLAGS := -Obuild_system
LOCAL_CONF_FLAGS += -DHAVE_CUSTOM_ROM -IRomCooking
LOCAL_CONF_INCLUDES += \
definitions \
fonctionnement \
mots_cles \
utilisation \
modifications \
bonnes_pratiques
LOCAL_MODULE_PATH := $(TARGET_OUT_BRAIN)
LOCAL_MODULE_TAGS := eng
include $(BUILD_CONFERENCE)
Speaker : Remy Gottschalk and Charles-Henry Prunier, Genymobile
Remy et charly sont tous les deux ingénieurs conception et développement chez Genymobile, spécialisés dans la customisation de roms a destination des professionnels.
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Maximize+App+engagement+and+monetization
Learn how you can turn your app into a business.
Discover the different mobile apps monetization models and trends.
Speaker : Jean Maisonnial, Google
Jean has been working at Google for more than 3 years. He is a Mobile Apps Consultant and works with French developers to help them to grow, distribute and monetize their apps.
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=The+Android+Native+Development+Kit
The Android NDK is used to integrate C/C++ code into Android applications and libraries.
Learn how you can use the NDK and NDK-based libraries with Eclipse and Android Studio, and how you can debug and optimize your code.
Discover what changes from the new Android Runtime may break your integration, and how you can target new 64-bit architectures with the upcoming android L-release.
Speaker : Alexander Weggerle, Intel
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Holo+-%3E+Material+Design+Transition
Avec l'arrivée d'Android L, Google a décidé d'apporter à son OS mobile un nouvel ensemble de règles visuelles nommé Material Design. Mais il n'est pour autant pas nécessaire de changer intégralement le design de son application pour respecter ces nouvelles guidelines.
Cette conférence vous montrera en direct comment passer de Holo à Material au travers d'une application. Du floating button aux cartes à la Google Now, en passant par les nouvelles APIs d'animation, vous saurez tout ce qui est nécessaire pour effectuer une transition en douceur.
Speaker : Quentin Sallat, iD.apps
Android Developer for more than three years, I'm a huge fan of mobile and web development. I've been blogging for years about .NET, HTML5 and Java development, and I'm now a Professional Android developer.
I'm especially interested in app design, and with more than fifteen apps published under my personal account, Aerilys, I've some things I'd like to share with my fellow developers!
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Death+to+Passwords
User authentication in mobile applications is a very common and integral use case. Implementing regular passwords is an easy solution for developers but comes with several pitfalls that impair user experience like (re-)entering passwords, the need to create a new unique password or even just the input of personal data on a flaky keyboard while registering a new account.
In this talk the security flaws and UX implications of passwords will be discussed and highlighted which different techniques exist that are able to offer a more mobile friendly flow. Highlighting authorization and authentication techniques like OAuth, OpenID Connect and even hardware features like Bluetooth Low Energy this talk will be interesting for anyone who's facing a situation where creating and storing user accounts matters.
Speaker : Tim Messerschmidt, PayPal
As a long time mobile and web developer, Tim channels his knowledge and experience as PayPal's Lead Developer Evangelist in EMEA. He is passionate about startups and serves as mentor at multiple incubators and accelerators. Prior joining PayPal Tim used to work with Neofonie Mobile and Samsung focussing on several mobile projects. In his spare time, he leads and creates training classes in all sorts of developer-oriented topics, contributes to Open Source projects and is one of the authors of the Mobile Developer's Guide to the Galaxy, as well as numerous articles published in print magazines.
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Google+Glass%3A+which+framework+depending+for+which+usage
Ready to develop your first Google Glass app? I guess that you will be asking yourself the same questions we had :
• How to sign in your users without keyboard?
• How to scan or detect an object just by looking at it?
• How to provide an intuitive and interactive UX?
• How to deal with your IT system and share information between users?
We will show you which dependencies to add to your build.gradle to satisfy your user's wildest dreams and provide them a full compatible app for connected glasses.
You're not ready? Don't panic, our ideas will convince you to buy glasses. And with our code you will discover that a Google Glass app is nothing else but an Android App.
Speaker : Mathieu Hausherr, OCTO Technology
Mathieu Hausherr is a native mobile app developer at Octo Technology. He develops iOS and Android apps. He believes in mobile development industrialization, unit testing and continuous integration. He loves testing new devices like glasses or watches.
Follow him on twitter (@mhausherr)
Speaker : Cédric Pointel, OCTO Technology
Cédric Pointel is as mobile developer at OCTO Technology since 4 years. He develops mobile apps, mostly on iOS, for bank, insurance, luxury or social media. He also helps companies to improve theirs skills on mobile knowledge, code quality and continuous integration. Interested in robotics and connected objects, he has started testing new devices like Google Glass since the beginning of the year.
Follow him on twitter (@cpointel)
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Petit+design+pour+grande+humanit%C3%A9
Comment le design se rend-il utile à nos vies ? L'imaginaire social autour de la création relève souvent du mythe (le design ça n'est pas rendre beau!) cependant, il suffit parfois de petites choses intelligentes pour innover et faire grandir l'humain de façon individuelle et collective ou collaborative. Au travers d'exemples et d'éléments clefs, je vous invite à découvrir, autour du monde, comment la création de services, de produits, d'objets, d'expériences peuvent changer nos vies.
Speaker : Geoffrey Dorne, Design & Human
Designer. Hacker. Researcher —
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.
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.
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.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
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/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
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!
33. Use the system resources
res/layout/main.xml
res/layout-large/main_two_panes.xml
res/layout-sw600dp/main_two_panes.xml
Multi-screen UI
Default>= 7"
>= 600dp
34. Avoid file duplication with aliases
res/layout/main.xml
res/layout/main_two_panes.xml
res/values-large/layout.xml
res/values-sw600dp/layout.xml
Multi-screen UI
Define the 2 layouts
on the default folder
Define aliases using
the filters
35. Avoid file duplication with aliases
<resources>
<item name="main" type="layout">
@layout/main_two_panes
</item>
</resources>
Multi-screen UI
Override main by main_two_panes
for large and sw600dp screens
36. Fork the code
Multi-screen UI
res/values/bools.xml
res/values-large/bools.xml
res/values-sw600dp/bools.xml
<resources>
<bool name="isTwoPanes">
true|false
</bool>
</resources>
true or false:
explicite definition
Boolean values dealing
with the filters
37. Fork the code
boolean isTwoPanes = res.getBoolean(R.bool.isTwoPanes);
if (isTwoPanes)
// launch a tablet activity
else
// launch a phone activity
Multi-screen UI
We fork the code based on
the isTwoPanes value