Categories
Design Other Software Technology

E-learning platforms development. How to improve your educational app

As quarantine continues to disrupt our daily lives, schools have gone online and schoolchildren are learning from home in unprecedented numbers. E-learning platforms and are suddenly overwhelmed with the amount of traffic and need quick solutions to keep their services up and continue to improve. While some industries can work remotely, interacting with colleagues, friends, and family has gone virtual. However, online teaching or digital learning in general— and keeping children engaged is the latest challenge.

For many edtech apps, this means a rapid expansion of capabilities to keep up with surging demand. Here are a few of our tips how to improve your online learning app.

 

How to improve your e-learning platform:

Table of contents:
Technical improvements

  1. Data security
  2. Cross-platform
  3. Operational reliability
  4. Improve UX

Improvement of features

  1. E-learning analytics
  2. In-app chat with fellow students and teachers
  3. Gamification

Technical improvements

 

1. Data security

One major consideration in online teaching is how to protect sensitive data. User credentials, information about payment and personally identifiable information need to be secure also in the learning management system. Users should always have the rights reserved to manage their own data and exclude themselves from data collection at any point.

In e-learning there is all kinds of data, such as confidential personal user information but also public and shared educational materials. Parents need to understand how the online learning platforms use the data. The platform might collect data for pedagogical purposes, for example. Explaining it and being transparent helps all involved parties feel safer. In the European Union, GDPR regulations give a good framework for data protection.

Like with all applications, we should make sure that the data transmission of the platform is as limited as possible and the data cannot be accessed by any unauthorized party. For example, the Finnish education supervisory bodies have very high standards and require the servers to be kept within the European borders.”

says Bartosz Kuczyński, one of Espeo’s tester for quality assurance
 

2. Cross-platform  

If your learning management system is not cross-platform conform, now is the time to upgrade. Accessibility in class and outside is vital. It’s important that students can log into their accounts on personal laptops but as well on their smartphones to make it easier to view information quickly and from any device. Especially in times like now, when students are only able to complete assignments, go over learned material and prepare for tests from home. Offering the online learning experience from mobile and web is one of the easiest way to reach users and to meet their demands. This also makes sense when thinking about the communication between educators and parents. A mobile app with instant push notifications can help to parents to stay up to date with course content, general administration and data management.

E-learning platforms development. How to improve your educational app
 

3. Operational reliability 

Performance tests ensure operational reliability. These tests simulate typical user activity and can model high traffic times. These can either be general performance tests to indicate the speed of the system’s reaction and therefore sport where improvements are needed or we can undertake stress tests to see how many users can use the app at the same time within the current setup.

When we talk about reliability you have to know current metrics related to your application. It helps you estimate how the potential increase of users may affect the server performance. It’s important to find potential bottlenecks within the e-learning platform. The first step is to gather all data that help to investigate, such as application logs, which includes eros and data traces. Server logs such as the number of requests, the frequency of requests, rush hours, and CPU/RAM use also fall here. Finally, database logs identify slow queries and a number of queries. As logs give you the information about such metrics, it is wise to aggregate them and analyze them.

There are many tools on the market that measure and aggregate these metrics and be ready for critical situations. One of these types of tools is application performance monitoring, or APM.

“Using APM you will be able to identify application weaknesses, find out the most used parts of the application that may be worth improving. Sometimes, changes in a few parts of an application can affect general performance positively.”

said Bartosz Michałak
 

4. Improve UX 

UX research is not just important when launching a new product but also once it’s on the market. In edtech, complex updates often fall in a new semester, when students and teachers are the busiest. If the new release is complicated and confusing, this might cause negative feedback. Involving professionals can help to understand problems and prioritize where to improve first.

E-learning platforms development. How to improve your educational app

Edtech apps can consist of great media traffic, like sharing documents, instant chat, etc. So the UX is also related to the performance of all these kinds of third party layers. We should always be thinking about the complexity of the app. The heavier an app, the more it will affect the UX. For example, lots of animations can drop the frames in mobile in a similar heavier HTML structure can reduce performance on web applications. You can improve the UX by trimming down the amount of data that is transmitted to the bare minimum. Possible other tricks such as caching and offline persistence may be used.

Pro tip:

“I would implement a feedback inquiry, so the users could tell you directly what their needs are. Then I would sort those opinions, categorize and prioritize them for the implementation,”

suggested UX designer, Mateusz Małys

