Category

Tools

GitHub Template to Kickstart Your Project

By Development, Software Lifecycle, ToolsNo Comments

Have you ever needed to ramp up on a project quickly to produce a product as soon as possible? Typically, development teams start out fresh by creating a brand new code project; however, creating new projects from scratch can forfeit time that would otherwise go into building out new features. A GitHub template can help developers reuse code to bring a product to production level at a much faster rate.

We use templates at Bytelion to help our startup clients achieve their goals in a smaller time frame. Check out this GitHub template for a Ruby on Rails API project we have created. In this post we will demonstrate how we created this template so you can get started with recycling your code!

4 Steps to Create a Template Repository

1. Create a new repository that will host the GitHub template

Creating a new repository is the first step to creating your first GitHub template. To create a new repository select the plus button from the top of the page and enter the required info. You can choose to share your repository with the public or you can keep it hidden between you and your team!

2. Generate your code for reusing as a template project

Once you have a repository created you can add any code that you would like to use as a template. In our example Rails template we chose to have a Rails API that will be ready to use, the only steps left are to create our models and controllers that will be used when the API is called by a client.

3. Mark the repository as a template

When the code in the project is complete, navigate to the settings tab in GitHub and select the option to mark the project as a template repository.

create github template4. Use the template to create a new project

To create a new GitHub repository with the template do one of the following. Create a new repository as shown in step 1 and select the template you would like to use. Or if using a public template, you can use the “Use this template” button on the repository page. As a result, you will have created your first GitHub repository!

use github templateNow that you have created your own template you can get started with reusing your own code to kickstart your projects! Have a template you would like to share with us? Let us know by sharing this post and mentioning us on Facebook, Twitter or LinkedIn!

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.

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.

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.

image recognition

Image Recognition of Basic Shapes | Google Vs Amazon

By Tips & Tutorials, Tools

This article was written for an individual or company that is looking to conduct image recognition of basic shapes in their operations. 

The Problem

Bytelion was recently approached by a client seeking to ID basic shapes via image recognition. The premise being: A computer takes a snapshot of a shape, validates its ID and provides validation. There are many options and tools out there, so we wanted to see how Google and Amazon stacked up each other.

How Does Image Recognition Work?

Image recognition is a form of machine learning designed to recognize patterns in data. Once an image is digitized it is just another form of data. Therefore, attributes that are present in multiple sets of images of one thing can inform us that an element of those images always remains consistent.

For instance, multiple pictures taken of a dog from the same angle but in different lighting conditions would still retain the basic ‘outline’ of the dog, if not the same coloring/shading etc. Labeling this set of graphics ‘dog’ informs the computer that these are images of dogs and that similar images presented are also ‘dogs’. The more images of dogs you provide initially, the better the computer is at guessing whether other images have dogs in them.

Google vs Amazon

There are numerous services available for image recognition, but we decided to test the two leading options: Amazon’s ‘Image Rekognition’ and Google’s ‘Vision API’.

Note:
Each services has its own pros and cons. It is best to fully flesh out your use cases before choosing which service to use.

Testing Conditions

Studio

Bytelion’s high-tech photography studio

We conducted rounds of testing in both Amazon and Google’s platforms using each of their default image comparison libraries.  All of our records are stored in AWS in this s3 bucket.

For our ‘photo studio’ we set up a camera mounted and angled above several books (6 inches high). We took images of 7 different shapes, each image taken against a blank background twice in different positions and twice again against a mesh background. We kept consistent light conditions throughout the process (average Lux count of 360, using this meter).

Definitions:

ConfidenceThe degree/percentage of probability the image recognition system associates to its given result.

NAThe resulting output does not match the shape presented. That is, the input image did return other results but they are not relevant and therefore have been redacted from this article.

Test Results:

Circle

circles

4 variants of the same circle

 

