All Posts By

Willam Forbes

Before You Apply To Be A Software Intern

By Development

Being an intern at a small company is a huge commitment if it is done well.  A company needs to develop an accountability program, design work, setup mentors, and give constant feedback and supervision for work that has the potential to be profitable. More likely than not, however, intern work will be a cost center.  Why do small companies do it then?  The answer is simple, it allows a company to build a bond with a junior person very early on in their career, and it provide them with a pipeline to select individuals that can have a very real impact on the company’s bottom line.   Before you accept the job, you have to ask yourself:

Will I be a good investment for the company?

A good investment means that you have positioned yourself to make the company money. You need to understand the business model of the company you are applying for.  Your goal is to make sure you won’t be a burden to the bottom line, that you are up on current technology trends, and you can contribute day 1 to a mission to help the company.  If you show up and say, “I came here to learn. Can you teach me everything? What are my hours?”, you have walked into your internship with an F.  To be effective, you need to have done prep work.

Every Software Company’s Dream Intern

Nothing is more powerful to a software company than a computer science student that has built a product end to end.  In order to do that, a student must have mastered front end development (enough to get something working) and backend development (databases, APIs, hosting).  They can demo that product from their open source github account or if it is private, be able to demo it confidently.  What matters most is that it works, solves a problem, and you can explain how it functions.

The Perfect Answer To The Question 

Why do you want to intern here?

I am super interested in the company. I read every word on your website, and I think that I can help you with ABC and maybe D.  As I understand it, your company makes $ by doing X.  I have being doing X and I can help you do X by 1,2,3.  I don’t want a traditional internship. I am looking to secure a role in a high speed company and help grow it.

Prepping for your Internship

  1. Learn a simple modern day front end framework like react. It will take 2 weekends (both days) non stop to get through a few tutorials (40 hours)
  2. Learn a backend framework, like ExpressJS   ( 40 hours)
  3. Use a PAAS (platform as a service like AWS)  ( 40 hours)
  4. Set up logging to a remote location ( 8 hours)
  5. Setup database backups (1 hour)
  6. Build a rock solid login or use a third party login system (40 hours)
  7. Build role based views and actions into your application (40 hours)
  8. Integrate with a subscription service payment tool like Stripe. (20 hours)

Total = ~230 hours of self led, self managed time

Interested In A Software Internship?

We would love to talk with you if the article above didn’t scare you!  Contact us at careers@bytelion.com.

 

Client Spotlight: Using Statistical Testing to Validate a Product Idea for SpiralMath

By Analytics, ToolsNo Comments

Introduction to SpiralMath

SpiralMath is an EdTech startup based in the greater Baltimore region and a member of the Bytelion Analytics’ Business Intelligence Pilot Program cohort. SpiralMath is working on creating an instructional protocol and software package to help teachers present Common Core Mathematics in a way that improves student retention. With a year of pilot testing complete, the founding team from SpiralMath is working with Bytelion Analytics to validate their product is working effectively before making the necessary capital expenditures to expand.

The SpiralMath instructional protocol was developed by Joseph Mills, a career instructor and State Supervisor of Mathematics, utilizing five principles of learning psychology developed at Washington University, St Louis, where researchers have identified methods that improve student retention of new knowledge. To administer the protocol, students receive a daily five-question quiz that is completed, scored, and reviewed within a window of 45 minutes at the start of the day. Through intentional spaced repetition students build and affirm their knowledge of each concept over the course of the school year. 

The Data

The Common Core State Standards is a list of skills that students are expected to master. Typically, each year of schooling evaluates students on 20 to 30 standards. For each standard, Joe Mills prepared some 20 questions (similar, not identical) that are used to assess the student’s mastery over time. When equivalent questions are repeated at increasing intervals, students’ long-term retention improves. This approach is known as Assessment for Learning.

Throughout the 2018-2019 school year, SpiralMath worked with a third-grade teacher at a Baltimore City Charter school to pilot the program and collect initial data for analysis. Over the course of the year, SpiralMath collected over 9,000 data points from a class of 25 students. For the purpose of this statistical examination, Bytelion Analytics utilized a data set that showed the daily average results of the class population sorted by Common Core standards. Since the number of questions varied from standard to standard, our team took a sample of the standards that have been assessed at least 10 times. This provided us a sample data set that included 110 total data points spanning the results of 11 standards.

Statistical Testing

For our statistical testing, we began by identifying our research question: Will the SpiralMath Protocol lead to an improvement in test scores? To answer this question, we identified our null hypothesis: the SpiralMath Protocol does not lead to an improvement in the test scores of the class population. A key guiding principle for our testing was that we were looking to see whether the difference between each assessment instance and the first assessment was significant, i.e. was the difference between the 2nd assessment and the 1st an improvement and statistically significant, etc. A t-test is the testing procedure for significance between two populations was selected; it compares the difference between means and dictates whether the null hypothesis should be accepted or rejected. 