With more users, you might want to consider how it affects the UX and how much it will suffer under the increased strain. From a frontend perspective, content can load gradually, using techniques like lazy loading which is a general rule for all learning platforms, not only edtech. If your e-learning platforms are used in more than one country, you should consider using content delivery network services to serve images and other files. CDN allows you to reduce network latency by using various techniques. For example, when the teacher shares a heavy file to the entire class, a CDN service can cache it and your server won’t need to serve that file anymore.

Improvement of features

“It is hard to tell what modifications are needed. Every client has their own idea of what’s important. From the backend side, it can be simply a general performance improvement. Sometimes the app does not need to be fast or fancy but rather reliable, meaning no server downtimes, strict data protection. We can deliver what the client needs,”

explained edtech developer for tools like TinyApp, Tomasz Maka

Many learning platforms would benefit from interaction options such as live chats, conference calls and video conferencing. But these are also ambitious features and we always need to test how strenuous they would become for the servers, so that it won’t affect the learning experience negatively.

Live classrooms, file sharing, online tutorial, interactive worksheets for students, timed testing systems, various messaging and conferencing options are a few of many possible features.

Below I prepared just a couple of additional features an educational App can benefit from. It does not mean that these are the only or most important features and that everyone learning platform needs to have these. In the end, the sort of features an application should have, depends on what is relevant from a business perspective to the product owner and what problems he wants to solve for teachers, students and parents.

 

1. E-learning analytics

By collecting data about the activity of a student, e-learning can help deliver insights about the performance and detect fields where improvements are needed and can in turn help with defining the best online trainings. A comprehensive analysis of big data can be valuable for online education and e-learning impact. Teachers can improve instructor effectiveness by tailoring their plans and training paths to individual needs and also share information with parents easier and based on data rather than on simple observations.

Thanks to that, educators can use the data to develop behavior-model algorithms through the use of artificial intelligence (AI) and big data. It ensures that students receive the best possible assistance.

E-learning platforms development. How to improve your educational app
 

 2. In-app chat with fellow students and teachers

One rather basic feature which can have an enormous impact is the option for in-app chats with fellow students. During remote schooling, kids can easily feel isolated and lack contact with fellow students. Enabling students to get in touch with schoolmates and teachers to discuss homework assignments or just chat makes a big difference. Viable options can be the possibility for instant messaging, forums and video conferencing. Besides that, it helps children learn how to navigate as a digital citizen and how to virtually communicate with each other.

 

3. Gamification

Point scoring, competition, leaderboards — gamification has a wide range of use in e-learning. It’s not surprising that it is an element that is more and more added to learning management systems. Don’t confuse gamification with wasting time. Play is a fundamental principle of early childhood development and it can be easily implemented for e-learning. But when I talk about gamification, I mean a tool for driving motivation.

E-learning platforms development. How to improve your educational app

It is not about online geography puzzles or anything else that simply is just a game and its secondary objective is that kids are learning something while having fun. In fact, it rather means that it is a way to bring a bit more fun into things students normally don’t like to do and in turn to increase their internal motivation. So, the question gamification answers is how to make learning more engaging. It also is a tool to track student’s progress and introduces a competitive spirit as students try to improve their rankings. There are many possibilities on how gamification can look like on an e-learning platform.

Final thoughts on how to improve e-learning platform

When it comes to learning platforms, teachers, students, and parents need one platform for all as a pedagogical assistant.

Whether you’re looking for developers who can help you upgrade your learning platform for the upcoming challenges or would like to create your own applications, our team of edtech experts and developers can help you prepare the best online learning platform. Drop us a line if you’d like to get a free consultation.

More on e-learning platforms:

Categories
Entrepreneurship Software Technology

5 vital traits of a great product owner (from the dev team perspective)

Ask ten project managers what the ideal product owner looks like, and you’ll get ten different answers. This vital role in any software development project or team leasing job helps guide development and serves as the go-between among developers and project sponsors. This person needs to be available to the team, know the backlog very well, and has decision-making power. 

Below is a list of the most valuable features from the point of view of the development team. While working in a software house, you can meet many product owners from various organizations. We at Espeo usually work in agile, we often use scrum, but cooperation with the product owner looks different due to different rules in the organizations we work with. Agile methodologies give businesses the flexibility to adapt products to the ever-changing needs of the market. 

Time and time again companies have trusted us as a software development provider. Read more about some of our projects and find out why.

5 Most important product owner traits

Extensive knowledge about the product and the product vision

Product owners should be people who answer the team’s questions during development. They’re also the people who know the vision and purpose and are able to present it to others. They’re a hub collecting requirements from stakeholders and manages requirements accordingly. Being able to distinguish must-haves from nice-to-haves is essential. For this, they should have a lot of domain knowledge in the field. 
 
