ITH Logo New

Contact Us

By clicking “Let's Talk”, I agree to the ITH Privacy Policy

How Progressive Web Apps will Change the Mobile App Industry

Progressive Web Apps (PWAs) have become very popular in the past year. A number of brands are moving to PWAs and getting away from the Native apps. For good reason, too. PWAs have many benefits, five of which we’ll cover in this blog.

Read how the #ProgressiveWebApplication transition will change the future of mobile apps. Click To Tweet

What is a PWA

Where did this term come from?

In 2015, Google’s engineer Alex Russel and designer Frances Berriman coined the term Progressive Web Apps. It is an app that uses browser capabilities, but still provides an app-like interface very similar to a Native app.

Google proposed Responsive Web Design in the past, which helps users access a website across all browsers and screen sizes.  The Progressive Web App is a step ahead of Responsive Web Apps. By using several technologies (including Service Workers and App Manifest), PWAs provide much more than a Responsive Web Application. Take a look at some of the benefits:

Connectivity
Connectivity Independent – PWAs work in low-quality networks or even offline through Service Workers.

App Store
App-like – Provide an app-like feeling similar to native apps. Navigating to various sections of the app is just a few clicks away.

reloading
Fresh Content – Constantly updated content through the use of Service Workers behind the scenes.

Discoverable
Discoverable – Search engines can find these apps, through W3C manifests and Service Worker registration.

Installable
Installable – PWAs can be installed on a user’s home screen easily. So there is no need for an App Store. It also can be shared via a web link and users can create a home screen icon.

 

Main Components of a PWA

The following are the primary technologies used to create a PWA:

 

  • The Manifest

 

The Manifest for Web applications is a simple JSON file. The file provides information about an application (such as name, author, icon, and description) in a JSON text file. This gives the developer control over how the app appears to the user. The purpose of the manifest is to:

  • Help install web applications to the home screen of a device. That’s how users can install a PWA on their mobile home screen.
  • Create a downloadable link for users to access the app.
  • Provide a unique icon and name so the app is unique from other installed apps.

 

  • Service Workers

 

A Service Worker is a script that runs in the background within the browser. Service workers provide the following major features to help Progressive Web Apps:

  • Manage push notifications.
  • Receive centralized updates and keep the PWA app updated all the time by synchronizing data in the background.
  • Help with search engine visibility.

Why Progressive Web Apps

Why are companies choosing Progressive Web Apps when Native and Hybrid are still an option? Here are some reasons why:

  • Only one centralized codebase
    • PWAs are installable responsive web applications. As a result, they do not need a separate codebase like the Native or Hybrid mobile apps.
    • Everything runs using the browser. Therefore apps can be installed by adding them to the mobile home screen.
  • Faster and more reliable
    • Service workers constantly keep the apps updated with real-time data. This means users do not have to wait for an update.
  • Offline support with less or no network connectivity
    • All app data is synced to the local storage that allows users to use the app with no network connectivity.
    • Full functioning capacity offline.
  • Includes hardware access (Native support)
    • Progressive web apps support your phone hardware and can access it as needed by the app. The hardware can access and use the following within the app functionality:
      • Geolocation
      • Camera
      • Microphone
      • Battery status
      • Screen orientation and accelerometer access
  • User interface
    • Provides a quality user experience similar to a Native app.
    • Users engage with the app easily.

At IT Hands, we have a team of dedicated engineers skilled in developing quality mobile apps. Our team has developed a number of responsive websites and mobile apps, which has prepared us to develop Progressive Web Apps. So take your app to the next level. Contact us at solutions@ithands.com

How to Choose the Best Hosting Server

How do you decide the best hosting server for your website? What type of hosting service would be the best fit for your company? There are hundreds of cloud-based hosting companies that want to sell you their hosting packages.

But there are several questions that need to be answered for you to choose the best hosting server for your website. I have found in choosing servers for different web companies, there are definitive requirements for a server.

What is the best #hostingserver? #AWS and #WpEngine both have characteristics to look for in a hosting service. Click To Tweet

The Essentials
A web hosting account needs to be reviewed based on a few critical components. Every hosting server behaves differently than others based on how these components are configured on the server. The following points will help you decide the type of hosting server required.

Equal Technology
Make sure there is support on the hosting server for the technology the project uses. Always check with your development team to be sure the technology versions match. Ask them to notify you when they plan to update the website technology.

Note: PHP 7 support should be installed on the hosting server if the company’s project is developed with PHP 7. A PHP 5.6 server may not support a PHP 7 website.

Website Traffic
Get an estimate on the number of users accessing the website in the upcoming 3 – 6 months. If you have an idea about the number of visitors on the website, then the website resources can be managed accordingly.

Note: For heavy traffic websites, be sure the hosting company supports scalability and load balancer options. Having these services in place will help when you see high traffic coming to the website.

Server Locations
Server location can decrease latency if it is closer to your users. A website will load faster if located in the same region as your users.