Overview of Results

At surface level, there was an improvement in the testing population from the 2nd assessment. This trend continued to show positive results as the number of assessments continued; however, results from the protocol became significant from the 7th assessment and onwards. We are able to conclude, with a 95% level of confidence, that the SpiralMath’s protocol helps students retain information in 7 administrations of their assessment, agnostic to the testing interval.

Graphic One: The class averages are shown over the course of the 10 assessments. 

Graphic Two: The results of the t-test display that from the seventh assessment onwards the improvements were significant to the testing population.

What is next for SpiralMath?

The results of this product validation are just the beginning for SpiralMath. Although our quick and simple method, by definition, provides us 95% confidence in our results horizon, there are many other variables to test in order to better understand what actually drives the retention of information for the members of the classroom. SpiralMath will begin phase two of pilot testing with an emphasis on validating the success horizon and understanding the relationship between variables, such as question formatting, length of the spacing interval, and the number of test questions, in their protocol to create an algorithmic administrative process.

A special thanks to the leadership team at SpiralMath – Joe Mills and David Robson, for joining the Business Intelligence Pilot Program cohort! To learn more about SpiralMath and enrollment information for their ongoing pilot program please visit their website: www.spiralmath.net. If you would like to explore how we can leverage analytics and business intelligence to help you achieve the goals of your business, please reach out to Sidd Chhabra, Business Intelligence Lead, at sidd.chhabra@bytelion.com or read more at www.bytelion.com.

What is UX?

By DevelopmentNo Comments

The acronym “UX” is frequently thrown around in the design world, but how many people know what it actually means? UX, short for user experience, focuses on the overall experience of the customer on a website or application.  UX isn’t limited to the technology realm, but it applies to a wide variety of industries.  Every time you notice a slight change in the ease of navigation or a more concise message on a site, you can likely thank a UX Designer! So, how can UX help your business?

It’s More Than Design

Aesthetics are important to the appeal of a finished product, but there is so much more to UX than what meets the eye.  In today’s cluttered internet environment, it is not enough to just be visually appealing or innovative. Our goal is to create individualized solutions that meet your needs- even ones you didn’t know you had- through an interactive user experience.  Your site should be a consistent representation of your brand, you have to think beyond what appears on the screen to understand how people will actually use it.

Try to Be Intuitive

Professionals in the industry know that great design doesn’t happen by accident.  It’s the culmination of research, strategy, technology and human innovation, that ultimately hinges on our ability to anticipate users’ needs! At its core, UX is about solving problems and delivering the results to users!

Even if an app or site is created with a flawless user flow, we must anticipate the possibility that some people won’t use it the way we intended. In this scenario, adaptability is key.  We enjoy cultivating a diverse team with varying approaches to UX for that exact reason! Utilizing many unique perspectives allow us to identify the necessary user research, conduct proper usability testing and modify designs accordingly before we even release an app!

Always Ready for Improvement

UX design doesn’t stop once an app becomes available to the public.  Since engagement thrives on good UX, we have to be ready to address any potential user issues that could arise. Regardless if the problem is in regards to coding or user understanding, remember user experience is all about engagement! The app can be incredibly innovative, but if it isn’t user friendly clients will not be impressed.  When you work with a full-service firm like Bytelion, we maintain and improve your interface on an ongoing basis. Therefore, you have one less thing to worry about.

Hopefully, now you understand a little more about why UX is so important in the world of app development. If you’d like to learn more about how we can tailor this concept to your business, please contact us directly!

3 Ways to Keep Your Clients Engaged

By DevelopmentNo Comments

 As a business owner, you recognize the importance of your clients.  Loyal customers are just as important as potential relationships, therefore maintaining their engagement with your company is vital.  There isn’t a master guide for keeping clients engaged, but we have crafted three of our best suggestions for keeping clients coming back for more.

1. Make It Personal

While traditional marketing tools, like emails and promotional products, are typically used to showcase your brand, human connections are what forge long term partnerships.  Adding a personal touch to everything you do encourages clients to identify with your company.

Whether you consider yourself to be a brand ambassador or the face of a certain company initiative, try to foster an individual connection with customers. Introducing yourself is the first step to this process.  Share your personal story on the company website and social media channels, and don’t underestimate the value of personalized messages.  With the help of custom software created by professionals like Bytelion, you can capture your audience’s information online to better adjust your messages. Thank your clients for their engagement with or support of your brand whenever possible.  Lastly, recognize the value of photos that showcase the people behind your brand.  These help customers feel that they are working with an actual team of people rather than an impersonal AI.

2. Share Something Exclusive

Blogs, newsletters, and consistent social media content are great resources for current and potential clients, but you have to offer something more to engage them across platforms. By including exclusive content within your messages, you increase the chance that your customers will not only read, but also engage with your message as well.  Offering something of value in return for their time fosters mutually beneficial relationships.