I can’t imagine a product owner who doesn’t know what we’re doing. Of course, this does not mean that he must immediately know the answer to each question asked, but he will know where to go to receive this information. One of the worst things that can happen in a project is the team’s question: why are we doing this? This is one of the biggest reasons for falling motivation.

Availability to the team

A product owner should be available to the team on a daily basis. He cannot be the person who answers after two days. Usually, we work in two-week sprints. If he is a person who is difficult to contact, he will definitely have an impact on the result of the sprint, and may even lead to its failure and some stories/tasks will not be delivered.

If a question arises from the developer and he doesn’t receive a response in time, he may either proceed with his own ideas, or wait for the answer — both situations are not ideal, and in the long run they will cause low team velocity/performance or will miss business assumptions.

If you need a better team or just a good product owner – let us know!

Final decision making power

Remember that the product owner is always a final decision-maker! We have many stakeholders and project sponsors in the project —  they can all propose new tasks to the backlog. However, it’s always up to the product owner to decide what scope the team should address. For the development team, his words are more important than other stakeholders’ ideas. 

That implies that there should always be one product owner! There’s one product backlog, one review session after the sprint, and one person who’s responsible for it. I heard a sentence paraphrasing The Lord of the Rings: “One Product Owner to rule them all” —  it’s so true. 

Prioritizes the product backlog 

Prioritizing the product backlog is one of the key responsibilities of the product owner. Sometimes he has to make more ad-hoc decisions, for example when prioritizing print items. Members of the development team very often ask the question of which task is more important and need a specific answer.

Communicativeness 

There is a need for effective communication. And by being communicative I don’t mean that he’s talking all the time. So not only speaking but also listening, watching, and writing precise reports.

Empathy with both the business and tech team is important because the product owner is a bridge between business and tech. 
Also, face-to-face contact happens when he or she has a conversation with a developer about the details of the user story.

The communication aspect is also important during the sprint when providing early constructive feedback related to the work done. A good product owner always knows the current state of the implementation and isn’t waiting till the end of the sprint. 

With 14 years on the market, we have gained valuable expertise in various areas. Read more about what we excel at.

And a few other appreciated by the team

  • Understands the domain
  • Knows business model and can sell it to the team
  • Understands tech issues — for sure it’s not a must, but in general, it helps when communicating with developers
  • Understands agile

Conclusion

Software development is a near-constant work in progress. There is always more to do and tinker with. But to set clear goals and set a team up for success is perhaps one of the most important things to do to ensure a good product comes out of it and on-budget.

Appointing a product owner who can serve as the person between the development team and the client and who can help keep a team on track can mean the difference between a project that lags and one that succeeds.

Product owners are a vital part of any agile development project. Good communication, the power to make decisions, and prioritizing tasks are some essential traits every product owner needs.
 
See also: 

Categories
Blockchain Financial Services Software

6 blockchain podcasts to get you through quarantine

What better way to get through self-isolation than binge listen to a bunch of blockchain podcasts? For many across the world, quarantine orders are keeping people holed up in their homes — myself included. If anything, it’s giving us all a lot of time to take stock, slow down — and for me at least — catch up on the latest news and opinions from cryptoland.

One of the best ways I learn about blockchain and cryptocurrency is through podcasts. Getting a range of views can offer a valuable glimpse into this rapidly-evolving industry. It’s also a great source of inspiration. Podcasting is a great medium for several reasons, but especially because you can listen in and do something else. Here’s my curated list of essential blockchain (and blockchain adjacent) podcasts to keep you company. 

By the time the virus passes, you’ll hopefully come away with a fresh look at the blockchain sphere from these influential podcasters. While researching this piece, I chose current and active blockchain podcasts as of March 2020. I also picked those that are not overtly promotional and those that strive for clarity. For an industry that claims transparency as a core value, it often isn’t. It can also be difficult to weed through conflicts of interest, but these podcasts come close in my view. Fresh, critical takes are essential as the blockchain industry evolves and these come close in my view. 

If you have others to recommend, let us know in the comments below!

Blockchain podcasts

Blockchain won’t save the world

First on the list is a podcast hosted by Anthony Day, blockchain partner at IBM. This is a great podcast to listen to to get a better understanding of enterprise applications of the technology. Several of the episodes offer a lucid look at network design and digital transformation by way of blockchain. While Day focuses on private, permission blockchains — and especially IBM projects — he does remain fairly neutral and balanced.