Note: If your website target audience is in the United States, you should choose a server instance within that country. If the target audience is in Canada, then choose the server instance in Canada.

Server Uptime
Nothing is more important than having an operating web host that is available around the clock 365 days out of the year. Your web host should operate on powerful servers that have good network connectivity. Track your web host with server monitor tools. Ask IT Hands for recommendations on what tools can be used to track the connectivity of your server. Server uptime is a crucial component to determine your best hosting server option.

Note: Server monitoring services check for problems caused by overloaded or crashed servers, network connections and other devices. They protect the health and safety of your IT environment, allowing your software and hardware to operate with a reduced risk of problems.You also need to make sure that you have managed support (a helpline to contact) on the server for when you face critical issues.

Webhost Security
Nothing is secure on the web. There are ways to protect your data by applying a number of security tricks.

Note: Make sure your web server has the right setup and necessary tools to secure the website:

  • Firewall installed
  • Correct file permissions
  • Root access disabled
  • Auto-deploy used (Instead of FTP/sFTP)
  • Unneeded ports on server unopened
  • Vulnerability monitoring enabled (via Sucuri or similar tools)

Backups
Be prepared for the worst-case scenario. If your website gets hacked or somehow the data is deleted from the server by one of your developers, you need a recent backup of your website data. If your web host already backs up the website data regularly then there is nothing to worry about when these incidents happen. Your hosting provider should be able to restore the website in almost no time.

Note: Ask your web host these questions about backup:

  • Does the host provide full backups regularly?
  • Can site backups be done easily via the control panel?
  • What operating system can you use to create auto backups?
  • Can you restore your backup files by yourself?

Reliable Hosting Servers
These are the hosting servers we have found to be very reliable:
1. AWS (Amazon Web Server)
2. WP Engine

AWS is easy to use, flexible, cost-effective, scalable, high-performing and secure.

For a WordPress website, we use WP Engine. With this server, we experience less downtime, and the WordPress websites or blogs are more secure. It also provides a free staging environment and daily backups, better site responsiveness and help with SEO.

At IT Hands, we analyze each website and the server options before recommending the best hosting server to our clients. We have a team dedicated to reviewing the website and target audience to provide the best recommendations.

SalesLoft Review from a New User

My goal here is to give you a SalesLoft review and some high-level best practices as a SalesLoft user.
I’ve known about SalesLoft for quite a while now as one of the premier Atlanta Startups. Over the last few months, our team at IT Hands has worked on implementing SalesLoft into our process of reaching out to prospective clients.

Interested in more effective #SalesDevelopment? Here’s a #SalesLoft review. Click To Tweet

Introduction

Let me preface my SalesLoft review with a more theoretical discussion on Sales Automation. Sales Automation is a term that has been used a lot in the last few years. There are endless tools and software that all promise generally the same end result: less work and more deals closed.

Sounds amazing, right? Sure does, but this is the common misconception with Sales Automation. The reality is that there is no single tool nor suite of tools that is going to do the full job of a salesperson. We have to remember that these tools are inherently meant to make salespeople more efficient and effective, but they aren’t meant to do the job.

At IT Hands, we take pride in a personal and genuine approach in our outreach to prospective clients. Our goal is to make it clear in our first email to a web company, marketing firm, or ad agency that from a 10,000-foot view we have a valuable service that will support their growing business. Honestly, the prospect that we are reaching out to might not be a fit, which is why it is so helpful to have a conversation to make that determination. It all starts there.

I won’t take you through every step in our process, but the end goal is to have a meeting with our prospect and determine if IT Hands can help or not. SalesLoft helps us to do this with ease and efficiency.

SalesLoft Review

Now, onto my thoughts and SalesLoft review as a user:

  1. I fell into the trap of thinking that SalesLoft was going to do my job for me. I quickly realized that in order to maintain our genuine approach, it takes a lot of time, effort, and experimenting to set up SalesLoft properly. The great thing about this is that the team at SalesLoft is with you every step of the way.
  2. It takes a few months to get your feet under you with the platform. There is a ton of functionality that will ultimately prove to be very helpful, but for now, we are only using probably 50% of the full functionality. If you have an existing sales process in place, you’ll most likely have to adjust to fit SalesLoft, or get up to speed quickly to figure out how to customize SalesLoft to fit your needs.
  3. SalesLoft makes automated emails much easier than mindlessly sending those types of emails in Gmail or Outlook. I’ll admit, there are some emails that I am perfectly fine with being automated. For example, meeting confirmations or basic email follow-ups.
  4. SalesLoft has a strong dashboard that will show you all of the cadences that need to be done for the day. “Cadence” is SalesLoft’s term for the outreach steps or process. We haven’t gotten to the place of being able to fully use the Dashboard as our sole mode of operation, but that is the goal for the next few months. This feature is a powerful time-saver once you get used to the platform. It’s also is a way to make sure your prospects get the adequate touch points without letting them slip through the cracks.
  5. The analytics are powerful and informative. You can see what emails are catching on with people, and which ones are being ignored or deleted immediately. Let’s face it, no one wants to get the same junk email that we are all accustomed to. As a salesperson, it can be hard to take an objective look at the content you’re sending to prospects. SalesLoft will give you loads of data that will help you make informed decisions.