Image Google Vision Confidence Amazon Rekognition Confidence
Circle Against White Background 1 72% NA
Circle Against White Background 2 66% NA
Circle Against Mesh Background 1 52% NA
Circle Against Mesh Background 2 NA NA

As seen by the data presented above, Google Vision is the clear winner. While the confidence wasn’t strictly high, Amazon Rekognition was unable to determine that a circle was present in any of the images.

Note: NA means the results didn’t contain a circle in the listed guesses. Also, just because there is a match, does not mean it was the only match, or most likely match.

Triangle

4 variants of the same triangle

 

Image Google Vision Confidence Amazon Rekognition Confidence
Triangle Against White Background 1 69% 63%
Triangle Against White Background 2 63% 96%
Triangle Against Mesh Background 1 NA 95%
Triangle Against Mesh Background 2 NA NA

This round went to Amazon Rekognition. Not only did it identify the triangle in one more image, it also detected a triangle with greater confidence.

All Other Shapes

The following shapes were also tested in both systems in the same format as above:

  • Oval
  • Ring
  • Semi-Circle
  • Octagon
  • Bracket

Unfortunately, neither platform was able to find comparable imagery within their libraries for these shapes. Ranged from having no matches at all to having some matches but none of them the correct shape.

Summary & Conclusion

We cannot say with much confidence that the standard services provided by image recognition services are suitable for detection of basic shapes with out of the box configurations. Default libraries have proven better at identifying abstract imagery (e.g scenery, mountains, animals, people etc) for categorization rather than explicit identification.

Even with the best recognition models in imaging AI, at best there is a 96.54% chance of having a correct match in the top 5 guesses (ref: benchmarking). Maintaining this level of accuracy requires consistent training. Large data sets may require further training time as well as multi-thousand dollar machines. Re-training the same (base) system for a specialized use (such as our case above) can be done in far less time with regular computing power.

Moving Forward

If you really want to identify basic shapes, you will need to conduct your own machine training.  A five minute video on how to do this is here.  Note, it will take you a little longer than 5 minutes.  :- )

Bytelion is a Software as a Service Company.
Have questions? Feel free to contact us at info@bytelion.com

The PYPI Python Package Hack

By Security, ToolsNo Comments

There is a brand new hack out there that has very quietly affected many of people.  Malicious developers uploaded slightly misspelled library names in Python’s package installer PyPi. Prominent examples include urllib vs. urrlib3, bzip vs. bzip2, etc.). These packages contain the exact same code as their upstream package thus their functionality is the same, but the installation script, setup.py, is modified to include a malicious (but relatively benign) code. It is very similar to what happens when you type in https://cnnn.com/ vs. https://cnn.com/

Reference  You can read a pretty good discussion here: https://news.ycombinator.com/item?id=15256121

What does PyPi do exactly?

PyPi (Python Package Index)  is a repository of software for the Python programming language. There are currently 117,189 packages installed that users can download. It is the default repository for python developers around the world. If you want to install a common library, you use a special tool called pip, which knows how to pull files down from the PyPi.

What can you do about it?

1. Run this simple one-page python code to check for bad packages. Ref: https://github.com/williamforbes/pypi_hacked_names

The output will look something like this in verbose mode.

pypi hacked list

Output from https://github.com/williamforbes/pypi_hacked_names

2. if you don’t have any of the bad packages, then there is no problem.  However, make sure you review all of your virtual environments and run the same script.

3. If you do have a potentially compromised library, don’t use pip uninstall as it runs code in the package. Just go to the directory and delete the package.

That’s it! This is a very insidious attack. Will keep tracking this at PyPi to see if we can help protect users.

Providing enterprise solutions with the Raspberry Pi

By Tips & Tutorials, ToolsNo Comments

In the business world, it’s common to hear “think outside the box” when tackling a new problem, yet most companies are still throwing old technology at the issue. What if I told you to forget the box and start thinking inside the Pi? That’s right; we’re talking about a Raspberry Pi. This microcontroller has over 10 million units sold, yet it remains underutilized in the business world.