A great example of this concept would be holding a contest.  Visual platforms, like Instagram, allow you to ask followers to share photos of themselves representing your brand and have them tag your company for a chance to win.  To carry this over to another platform, you could share your favorites on the company’s social media channels or announce the winner on your blog.  The same idea works for exclusive discounts, coupons and advance offers.  The key is to make sure the offer is truly only available to your followers to preserve exclusivity.

3. Use Technology Wisely

There is no way to deny technologies dominating force over our world today.  As a business operating in the 21st century, it is crucial to use this tool to your advantage.  Does your current app allow you to engage with your users? Are you collecting data they provide and using it to improve the users overall experience? If you answered no to any of these questions, you could be missing out on key opportunities.

With our teams help, you can develop an engaging app that learns from customers, creating an essential outgrowth of your brand.  Through features such as interactive location prompts, polls and live support, we are able to tap into what your customers really want! Rather than spreading your efforts across all forms of technology, we can help you concentrate on one sector and offer a truly innovative product to your users. Check out our website at bytelion.com to see how we’re helping our clients engage with their users every day.  Contact us for more information on how we can help your business excel.

iPhone & Android: How to Optimize Your App for Both

By Tips & TutorialsNo Comments

The battle between iPhone and Android operating systems has long led software developers to ask the question: which system should we consider when designing an app?  Depending on budget restrictions and monetization goals, the answer could be one, the other or both.  Industry leaders tend to vary in their opinions of which system to start with when designing. Also, once an app becomes successful, it is very common that the app becomes “native,” meaning there are completely separate teams developing for each operating system. With Bytelion’s help, you can start to develop your app through a cross-platform approach.

The Android Approach

There are times when it makes sense to work with the Android operating system first.  The platform allows you to focus on key features, test their functionality and produce several iterations before moving onto iOS.  Android is considered to be less expensive as well, due to the fact that it relies on an open source software and allows more lenient standards for submission requirements. Typically, apps developed for Android as freemium models, meaning the download is free but additional benefits may require payment.

Nearly 85% of mobile devices worldwide use an Android system, making it a dominate player internationally.  Unlike iOS, however, there are multiple Android operating systems that run over 24,000 unique devices.  A Google device may not perform efficiently on a system that is ideal for a Samsung or LG device.  Because of this, we must test apps across multiple devices in order to account for multiple Android systems.  We look for fragmentation issues in order to prevent them from interfering with the user’s experience.

The iPhone Approach

Although Android has a global edge, iPhone remains dominate in the US.  If your target market is in the US, building an iOS friendly app first may be more beneficial.  iOS apps are considered to be more stable than their Android counterparts, because they all run on a unified operating system. iOS  offers better opportunities for revenue through features like in-app purchases. iOS users also tend to have higher spending habits, making flat-price apps more successful on this platform.

The downside to iOS is higher related startup costs for development.  The high quality and consistency that users expect from iPhone products comes at a price.  It is crucial that the design of your app looks and functions to its highest ability before releasing it to the public. If you don’t take the time to properly test the product, the app could suffer costly setbacks down the road.

Optimizing for Both

The need to introduce your app for both iPhone and Android simultaneously is becoming increasingly common. In this case, working with an experienced design firm like Bytelion can make all the difference.  It is important to understand that the two operating systems have very different design patterns, which can cause the platforms to not align perfectly.  This is where an experienced developer is crucial to make the necessary adjustments. Depending on the business development stage the company is in, cross-platform development can cut cost significantly which is a huge advantage.  We have experience in the research, development and optimizing of apps across multiple platforms. Cross-platform accessibility can be used in a multitude of scenarios, whether you are targeting a large network of users or working on an enterprise software. Enterprise software is typically designed for internal use, therefore cross-platform accessibility is appealing to users that access information on a wide variety of devices.

If you are interested in building an app that is optimized for iPhone and Android, contact us today to learn more. Learn how our outcome-driven solutions can set you apart from your competitors!

Enterprise UX Gone Wrong

By Design, Leadership, OrganizationsNo Comments

There are many things that can go wrong when building a web-based platform or application, but the most tragic of offenses comes from a poor UX plan stemming from the very beginning of the development process. A great UX process, accompanied by a team of highly qualified individuals will make a world of difference, from your wallet to the face of the product. The following are symptoms of a poor UX process and how it impacts your product.

 

Your Bottomline Is Suffering

You may not be sinking, but you’re losing money. Perhaps you aren’t hitting your quarterly goals or are starting to see negative trends. It may be a surprise, but design can help solve this problem.

Strategy and Discovery

There is a good chance your business is heading downhill because of poor planning. As in a lot of things, business needs planning, not just financially, but with all that you do. The design is not an exception. The first step to a great User Experience (UX) is to review and understand your business requirements. You could potentially be focusing on one or more of the following business strategic priorities:

  • Reduce costs
  • Increase revenue
  • Increase new business
  • Increase existing business

