Tag Archives: workflow

How does the use of new technologies and third-party developers cause problems even though they look great “on paper”? The answer is that it creates poor communication between the customer and the launch teams.

 

Itera Research’s rule of thumb: If analysis can be done, do it. 

In this case study, we explore exactly why we adhere to such a policy, and what information it can give us.

 

May the stars show you the way!

Our study starts with a mobile application for astrologers. This app provides various horoscopes, tips, parting words, and checking the compatibility of the horoscopes between people.

The client has a subscription which includes 3 levels – Basic, Student and Master. Each level gives more and more benefits. The subscription can be either monthly or yearly and includes built-in awards, amulets and pendants (but only their digital counterpart).

The user buys all sorts of virtual amulets in the game and puts them on himself in this application. It also monetizes through advertisements.

 

Which platform to use as a framework

In the process of discussing platforms, we came to the conclusion that we will make a UWP application that will be released for two platforms at once – iOS and Android. The reason – after analysis such a decision was dictated by the cost – the development of one UWP application was equal to only 120% of the cost of one application for one platform.

To do this, we decided to use the Flutter framework, which already has everything you need to create applications for all popular platforms.

For first-time listeners, Flutter is an open-source development kit and framework for building mobile apps for Android and iOS, web apps, and native apps for Windows, macOS, and Linux using the Dart programming language, developed and maintained by Google Corporation…

 

Our main problem…

Developers from different companies worked on the project. Toward the end of development, when the application itself was finished, we began to add various libraries to it: analytics, payments, advertising, etc., and that is when difficulties began to arise.

The main cause of the problems was the third-party team – we did not have access to the programs themselves, or the code, making it impossible to fix anything or help them in any way. We spent a lot of time setting up and sorting through various libraries to make everything work at least at an acceptable level.

But the real difficulty was communication and timely resolution of problems that arose since we were back-end developers, while the other two developers were third-party. They were engaged in writing applications on Flutter directly on platforms (Android and iOS)

The project manager and tester were also from Itera Research, but it was still a long and painful process for both the development team and testers, as well as for the customer. The process of setting up the libraries lasted three weeks, which was agreeable to the client.

 

Why was it important for us to set this up?

Since this is a mobile application, operating systems prohibit the connection of payment using third-party services – MasterCard, Visa, etc.

All mobile apps work using internal payments with which Google and Apple work. This makes it, so they have their dashboard, settings, and subscriptions, and all payments go through their services only.

This library allowed the application to send requests to Google and Apple pay points and make payments within their services, that is, a kind of payment connector.  Such technology is called “In-App purchases”.

 

Timing is everything…

We were severely limited by the deadlines due to constant delays in the work process adding a level of challenge. Another problem was in the technical part – the server was not ready. We could not properly test the application or interact with it, even at a basic level. There were not enough resources from third-party developers, creating a significant amount of time we sat idle. Additionally, the third-party developers were also frequently idle due to the inability to check the performance of their applications. As a result, this downtime greatly interfered with the development process.

In such a situation, it is always important to devote time to work and communication with the client. Try not to panic him, but competently discuss the current state of affairs, show the results already made, and let the client test his application with his own hands. It was this approach that helped us maintain relations with the customer and complete the project, albeit with difficulties and missed deadlines.

The project itself was designed in two months, and we provided the finished product after 4 months, but only the Android version. With the publication of the application in iOS, we had to do a lot of magic. You can read about it here.

 

What else did we include in the development process?

We experimented a lot with payment, advertising, and analytics libraries. We constantly tried new options and changed existing ones until the result satisfied us. There were technical difficulties in making the functionality that the customer wanted. And, we had to make a lot of effort to make it all consistently work correctly.

Therefore, you might say that at first glance there appeared to be simple solutions given ready-made libraries, but this brought complexity that had to be adapted to a new project.

 

Native app or Cross-Platform?

If we talk not only about money but about the manufacturability of the application itself, in terms of convenience and other things, we might ask which is better. 