Summary

The short summary is that SalesLoft offers everything we, as an IT company, need in a platform. It would add more efficiency and effectiveness to any company willing to take the time to learn how to use this tool. We have a long way to go until we are operating at full capacity in SalesLoft, but we are making progress.

More Advice

Here are a few words of advice for new users:

  • Expect a few months of ramp-up time before you fully understand the basic functionality of SalesLoft, and a couple more months to understand the advanced functionality.
  • Know that you might have to adjust your existing sales process to make it work with SalesLoft. In the long run, you’ll be more efficient so don’t worry too much about this.
  • Fail and fail fast. Pick yourself up and start experimenting again to determine what works.
  • Use your resources. SalesLoft offers a ton of online training and even in-person meetings in select cities to help you navigate the platform and share best practices.

As they say at SalesLoft, “Happy lofting!”

Need help ramping up your outbound sales process or looking for some advice on sales tools and processes? Email us at solutions@ithands.com.

3 Do’s and Don’ts for RFP Responses

As a child, did you ever play the game where you guessed how many candies were in a jar? Usually, there were two ways to guess: blindly write down a number that seemed close or make a somewhat educated guess by counting or multiplying. In the end, it was just a guessing game. RFP responses can feel the same.

Nailing down eye-catching RFP responses can be very similar. Only the owner knows the exact answer. There are multiple companies competing. You can’t ask many questions and there is always a deadline. It’s intense. But just like in the candy guessing game, the key isn’t to guess the exact number. The winner is the person who can guess the closest approximate answer. Knowing that relieves a lot of stress.

These 3 Do’s and Don’ts will change your #rfpresponses and help you #winbusiness Click To Tweet

In my previous blog, I mentioned how to write effective proposals by understanding client needs, having a quick turnaround time, and using templates. However, RFP responses are a completely different playbook. I’ll explain in a minute. A proposal is not an RFP, and an RFP is not a proposal.

Getting started with RFP’s

First, try to understand why the company put an RFP out there. Look for these things in the RFP:

  • Is there a picture of the anticipated result? Look at it closely, even if it is vague.
  • Does the deadline fit within your team’s schedule?
  • Is there a budget mentioned?
  • Does your team meet the requirements listed?

Over the years we have been effectively responding to RFPs for various issuers and clients. Through the process, we have learned that it is a dance you have to learn, in order to understand the style and match your steps to the variations of each client.

RFP responses can take up lot of your time. So to help you quickly assess and effectively respond to an RFP, I’ve provided some Do’s and Don’ts for the process:

Do’s

1. Read the RFP Instructions

By reading how the potential client is writing, you can pick up on their tone and style of communicating. For example, do they use bullet points or write lengthy requirements? Be sure to mention how you stand out from the competition both in pricing and quality of work. Remember, this is your job interview. Be sure to provide samples of work that are similar to the project you are trying to get.

Understand what they are looking for in a project partner. Then write, edit, review, and repeat. Read their RFP document. Then write, edit, review, and repeat. You can see why this takes a long time.

2. Answer Questions Directly

If there is a requirement for their project, they want to know whether you can handle it. Make sure your response is legible and understandable to anyone who reads it. If you are not direct, you can forget that RFP. It also won’t cut it for you to write on a high-level that sounds positive, but isn’t specific (see the example below).

proposals

3. Make a Checklist

Once you have everything in place, cross reference it against your RFP checklist. Be sure you have all the supporting documents ready. It is very important to read the guidelines and documents closely so that your team thoroughly understands the company’s values and expectations.

Don’t’s

1. Don’t Use Templated Answers

Do it because it is relevant, not because it sounds good. Proofread your document rigorously. You are under the microscope here. RFPs can not be reused. Don’t write just to fill space.

2. Don’t Rush

No matter when you send out the response it will be opened along with the others on the due date. Don’t submit your response until you have everything in order. If the RFP desires a printed response, make sure that all the pages are correctly printed, and the text and images are aligned. Do not hurry in sending out a response that is sloppy.

3. Don’t Submit an Incomplete or Out of Order Response

Most RFPs request a desired format. A vendor who doesn’t follow the format is quickly disqualified. Don’t skip on the requirements. Review all the details and answer each one of them in the manner requested. Don’t miss out on any additional documents.

Conclusion

Writing an effective response to RFPs can be really tricky and requires a lot of patience and discernment. The issuers usually don’t have all the requirements sorted out and that’s ok. Remember: The goal is to get as close to the target as possible.

Don’t like writing detailed RFP responses? IT Hands offers Proposals as a Service. To learn more, contact us at solutions@ithands.com.

How to Plan for Your Big Mobile App Launch