Having the team and stakeholders on the same page as to what the goals of the company are can pave a clear path for the design and development team for the next steps. No more asking “why are we doing this?”. With business and user requirements determined and explained up front, everyone will know why each aspect of the product is the way it is and more importantly, how to better accomplish the goals of the product. Additionally, planning in advance allows for you and your team to be more knowledgeable and make informed decisions about your product resulting in higher user engagement.

 

Business Strategy is the foundation of the UX process, without this,
you can expect your product to come crashing down.

 

Late Deliveries and ‘Never-ending’ features

Your project is behind schedule, priorities change on a whim, features never seem to get pushed.

 

Defining Scope

Why is this happening? Simple: Your project scope is out of whack. Either you never defined the project scope with the team, or your scope is starting to go off the designated path, leading to unfinished, late work. Scope definition benefits the team and product in many ways. It allows everyone to be on the same page about what can be done in a specific time frame and how it will be done. It is best to know your user and business requirements before trying to define your project scope. Once you know your goals you can begin to prioritize the next steps based on the requirements set in place, Prioritizing can be, and in many cases is, the leading problem in most production. A lack of prioritization is largely caused by stakeholder disputes which in turn cause uncertainty among the team and ultimately leads to nothing ever getting completed in a timely fashion, if at all. Stakeholders will be able to see, with abundant transparency, the project timeline, and feature prioritization. This also saves the development team from stakeholders who want to start changing and adapting the project scope mid-project. Defining the scope allows you to build products that are useful for your users and meets their needs.

 

Your project scope should not be defined by opinions and ideas, but rather on the user and business needs and requirements.

 

Engagement is down

You’re losing users, they aren’t spending much time using the site or app, customer purchases are low, or you can’t get users to onboard. Users don’t seem to be catching on to your product, so what gives?

Structure and Ideation

Users like pretty, fun, unique things, but they also like what they know. They don’t want to think, guess, or wonder while they’re using your product. In order to successfully build a product that users will not only enjoy using but keep coming back to, you need to know what your users want out of your product. Engagement is 100% related to your business and user requirements. If you have not written out and made it clear what your purpose as a business is, as well as what your users need from your product, you cannot successfully build a product that is created for your users. Understanding what your customers need and want is key to providing a service or product that meets those needs.

 

For example, imagine a user has just ordered an item from your website and wants to know about your return policy, but can’t find any information regarding this on the purchase confirmation page, they will have to start searching the site to see if they can find the information they need. Not giving the user the information they need when and where they want it or expect it can lead to frustration and an overall bad experience. Users will have a better experience when they have to think less, and know more.

 

Your users are the core of your product. Understanding how they think and why they use your product will help you build the right structure.

 

Massive Project overhauls

You’ve had re-designs, feature recall, structure changes, the list goes on. You thought you got it right from the start, but things keep needing to be adapted, changed or removed altogether.

 

Skeleton and Prototyping Phase

Lots of changes and modifications to a site either prior to or shortly after launch can most usually be linked back to the failure to draw out, wireframe, and iterate on the initial design layout. This step is crucial to the future of the product as it allows you to identify holes in the plan, points of user error, and feature issues. By foregoing this creative and iterative process you go straight from a features list to finalized design without much thought in-between. Iteration is crucial to the success of a design, but not less or more important than asking the right questions and listening to your users. A major player in project overhauls is a team’s inability to read user data correctly, interpreting what the data says to meet their needs or opinions. Cross-vertical collaboration needs to occur when discussing user input to make sure discussions involving technical capabilities, financial constraints, and design aspects are considered when solving issues or implementing new features. A product’s ease-of-use is directly related to your team’s ability to collaborate, understand user data, and adapt and iterate when given new information.

 

Iterative design produces the best result. Your first is never your best.

 

Brand Experience isn’t right

The colors are off, the logo is confusing, the imagery is tacky, it looks dated. Maybe your site looks nice but isn’t a good representation of your brand. Whatever it is, you know it’s got to change.

Surface and design

Your product’s look and feel isn’t matching the look and feel you had in mind or isn’t looking good at all. This is all due to the UI (User Interface) design. The UI is the ‘surface’ of a product and conveys to users the meaning, use, and connotation associated with the business and product itself. The UI covers everything from colors and fonts to animation and transitions. A good UI will take into account who your users are, how they should feel using your product,  and your business’ brand. A common occurrence that can cause the UI to not have the right feel is when the design does not line up with the target market. This can happen for a number of reasons, possibly because you do not know your target market, you are making assumptions about your target market, your team has not spent the time to get to know your target market, or most commonly someone on the team, typically the product manager or a stakeholder views the product as their baby and does not want to listen to any views other than their own even when those views are backed up by data. You can help to avoid these types of mistakes by clearly laying out who this is for and why the choices being made make sense for that groups of persons. The overall feeling about the brand/product should be good or your Brand Experience is NOT good.

 