With native applications, it would be easier to integrate third-party services, as there is more documentation and ways to work with code and programming languages.

If the customer had chosen native applications, then it would be easier for the development team, and it would take less time to test. But in the end, we found that a cross-platform application was cheaper for the client. It takes a little longer and is more expensive to make native applications, while the cross-platform application causes less stress, nerves and risks. Since it was stressful for both the development team and the client, because many things did not work, we had to allocate a budget to fix and adapt all this.

 

Astrologers sum up…

Our team faced a lot of difficulties both technically and with communication. The biggest challenges were caused by the fact that there were outsourced developers to include. They worked remotely, which made the process of communication and interaction more difficult.

In the project itself, we had to take on the role of leaders in development. We gave recommendations and advice, issued technical specifications to all teams, and constantly communicated with the customer. 

Taking on a leadership role, while at the same time taking full responsibility for the project, it paid off – the product was completed, and the customer was satisfied.

Imagining the modern world without the Internet is virtually impossible. Every day, people interact with dozens of websites and applications, and as we all know, the better the user’s impression of them, the higher the likelihood that they will become indispensable to those in the digital world.

But while the attractive appearance of the site or program is important, a user-friendly interface is essential

At this point, we can’t say that bug-free software does not exist, but today we want to tell you a little about the heroes fighting bugs hiding in the programming. After all, what is the point of a beautiful website or application if nothing happens when you click on the “buy” button? Or worse, the site gives you the dreaded  404 error.

This is where our Internet exterminators come to the rescue, ensuring the sites and applications are functioning flawlessly, without bugs and crashes, by providing Quality Assurance, or in simple speak – testers.

 

What kind of animal is this Quality Assurance, and what does it do?

A QA-engineer (Quality Assurance engineer) is a specialist in quality assurance of software development (software) and its functional testing.

It is these people who check the performance of a site, application, game, or specialized software before making it available to the public. There are a huge variety of testers, each requiring different work skills, programming knowledge, and meticulousness in performing their duties.

The more specialists and the higher their skills, the more stable and better the product enters the consumer market. This is where IT corporations such as Google, Facebook, Microsoft, and others succeed. After all, you must admit, it is always a pleasure to open their applications and responsive interface and marvel at the absence of bugs and critical errors, as well as their dedication to providing constant support for their products and, in case of new errors, their prompt correction. It’s a fact that companies are watching their offspring, and every year their products are getting better, and the audience is growing inexorably.

And, it is not for nothing that companies value and rather generously pay testing specialists because they are well aware that it is the engine compartment of applications and programs that plays a key role in selling a product.

 

As an example, if we go to job search sites from top companies like Google, Facebook, etc., we will see some pretty tempting numbers there. The starting salary for all types of testers starts at $90,000 per year, and over time, it can grow to $160,000 or more, and this is without bonuses that companies almost always and quite frequently payout, especially if you are very good at your job.

At the same time, there is always huge competition for these positions since working conditions and salaries are very good. Such tech giants have various programs to help with relocation and employment. They even help find housing and schools for children. Because of this attitude towards their employees, the world receives excellent testing specialists from various countries – India, Africa, and Eastern Europe.

 

What would we do without them?

The tester’s task is to test the software before it is released to the general public. It is still impossible to protect yourself from bugs 100% of the time, which is why one of the Itera Research services is a specialist who, even after the development is completed, will control the project and carry out a thorough inspection and program-wide cleanup of bugs.

The modern world is developing and changing very quickly – every day, dozens, if not hundreds of new sites, applications, games, operating systems, and many more products are released that simply need those who will conduct performance tests.

 

Itera Research has a team of experienced testers, and we are constantly looking for talent. Our QA department performs functional testing at every stage of the software development or after the release. We test mobile applications on real devices. Our test automation engineers turn routine manual tests into automated scripts and prepare all the necessary test data. After all, everything that we all use now, at one time passed through days, if not months, in search of the most minor bugs and flaws – and all this so that the user was satisfied even when the public version of the product was launched.

 