Let’s talk about a few enterprise uses for this awesome micro-computer and share some example projects that you can accomplish as an entrepreneur!  

screen-shot-2017-07-17-at-3-38-04-pm

Why Pi?

Aside from the fact that Pi’s are incredibly affordable and energy efficient, there are an unlimited number of projects that users can create using their Raspberry Pi. For more reasons why the Raspberry Pi rocks check out this blog by ZDNet.

raspheader1

#1 In the Warehouse – Bridging the Gap Between Actions & Data

Raspberry Pi’s excel at bridging the gap between physical, human tasks and the need to collect and analyze data.

Collecting Data

Imagine your company has a warehouse that performs repetitive tasks. Day after day, workers create hundreds of batches of the same product. There are many problems inherent in an environment like that. For example, if the operator of the warehouse wanted to know how many batches a worker creates, as well as how long each batch takes to complete, then he or she would need to have each employee maintain a tally for the completion of each batch and record the start and stop time. By forcing the worker to shift focus momentarily, it could slow down their productivity.

Now, add a long day and a late night to the employee’s shift and see how easy it is for an employee to forget to tally, or write the incorrect time on the log. The metrics are completely skewed. Even considering a perfect employee who never makes mistakes, those metrics still have to be manually entered into a spreadsheet to perform analytics, adding to your company’s overhead and wasting precious time.

warehouse-raspberry-pi

A Raspberry Pi solution could involve a simple button for each set of batches.  Workers could press a button when they start making the product, and again upon completion. Now there are electronic records for how many items created, and how long it took to make each batch. The workers no longer need to concern themselves with keeping track of time or tallies or continue to enter data manually. By utilizing a raspberry pi, the operator does not have to worry about a decrease in productivity. Instead, the data is immediately available for analytics.

Many warehouses use Raspberry Pis. Check out this story Book-Wrangling at Wordery with a Raspberry Pi to see an excellent example of how a Pi can change your business!

raspberry-pi-blog-photo

#2 Thin Client:

Does your company rely primarily on cloud computing? Save costs on powerful machines by using a Raspberry Pi as a thin client to access your cloud servers! Similar to a website, which acts as a user interface for a server that handles the intensive computation, a thin client can reduce the cost of hardware that your team needs if your company utilizes cloud computing to do the heavy lifting.

raspberry_pi_b_2_0_0

#3 Server monitoring:

Set up a Raspberry Pi to monitor your web servers! Most web-monitoring services just make HTTP requests to the URLs you specify and look for that sweet, 200 status. Why can’t you do the same? You could make a request to each server once an hour. Then use IFTTT to send your team an email when a server responds to anything other than a 200!

raspberry-pi-pie

Creating Your Supply and Talent Chain

If you are going to implement a Raspberry Pi-based (or an equivalent such as an Arduino board) solution, it is important that you understand what this investment includes.  You should be aware that your company will need to purchase various supplies to support this development.  Those purchases include tools, training, and most importantly, spare parts!  In addition,  you need to invest in the training of your team. The training should be in both Linux and any programming language you need to build your applications, though Raspberry Pi prefers Python.  The barrier to entry is relatively low to prototype, but when it comes to production, you need to approach the task in a controlled manner.

Final Thoughts:

These are just a few examples of Raspberry Pi projects that you can use for your enterprise. Maybe your company isn’t ready to go into full on production with Raspberry Pis. Nonetheless, these projects present interesting, yet enriching team-building exercises that could unite your staff. If you have the time, allow your developers to get down and dirty into the world of microcontrollers. They will love it, and most importantly,  it could bring tremendous value to your business!  

Do you need help getting started with programming or building a Raspberry Pi prototype?
Feel free to reach out to us on twitter:@bytelion

 

Make Your Content More Compelling With Embedded Twitter Searches

By Development, Marketing, Tips & Tutorials, Tools