You think you’re ‘Done’

It doesn’t matter what your business delivers, you are never Done. Your user’s wants, needs, and goals are ever-changing and you need to adjust to make sure you continue to bring a useful, functional, pleasing product.

 

Testing and Evaluation

Design is a key aspect of updates and adjustments to your product since using a UX process can help you determine the best options for your business moving forward. Whether it’s interviewing users or doing A/B testing, the most impactful tool you can utilize is testing. Testing your product through various means will give your team insights into the way your users’ think and how they feel when interacting with your product. Through the evaluation process, unknowns are discovered that allow your company to pivot and adapt quickly and more purposefully, providing greater meaning to your product. An issue you can and most likely will run into through testing and attempting to make changes to the product will be a stakeholder coming forward and disagreeing with decisions because they feel the product is better one way than another purely based off their own opinion. This is referred to as Pride of Authorship. They believe since they started the project that they should have it the way they want it, which you could argue is correct and fair, however, this thinking can damage the product, user engagement, leading to a poor team environment and a hurting the bottom line. Keeping stakeholders aware of the core users’ needs and goals and how new feedback benefits the company and product can allow them to see their version may not be the best holistic option.  

“Usability testing shows you if something is usable. Beta testing shows you if people will actually use it.”
Rachel Decker

Pros And Cons Of Building Your Website With WordPress

By Development, Marketing, Mobile, MVP, Security, Startup, Tips & Tutorials, Tools, WordpressNo Comments

WordPress as a web building tool has built its reputation as providing amazing features specifically in the world of CMS, powering over 75 million sites and almost 23% of the World Wide Webs’ sites. However, despite its popularity, WordPress has drawbacks as a website development platform that you should be aware of before jumping on the bandwagon. Being informed is one of the most important factors in deciding where and how to build your site.

 

A few of your options for building and designing your website:

 

Website Editor

(Wix/Squarespace or similar solution)

Website editor, easily learned, drag and drop designs, less customization, small sites

WordPress

Website builder, edit and manage content through admin access, customization limited to WordPress support and technical capabilities, learning curve

App development

Full development team/developer, Fully customizable, Supports large, complex sites with high user traffic

Some Things To Consider

 

Typical WordPress use

WordPress is largely known for its CMS (content management system) capabilities, but it supports models for blogging, eCommerce, and forum websites as well. Sites that differ from this will most likely need customization.

Cost

Building a site can be expensive, you need to make sure you’re getting what you need, rather than trying to opt for the cheapest solution. Custom website development can cost anywhere from $5,000 to upwards of hundreds of thousands of dollars, depending on your needs.

Time

Building a site takes time. How much time do you have? Most web projects take an average from 12 to 16 weeks. However, the time is always dependent on several factors, such as the complexity of the project, scope of work, number of people involved, etc. Always be sure to set a realistic timeline when looking at website building solutions.

Resources

How big is your team? Do you have any technical skills? WordPress maintenance requires a learning curve and dedication to the site after the initial build. To keep your site up to date, make sure you are prepared to learn or are willing pay someone for maintenance.

Security

WordPress is a great resource because of its popularity, but that popularity leaves sites more vulnerable to hackers and information leaks. What type of content are you providing? Does it need to be secure? Developing your own website or mobile app can provide more security.

Mobile

WordPress does not support mobile app development but does allow for you to have a responsive mobile version of your site.

Users

Does your website require a large number of users to log in and out of your site? Depending on your business, WordPress may not be able to support the high volume and data storage that your site requires. Consider building a customized application with a development team.

 

Benefits of WordPress

 

Ease of Use – For non-technical folks

WordPress is great for non-technical users who want to be able to manage their content and make minor adjustments without getting knee deep in code. The content builder enables you to design within a set framework BUT does not allow for much customization. If you are looking for customization, you will have to get your hands dirty and add in some code.

Plugins

WordPress has over 45,000 plugins that you can upload that increases new functionality options. This is great for you, it means you can do more than just make a basic blog! However, they require a lot of updates and may need customization and code to get them working properly with your site.

SEO Friendly – Kind of

WordPress is wonderful because it bumps up your site on web browsers from the built-in SEO(Search Engine Optimization) system, however, if you are a novice with SEO, you may need some coaching. Too much tagging and repetition can kill your SEO rating and send your website to the bottom of the page. Luckily WordPress has a wide range of plugins to help with this, including our favorite, Yoast, which helps by rating your pages on readability, keywords, and more!

Open Source – Faster Development

Open source code is great for speeding up development time. All of the code is shared and used between developers all over the world. This means your developer doesn’t need to make everything from scratch, cutting down on development time. However, this is a catch 22, as open source also means less security. Be sure to you weigh the importance of development time over site security.