It is difficult to imagine a modern business without tools to support management decisions. That’s right, we are talking about business analysis (BA). Solutions for business analysis are very popular among companies operating in various fields, including IT. Business analysis is something that is necessarily used by large, medium-sized, and even small businesses today.

 

Almost any software or system allows you to collect analytical data necessary for building a strategy or making tactical decisions. The task of business analysis is to collect all the necessary data – to conduct interviews, analyse existing documents, processes, and procedures, administer a risk assessment and confirm or refute the correctness of the adopted course. The goal being to create a prototype of a business process or business process automation.

 

Administering a thorough business analysis helps us to understand the structure, and how current processes are arranged in order to identify weaknesses or vulnerabilities and consider changes to make that would improve the organization’s performance.

You can also conduct a business analysis to get a general idea of ​​the current state of the company or use it to determine the current needs of the business, form growth points to optimize costs, and speed up work.

 

How can business analysis be useful for IT projects? 

Let’s look at an example:

Mark is an entrepreneur. He wants to develop a cool app. He wrote down his idea, but… got stuck in the development phase

Cross-platform, hybrid, or native? Which programming language to choose, and what to leave in the functionality? And more. Time, like nerves, is wasted, and the process will not budge. Mark decides to contact a specialist and orders a business analysis (BA). The specialist conducts  all phases of research and analysis sequentially, which allowed them to:

  • define priority business goals
  • designate areas of application
  • formulate and prescribe detailed requirements for the project
  • validate Requirements
  • find effective solutions
  • develop a maintenance plan
  • develop a prototype/outline of the application.

 

As a result, based on the outcomes of the business analysis, Mark received a clearly described idea and defined goals, a technical task for developers, a technical implementation plan, exact deadlines and cost, and the necessary cash flow. Having all this data, he can safely address investors and present his idea without any problems, since the technical solution plan is already in his hands.

 

Most often, while working on a project, a business analyst takes on the following tasks:

  • Requirements management: their identification, preparation, and specification, separation of requests into requirements and some “not very important Wishlist”, setting of tasks for developers.
  • Strategic analysis: in many companies, the BA works with top management on the development strategy of the company and the project, because he or she knows the product best.
  • Designing solutions: preparing documentation and, at times, prototyping. Presentation of everything they have come up with to convey to the team how solutions will be developed and implemented.
  • Product Management: communication with designers, engineers, stakeholders, and business product owners.

 

What will we get as an outcome of business analysis?

  1. Wireframes – a schematic representation of the programming interface
  2. A prototype – a dynamic representation of a programming interface for testing UX
  3. A software requirements specification which is a document that describes what the software will do and how it will work. It includes:
  • User stories – short, simple descriptions of features, told from the point of view of a user or client of the system.
  • Acceptance criteria – the conditions that a software product must meet in order to be accepted by a user, client, or another system.
  • Data flow diagrams, entity-relationship diagrams, etc.

       4. Accurate quotation and project plan.

 

The Itera Research team offers its clients a full BA service, which is able to help at any stage of project development. Why should you use such a service?

  1. BA services are cheaper than making changes to the product code
  2. Providing solutions that can cut costs with unique project-specific tools
  3. Accurate time and budget estimates are made
  4. Reduced time and effort for testing
  5. Optimization of management and distribution of tasks, to decrease time and reduce costs of development. 

As a result, the client receives all the necessary materials for the successful implementation of the project. So think about it, does your idea need business analysis?

 

In today’s world, a webinar is not only a remote lecture on video communication but a useful tool for generating leads and promoting on the Internet. By giving people the opportunity to find out the information they are interested in, you will receive contact information of potential customers already interested in your services in return. On gaining wide application in the advertising field, webinars received a powerful push to automate many functions. After all, to use all the capabilities of this tool you need to perform many operations manually. Therefore, we have prepared materials on how to make an assistant tool in conducting webinars, which meets all modern and personal needs.

Understanding Multiple Webinar Scenarios