Twitter has made it easier and easier to select content out of their daily feed to help you track items are you interested in. For example, if you were interested in knowing what was happening in the twitter sphere of influence for new environmental projects like the Dakota Access Pipeline Protects, you could simply embed the search on your page like. The steps you need are to:

Step 1

Create a twitter account (if you don’t have one) and log in.

Step 2

Go to the widget page:  https://twitter.com/settings/widgets

Step 3

Select Create new search widget.

Search Widget

Simple Twitter Search Page

Step 4

Configure your widget.

Configure the widget according to the specifications you have set.

Configure the widget according to the specifications you have set.

Step 5

Copy text and paste example into your WordPress blog.  Similar to this.  See below.  And, that’s it! You now have content that is far more compelling with live data.


Alexa Logo

Alexa Push Notifications | When?

By AWS, Development, Health, ToolsNo Comments

Eventually, Amazon will allow developers to deliver Alexa push notifications to their device. It is only a matter of time. This change, while seemingly subtle, will unleash an avalanche of innovations. Parents, imagine you are sitting in your kitchen and suddenly you get a report that your child’s bus will be at the drop off point in 3 minutes. Imagine eliminating time spent standing outside in the cold for a bus, simply by checking a phone interface. What if you could be notified when a storm is coming in your area?

The risk for abuse is real, but it is better off in the hands of the willing. All sorts of annoying advertising services will likely pop up. But for entrepreneurs and nerds like us, this is an exciting time.

Alexa Push Notification Work Arounds

Developers from all walks of life have opined on this topic. They have hacked together some incredibly creative solutions. Here are some of them:

From the Amazon Developer Forums

There has been some brain power expended to solve this without a clean solution from Amazon. It is left up to the reader to determine which is best. The approaches are:

Option 1: Developer Forum | Video

Option 2:  Hack |  Video

Timing Rumors

So far, there are only whispers of this capability on the internet.

Source: theinformation.com

Source: theinformation.com

Official Response

Here is the official response from Amazon developer services as of 15 Nov 2016.

Question: “I am a software developer and have read that Alexa may soon support push notifications to allow Alexa to trigger a conversation with a human instead of the other way around. Is this true and if so, when is it coming?”

Answer: From Amazon, as of 19 Nov 2016

I’m not sure where you read this, but unfortunately, we have nothing to announce at this time regarding this. I’d suggest keeping an eye on our official blog for any official announcements. 

Tracking Late Tickets On JIRA + Slack

By Tips & Tutorials, ToolsNo Comments

Sprints are short for a reason. With that said, it is easy for tickets to pile up in the testing column. Actually, tickets can pile up in any JIRA column quite easily. If the QA team is small, this is even more likely to happen. A simple daily report/scrum can help avoid the chaos of a crowded JIRA column.

Reasons For Monitoring JIRA Columns

  • Allows the QA team to test the tickets that have been ready to test the longest.
  • Shows the Product Owner what is ready for approval.
  • Allows the team to see what is in progress.

With a simple Python script, it is easy to post into Slack the tickets in any column on the JIRA board. The report is easy to modify, and can include many features. Utilizing AWS Lambda, and the Bytelion sample code, https://github.com/Bytelion/JiraChecker/blob/master/how_long_ticket_been_ready_to_test.py, will provide a very easy report setup.

 

How To Setup The JIRA Monitor

Download the sample code, and then replace the values found inside the curly braces {}, with the string you desire. Example: {your team name here}.atlassian.net changes to bytelion.atlassian.net

  1. First, create a Slack webhook integration. If one does not already exist, visit our first article on integrating Slack. Then, see step 1 of that article to learn how.
  2. Then, set up an AWS Lambda, and then paste the modified sample code into said lambda.
  3. Finally, using AWS CloudWatch, create a daily schedule for when the report should be run.

Sample Features

  • How long has the ticket been there.
  • Who moved the ticket.
  • What is blocking that ticket.