Web Design | Concept For New Feature | Video Streaming Website

Our client wanted some ideas for a new product feature they were considering.

These designs never made it to a production site but they’re a great example of our capabilities.

WordPress Maintenance | Codeigniter Website Maintenance | Lift Operator Training

This is a site we took over maintenance after it was built. I immediately got the project setup on code version control (GIT) and added the ability to quickly build and run the site locally using Docker. Then I added a couple developers to the project and got going on changes.

At this point, we’ve worked on the site on and off for a couple months. We’ve deployed code consistently without an issue on the live site and we’re moving the site towards a better setup by separating the codeigniter code from the WordPress code.

Website Maintenance | PHP Development | TrackingFirst

I’ve been on this project for almost a year and it is about time I write about it.

Up to this point me and my team have mostly been putting out fires and implementing small features. We’re about to move into a new phase where we revamp a lot of the old code.

One project highlight is the ability of our team to deploy changes with minimal disruption to the end user. This is a very complex codebase with lots of moving parts, so being able to bring some stability to the process has (I think) added a lot of value.

I wouldn’t say this has been a very fun project so far, due to the nature of fixing bugs all the time, but it is about to get a lot more exciting.

Graphic Design | Video Streaming Website

Our client wanted to represent the movie tickets in their system in a novel way.

When our designers presented this idea we love it but didn’t know for sure if it would be possible to integrate user generated images with these dynamic thumbnails because the corners of the image would need to be clipped in an unusual way.

Turns out, it is possible when you have some killer front-end developers!

WordPress Development | JavaScript | PC12 Advantage

We had a short timeline and a set budget.

Speaking of budgets, I’m bad at estimating, that is why I only work hourly. I still give my clients estimates if they like and this client made it clear they wanted one and hoped it would be solid.

I decided early on to use Angular even though I had never done so with a WordPress site. As we got a bit into the project I noticed there were a lot of repeating components on the site so I switched gears and started making components.

The strategy paid off. We finished it on time and under budget.

Web Application Development | Node | Video Streaming Website

In this project, we dedicated a year of our time and expertise to develop a web application for a video streaming website using Node.js. As a website development company with a strong background in software development services, our team took on the challenge with enthusiasm and commitment. The project was not only a testament to our technical skills but also a valuable learning experience that pushed our limits.

One of the highlights of this project was developing a solution for users to upload very large files directly to S3. This task was particularly challenging due to the sheer size of the video files. Our innovative approach involved chunking the files, allowing them to go straight from the browser to S3 without our server acting as an intermediary. This solution not only improved the efficiency of the file upload process but also enhanced the user experience by speeding up the upload time.

Another significant achievement was our ability to create custom teasers for each uploaded film on the fly. This feature added a unique touch to the website, making it stand out from competitors.

The site was built on the MEAN stack, a technology we are well-versed in and enjoy working with. While we faced some challenges, such as the lack of good migration and seeding support for Node.js and Express, we were able to overcome them and deliver a product that met our high standards.

Our involvement in this project is ongoing, with a redesign currently in progress. We are excited about the future developments and improvements we will bring to the site. Our team’s diverse skills, ranging from web design to seo services and website maintenance, were all utilized to their fullest potential in this project. We are proud of the work we have done and look forward to continuing our partnership with the client to achieve even greater success.

Website Development | Website Maintenance | Automotive Website | Blue Rocket

I had a great time working on this site. I was on the project for about 4 months and I helped the team by not only delivering solid code but also as by sharing my expertise with a team that was a bit on the junior side.

In addition, I also learned a ton about working with a large team on a large scale project.

One project highlight was some functionality that only showed the first time a user logged in. I had to track the login using a cookie as well as data returned by the backend. Fun stuff.

Also, this was one of the first few projects I setup to run locally using Docker. It worked out great, although I got a bit of pushback from the team because they didn’t understand it and were very hesitant to support it.

I had to stop working on the project because my team lead work became too much to handle, but I heard later that they started using docker more internally.

Testing In Angular

When talking with potential clients, I’m often asked about my experience building tests. Test driven development is a buzzword right now and there is a lot of differing opinions. Some developers want to test 100% of their code and others as little as 20%. The common thread is that everyone agrees that testing is important. The trick is doing it right.

Most of the following tips are going to be related to testing Angular applications with Karma and Protractor

How To Do It Wrong

Unfortunately, doing it right isn’t as common as you might think.

I don’t think some developers realize how costly it is to build tests. I’ve seen tasks where writing the test takes 3X longer than writing the actual code. That is definitely an investment and every investment should have a payback. But do they? Sometimes.

If you’re writing a function to calculate total dollar amounts for an eCommerce site, then the investment is well spent. If, on the other hand, you’re writing a test to make sure a button appears on a page, don’t waste your time (unless it is the panic button at a nuclear facility :).

I think the best way to know if you’re doing it wrong is if you find yourself just duplicating code from test to view/controller/service/etc.

Don’t:

  • Write simple tests just to see if functions or objects exist that were explicitly written. Of course they do!
  • Write tests to see if simple page elements exist. You just wrote them didn’t you?

This isn’t an exhaustive list, but I hope to add onto it over time. I’d love to hear your thoughts!

How To Do It Right

I recently went through a bunch of test written by other developers. This was a very helpful exercise and helped me formulate the following things that I think should have tests.

The main question I use to determine what to test is whether someone else could change something outside a file and break my code. If the answer is yes, there should be a test.

Do:

  • Check that the route loaded (Protractor)
    • If there is a problem with a URL, you want to know about it.
  • Make sure that templates are loaded correctly (Protractor)
    • You can check for the main class of the page just to make sure the template doesn’t have an issue. Notice I didn’t say “main ID.” IDs are less versatile then classes, so I don’t use them anymore. If I’m concerned about attaching JS to a class, I’ll but a “.js” in front of it (e.g. .jsSomeClass). When testing, I’ll but a “.test” in front of it.
  • Check to make sure that directives load (Protractor)
    • If someone removes or changes a directive that you used, you definitely want them to know about the dependency.
  • Check to see that any DOM changes were successful. (Protractor)
    • For instance, if you click a button and something should appear, check that it did.
  • Check to see that route changes happen correctly (Protractor)
    • You definitely don’t want broken links in the future.
  • Check if a controller is defined (Karma)

I have a lot more to learn about testing, but these are some of my thoughts recently. Please comment if I missed something or didn’t think through something correctly. I’m always trying to improve.