Have you ever thought how many users may hit your mobile app once it goes public? As soon as the mobile app launch to the App Store or Play Store, it is available for the public to download and start using. But is your app capable of managing a sudden influx of installations and traffic? Any mobile app needs to be developed in a way so that it can manage high traffic for your big mobile app launch.

3...2...1...Tips for a #MobileAppLaunch Click To Tweet

At IT Hands, we recently developed an app that received 8,000+ users within one week from the launch. The app got 21,000+ users within the first 50 days. Here are some secrets on how we developed the app to manage such a large amount of traffic and still maintain quality performance.

There are many components to take into consideration during the mobile app development process. Most mobile apps allow users to connect with each other and also let the administrator manage transactions and activities on the admin panel.

A mobile app usually contains the following factors:

  • Mobile App Development
    • The mobile app can be developed using Native or Hybrid technology. Each technology has pros and cons.
  • Web Admin Panel Development
    • The Web admin panel allows the admin users or managers to see activities of users who are using the mobile app.
    • The admin panel is mainly developed using a web technology (PHP, Laravel, etc.) and shows all the activities recorded from the app.
  • Web Services
    • Web services are called middle layers and used to communicate the data flow between the mobile app and the web admin along with a database.
    • All dynamic content is updated or fetched from the database using web services.

When we talk about managing a huge user base, all the factors mentioned above need to be developed in a way so that performance does not fall when hundreds or thousands of users hit the app. The following points need to be reviewed and managed while developing a mobile app to manage heavy traffic:

Backend Server (Hosting server)

Improving the performance of the app depends on the performance of the server that hosts your database and Web Services (APIs). The server needs to be capable of managing the traffic easily. It needs to contain the hardware and the applications that are installed on the server.

The hardware needs to be configured well and should have free memory to run the processes. It’s always good to define the size of RAM and the type of server with your server specialists. It will help boost the performance.

At the same time, the server needs to be configured with service for caching the data. This helps further with the load on the server for the increased traffic after your mobile app launch.

Database Transactions

Database transactions are the most important aspect to consider while developing a mobile application. A mobile app usually communicates with the database via the web services. Web services connect with the database to send and receive data.

If the database is structured well, it will retrieve data quickly, which will help the mobile app perform better. A well-structured database helps with:

  • Saving disk space by removal of redundant data
  • Providing data access faster
  • Keeping data accuracy and integrity

The other important part is how we manage transactions with the database. Do we write queries that are slow to retrieve data? Do we create multiple joins while retrieving data from the database? Your query writing skills can completely change the performance of your app.

It’s important to write queries that help:

  • Specify the field name from which to get data (Don’t use select * from a table when you need access to only a few columns)
  • Use short queries instead of multiple joins (Multiple joins within the queries can take a long time to fetch data)
  • Search on the indexed columns

Long processes in Background tasks

From a user engagement point of view, it’s always good to put long running tasks in the background thread, so that the UI thread doesn’t get blocked. It will help app users continue working on their app activities without waiting for data to be processed on the front end.

 

Make fewer calls to APIs


Making a lot of API calls takes up a lot of the process in the background. If there are fewer calls to the APIs it will help run the mobile app effectively. APIs communicate with the database using the queries as mentioned above. So each call to an API will need to get a data result set. Depending on the size of data, and the time taken by the queries, this might slow the app response. So until there is a need, do not make calls to APIs.

 

Optimized code

Code quality also plays a key role in app performance. There are several points one should keep in mind while writing code.

  1. Avoid Creating Unnecessary Objects: Unnecessary objects cause the garbage collector to be called unnecessarily, which in turn eats resources needed to boost the performance of the application.
  2. Avoid Background Services: Background services should be avoided to keep running unless absolutely required, as they keep occupying the resources throughout their execution.
  3. Use Standard Libraries: Instead of implementing the same functionality in your own code, use the already-available resource.
  4. Use Optimized Data Containers
  5. Use Cache: Objects which are expensive to create should be implemented in cache. For example, if you have to display some images from the Internet, then you should hold them in memory to avoid downloading them several times.

Conclusion
Our team at IT Hands is made up of experienced app developers. We use Native and Hybrid technologies for developing mobile apps. As for that app we launched, after the launch, our client was thrilled because he heard very little from users. No news is good news when you do a big mobile app launch. The app worked as expected and the next phase will begin soon.

Contact us at solutions@ithands.com to get started on your big mobile app launch.

Breaking Down the Cost of a Full-Time Employee

You have faced the problem of the unpredictable workflow in the web and mobile development industry. You are not alone. Many web shops ride the month-to-month roller coaster of productivity. Your web company needs to be ready to take on more projects during an influx, but also hold on to valuable employees during slow months. Just hire, right. First, count the cost of a full-time employee.

Before hiring in-house, CEOs should consider these additional expenses. #employmentcost Click To Tweet

How do you decide whether to hire full-time staff or find an outside partner to help out? The reality is that it’s expensive to hire full-time, in-house staff. As a business owner, you may have calculated the cost of a full-time employee. Here I have listed a few line items to consider when you’re making the choice to hire an in-house employee.