One of the underlying themes is that blockchain technology may not be the best technology to apply to a specific business case, and the show has leaders from the industry on to ground the technical talk in real business cases.

On the Brink

I would be remiss to include a podcast on private blockchains and not on public ones as well. On the Brink centers on public blockchains — especially Bitcoin and the implications this technology will have on the world. Matt Walsh and Nic Carter of Castle Island Ventures talk about the philosophy and ethics of public blockchains. The duo interview founders and developers and delve into larger conversations on how public blockchains will shape the future.

Unchained

Laura Shin hosts the unchained podcast, one of the best-known blockchain podcasts out there. Every week, Shin interviews startup founders and blockchain thought leaders. She goes in-depth on topics ranging from blockchain governance to privacy, to larger discussions about blockchain innovation.

Unconfirmed

Like Unchained, Unconfirmed is also hosted by Laura Shin. Unconfirmed, though focuses on news headlines and updates from the blockchain sphere. It’s a great weekly roundup of breaking news and punditry.

The Breakdown 

Host Nathaniel Whittmore streams this daily recap of news and opinion. His themes range from decentralized finance into cryptocurrency and blockchain adjacent topics such as central bank digital currencies. It’s a good barometer for the sentiment in the crypto community and a great place to learn about new topics.

The Bad Crypto Podcast

If you’re more interested in cryptocurrencies, The Bad Crypto Podcast is an approachable show where hosts Joel Comm and Travis Wright chat about blockchain and blockchain adjacent topics. It’s great for beginners and they offer interesting takes on some of the latest news in crypto.

Related posts:

Categories
Entrepreneurship Software

Comparing the cost of internal hire to an outsourced team

Hiring internally or outsourcing your software project is on the minds of businesses everywhere. Now, as the world prepares for tighter budgets and narrow margins, weighing the costs and benefits of outsourced teams is ever more important. I’ve laid out a cost comparison for hiring a U.S.-based software developer versus a counterpart abroad. Long story short, it’s up to 63% cheaper to outsource a software developer compared to hiring one in-house in the United States. Taking all the costs of software development into account — not just salaries — the costs can get very expensive, very quickly.

The total cost of hiring an employee consists of many parts. In this article, I tried to display the most complete picture of the factors that affect the price of hiring an employee and in the end compare it with prices of outsourcing services using the example of Espeo Software. All the figures I use are related to the U.S. market.

In-house development vs. software development outsourcing

Table of contents:

  1. Best-paying cities for software developers
  2. How much does a software developer make?
  3. External recruiting agency
  4. Internal hiring team
  5. Extra costs of an internal hiring
  6. Costs after the developer accepts the offer
  7. Cost of hiring a bad developer
  8. Outsourcing costs example of Espeo Software
  9. Final thoughts on cost of In-House Development vs. Software Development Outsourcing
 

1. Best-paying cities for software developers

Salaries for software developers vary regionally in the U.S. and the highest-paid places center around Silicon Valley in California. Many of the largest employers have headquarters there and recruit developers from across the country and the world. This, of course, inflates the cost to recruit nationally.

American newspaper U.S. News and World Report listed the top cities for software developers by average annual salary for 2018. San Francisco, California comes out on top with Seattle, Washington close behind. The national average salary for software developers is around $103,000 annually.

 

2. How much does a software developer make?

If we break this down further, Americans work an average of around 1,800 hours per year according to a Pew analysis of Labor Department data. That puts hourly rates for software developers in the United States at $71 an hour. For a senior development role, that increases to $81 an hour.

This initially sounded a bit low to me so I decided to double-check the figures I found. I asked our U.S. Director, Andrew Phipps, about his opinion. He estimates that the hourly rate for a senior developer especially with specific and in-demand qualifications such as blockchain development skills should be at least $150 and as much as $225 per hour. What the Pew data fails to show is the cost of  specialist knowledge that’s scarce in the U.S. A more realistic annual salary is upwards of $270,000.

These labor costs can quickly get ahead of you as the competitive market dictates the price to hire internally. Salaries alone are not the only costs, however. Sourcing and recruiting also factor in.

 

3. External recruiting agency

If you have a small company with fewer than 40 people on board it makes more sense to use the services of external recruiting agencies. They usually take between 15-30% success fee of an employee’s annual pay. Let’s take the average 20%.

Let’s make further calculations.

  • Software engineer — 130,000 / 100 x 20% = $26,000
  • Senior software engineer — 148,000 / 100 x 20% = $29,600
  • Specialist senior developer — 271,650 / 100 x 20% = $54,330
 