Professional Themes

There is an endless source of pre-built design templates from which you may choose to use for the foundation of your site. Themes include one or more demos which you can activate. This provides you with an appealing, pre-designed site that requires minimal effort to get up and running. Keep in mind that these can be pricey and limit your site’s capabilities and customization, as not all plugins work with every theme.

Overall Lower Cost

Typically WordPress is a cheaper option than hiring a software development team. Since it is open source and widely used, you have many options for designers and developers. You also have the option to maintain the site on your own – if you have the resources and time to do so.

Mobile-Friendly

WordPress makes it easy to transition your site from desktop to smaller screens such as tablet or mobile. This may require some customization to make it just right, but it can beat building a mobile app or an entirely new mobile site. Make sure a responsive mobile site is a right option for you as Hackernoon reports that in 2018 mobile users spend about an hour on the mobile web, while almost 3.5 hours on mobile apps.

 

 

WordPress Negatives

 

Open Source – Security

Open source is great for fast development, but it can leave your site vulnerable to attacks from hackers. This can lead to problems down the road, either legally or with development constraints. Are you going to be handling credit card information? What about users’ personal info? If you do, you will need extra security, make sure WordPress can secure your info or pick a developer/development team that is knowledgeable and can successfully secure your data. Have questions? Let us help you feel safe about your site’s security.

Customization Needs Coding

WordPress was built for blogging, CMS, forums, etc. This makes breaking that model to build a restaurant site, for example, with online ordering, slightly more difficult. Most WordPress themes aren’t built for any models besides the typical ones mentioned above, which means more customization and less flexibility for the overall design of the site. This doesn’t mean it’s impossible, but it does mean less access to content without digging into the code base.

Frequent Updates

WordPress is constantly trying to improve and update their structure to better serve their large user base. Because of this, updates occur on a regular basis and could impact your site’s performance. At times, you may need to update plugins, which could result in your plugins no longer functioning correctly or not being supported by the new version of WordPress. It is very important to save a backup of your site before updating, just in case something goes wrong while converting to the new version. As you can imagine, this process requires some technical knowledge and the ability to fix bugs that may occur as you update your site.

 

Pro tip: WordPress doesn’t offer support!

 

Learning Curve

No matter whether you are a coder, a designer, or someone with no technical knowledge, WordPress requires time to learn the ins and outs of building and maintaining a site. If you think building a WordPress site is as easy as dragging and dropping elements on a page, you’ve got it wrong. WordPress is a very robust solution that is constantly updating and changing, it takes time and dedication to keep your site up-to-date.

Slow Speeds

WordPress has a reputation for having slow loading times and speeds for users. This is a big downfall as research from Hobo shows that users quickly get disheartened by slow loads times. Users will leave your site to find what they need elsewhere within 2-10 seconds of waiting on content to load. Even more concerning, eCommerce users will leave only after 2-3 seconds without content loading.

Not Easily Scalable

Unless planned well in advance, WordPress is not the best at scaling businesses. Most models are built with the intention that the site will stay relatively at the same size, volume, and structure. Modifying your WordPress site structure later down the road can lead to some sticky situations with plugins, content, and speed.

No Support Service

Building a WordPress site on your own? You’re Brave! Although WordPress has a massive following and plenty of answers that are just a google away, WordPress does not have an official support service. This means no one can get into your account and help you solve those more difficult, niche questions. Website editors typically have lots of support, but if those solutions don’t serve your needs, consider hiring a developer or development team who will only be a call away to give you unlimited support to solve your issues ASAP.

 

 

Conclusion

WordPress is great for some websites, specifically for smaller sites that don’t require tons of functionality and serve as a source of information rather than supporting large amounts of user data. Making sure you understand the capabilities and constraints of using WordPress will allow you to make the best decision for your business. If WordPress doesn’t seem like the right solution you may be better off using something more accessible like Wix, Squarespace, or even hiring a development team to build a customized solution. Sometimes the answer isn’t clear, and you’ll need to sit down and map out all of the pros and cons of each solution available to you. Feel free to reach out to our team for some expert advice. Good luck!

 

Have questions? Ask an Expert!

Our team of experts is always available to talk through your concerns and guide you in the right direction for your business, even if that option doesn’t mean using our team. Talk now.

How I Passed Scrum.org Scrum Master Certification

By Agile, DevelopmentNo Comments

Work in progress as of 3 June 2018… please don’t judge yet

Bother to become scrum certified with scrum.org? First and foremost, I believe in self reliance and not needing to go through “a course”.  Secondly, going through a certification process forces you to get uncomfortable and challenge what you know.  If you aren’t familiar with scrum.org vs scrum alliance, please check out our previous article to see why I chose scrum.org.

I have been through training years ago and ran several projects with ease.  I sat down and took this assessment after spending $150.

My Results

Name PSM I
Description Professional Scrum Master I Assessment

Thank you for taking the PSM I Assessment. We regret that you did not receive the minimum passing score of 85%. An e-mail contining your score will be sent to you.

Your result has been recorded and you can safely close your browser or return to Scrum.org by clicking the button below.

Scrum on, Ken Schwaber

Score NOT PASSED
57 points scored (or 71.3%) out of 80 maximum points

(a score of 85.0% or greater is needed to pass this test)

From Failure To Success

As a minor perfectionist, my first reaction was to go through the normal steps of failing.  Blame, sadness, self loathing, angry, and then acceptance.  This cycle took about 2 minutes and now I have to solve it.  But what is the best way to do that?  Read.

All Hail Chandini Paterson!

I have never met Chandini Paterson per se, but I loved one of his posts where he outlined what he studied to pass the certification test in a community forum.  I am going to outline those steps and put some time to them.  His study technique was as follows:

– Reading the Scrum Guide and understanding the concepts
– Taking the Scrum Open assessments.

Time Boxing Prep Work – The Plan

One of the most important things you can do is put a plan in place to execute.  Following the book “Deep Work”, am going to block off every morning for 90 minutes a day starting at 5am.  In 2 weeks time, I should be able to get in 10×1.5 minutes = 15 hours of prep time.  This seems a little extreme, but getting this certification would make that all the more worthwhile. The other options is to spend 4 hours commuting back and forth over two 9 hour days for a total of 22 hours.

The Scrum Guide

You can download it from either Bytelion or Scrum.org.

Total Pages = 19.  Total read time = ?

 

AWS Sagemaker – predicting gasoline monthly output

By Artificial Intelligence, AWS, Development, Python, Sagemaker

AWS continues to wow me with all of the services that they are coming out with. What Amazon is doing is a very smart strategy. They are leveraging their technology stack to build more advanced solutions. In doing so, Amazon Web Services is following the “Profit From The Core” strategy down to the t.  Aside from following Amazon’s world domination plan, I wanted to see how well their roll out of artificial intelligence tools, like Sagemaker, went.

Background

There are many articles about how AI works.  In some cases, an application is extraordinarily simple.  In other cases, it is endlessly complex. We are going to stick with the most simple model.  In this model, we have to do the following steps.

  1. Collect data
  2. Clean Data
  3. Build Model
  4. Train Model
  5. Predict Something

Amazon has tried to automate these steps as best as possible.   From Amazon’s site: “Amazon SageMaker is a fully-managed platform that enables developers and data scientists to quickly and easily build, train, and deploy machine learning models at any scale. Amazon SageMaker removes all the barriers that typically slow down developers who want to use machine learning.”

Lets see how well they do.  Gentle people…lets start our clocks.  The time is 20 May 2018 @ 6:05pm.

Notebook Instances

The first thing that you do as part of your training is build notebooks. According to Jupyter, the developer of Project Jupyter, a notebook is an application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.

You follow the simple tutorial and it looks something like this.

AWS Sage simple Jupyter Notebook

Time: 6:11:34 (so far so good)

Example Selection – Time Series Forecast

The first thing that we want to do is go to the “SageMaker Examples” tab, and make a copy of “linear_time_series_forecast_2019-05-20”.  I have had some experience predicting when events would happen and wanted to follow something that I already know. If you aren’t familiar, please check out this coursera video.

Time: 6:20:17

Read Background

Forecasting is potentially the most broadly relevant machine learning topic there is. Whether predicting future sales in retail, housing prices in real estate, traffic in cities, or patient visits in healthcare, almost every industry could benefit from improvements in their forecasts. There are numerous statistical methodologies that have been developed to forecast time-series data. However, the process for developing forecasts tends to be a mix of objective statistics and subjective interpretations.

Properly modeling time-series data takes a great deal of care. What’s the right level of aggregation to model at? Too granular and the signal gets lost in the noise, too aggregate and important variation is missed. Also, what is the right cyclicality? Daily, weekly, monthly? Are there holiday peaks? How should we weight recent versus overall trends?

Linear regression with appropriate controls for trend, seasonality, and recent behavior, remains a common method for forecasting stable time-series with reasonable volatility. This notebook will build a linear model to forecast weekly output for US gasoline products starting in 1991 to 2005. It will focus almost exclusively on the application. For a more in-depth treatment on forecasting in general, see Forecasting: Principles & Practice. In addition, because our dataset is a single time-series, we’ll stick with SageMaker’s Linear Learner algorithm. If we had multiple, related time-series, we would use SageMaker’s DeepAR algorithm, which is specifically designed for forecasting. See the DeepAR Notebook for more detail.

Time: 6:24:13

S3 Setup