Cost of a Full-Time Employee: Computer and Office Supplies

  • According to a few different sources, this number is about $200 per year for each employee*. Tack on the developer-worthy laptop, and you’re looking at close to $2,000 in the first year. Also, who doesn’t want a few t-shirts, mugs, and other gear when they join a new team? This might be the one small expense that is always justifiable.

*https://lac-group.com/average-office-supply-costs-per-employee/

Cost of a Full-Time Employee: Software Licenses

  • Software and tools are always being developed and being updated. To stay relevant, web companies have to use the latest and greatest. For commonly used development and design tools like PhpStorm and Sketch, it will be several hundred dollars a year per user. It is safe to say that the number of tools hitting the market will not be decreasing, so business owners can prepare for their top developers to keep asking for the next best one.

Cost of a Full-Time Employee: Market Rate Salary

  • PayScale recently published that the median salary for a PHP developer in the United States is just over $61k*. Of course, this can change from city-to-city depending on the cost of living and the demand for developers. Also, some technologies warrant a higher-paid developer, so take this into account as you’re thinking about expanding your tech expertise to include mobile apps, progressive web apps, etc.

*http://www.payscale.com/research/US/Job=PHP_Developer/Salary

Cost of a Full-Time Employee: Health Insurance

  • A rule of thumb to obtain this amount is by multiplying the base salary by 1.25 to 1.4 to determine the cost of healthcare over a year*. Yes, it’s expensive. This has become an ever-increasing recruiting tool as well, so more than likely you are not going to get by with the cheapest group plan.

*http://web.mit.edu/e-club/hadzima/how-much-does-an-employee-cost.html

Cost of a Full-Time Employee: Human Resources

  • With more employees, you have to consider the need to hire an HR professional who can handle internal policies, implement initiatives, and process employee suggestions and concerns. This is another salary to factor in once you have several employees under your roof.

Here are a few other costs to consider: office space, recruiting, and training new employees. Anything else come to mind?

Don’t get me wrong, there is a ton of value in building your team internally when the time is right. As Jim Collins says in Good to Great, you have to get the right people on the bus to advance your business. Before you make the final decision to hire internally versus finding an outsource partner, make sure you take a comprehensive look at the total cost. I meet with business owners all of the time who have learned the negative side of high overhead the hard way. They bit off more than they could chew.

Also, don’t forget to take a look at the other side of the coin. If you’re considering moving to an outsourced model, onshore or offshore, it is well worth it to invest the time and resources at the beginning to find the right partner. It’s helpful to go into this process with patience. Try not to make these decisions when you are trying to hit an upcoming deadline or a huge project just walked in the door.

Once you do find the right partner, the benefits can be endless. You can build a remote team who is eager to do great work for you, while you focus on gaining new clients and keeping your existing clients happy.

IT Hands has been working with web companies since 2001. We bring quality development and affordable rates to businesses balancing an influx of projects and a few in-house employees. Our co-founder published a blog recently explaining the value of hiring a Full-Time Equivalent (FTE) with an outsourced team. Learn more what an FTE Model looks like.

Contact us with any questions at solutions@ithands.com.

ReactJS vs Angular 2.0+

If you are comparing ReactJS vs Angular 2+ you are thinking about the future. That’s great! Let’s clear up a few things first. React is a library and Angular is a framework.

If you know what an MVC architecture is, it will be even easier to understand. MVC stands for Model View Controller. So, where Angular has everything built in, React is just a V, the View layer, and you have to hook it up with your models and controllers.

#Angular vs #React - what’s the difference? Click To Tweet

You will first want to understand the fragmentation of Angular before digging into details on the topic. Google refers to Angular 1.x as “Angular JS” and Angular 2 and higher as “Angular”. Where Angular JS was doing all the rendering on the client side, both Angular (Angular 1= Angular JS) and React (React = React JS) handle rendering on the server side.

When it comes to the web, picking either one of the options is a smart choice. There is not much of a difference between how they perform, but there are things that one does better over the other when comparing ReactJS vs Angular.

ReactJS vs Angular: A Comparison

Scalability

Angular, as a framework, is easier to scale. It has its own boundaries and checks on how things are done. With its clearly-defined boundaries it is easier to understand the right way of doing things. Following the best practices is easier in Angular, compared to React. In React, there are a lot of ways to do things that make it confusing to follow best practices. There are a lot of parts that you need to figure out yourself when using React, parts which are much more clear in Angular.

Compatibility with 3rd Party Libraries

With Angular, if you have an existing code with a lot of 3rd party libraries, you might have to rebuild everything, whereas React is very flexible. React can be used wherever you need it.

Community Support

React is easier to use than Angular. This makes it easier to contribute to the framework. React is one of the most popular frameworks on the web, and Angular is trying to catch up, but it is easier to find reusable code for React than for Angular.

Beyond the Web

