Author: Brad Bartell

  • Baby #2

    You never really understand how much few time you had until you lose it. I’m about 1.5 month out from my second child coming into the world and time to do what I want is at an all time low. That’s not to seem I’m unhappy, honestly I’m so excited to see who he will become. Right now I’m running on fumes energy level wise. My Bosses’ comment 1+1 is not equal to 2 when it comes to kids is so very true. So time to work on stuff like my our site have again come to a crawl.

    My focus is on being a good dad and staying sane. My free time goes into what I want at the time, today I happened to want to write a little blog. Anything else goes into my family and work. I have a responsibility to be a good dad to my oldest with all the baby stuff I can tell he feels a little left out so I make sure to spend quality time with him in the morning and after work. Thankfully for work I have an amazing team that lets me take care of family stuff right now.

  • Home Lab

    In a need to update my skills and being really interested in a ESXI server after my boss talked to me about his setup for a side project we worked on I built a home lab. Mine isn’t anything fancy but it enables me do whatever I want for building and experimenting with little need to keep reinstalling new Operating Systems.

    What hardware did I use?

    For most people there are three options, build, use part from a previous upgrade, or buy a setup. For most people who build their own computers I would recommend building a server from their old parts, but I actually just gave mine away to a neighbor kid who wanted to get into PC gaming. So I could either buy parts and build a new PC or buy a prebuilt. In my case I knew this would be a server only so I didn’t want to build a typical PC.

    I opted to use an old server, there are a ton of them on Amazon and similar sites. This enabled me to get a really good price for the hardware and felt good since I kept some chips from going to the dump.

    Software for the server

    once you find the hardware you want to use you’ll need to find the software you want to run. Depending on what you plan to use the server for you can go with a Linux distro or Windows Server. What I did was use ESXI which allows you to run multiple operating systems without a full OS to run the virtual machines. ESXI is really minified to take minimal resources.

    What I’m using it for

    Currently I’m using my server to run Home Assistant to automate and monitor my home. It’s not completely setup for everything but I’m able to monitor the key systems I want to watch. Home Assistant takes a lot of the basic IoT integrations so you can focus on creating hooks where things happen after something else happens. I’m working on building logic so I can see when my solar system is overproducing electricity to send to the grid so I use higher electrical use devices when it cost me nothing.

    My other use for this server is to mess around with passion projects. After finishing this post I’ll be working on learning about Linux. I truly believe that to really understand a system you have to poke around. Sometimes better know as FAFO

    With ESXI I can take snapshots of a sever before messing around in case I really mess a server up I can just bounce it back.

  • Thoughts for my next role

    Recently I’ve had a few request by recruiters to connect and talk about opportunities. So I figured this would be a good place to document my thoughts and save myself from a bit of spam mail. I’d like to clarify I’m not really looking for a new role. I like the people I work with and the opportunities I have. The leadership I’m under trusts me and have my back on decisions I make.

    But like most people I can’t just choose not to work and I if one that better fits my career goals and has the right opportunities I might consider leaving my current position. So what are those things for me?

    Lead / Decision Maker

    As a developer / technical person it really pains me to see money being wasted on programs that add little to no value.

    In a previous position I watched a big name come in an absolutely mess up a product that was pretty much done and just needed a branded skin. But a VP level saw the demo and brought it back to square one. The product only ended up adding 1 feature I can recall from the process, not even a major feature very minor part. This reset ended up wasting 6-8 months and in that time we could have worked on just the skin / styling and gotten the product out and gotten the best feedback possible for real users!

    My desire is to be in the early decision making processes to avoid wasting time, money, and to improve system adoption by making sure people use what companies already built or paid for.

    Business Partners

    I want to work with teammates, not silos. The thing that drives me crazy is silos and people operating outside their role in major projects (minor decisions that have little to no impact don’t bother me).

    Teammates know who is strong in certain topics. I’m a developer, If you ask me to design something I can do it but it’s not my strength. If the company has a designer I’m going to talk with them and make the best version of their vision with the resources I have available. I would expect the same from the people I work with. If a coworker is thinking about how a system works together I would want them to talk to me about it, not to tie us to a third party that does what one of our systems already is capable of.

    I want to avoid silos because they drive me nuts. I hate when people don’t have a clue what other people are working on. It leads to ineffective work or people doing double work after realizing that what they did originally won’t work.

    In a previous position I was in our Marketing department and transferred over to IT. Because I had spent years with my feet in both worlds I had connection inside the company in both departments but neither could really name people in other departments. What I did was start a little group that would meet to play games over lunch with people from both departments. People started to get along and would chat outside of the group so people within these two departments started to understand who did what. This saved time on projects since people could directly talk with people who did specific things.

    People Leader

    One of the things I do really miss in my current job is being a people leader. I actually do miss looking at applicates resumes / portfolio sites to find people who are absolute gems. I miss guiding people and working with my team to create opportunities for growth.

    When I hired people in the past I didn’t expect them to stay forever. I told them upfront that I wanted a certain amount of time with them and to tell me what their goals were so I could find projects to help them advance. One person I gave an entire site translation for a new market, one owned a client relationship management platform’s front end code, one I worked with to create a hybrid role that empowered them to work on native apps.

    I also loved the old Google mentality to make paid time to work on their own ideas. Not everything out of these projects related directly to the company but the morale boost out of it was well worth the time. At one point we were having weekly meetings with the CTO /CIO about the passion projects people were working on. I loved that it got people who wouldn’t typically have a chance to have those meetings easily get to talk about their code and helped people feel comfortable speaking to high level leaders.

  • So, what happened?

    I did have intentions to update the site as well as build my own theme for the site, but life happened, all good and fun stuff. Now here are my plans for the new year and this site.

    Theme Development

    The past three months have been crazy between my personal life and professional life, and I’ve barely had down time for myself to refocus. With the new year I’m planning to redo my site theme file by the end of February. It will be a bootstrap based theme using WordPress Gutenberg and custom block types as well as the theming features of 6.1 (really like the demo of twenty twenty three). This also could be used in an additional professional theme where a single theme could easily support multiple sub-brands.

    Posting

    Since the craziness has gotten under control I want to get into more posting. More experimenting on new code and documenting those ideas in post to communicate the work I do as well as being able to reference it again.

    Project #1

    Once I get the theme complete, I will be working on a project that’s been in the back of my mind for the past year or so. Once I have more built, I will have some posts dedicated to explaining the project.

  • The Projects I am most proud of

    There have been a good amount of sites/pages I’ve had the opportunity to work on. My work as the Manager of a Front End Development team allowed me to inject creative ideas into high level meetings as well as empower my team to push creative ideas when working with other teams.

    Share API

    This one isn’t a typical project but dealt with a unique issue to the company. It was an MLM where we had a marketing site and shopping site. The marketing content was built to be cool and flashy, but they couldn’t talk to the shopping site’s cart. Now since it’s an MLM linking back to a consultant’s store is key.

    The way around this was to use cookies so that if a user came from a shopping page, we could change the links on the page to have the consultant link. BUT how would we set a cookie for a first-time visitor? well using JS we could look at a URL query string and get values out of it and set cookies. And again, we run into another issue (isn’t that the standard of any development), how do we get the consultants to share the marketing URL with their info?

    Enter the ShareAPI, through JS we were able to get cookies from the consultant browser, Link to marketing pages with the consultant info in the query string, then when a prospect of the consultant clicked the link it would cause the browser to link all shopping links to the consultants site.

    Through all of that you may say why not just create better shopping pages? We had severe limitation with our shopping platform and marketing wasn’t happy with the limitations, so we built a second set of pages to empower them to make effective marketing material

    Digital Catalogue

    Again this was created from my time at an MLM, one thing our consultants did was drop off these catalogues that had all the products in them. It was a nice leave behind but each one cost consultants something like $2 a catalogue. And in that business, you would want to give as many leave behinds as possible. Well that cost would add up and wasn’t very green, the company very much advertised how green they were. So I had an idea to make the catalogue into an epub.

    For those unaware epub is the file format for a digital book (think book apps). This offered some really cool features that couldn’t be done in a print book cheaply.

    1. We could add links to the shopping pages
    2. We could customize the book with consultant info / their store links
    3. (never realized but had a plan) remove sections if you didn’t like the product line

    I worked with the Print team manager to get the files and have him add a few extra elements for an epub document. Once I had a working example I setup a meeting with the Chief of Field Development to embrace the project and sponsor it, any major project needed an executive sponsor at this company.

    I then brought in the rest of my team to help add links and setup a web version to make it viewable in a browser. We used an open source project that we modified to make it change out links based on user cookies. Books were generated using Node.js

    Working with our DevOps team we setup a server for the Digital Catalogue using AWS Lambda to run the Node.js code. We also setup the billing to be tagged so we could track costs to this specific feature and compare it to sales in google analytics.

    Once it went live it took a bit of communication with the field to get them to start using it. 3 months in it was costing us ~$1000 a month but generating $980,000 a month in sales, use using last click attribution. Not a bad payoff for the cost.

    Unfortunately, this project died due to office politics after I left the company. There was a director who wanted to switch it to Flipping book, basically a glorified PDF, which lacked a lot of the features we had built into the epub viewer. Since consultants wouldn’t get links to their shopping links, they stopped sharing it and it has since died as far as I can tell.

    Digital Toolkit

    This is honestly my favorite project as a manager because I had very little to do with the actual writing of the code but everything with empowering people to do what leaders didn’t know they could do.

    For background at this time the company was going through a phase of offloading major projects to 3rd parties. It was killing the development team to see the fun/important projects go to outside vendors at crazy price tags, we’re talking tens of millions and in my opinion subpar results.

    Well one of my team members had been working on an app to allow consultants to take a base image and customize it with on brand gifs and fonts. I got him in front of c-level IT leadership and eventually we get told to take it to the C-level of Customer Experience. He takes this concept, which was pretty much done at this point and we just needed a UI skin, and outsources it to another vendor. This completely kills my team members morale. I tell him to keep working on it and I will find some options. Talking with the C-level of IT we weren’t able to take it back at that time.

    Thankfully the company had monthly breakfast with the CEO. I signed up to attend and let the CEO know where morale was. With all the projects moving to outsourcing no one wanted to be there since it was all upkeep work and that we would come up with good ideas only to see them go to other companies and hear about the large bill to create something we already had a Proof of Concept created.

    Thankfully he understood that we would lose a lot of talent, at this point the company had lost a lot already and brought the project in house. With the launch of the app, it enabled the consultants to create on brand content while also making our team feel valued. You can check this out at the marketing site for the App. It’s now called Content Kit but for me it will always be the Digital Toolkit since that was the Proof of Concept name. I think some of the APIs still reference it as DTK.

  • Web or App?

    Every once in a while, when people find out I work as a web developer they like to pitch this idea they have to make money. Some are decent, some bad, and others interesting. It could be an AR/VR idea, social media platform, blog, event management or a handful of other ideas.

    But typically, they say something along the lines of “I have this idea for an app”. They tend to mean a native app that you would download from the app store. In my head I immediately start thinking but why a native app? What feature are you using that requires a native app? How are you going to market this? What level of investment are you ready to put into this to make it happen? And then of course after some time of them explaining their idea they will say something along the lines of “Would you want to partner with me to build this”?

    I’ve honestly have yet to find one that is good enough and with a person committed to the idea enough to partner with them. Not to say that there hasn’t been good people or good ideas, just not both. I’m a person who enjoys being helpful, so I’ll challenge them a bit with some of the information on why you may not need an app.

    What features requires a native app?

    What are you really offering to your users? Is a list of events with event details on another page? A form for getting in touch due to an incident? A place to view updates and new information? It’s really hard to say you need an app with more basic features like the ones I just listed. It would be much faster and easier for you to create a simple LAMP (Linux, Apache, MySql, PHP) stack to host a Web App and pretty much any hosting service can handle that.

    Even when you get into some more interesting concepts you don’t need an app. One of my more interesting side projects is the use of AR to see a product at scale in your space. Apple uses this on their product marketing pages that have a callout “Use AR to see MacBook Air in your workspace.” but only works on apple devices. A company who does the same but without limiting the device support is Arcade 1up. When you view the product on your mobile device you can see the arcade in your own space, which is great for planning where you can put the arcade cabinet.

    Now that’s not to say every feature can be done on the web. When you have more advanced features you can’t rely on the browser to have access to those features. For example, video editing on the web is rough, that would be better on the device itself where you have access to lower-level processes that would handle the render better.

    How will you market this?

    A big part of creating something is making it discoverable. If I asked you to find me a system that managed event check-in, what would you do? The first thing the majority of people would do is a Google search. Now Google searches the web for its content, so data from an app won’t show up unless there is a marketing web page a company created for their app. So even if you had to go the app route due to the features you want to offer your users you would still need to make a website marketing your app.

    Let’s also think about the User Experience. If you created a native app and create a marketing site, you would need to the following to happen:

    1. User finds your site
    2. User likes your product and wants to install
    3. User finds and clicks the Call to Action that links to your native app in the device’s app store
    4. User clicks the install button
    5. User launches the app
    6. User signs up for the app
    7. User is now using your app

    Thats 7 steps from discovery to becoming a user. Now contrast that with having a website that is the app:

    1. User finds your site
    2. User likes the product and wants to sign up
    3. User signs up
    4. User is using your app

    Thats three less steps as well as the always stayed on your site through the whole process. This would enable Google Analytics or similar system to track if there are any areas cause issues with your signup process

    What are you willing to invest?

    This is where a lot of ideas die. In my case most people are who talk about the “I have an idea for an app” want me to develop it in return for a percentage of ownership. But let’s talk about the actual costs of a native app compared to a website.

    App Developer Costs

    Ok you really want a native app, typically you’re going to need a developer for Android as well as iOS. Each has a salary of ~110K or a contractor rate that can be between $50 – $250 an hour. Those are costs that are going to add up quick.

    App Store Accounts

    Not really a major cost but to distribute your app on Google Play as well as the Apple Store you have to register an account and pay a minor fee. Apple charges $99 / year and Google changes $25 for a lifetime account.

    App Store Revenue

    This is where both Apple and Google really make their money. For each sale you make each will get a cut of your revenue. Google gets 15% for the first Million then 30% after. Apple does the same 15% for the first million 30% for anything beyond the first million

    So, what should I do?

    With all these costs, people, and revenue cuts how can you optimize revenue, time to go live, and easily update your app? The wonderful Progressive Web App (PWA). PWA’s will allow your content to be found on the web through SEO and you can download content to the user’s phone, have a splash screen, and run some simple tasks offline and upload them when online.

    How do I make a PWA?

    That is a post for next week. (Once I create the content I will link to the post).

  • Let’s Try This Again

    Every time I think I’m going to commit to building this site out and keep it up to date my life gets crazy. It’s time to get back into coding for fun and not just as a mad dash to get whatever project done. Time to put down some goals so I don’t slack off on making this site into something real.

    First on a publishing goal, I want to put at least one post out a week. Since this is more personal then professional the posts may be about code, life, current events or whatever I feel like writing about.

    Second a real custom theme and brand, I want to build out a theme by the end of the year. I’m a developer I can’t just do something easy like buy a theme to show off my skills

    Lastly major projects, the first project I will be doing is moving off of this shared hosting and moving this site and all domains I own to AWS. More projects to come after that point.