Remote presenters. Of course, it makes no sense to consider the functions of tools without regard to specific use cases. Modern programs for webinars successfully merge on and off campus using remote interaction features. For example, as a webinar has two parties – learners and presenters – participants can access an event from all over the globe using PC or phone. That’s why if there are several presenters who are not in one place, they can either access all the features by joining the event or even run several programs on the presenter’s PC remotely.

Discussion management. An important role in the webinars is played by discussions. You can, at your own discretion, determine who can participate in the discussions during the webinar. However, it should be noted that not always the possibility of managing textual communication is the determining factor for the choice of the instrument. Sometimes basic settings are enough especially if there is only a need to deliver the same information right away to a large number of listeners.

Training integration. In training webinars within companies, there is usually a need to organize group work. Therefore, some of the tools allow learners to interact with each other in a mixed webinar which is combined with face-to-face activities. There are webinar tools integrated with the distance learning environment called Moodle. The creators of Moodle training courses have the opportunity to build in the learning process such training formats as online training, and master classes, into their webinars.

Promotion enhancement. Also, more and more often webinars are used not in training but promotional purposes. Some of them make it possible to create a landing page for an online event with a webinar description and registration form. After registration, a mass mailing of invitations to the webinar can be carried out directly from the platform.

Webinar Application Design

Research & training. First of all, to start the development you need to determine the target audience of the future application. Answer the following questions first:

  • In what kind of webinars will it be used? (advertising, training)
  • How many experts can be present simultaneously (for instance, round tables allow to collect several experts at one event to discuss the topic)
  • The number of participants (if you are going to develop a tool for your own organization) and the limit of participants by subscription (for application monetization)

To define a format of webinars which will be organized by means of application you can also use market research results.

Development. In the development of the application associated with the video signal, you will have to face the prevention of connection loss, the quality of signal transmission, video capture from the host computer screen, etc. Also, you may need to develop algorithms for remote connection and control of a computer.

Basic features to be implemented:

  • Waiting room
  • Timeline
  • Live Chat
  • Transmitting the screen & voice
  • Email automation
  • Participating confirmation
  • Capturing video of the webinar

Advanced features:

  • Whiteboard
  • Participants analytics
  • Mobile support
  • Ability to draw on the screen
  • Ability to mute some attendees
  • Monetization tools
  • Multiple host support, etc.

Quality assurance. Another important point is ensuring the quality of the application. Webinars require the simultaneous connection of a large number of people (from 2 to several thousand people), which implies high loads on the server side. Therefore, it is important to test the application operation in both ideal and unfavorable conditions – unstable connection, numerous simultaneous requests, etc.

Support. Technologies do not stand still, so it’s important to implement improvements to the application as often as possible. The support team will cope with this task.

Available Solutions: GoToMeeting, GoToWebinar

GoToMeeting is a well-known webinar and video-conference tool with a long history. This is the basic solution allowing to create conferences with up to 15 people first launched in 2004. In addition to the basic features, it gave an ability to record discussion for further playback, sharing access to individual applications, tools for drawing on the screen and for generating reports. It gradually evolved into one of the greatest webinar tools as it uses patented technology that allows access to an arbitrary application running on the presenter computer in real time. GoToWebinar is another project of the same company, Citrix Online, used to create webinars for 1000 people simultaneously.

Summary: How to Make a Successful Application for Webinars

Creating a reliable application for webinars is not much different from creating any other quality application. All you need to remember about the peculiarities of this sphere is that it needs to support working with a large number of participants in real time, which means high software and server loads. However, carefully designed application architecture and quality testing of all the elements of the system will allow you to create a worthwhile product for both mass and personal use.

 

 

Sincerely yours,

Itera Research team

If you’re planning to start a new business online, but are not particularly tech-savvy, it can be difficult to know what the proper steps are to follow. This brief will get you started in the right direction.

Step 1 Concept

Think of your target audience and briefly define your concept. Review your competition, namely a company that has already “made it”. You will save a lot of time and money by going through this brief review. For example, if you’re planning an ecommerce business, then it would be great to review the TOP 3-5 links from your most well-known competitors and see what their key features are. It is not necessary to copy what they’re doing, but it will help you to obtain some idea of what is needed for the success of your project.