React has React Native and Angular has Ionic for building Native apps for mobile devices. One can argue which is better than the other, but they are relatively similar. React Native is still considered faster and more stable.

Simplicity of Code

Angular goes with the template approach with HTML, which makes the code shorter and easier to understand. React, on the other hand, has the HTML written in JS, which can be confusing at times. Here is an example of how both approach the same problem:

React vs Angular in handling HTML

Loop through an item in React

https://gist.github.com/larryparitosh/54ea49565ec9ac1870c5a04381a02f48

Loop through an item in Angular

https://gist.github.com/larryparitosh/1ce65584e007b8344004e00dfe74b233

With Angular, there is a lot of boilerplate that goes into every component, which is lesser when using React.

React vs Angular Component

React Component

https://gist.github.com/larryparitosh/4aadf43bca3e481da1e9176d8da10fdf

Angular Component

https://gist.github.com/larryparitosh/cd6bdb6ebdac4d92ee9a9b0a71b751ae

Development Time

Development time in Angular is relatively fast, mostly because of the way it is structured. There is less confusion about the best approach to do certain things, whereas in React this can be tedious at times. Setting up a new project is faster in Angular with its boilerplate and CLI.

In React you can find many resources and projects that can help you do it faster, but it will still require a lot of experimentation. If you are planning to setup everything from scratch in either of the technologies, you will have to dig into a lot of things and get your hands dirty.

Code Size and Tweaking Performance

The size of React’s core file is smaller than Angular, and Angular (being a framework) contains a lot of code out of the box that you might not even use. React is a library, so optimizing the code is more flexible than Angular.

Debugging the Code

Debugging the code in React is much more effective because it catches errors with line numbers while compilation and Angular only breaks while it runs on the browser, which can be difficult to debug. Angular has two-way data binding, which can be helpful as you can send data from children to its parents, but it can give a lot of headaches while debugging. In React, the data flows just one way, making it easier to catch the break with ease.

Future

Angular 4 is the latest version for Angular. This is a huge step up from Angular 2. Most of the changes are behind the scenes. The update from Angular 2 to Angular 4 did not change how we code. So, what happened to Angular 3? Google internally faced a versioning number mistake in their build so they decided to skip the confusion and jump to version 4.

Facebook is working on React Fiber, which is an update to their core algorithm. This will improve the performance of React, add more support for animation, layout, and gestures by adding a lot of new functionalities for developers.

ReactJS vs Angular: What to Use
Both Angular and React are great with their component structure and the problem they are trying to solve. The choice between both can be based on your existing code, your needs and your developer preference. If you want an all-in-one solution, go with Angular, but if you want to incrementally improve your existing codebase, go with React.

At IT Hands we work with Angular and React. Got a project in either one? Contact us at solutions@ithands.com.

What is Your Company’s Average Project Velocity?

Project velocity is the speed a project will get completed. For example, a 1000-hour project can be completed in 10 weeks at a velocity of 100 hours/week or 20 weeks at 50 hours/week. Project velocity varies from project to project and client to client. Always choose an approximate velocity at the beginning of a project, or you will have poor expectations for your team and your client.

5 key factors to estimate and enhance project velocity. #projectmanagement #scrum #agile Click To Tweet

One of the important factors in closing a deal is to determine project velocity. Estimating project velocity will depend on the stakeholders and several other factors in the project. These factors will change the project timeline and the overall project budget! It’s important to consider these following factors that can affect the velocity of a project:

  1. Product Owner’s Involvement
  2. Understanding Scope and Requirements
  3. Design Iterations
  4. Budget Realities
  5. Team Availability

When you have an approximate idea about the project investment, you need to breakup the hours per week depending on the following factors.

Product Owner’s Involvement

Product Owner
The Product Owner is the single point of contact on the client side. This contact gives direction to the team and makes the quick decisions. The team requires a response from the Product Owner within a business day to keep the momentum going.

Also, the Product Owner is responsible for getting any required information from other stakeholders. If the information is not provided quickly, that will impact the project timeline. Be sure to explain the involvement of the Product Owner with your client during your first meeting.

Understanding Scope and Requirements
Understanding-Scope-and-Requirements

Understanding scope is a crucial component for defining a project timeline. If the scope is not understood well, the timeline can not be met. It’s really important for the project team to review the project backlog with the Product Owner at the beginning of the project.

The product backlog should define the user stories and the objective of the project. The project team can breakdown the sprints and define the timeline accordingly. If there is a scope creep, the project team should immediately notify the Product Owner about it and discuss the revised timeline.

Design Iterations
ITH Design Iterations
Design iterations is another key component for managing project velocity. There needs to be a set number of design iterations which will be communicated to the Product Owner in the beginning of the project. A designer is a key person to help the other team members with the flow and the functionality of the website.

Based on how the designs are created, the timeline can be managed for a project. So it’s really important for a designer to grasp the requirements in the early stage of the project so they can provide mockups within 1-2 rounds. If there are more than 2 design iterations, that will extend the project timeline.

Budget Realities
Budget Realities