4. Internal hiring team

If you want to avoid an external recruitment agency, you can hire in-house recruiters instead. The average salary of the HR specialist with all bonuses and commissions is around $70,000 per year.

The mean number of job placements per recruiter is 40. The median number of placements per recruiter is 20. Let’s use 30 placements per year for our calculations.

However, the cost of the time stays the same. The average acceptance rate  for candidate offers is 89%. 30 / 100 * 89% = 26.7

Let’s keep our model simple and say that the HR specialist is busy only with recruiting. So the cost of the time spent on one hire = $70,000 / 26.7 = $2,621. The average cost of publishing the post on job boards is $400.

You should remember that it will be visible for 3-4 months. If you total the cost of time plus the cost to place an add on a job board, it adds up to $3,000 per placement.

 

5. Extra costs of internal hiring

In a Harris survey by Glassdoor, the employer branding cost varied by company size, averaging $129,000. It grows exponentially by company size. Companies with fewer than 500 employees spent $6,300, Companies with 500-3499 spent $81,400 and those with more than 3500 employees spent a whopping $335,900 on average to hire internal teams.

Recruiting technology costs:

In addition to time and salary per HR specialist, they also need to use tools to work and track their results. Here are some of the more common tools HR teams use and how those costs add up. 

  • Video interviewing tools like HireVue and SparkHire. + $3,000 / year
  • Coding assessment tools like Codility and HackerRank. + $6,000 / year
  • Blind hiring software like GapJumpers. + $1800 / year
  • Background check services software like Checkr. + $348 / year
  • Applicant Tracking Systems (ATS) like Workable. + $4,000 / year

Remember that your HR specialists also need to be hired, onboarded, and trained. They also use office space and supplies.

 

6. Costs after the developer accepts the offer

According to a benchmark report from SHRM, the minimum cost of training is an average cost-per-hire of $4,125. But the cost of onboarding a new worker also includes some other factors, such as:

The hours managers spend onboarding new workers plus productivity loss minus the average cost: $10,000 per employee

  • Paper, printing, and office supplies: between $922 and $1,106 per year
  • Training: $1,252 per employee on average per year
  • Tools and software: $1,200-100k on average
  • New office equipment: about $1800 per developer
  • Office space: $6,000 per person per year
Cost of onboarding a new Software developer

Together with the developer’s salary:

  • Software engineer – 130,000 + 19,245 = $149,245
  • Senior software engineer – 148,000 + 19,245 = $167,245
  • Realistic senior developer – 271,650 + 19,245 = $290,895
 

7. Cost of hiring a bad developer

 Taking into account all the costs above, you may still choose someone who’s not a good fit for your team. I’ll get right to the point. The total cost of “bad hire” is upwards of $480,000 according to devskiller.com

Assuming a bad hire’s 8-week tenure:

  • Cost of hiring (recruitment, onboarding) $39,486.50
  • Compensation (cost to employer) $23,311.48
  • Cost of maintenance (office, office supplies) $1,218.46
  • Productivity loss $23,311.39
  • Disruption $398,043.46
 

8. Outsourcing costs example of Espeo Software

You pay 60$ per hour on a time and material model

 

  • It’s the same rate for junior, mid and senior.
  • The more developers you take, the less you pay.
  • Usually, it takes less than two weeks to start the project.
  • You have the flexibility to change the number of developers the project needs.
  • If you don’t like how an exact developer is working, we replace him or her at no cost
  • If the dev who worked on your project is leaving our team, we replace him with no costs
  • You don’t need to care about extra costs, like equipment, tools, training etc.
  • We provide agile project managers.

Let’s calculate the annual salary.

$60 x 1,811 hours = $108,660 

  • ($108,660 / $149,245 x 100) – 100 = 28% cheaper than hiring software engineers in the U.S.
  • ($108,660 / $167,245 x 100) – 100 = 36% cheaper than hiring  senior software engineers in the U.S.
  • ($108,660 / $290,895 x 100) – 100 = 63% cheaper than hiring a realistic senior developer in the U.S.
 

9. Final thoughts on the cost of in-house development vs. software development outsourcing

With all the costs involved in hiring in-house software developers, this model may not be right for every company. As we enter a period of uncertainty, having fixed costs such as in house developers is a risk many CEOs are not willing to take on. Outsourcing meanwhile, offers a more cost-effective way to create and launch your software development project. 

Carefully consider all the costs involved before you hire in-house and weigh the benefits of software outsourcing. I hope my calculations shine some light on the world of software development and make a case for why you should think about hiring an external team.

See also: