HTML All The Things - Web Development, Web Design, Small Business
The adventures of Matt Lawrence and Mike Karan through the world of web development, web design, and small business management. As web development agency owners for the better part of a decade, they’ve worked with all sorts of technologies, through the rise of responsive web design, the revolution of serverless computing, and the popularity gain of many no-code tools for small business owners. They commonly discuss foundational web development technologies like HTML, CSS, and JavaScript - including popular frameworks and tools such as Tailwind CSS, Svelte, WordPress, Vue, and more.
Episodes
Wednesday Oct 31, 2018
Responsive Design
Wednesday Oct 31, 2018
Wednesday Oct 31, 2018
Responsive design has revolutionized how websites are developed, but static layouts still have their place. We explore these two different layout methods in this episode of the podcast.
Reference from Treehouse: https://blog.teamtreehouse.com/which-page-layout
Segment 1 - What is Responsive Design?
Responsive design responds to its environment, in the case of web design it’s specifically referring to how a website’s user interface responds to different window sizes and technologies available.
This gives us the ability to have a single design that changes and adapts to various devices from ultrawide PC displays, down to older smartphones.
It also allows users to make the most of the screen real estate they have
Responsive design makes the use of a variety of tactics that are generally found in CSS including: media queries, relative positioning, relative length units, whitespace
Having two browsers snapped to each side of a 1080p display for more information, rather than always having a webpage open at full resolution
Responsive design makes the use of a variety of tactics that are generally found in CSS including: media queries, relative positioning, relative length units, whitespace
Segment 2 - How to Implement Responsive Design
CSS Responsive Tactics:
Media Queries
Offer breakpoints to a design, allowing developers to apply design changes at a specific breakpoint, such as a certain max-width (probably most popular breakpoint)
Relative Positioning
Position: relative;
Positioning absolute elements within a relative container and then controlling that relative container to automatically move the elements within the container
Relative Length Units
Units that allow your elements to be responsive. These units are dynamic and change based on their environment
Unlike exact, or absolute length units which are (cm, mm, px, etc.)
3 examples:
rem - relative to the font-size of the root element
% - relative to the parent element
Vw - relative to 1% of the width of the viewport
Reference link: https://www.w3schools.com/cssref/css_units.asp
Whitespace
The space between elements (ie the space between columns)
It’s basically blank space on the web page
Responsive design uses this as a buffer zone to move elements around various elements
Filling a site up too much (minimal whitespace) requires space for elements to be displaced and the site will become too crowded on smaller screens (infinite scrolling, or a lot of pagination)
Main high-level CSS responsive tactics include: Flexbox, CSS Grid
Mobile or Large screen first design?
It seems currently it’s more popular to design for mobile first and then create media queries for larger displays
This is useful if you are also designing for older browsers and want to use newer technologies like Grid of even Flexbox
Older browsers will see a mobile design (one column) while any larger screen or new browser can utilize the newer technology for a more advanced/easier to set up layout
Traditionally we design for larger screen and adapted for mobile/smaller
This is still viable depending again on your audience, an older audience for example still prefers larger screens
Segment 3 - When to use Static instead of Responsive Design
Static layouts/static design is when the page is laid out in a fixed way
The elements on the page do not adjust to the screen resolution, or window changing size, generally, overflow is used in order to scroll all around the page
Older sites, especially those that appear left aligned and not fullscreen are done in a static layout, as they’re typically 640px or 800px wide and remain left aligned, if the screen shrinks below this point, as with a phone screen, the user must scroll around the design
Elements are generally not optimized for all platforms, which results in very small buttons, and text on high definition and mobile phone screens
Modern Static Design or Static Layouts
We’ve experiences situations in which a single device, or a single type of monitor will be used, adding responsivity in any way would add additional development and testing time and obviously cost more money
With a single screen in mind you can use the space at your disposal more effectively, have content blocks that perfects fill any available whitespace (within reason) and take advantage of any unique characteristics (ie notch)
Industrial equipment is often like this, when they use a technology called PLCs to control them, generally an HMI (Human Machine Interface) is required to control it via a touch screen, with the web steadily expanding it’s not outrageous to assume that one day a browser version of an HMI may be used on these touch screens, which are all one specific size and don’t update like consumer products (remain the same for years, even decades)
When we first got into business we set out with the idea that we’d never make a static layout, all our websites were going to be mobile-friendly and responsive
Even a few years ago when we opened, there was a lot of production websites that had either a static layout, or had a separate mobile site
Today responsivity is the way to go and is generally cheaper and less clunky than an entire mobile website
We wouldn’t recommend making something with a static layout unless it has a very specific fixed set of parameters that need to be met, or if it will exclusively be used on a specific display for years to come
Web News - Early Access Software/Games
Potential Issues:
Developers don’t want the pressure of saying that it is version 1.0 because of the assumed amount of polish
The developer getting paid and receiving free bug testing while in early access/beta doesn’t seem fair to the user/customer that is buying it
The potential that you could pay for something but it never gets fully released
Even if something is free but in beta like flutter.io a cross platform framework for android and iOS. It could be abandoned, and your efforts can be for nothing in learning it and helping with its feature development/bug fixing
Potential Benefits:
The user can feel part of the development and evolving process of the software and when/if it is released will be more attached to the product
Strapped for cash but talented developers have a chance to maybe release a MVP and work on it while receiving feedback and funding from the people using it
A longer update cycle for applications/games because of constant funding
User feedback can lead to new features and improvements as the system is not yet complete and it is easier to add/change something in this state
You can find us on...
Facebook | Twitter | Instagram
RSS | Patreon | Spotify
Medium | YouTube | GitHub
Reddit
Wednesday Oct 24, 2018
Developer to CTO w/ Azhar Zuberi
Wednesday Oct 24, 2018
Wednesday Oct 24, 2018
We sit down with Azhar Zuberi to discuss his unique professional journey from developer to CTO of a startup.
Segment 1 - Introduce Yourself
Segment 2 - A little backstory
What would you say was the most important topic or lesson you learned in your schooling when it comes to being a developer?
How important was your first job as a developer in defining your coding style/knowledge base?
When first starting out what were the ‘popular’ technologies that you learned (i.e. angular, bootstrap, wordpress etc)
Segment 3 - Our connection
What was the reason you decided to choose us (Digital Dynasty Design) when we first started working together?
What is your workflow/process for working with and hiring off site/outsourced developers?
What are the benefits of having a small development team versus increasing funding and hiring a full staff?
What are some of the biggest challenges when have a off site/outsourced development team?
Our current development process has us using a very base Jquery, Bootstrap, JS, HTML and CSS stack. What were some of the reasons behind this vs using a more robust framework i.e. angular or react?
Segment 4 - Running a company
What are some additional responsibilities that you were not expecting when transitioning to being a CTO
What do you miss most about being just a contract developer
As CTO how important was it to have all those technical skills and years of work in a company and as a contractor
How did you learn the business side of your role as CTO and what is the most challenging part for you?
Web News - Incomplete Ecosystems
What is an ecosystem?A collection of software - typically from the same manufacturer - that all compliment each other
A primary example would be iCloud storing all your contacts and other data from your iPhone for use on your Mac, or on a new iPhone if you need to sync them up
Ecosystems have been a key part of people’s workflow for the past few years
They’re often a key feature that people look for when they purchasing a device
Apple’s ecosystem stands out in this particular example
There are a lot of ecosystems out there including: productivity, smarthome, etc.
Examples of incomplete ecosystems (rough notes/points of reference):
Samsung has software primarily on the phone, such as Notes, Bixby, Email, etc. but has no clients for PC use, other than things that mirror or use the phone (ie SideSync)
Microsoft’s is more focused on productivity (email, contacts, calendar, Cortana), but has no focus on smart home functionality (ie hardware). Windows Phone hardware is basically dead and therefore there is no mobile experience for Windows, with the exception of Android apps (which is a decent solution - but not as integrated as first party)
Android has no full desktop experience (A Pixelbook doesn’t have all the pro software that Windows has, Google Assistant is on Google hardware, but not on Windows 10)
You can find Azhar via...
Contentlinq Website - www.contentlinq.com
Contact Email - success@contentlinq.com
LinkedIn - Profile Page
You can find us on...
Facebook | Twitter | Instagram
RSS | Patreon | Spotify
Medium | YouTube | GitHub
Reddit
Wednesday Oct 17, 2018
Communicating with Customers
Wednesday Oct 17, 2018
Wednesday Oct 17, 2018
Communicating with your customers is a difficult, yet necessary part of doing business. In this episode we discuss best practices when dealing with various types of customers.
Segment 1 - Establishing Channels
Establishing which channels you're willing to talk on is critical
Steer new customers to the proper channels that you check regularly (ie email, Twitter DM, phone call, etc.) so that you don't miss out on potential business
Make sure that you check your unused channels on occasion (maybe weekly) in order to ensure nobody has reached out to you on those channels mistakenly and steer them towards the channels that you do use
Steering customers to the correct channels is as easy as stating which communication method you prefer in meetings, in your social media bio/profile, or starting the conversation on your method of choice (if you're starting the conversation)
Segment 2 - Different Types of Communicators
As you work with clients you will start to understand how they work, but more importantly how they communicate and what they generally expect
Some clients are entirely hands-off, while others want to be updated whenever something small is done
There’s no clear cut way to determine which type of communicator your client is, other than working with them and slowly learning their expectations, just as you would with a friend, we all contact different friends in different ways depending on how we’ve communicated with them in the past
Some people are more face-to-face oriented and want in-person meeting more than emails or messaging, while others just want quick messages, emails
It’s important that you don’t necessarily go way out of the way for people (ie doing in-person meetings for something that a single email would deal with)
Segment 3 - Dos and Don'ts
Dos
Establish a timeframe for a customer to contact you. Can be different between customers. Also take into account time zones and try to use them to your benefit to split up your day between customers.
Use that timeframe to do callbacks as well if you miss a call
Being prompt and consistent in your communications
Be professional and don’t use needless slang, but keep in mind that as your relationship with the customer builds you can be more friendly and approachable
Take responsibility for missed communication
If you forget to answer an email and your customer reminds you make sure to apologize and try not to make excuses
Don’ts
Don’t neglect answering just because you feel the customer won’t like what you have to say. Be upfront and honest
Don’t answer customers emails right when they come in everytime, pick a time or a few set times a day when you answer emails. Obviously use discretion as some situations can be urgent
Don’t put yourself in situations where you will be overwhelmed with communications and all your accounts will suffer
Web News - Social Overload
Social media is the vehicle that drives traffic to most online projects, with so many social media networks out there it can easily become a project just to keep up with posting new material, let alone making said material
Phones manufacturers and other apps are now tracking usage on various apps, letting people know when they’re using their phone a lot - watching too much YouTube for example
Social media, and especially our mobile devices have in a way made us “addicts” to social media and other apps since we can now access them everywhere
Work on the parts of social media that you want to work out, make sure you put work into your craft, but you can’t excel at everything
IGTV content idea
Making content out of a single piece of content (ie get an article, photo for instagram, and an opinion tweet out of a single design idea)
You can find us on...
Facebook | Twitter | Instagram
RSS | Patreon | Spotify
Medium | YouTube | GitHub
Reddit
Wednesday Oct 10, 2018
UX Considerations
Wednesday Oct 10, 2018
Wednesday Oct 10, 2018
We dive into the world of UX in this episode, analyzing some basic tactics you can use to ensure that your users have a great experience on your site or app!
UX Rules
Source: https://theblog.adobe.com/15-rules-every-ux-designer-know/
UX is not (only) UI
User Interface is a part of User Experience
Are glitches part of UX?
Know your audience
User research is a natural first step in the design process
Designing a site for a specific industry will very much influence your decisions.
You are not the user
Testing with real users is an essential part of the design process
Many examples where we thought something was simple but a small test group immediately got confused
Adapt design for short attention spans
Don’t overwhelm users with too much information
Short blocks of text because people don’t read
Keep interactions quick, don’t make people fill out massive forms
The UX process isn’t set in stone
Adapt your design process for the product you design
Designing a small one page site for a small business is drastically different than a ecommerce website
Prototype before you build a real product
The design phase for digital products should include a prototyping stage
We always make at least a wireframe to show the interactions and pages to clients so they know at a high level what the experience will be
For larger clients a full clickthrough mockup can be made before any development begins to iron out all misunderstandings and conflicts
Use real content when designing
Avoid Lorem Ipsum and dummy placeholders
Our customers have been confused before asking what is this “gibberish” in reference to lorem ipsum
Also confused as to why the pictures are different then what he had in mind when we use generic stock photos
Keep things simple and consistent
The hallmark of a great user interface is simplicity and consistency
For example I find it confusing when a one page scroll website has a navigation that then opens up a different page. Don’t combine the two.
Recognition over recall
Showing users elements they can recognize improves usability versus needing to recall items from scratch
People know what buttons look like and usually know to click them, same with links and form inputs. Don’t try to reinvent the wheel
Make design usable and accessible
Design for a diverse set of users that will interact with your products
Keep in mind that some users are color blind or even blind so make sure to follow the accessibility guidelines
Don’t try to solve a problem yourself
Design is team sport — don’t work in isolation
Don’t try to solve everything at once
Design is an iterative process
Preventing errors is better than fixing them
Whenever possible, design products to keep potential errors to a minimum
Offer informative feedback
An app or website should always keep users informed about what is going on
Transitions are a great way to show what is happening without holding the users hand
Avoid dramatic redesigns
Remember Weber’s Law of Just Noticeable Differences
Example digg redesign killed the site
Web News - Microsoft
Latest windows update has a chance to delete your user files without a chance at recovery
Randomly corrupted hard drives
Unskippable updates
Windows store
Troubleshooting steps are ridiculous
You can find us on...
Facebook | Twitter | Instagram
RSS | Patreon | Spotify
Medium | YouTube | GitHub
New! - Reddit
Wednesday Oct 03, 2018
Bootcamp to Web Developer w/ David Lindahl
Wednesday Oct 03, 2018
Wednesday Oct 03, 2018
In this episode we sit down with David Lindahl, a friend and colleague that recently pivoted his career from a the financial sector to web development.
Segment 1 - Introduce Yourself
Introductions and pathway to today
Segment 2 - Bootcamp
You mentioned that Code Fellows, which is where you took your classes, prefers to call it more of a coding school, or coding academy. What differences are there between traditional boot camps and a course at Code Fellows?
In general how was the experience?
Would you recommend the coding academy route for developers starting in the industry in 2018?
Would you say the connections you made during your time at Code Fellows has helped you finding work or been beneficial in any way so far?
What are some of the frameworks you learned?
What were some of the example projects you made?
Segment 3 - First month on the job
How many interviews did you end up getting, and how many positions did you apply for?
How did the interview process play out?
What did you end up doing in your first week?
Are you applying the skills you learned in your schooling to your daily work, if yes then how?
How challenging has it been adapting to your new job, this being your first web development one?
Segment 4 - Comparisons of Class Training vs Self-Taught
We worked together on the very first steps of The Appex, where you were fresh out of the code academy, whereas I more or less self-taught frontend development to myself.
What do you think about class training vs the self-taught mentality?Pros and Cons?
How much have you had to self-teach yourself after working on projects outside of your schooling?I think you mentioned learning flexbox as an example?
You can find David via...
Twitter & Instagram
Rainier Watch
Made with Spark
The Appex
Lindahl Studios
You can find us on...
Facebook | Twitter | Instagram
RSS | Patreon | Spotify
Medium | YouTube | GitHub
New! - Reddit
Wednesday Sep 26, 2018
Box, Flexbox, and Grid
Wednesday Sep 26, 2018
Wednesday Sep 26, 2018
We dive into the different CSS layout methods that have evolved over recent years including box model, flexbox, and grid.
Segment 1 - Layout Models
StackChief reference article
Box Model
Elements comprise of: content, padding, border, margin
Dimensions like height and width
Floats and clearfix
CSS Box Model - W3Schools article
Flexbox
Evolution of the box model
Comprises of a container element called the flex container, which "control" their child elements called flex items
Flexbox is fantastic for responsive layouts
1 dimensional layouts
CSS Grid
New CSS layout method that is supported in the latest version of major browsers (IE doesn't have support)
2 dimensional layouts
Can customize every property of the grid
# of rows and columns
size of row in various metrics (px, %, vh, vw, auto)
spacing between rows and columns
Very clean code - no need for row and column containers
Segment 2 - Box vs Flexbox vs Grid
Responsivity
Box, flexbox, and grid can all be used to make responsive layouts
Many of our production websites are still in box layout, they still work without issue on modern browsers and devices
Layouts
Basic sites can use any of the layout models
Site components (ie navbar) can be made easily with flexbox due to their one dimensional layout
Full site structures are easier to make with CSS grid due to two dimensional column and row functionality
Easy of Use
Matt believes the box model is easiest to learn - especially when learning how web pages flow
Box model is more human readable, whilst flexbox allows for more complex layouts with less code and micromanaging
Links
Box Model - https://caniuse.com/#feat=inline-block
Flexbox - https://caniuse.com/#search=flex
Web News - 'Unobtrusive Ads'
Ad strategies - which are you ok with?
Sponsored posts
Banner ads (Google Ads, etc.)
Full page timed ads
Sidebar ads
Chumbox (From around the web, recommended for you)
What are some ad strategies that annoy you?
Do you think ads on a web page or app are a fair way to monetize? (freemium ad supported)
Do you care what companies' ads are served to you? (ie you don't like Coke but like Pepsi)
Support Us
TP Link Deco Whole Home Mesh WiFi System (Amazon Affiliates Link)
Become a Patreon Supporter
You can find us on...
Facebook | Twitter | Instagram |
RSS | Spotify | Reddit
Medium | YouTube | GitHub
Wednesday Sep 19, 2018
CSS Transitions & Animations
Wednesday Sep 19, 2018
Wednesday Sep 19, 2018
In this episode we focus on CSS transitions and animations, what they are, why they both exist, and when you should use one or the other.
Segment 1 - Transitions vs Animations
AdobePress Article - reference link
Transitions
Only have two states (triggered and not triggered)
Always run forward when triggered, and backwards when the trigger is removed
Common triggers are: hover, link, active, visited, focus, checked, disabled
Common use case: hover over a button and have the box shadow get darker as long as the cursor is hovering over it
Animations
More control than transitions
Can start, stop, pause, run forwards, run backwards
Complex animations are possible by manipulating various properties within keyframes
May be more difficult to manipulate with Javascript
Use animations if you need the complexity
Use transitions if you have a simple affect that only needs two states (triggered, not triggered)
Segment 2 - How Transitions and Animations Improve UX
Build your site with animations in mind so they don't look tacked on after the fact
Don't be too flashy - your animations need to have purpose, shouldn't get in the way of the user experience
Don't overwhelm the user with animations - may cause performance issues, can distract the user
Keep animations consistent with the associated action - swipes with sliding animation, taps w/ pebble drop in water animation
Segment 3 - Performance
Too many transitions or complex animations can cause serious performance issues
The browser runs animations better over time (device starts to dedicate resources to the tab, cache builds up) so tests need to be done on a fresh incognito (or equivalent) window to ensure performance is good for first time users
Test on older devices that may have slow hardware, or may have older browsers due to lack of support for newer updates
Performance "hacks" - translate3d, translatez
More modern method "will-change"
Check out José Rosário’s page on Medium article: https://medium.com/outsystems-experts/how-to-achieve-60-fps-animations-with-css3-db7b98610108 for an in-depth breakdown
Segment 4 - Animation Frameworks
Three.js
Dependant on WebGL
Full 3D render capable
Is complex to start with
has been around now for 8+ years so a little bit bloated yet still supported
Anime.js
Fastest/best performance large scale animation library
Extremely lightweight
Could replace Three.js due to simplicity and modern architecture
ScrollReveal.js
Specific library for animation while scrolling
Using specific libraries for certain tasks maskes code more lightweight
Usually easier to implement then a larger more customizable library
Web News - Inconsistencies and Separation
Mobile versions (app or mobile site) vs Desktop versions (apps or site)
Separation of apps (multiple apps - same service/function)
Inconsistent development features in an ecosystem
Patreon Supporters
Grigory Rechkin
You can find us on...
Facebook | Twitter | Instagram
RSS | Patreon | Spotify
Medium | YouTube | GitHub
New! - Reddit
Wednesday Sep 12, 2018
Our Gear
Wednesday Sep 12, 2018
Wednesday Sep 12, 2018
In this episode we discuss the tools that help us get the job done, with a specific focus on the hardware. Things like the PCs we use, the headphones we listen to, and some stories behind our hardware decisions.
Segment 1 - Desktop Setups
Matt's Desktop Setup
Custom PC
FX-8350 (8 core AMD processor)
16GB RAM DDR3
2x XFX 7970 (GPUs)
Windows 10
CM Storm Sentinel Advance 3 Mouse
Logitech G15 Keyboard
Blue Snowball
SteelSeries Flux
Bose Companion 2 Series II Multimedia Speaker System
Mike's Desktop Setup
Custom PC
Ryzen 1800x
16GB RAM DDR4
Samsung 860 512GB SSD
Vega 64 8GB GPU
Windows 10
Corsair Strafe RGB Keyboard
Logitech G502 Proteus Spectrum Mouse
Sennheiser HD 598 SR Open-Back Headphones
Blue Snowball
Server
Old used PC running Windows 7 Ultimate
NAS D-Link DNS-323 with 2x 3tb drives running raid 1
Segment 2 - Mobile Setups
Matt's Mobile Setup
Lenovo Y500 laptop
Samsung Galaxy Tab Pro S w/ pen
Microsoft Sculpt Comfort Mouse
Jaybird X3
Sony MDR-ZX220BT
SteelSeries Vault-Tec Mouse
Samsung Galaxy S8+
BlackBerry KEY2 (silver, 64GB)
ASUS Zenwatch 2
Mike's Mobile Setup
ASUS Zenphone 5Z
ASUS Zenbook 330ua
Microsoft Sculpt Comfort Mouse
Bluedio F2 Noise Cancelling Bluetooth Headphones
Bagsmart Convertible Laptop Backpack
Jakery 10000mAh quick charge battery
Cable clip organizers
Xiaomi 5000mAh
Segment 3 - Other Setups
Matt's Test Devices
iPhone 5
iPad Mini (original)
Mike's Test Devices
Lenovo Tab 10
iPad Air 2
Nexus 6P
Nexus 7 (2013)
Tablet mount holder (attached to desk)
Smart Home
Google Home Mini
Echo Dot (2nd Generation)
TP Link Smart Switch
Web News - Desktop PC vs Laptop w/ Dock
Desktop Computers
Pros:
Always more powerful
Easier to upgrade
Customizable features
Cons:
Might be too much time investment for building
Can be finicky and tough to troubleshoot
Laptop with Dock
Pros:
Versatile
Simple buy and use process
Easy warranty handling if you go with a good company
Is upgradeable now through thunderbolt 3 interface
Cons:
Usually more expensive for similar performance (in comparison to desktop)
Some stuff is not upgradable (soldered to board)
Once warranty runs out repairs can be expensive or impossible
Become a Patreon!
Our Patreon Page - click here
Buy Some Gear!
Note: These are Amazon affiliate links, we get a kickback from you using them, they are for amazon.com. Some items may be variants of those mentioned in the episode, ensure you check the product page before purchasing.
Thank you for using the links below!
Mice:
CM Storm Sentinel Advance 3
Logitech G502 Proteus Spectrum
Microsoft Sculpt Comfort Mouse
SteelSeries Vault-Tec Mouse
Audio (headphones, speakers, microphones):
SteelSeries Flux
Bose Companion 2 Series II Multimedia Speaker System
Sennheiser HD 598 Open-Back Headphones
Blue Snowball
Jaybird X3
Sony MDR-ZX220BT
Bluedio F2 Noise Cancelling Bluetooth Headphones
Computer Components
Ryzen 1800x
Samsung 860 512GB SSD
Vega 64 8GB Graphics
Keyboards
Corsair Strafe RGB
Tablets
Samsung Galaxy Tab Pro S
Lenovo Tab 10
iPad Air 2
Smartphones
Samsung Galaxy S8+
BlackBerry KEY2 (silver, 64GB)
ASUS Zenphone 5Z
Smartwatch
Fossil Gen 3 Explorist
Miscellaneous
Bagsmart Convertible Laptop Backpack
Cable Clip Organizers
Tablet Mount Holder (attachable to desk)
Echo Dot (2nd Generation)
TP Link Smart Plug
You can find us on...
Facebook | Twitter | Instagram | RSS
Medium | YouTube | GitHub | Spotify
Friday Sep 07, 2018
Tidbit: Website Planning Session
Friday Sep 07, 2018
Friday Sep 07, 2018
In this first mini podcast episode, we record one of the first meetings for planning out the HTML All The Things website. The meeting was unscripted, microphones on and that's it (intro and outro are exceptions). This should give you a good idea what a typical meeting is like for us, specifically how we collaborate on projects with our different talents.
You can find us on...
Facebook | Twitter | Instagram | RSS
Medium | YouTube | GitHub | Spotify
Wednesday Sep 05, 2018
Learning New Technologies
Wednesday Sep 05, 2018
Wednesday Sep 05, 2018
Learning new technologies can be a difficult thing to start, let alone master. In this episode we discuss how we started with new technologies and how to expand those introductions into mastery with a given framework, plugin, or other product.
Segment 1 - Getting Started
Identify Objectives
Ensure that your selected technology cover as many of your objectives as possible
Sometimes your objective is just to learn a given technology - with no specific project objective(s)
Do the "My First App" example
Most documentation have users go through a first introductory app to get them started quickly
Use this first app as a way to get your foot in the door - use it as a foundation for your project, or as a learning platform
Documentation Open
Don't shy away from documentation - I always have it open!
As you look up each and every piece of a given technology you're slowly learning its ins and outs
Eventually you won't need the documentation to complete a given task
Easiest Start
There are typically a lot of different ways to get started with a given technology (ie install via npm, use via CDN, etc.)
Use the easiest starting point - probably the one that compliments your existing development environment - so that you don't get caught in a rut trying to learn how install something
Find the fastest route to learning
Segment 2 - When to Learn New Technologies
Personal vs Client Work Projects
You must find the balance between learning something new, or using something familiar because you're working on your client's time
Let the client know what you're doing or planning, they may want you to work on learning a new technology - maybe they want a new feature
Do extensive research into a given technology to prevent issues down the line, costing you time and your client needless money
Performance
Sometimes performance becomes important when applications get large, make sure you use the technology that best compliments your objective and gives the best performance
For example: NodeJS is good at concurrent connections
Popularity
Popular apps typically have a job market
Learning React or Angular, as of writing this, would put you in a good position for finding a job
You can also participate in an up and coming technology to get into a growing community
Need
Sometimes you have no choice but to learn a new library, framework, language, etc.
Segment 3 - Get Up and Running Quickly
Researching
Google your issues
Check documentation
At this stage ensure that the tech can cover all your needs
Watching/Reaching Tutorials
Before commiting, watch some YouTube tutorials to see if you like any of them
If you continue working with the technology you now have a reference/video series to learn more
Documentation
Great documentation can make learning a lot easier
Bad documentation does the exact opposite, makes it harder
Community
Take a look at the community and try to avoid toxicity
Check various communities (ie Reddit, Discord, Stack Overflow, etc.)
Your own "My First App"
Choose a simple function that might be a single piece of a project
Gives you a good view on learning and implementing
Web News - Cell Phone Longevity & Endurance
Battery life on cell phones is typically not great, after several product generations of fighting for better battery life (specifically more capacity), it seems that consumers have given up to a degree
Android seems have issues managing background tasks
Apps dont' close completely sometimes
Sometimes they close too early from the "recent apps"
Manufacturers try and combat this by having various battery management software added to their Android versions
More efficient processors like those in the Snapdragon 600 series offer more efficient battery usage, but don't offer flagship speed like those in the 800 series
Flagship phones have the best features and specs, but typically lack in battery life
Android phones seem to drop in battery performance when you're on the go - GPS turns on a lot even when not navigating
You can find us on...
Facebook | Twitter | Instagram | RSS
Medium | YouTube | GitHub | Spotify