The budget is always a major factor. Depending upon the budget, the requirements of the project could change over time. The budget directly reflects timeline. So if the timeline extends, the budget extends as well.

Project velocity can only be determined with a decent idea of the budget in the initial weeks of the project. If the Product Owner explains the budget and timeline expectations, the team can then set up a projected velocity. .

Team Availability
ITH Team Availability

If the team is not available to work on the project, this obviously impacts the project timeline. Initially the timeline is set based upon the availability of the resources. The role of each and every team member is defined within the project and responsibilities are assigned to them.

If, for any reason, some of the team members are not available, their tasks will delay the team. This would extend the timeline, which would then impact the project velocity.

 

At IT Hands, we take care of all these factors to manage our project velocity and make sure projects are delivered within the expected timeline.

Depending on the project requirements, there are many different roles we have on our team.
The following are the team members assigned to a typical project:

Project Coordinator (PC)
The Project Coordinator (aka Scrum Master) is a manager, who supports the rest of the team and ensures everyone follows the defined processes.

Development Team
Each team may have one or more:

  • UI UX Designer → Designs a great look and feel
  • Solutions Architect → Architects the solution to be designed
  • Frontend Engineer → Implements interactivity
  • Software Developers → Makes it all run under the hood
  • Mobile Developers → Creates great mobile apps
  • Internet Marketing Specialist → Improves your web presence
  • Software Tester → Ensures features function as expected

Relationship Manager (RM)
The Relationship Manager is available to step in where needed to improve communication and collaboration.

To learn more about how IT Hands team can help you in managing project velocity, contact us at solutions@ithands.com.

Why Choose a Progressive Web App?

A Progressive Web App is a web application that looks like and acts like a mobile app, and these apps are the latest in the tech world. It is a downloadable technology that looks and acts like a mobile app. Why should you choose a progressive mobile app over other mobile technology? Here we list out the features of a progressive mobile app, and how it compares to a mobile app.

Want to build a native app? Read this first. Build a web- and mobile-friendly technology. #ProgressiveWebApp #MobileAppDevelopment Click To Tweet

Why a Progressive Web App?

For a quick overview, here is a chart to show the difference between a progressive mobile app and Mobile App. [Get a quote now].

 

Features

Progressive Web AppMobile App

Development Time

Fast Slow

Cost

LowHigh

Updates

None

Required
Data

Saves Offline

Saves Offline

Version Control

None Required

Required

Device AccessibilityYes – Limited as of now

Yes

Download

Not Required, Accessible OnlineRequired
Search Engine AccessibleYes

No

A progressive mobile app is hassle free. Typically, to use a native app you have to find it in an app store, download the app, install it and only then can you use it. Let’s be honest, many users don’t want to go through that many steps to get your app. So they won’t.
The result: less downloads, fewer customers.

A progressive mobile app uses modern web technologies like Service Works and Push APIs, but acts like a mobile app. This means the app can be installed on the home screen, used offline and will send push notifications, which is typically expected from a native mobile application. PWAs are easy to deploy and maintain in comparison to native apps. In native apps it’s a headache to handle the backward compatibility of the APIs to support all installed versions of the app.

A progressive mobile app is made to use immediately on the web. It will provide you the option to add it to the homescreen of your device, but you aren’t tied to downloading it. This takes away the multi-step process of native app installation. Progressive mobile apps use the capabilities of modern web technologies and provide an app-like experience.

Characteristics of a Progressive Mobile App

No Dependency
Made to work on any type of device or browser and use the features of that device/browser.

Discoverable
The platform of a PWA is on the web. In reality, it’s a website, so it is discoverable in search engines.

Looks like a Native App
When a user interacts with a PWA it has the feel of a native app.

Shareable
Since it uses the web, the PWA is shareable via URL. It’s helpful to maintain the state of the app.

Installable
It can be installed on any device and added as a home screen icon to easily launch like a native app.

Available Offline
These apps work in low Internet connectivity or offline mode by using the service workers.

Responsive
A PWA must fit with device form factors: size, shape, style, layout and position of the PWA’s major parts.

Updated Content
As mentioned, it works in offline mode, but needs Internet to provide any new content to the users.

Secure
All the content of PWAs is safe and served via HTTPS.

Components of Progressive Web Apps

App Shell

The application shell is a wrapper of basic HTML, CSS and Javascript – containing the app header, font info – and helps to load the user interface quickly. Progressive web apps store the application shell in a browser cache so that it will instantly load every time. In native apps the application shell is part of the application, but Progressive Web Apps fetch it over the network. A progressive web app caches the app shell separately than the content of the app. This makes for a faster download of design and content.

Service Workers

A progressive mobile app has a script that runs behind the scenes, kind of like a middleman between a request and the server. Service works are independent from the web pages and facilitate different features that do not need web interface (like background syncing or push notifications).

Service workers listen to the events whenever a network request occurs and control it to allow or not allow it to go to the remote server. As just a script file that runs in the background, service workers depend on the developer to effectively manage push notification, caching, and other requests.