Decide whether you are aiming for a static HTML vs. dynamic website. A static site is where nothing changes; content is uploaded and displayed “as is”. A dynamic website, however, will have data pulled from a database so that you can display your website content by date, category, etc. (e.g. social networks). Here is one trick we would suggest that you consider: It would be great to come up with a minimum and maximum list of MUST-HAVES. In other words, it’s unnecessary to copy ALL OF EBAY, but it would be great to make a list of the major feature sets that align with your vision. This will help you to reduce your initial cost, define a feature list for proof-of-concept with minimum required functionality, and make the concept scalable in the future when it proves to be successful.

Step 2 Workflow brief

Generating a workflow brief is something that helps you analyze:

  1. How new info is coming to your website
  2. What happens next (major user scenarios)

This step will help you give a clear vision for your entire workflow. For example, if you are planning to develop a new social network with video sharing, or an online radio station, or interested to start sports betting website, first you have to review where you are planning to take the content from and in case if you need 3rd party content like live video stream or match scores,  it’s important to identify where that data would be retrieved from via API services and review the API in terms of availability and documentation provided; for example, all betting feeds for match scores, or sports results are usually paid.

We would also suggest creating small sketches to illustrate your vision. Itera Research would be glad to do that for you upon your request.

Step 3 Technology and Price

When you have your concept and the vision for workflow, it’s time to start looking for quotes.

The general recommendations for this are as follows:

  • One should consider that CMS-based development takes less time, although
  •  sometimes CMS is not a good fit when there is a lot of sophisticated, custom-tailored functionality required. In this latter case, it would be more reasonable to consider custom development (e.g. Open source).

For example, for a regular blog, using WordPress would be fine, but for custom product configuration, you may need a strong PHP developer who will be able to add that functionality to your website.

Itera Research comes up with suggestions regarding technology based on the tech review conducted for the requirements provided. We work on websites using .NET and PHP (WordPress, Magento, custom), as well as options to use Symfony2, Yii, and ZEND for custom development.

Step 4 Implementation

Implementation usually consists of the following stages:

  1. Graphic design;
  2. HTML/CSS programming;
  3. Web development;
  4. Testing and deploy.

If you decided to move on based on some CMS like Magento or WordPress, there is an option to consider already one of existing WordPress templates or WP themes, and in this case the first two stages mentioned above, would be done, the cost would be covering just template review and customization but remember that the design and theme will not be unique. Itera Research is glad to offer you full-color graphic design for all your WordPress or Magento projects.

Web development is something that should be planned in advance. When our customers are considering quotes and choosing contractor, we are happy to submit a project plan, milestones, and deliverables per milestone for customers review. Itera Research suggests to divide delivery process by Milestones, and summarize features set to be done per each Milestone along with calendar plan.

The customer is then invited to check the results from the staging server (Itera Research performs deploy into staging server, so that our clients can check the website pages throughout the development process once we have something done and available for a tech review.).

Step 5 Domain Name, Hosting

When you’re ready to deploy your site, it’s time to look for a domain name. The main principle is to make it short, recognizable, and related to your business name or industry.

I would avoid taking the last name of a real person (unless you are Mr. Gates, of course), or choosing famous brand names with one letter changed. Sometimes the strategy can work, but it can make marketing efforts quite difficult, which is part of your overall strategy that you’ll want to be effective.

Consult with tech personnel regarding hosting (this depends on the expected peak loads, technology used on the website, and other factors). For example, clouds are very popular in recent years, and they’re perfect for large-scale heavy projects (with shared servers and large data flow). However, the secret is that some websites simply don’t need to utilize clouds when dealing with small or even mid-sized web apps or websites with small to average dataflow.

Itera Research provides server set-up services for our customers and we would be glad to share our recommendations for hosting (according to project size and technology employed).

 

Sincerely,

Itera Research team