Let’s start by specifying:

  • The S3 bucket and prefix that you want to use for training and model data. This should be within the same region as the Notebook Instance, training, and hosting.
  • The IAM role arn used to give training and hosting access to your data. See the documentation for how to create these. Note, if more than one role is required for notebook instances, training, and/or hosting, please replace the boto regexp with a the appropriate full IAM role arn string(s).

I set up a simple s3 bucket like this: 20180520-sage-test-v1-tm

Import the Python libraries.

Got distracted and played with all of the functions.  Time 6:38:07.

Data

Let’s download the data. More information about this dataset can be found here.

You can run some simple plots using Matlab and Pandas.

Sage time series gas plots

 

Transform Data To Predictive Model

Next we’ll transform the dataset to make it look a bit more like a standard prediction model.

This stage doesn’t look immediately clear. If you were to just click through the buttons, it takes a few seconds. If you want to read through these stages, it will take you a lot longer. In the end, you should have the following files stored on S3.

Note, you can’t review the content from these using a text editor. The data is stored in binary.

Time: 7:02:43

I normally don’t use a lot of notebooks. As a result, this took a little longer because I ran into some problems.

Training

Amazon SageMaker’s Linear Learner actually fits many models in parallel. Each model has slightly different hyper-parameters. The model the best fit is the one used. This functionality is automatically enabled. We can influence this using parameters like:

  • num_models to increase the total number of models run. The specified parameters values, will always be in those models. However, the algorithm also chooses models with nearby parameter values. This is in case a nearby solution is more optimal. In this case, we’re going to use the max of 32.
  • loss which controls how we penalize mistakes in our model estimates. For this case, let’s use absolute loss. We haven’t spent much time cleaning the data. Therefore, absolute loss will adjust less to accommodate outliers.
  • wd or l1 which control regularization. Regularization helps prevent model overfitting. It works by preventing our estimates from becoming too finely tuned to the training data. This is why it is good to make sure your training data is an appropriate sample of the entire data set. In this case, we’ll leave these parameters as their default “auto”.

This part of the demo took a lot longer….

And it worked!

Ended at time: 7:21:54 pm.

 

The Forecast!

This is what we have all been waiting for!

For our example we’ll keep things simple and use Median Absolute Percent Error (MdAPE), but we’ll also compare it to a naive benchmark forecast (that week last year’s demand * that week last year / that week two year’s ago).

As we can see our MdAPE is substantially better than the naive. Additionally, we actually swing from a forecast that is too volatile to one that under-represents the noise in our data. However, the overall shape of the statistical forecast does appear to better represent the actual data.

Next, let’s generate a multi-step-ahead forecast. To do this, we’ll need to loop over invoking the endpoint one row at a time and make sure the lags in our model are updated appropriately.

 

Conclusion

It does appear that for pre-built scenarios that AWS’s Sagemaker worked for linear time series prediction!  While it doesn’t make you a master data scientist, it does however give you a simple place to train and practice with data sets.  If you wanted to master time series, you could simply plug in other datasets and conduct the same sort of analysis and cross check your work with other people’s results.  With Sagemaker, you have a complete and working blueprint!

Wrap up time: 8:19:30pm (with some distractions and breaks)

 

Home Health Care- How Alexa Can Help

By Development, Innovators, ToolsNo Comments

Home Health Challenges

Home health care has many challenges and opportunities. Over the next 30 years the number of seniors needing these services is expected to quadruple and it can be expected that there will be a low level of technical sophistication among that user base. Therefore, it makes sense to make all technical interaction as simple as possible. Hands-free communication is also a must, as it eases the process of interacting with a computer. Digital assistants such as Alexa and Siri are a recent innovation that excel at hands free communication with several applications within this space.

Voice Interaction

Today, this technology is becoming more and more prevalent in our day to day lives. Software like Apple’s Siri, Microsoft’s Cortana, Google Home, and Amazon’s Alexa have become deeply ingrained in these companies product lines. Voice Interaction is the way of the future and top tech companies are pushing it forward by making it one of the most accessible features available. For instance; Cortana is on the taskbar, and Siri and the Google assistant can be accessed with your voice or just the touch of a button.

Amazon’s Alexa

While Microsoft, Google, and Apple have enabled their Digital Assistants on a wide range of devices, Amazon has focused specifically on integration with “smart home” devices and their accompanying apps (called Skills by Amazon) and has become a clear leader in this segment of the field.

Summary

So what does this mean for home care providers? Staying in touch with the customers just got a whole lot easier. Being well-informed and keeping track of adherence to a daily schedule is also desirable, especially if live-in care is not an option. That’s why at ByteLion we’re developing Alexa applications for the assisted living space that allow providers to give more effective service to their clients, by enabling them to make more informed decisions, and improving the quality of life for customers and their families.

We’re working on apps that streamline these processes, by giving caregivers the ability to have insights into their customers’ habits like never before. With intelligent schedule reminders, home automation, and hands-free calling, the future looks bright.