App Manifest

App manifest is a JSON file that contains the app’s metadata information.

This is the file that enables browsers to provide an option to install the app on the device home screen. This file includes various items like the name, theme color and icon size for the app. There can be more than one icon size defined in this file for different devices.

Many online tools are available to generate the web app for you, like Web App Manifest Generator. This manifest file is the key that tells browsers that our responsive website or webapp is installable by linking it with a main HTML page. Below is a sample manifest.json file

manifest.json

{
  "name": "Event Management",
  "short_name": "EventMgmt",
  “description”: “Event Management Progressive Web App”
  "lang": "en-US",
  "start_url": "/events",
  "theme_color": "#acdee7",
  "display": "standalone",
  "icons": [
           {
             "src": "splashscreen.png",
             "sizes": "192x192",
             "type": "png"
           },
           {
             "src": "logo.png",
             "sizes": "100x100",
             "type": "png"
           },
           {
             "src": "banner.jpg",
             "sizes": "300x100",
             "type": "jpg"
           }
 ]}

Conclusion

Making a mobile app is high cost with very little ROI. By offering your customers a progressive mobile app, you save them thousands while opening their company’s marketing to the mobile crowd.

Here at IT Hands we want our customers to get the best return on their investment. That’s why we provide a team that can build progressive mobile apps, a web- and mobile-friendly technology. Email us at solutions@ithands.com to get a quote.

IT Hands provides quality, custom web development services to web companies and ad agencies. Our globally-dispersed team is a tight-knit community focused on delivering excellent results using agile processes. In over 16 years, more than 350 clients have been thrilled by the competency, trustworthy consultation, increased capacity and cost effectiveness we bring to every project.

5 Tips for Writing a Winning Business Proposal

Winning business proposal is the foundation for your company, but it’s also the hardest document to write. A strong, well-written proposal can help your business thrive. A poorly-organized proposal can send a qualified lead packing. Let’s face it, this is one document you don’t want to mess up.

So then, how do you write a winning business proposal? Proposal writing is more a process of logic than art. It’s the channel through which your team communicates skills, experience and a project’s process to potential prospects. Here are a few tips that can help organize an effective proposal.

Proposal writing a pain? Save time with these 5 tips to writing a winning #BusinessProposal. Click To Tweet

Know Your Client
The key to any proposal is to know your target audience, understand the problem that brought them to you, and then write the content with both in mind. The focus of your winning business proposal should always be the client.

Think of the potential client, and then structure the proposal to suit their needs.

  • Does your process fit this customer’s needs?
  • What solution do you have to offer this potential client?
  • How will the client respond to the pricing?

If you do not know the answers to these questions – stop! Don’t write a document with uncertainty. Get on a discovery call or have your client fill out a questionnaire. IT Hands offers free, easy-to-personalize templates that you can use to find out more about your clients. Find out more.

Format for Easy Scan
We have to accept that our customers don’t read everything we write. They can’t. They are overloaded and too busy. Create a text that is easy to scan through.

  • Use bullet points
  • Bold important words
  • Italicize phrases to show emphasis
  • Title Each Page Effectively

The Proven Method
Here’s a simple and successful method for organizing a proposal. Problem, Solution, Process, Price.

  • Problem – Know the problem your potential client is facing.
  • Process – Define your process clearly for the client.
  • Solution – Be sure your solution meets their needs.
  • Price – Have a transparent pricing system to share at the end of a proposal.

Learn more about the proven method and how to organize your proposal in our recently-published eBook.

Organization of a Winning Business Proposal
Usually, our proposal has the following sections:

  • Introduction to Prospect’s Business and Specific Business Challenges
  • Agile Methodology and Team Structure
  • Technologies to be Used
  • Solution Approach
  • Process Flow Diagrams
  • Project Plan (Sprint Cycles)
  • Environments and Code Repository (Dev/Staging/Production, Git, etc.)
  • UAT/UAP (User Acceptance Testing / User Acceptance Period)
  • Investment and Timeline
  • Client Acceptance Page

Quick Tip: Create a reusable template. Proposal creation can take so much time, but having a template shortens writing time and allows you to focus on the substance of the proposal.

Use Short Words
There is no law that says you need to use big words to impress your clients. In proposal writing stick with small words. Simple words are perfect for defining a clear solution, making a point, and grabbing attention. Remember: Less is more!

Conclusion
Effective proposals will help you advance to your maximum potential and win business. But that’s not the main goal in a proposal. Remember: Your client is the focus.
Make yourself useful to the client, and the business will follow.

Don’t like writing proposals? IT Hands offers Proposals as a Service. To learn more, contact us at solutions@ithands.com.

IT Hands provides quality, custom web development services to web companies and ad agencies. Our globally-dispersed team is a tight-knit community focused on delivering excellent results using agile processes. In over 16 years, more than 350 clients have been thrilled by the competency, trustworthy consultation, increased capacity and cost effectiveness we bring to every project.