General Questions
People looking for a software house to develop a custom application usually have many questions to ask. That is natural as they want their investment in the software to pay off. What are the questions we get the most often?
1. How long will it take to develop my application?
There is no clear answer to such a question. It is important to take into consideration that building your solution comprises of the design and the development of the software, which precede the testing stage. How long will these processes take depends on the size of the application, which is determined by:
– The number of modules and functions,
– The number of future users,
– The complexity of the particular processes,
– Potential integration with external software.
Only when all of these factors are taken into consideration, is it possible to estimate how long it will take to build the solution.
2. How much will my application cost?
Dedicated solutions are a specific type of software built to meet the individual needs of a client. Hence particular solutions will be priced individually, and the price will be determined by:
– The size of the solution,
– The time required for preparing the mockup by the IT advisor,
– The time required for programming.
Every team can have its own way to price the application development. When you are making your choice, it is important to focus not only on the cost but mainly on the professionalism of the company and the comprehensive service.
3. How will my application look like?
There is no other system that will look like yours. It is one of the advantages of dedicated solutions but also their disadvantage at the same time: you will not see your solution until it has been built. However, software houses can give you access to screenshots of other applications they have developed. That will enable you to see how the solutions built by a particular team look like. You can also get a good insight into the future appearance of your application by taking a look at the mockup of your future application. The mockups prepared by our consultants include all relevant tables, screens, graphs, etc., which are later transferred to the solution.
4. What server will my software be installed on?
You choose where your application will be installed. In case of bespoke solutions, clients usually choose to install the software on their own servers. At Kenshin & Company, when we develop the final version of the solution, the application is maintained on our server, where it is tested by the client and our team. Then, according to the agreement, the solution is delivered to the client by installation on the server chosen by them.
Application Performance & scalability
Scalability is the term used to signify the capability of a system to manage huge amount of work load. Scalable software tests the applications and generates data to let us know how much is the scalability.
1. What Do You Mean By High Availability?
- Having better service capacity with high availability and low latency is mission critical for almost all businesses.
- Availability means the ability of the application user to access the system, If a user cannot access the application, it is assumed unavailable. High Availability means the application will be available, without interruption.
- Achieving high availability for a application is not always a easy task. Using redundant server nodes with clustering is a common way to achieve higher level of availability in web applications.
- Availability is commonly expressed as a percentage of uptime in a given year.
2. What Is Scalability?
Scalability is the ability of a system, network, or process to handle a growing amount of load by adding more resources. The adding of resource can be done in two ways
Scaling Up
This involves adding more resources to the existing nodes. For example, adding more RAM, Storage or processing power.
Scaling Out
- This involves adding more nodes to support more users.
- Any of the approaches can be used for scaling up/out a application, however the cost of adding resources (per user) may change as the volume increases. If we add resources to the system It should increase the ability of application to take more load in a proportional manner of added resources.
- An ideal application should be able to serve high level of load in less resources. However, in practical, linearly scalable system may be the best option achievable.
- Poorly designed applications may have really high cost on scaling up/out since it will require more resources/user as the load increases.
3. What Is Load Balancing?
Load balancing is simple technique for distributing workloads across multiple machines or clusters.
The most common and simple load balancing algorithm is Round Robin. In this type of load balancing the request is divided in circular order ensuring all machines get equal number of requests and no single machine is overloaded or underloaded.
The Purpose of load balancing is to
- Optimize resource usage (Avoid overload and under-load of any machines.)
- Achieve Maximum Throughput
- Minimize response time.
Most common load balancing techniques in web based applications are
- Round robin
- Session affinity or sticky session
- IP Address affinity.
4. What if my application stops working?
Many clients are afraid of such a scenario. During the testing stage, custom applications are not flawless. It is caused by the fact these are brand new systems with specific modules and processes that were never used before. Testing helps to eliminate most of the bugs or errors. Further steps should be determined by the agreement made between the software house and the client. At Kenshin & Company we release stable and secure software , when we will fix any potential errors that are detected. That means you can expect our support and quick reaction after the application has been delivered.
Cloud migration & Cyber security
We have put together some FAQ's to help you understand what Cyber security is and just how important it is to be aware of the dangers in the cyber world along with Cloud computing & migration.
1. What is cloud computing?
Cloud computing is a delivery model that provides highly scalable, on-demand access to computer resources, including CPUs, storage, networking and other hosted software services.
Clouds can be Public or Private, though public clouds are more commonly associated with cloud computing. Public cloud platforms, such as AWS and Microsoft Azure, pool resources in data centers often distributed around the globe, and users access them via the internet. Resources are provided to customers through metered services and the cloud vendor is responsible for varying degrees of back-end maintenance.
Private clouds are walled-off environments hosted in a corporate data center or a colocation facility. They lack the massive scale of public clouds. But they do have some elasticity, and a company’s developers and administrators can still use self-service portals to access resources. In theory, private clouds provide greater control and security, though it’s up to a company’s IT team to ensure that happens.
Benefits of Cloud Computing
Cloud computing lowers IT operational costs because the cloud provider manages the underlying infrastructure, including hardware and software. Those managed components are typically more reliable and secure than the standard corporate data center. These advantages free IT teams to focus on work that more directly benefits the business.
The cloud is also global, convenient, immensely scalable and easily accessible, all of which accelerate the time to create and deploy software applications. It opens organizations to a host of newer services that enable the most popular trends in application architectures and uses, including microservices, containers, serverless computing, machine learning, large-scale data analytics, IoT and more.
2. Is the cloud secure? What is Cyber security ?
The clouds themselves are generally more secure than most private data centers since companies such as Amazon and Google can hire talented engineers and automate many of their practices. Cloud infrastructure providers also offer tools and architectural options to isolate workloads, encrypt data and detect potential threats.
However, public clouds operate on a shared responsibility model, where the user secures the data and applications hosted on the cloud. This division of security responsibilities varies based on the tier of cloud computing.
The process to secure a cloud environment is different from more traditional data center practices, so cloud adoption requires a learning curve for IT teams. Unauthorized access to resources is the most common cloud security threat; many high-profile exposures of sensitive data resulted from misconfigurations.
Organizations also must be mindful of data residency requirements and other governance restrictions since they don’t have precise control over the location of the servers that host their data in the cloud.
Cyber Security
Cyber security consists of technologies, processes and controls which have been designed to protect businesses and their systems, networks, devices and data from cyber-attacks. Cyber security aims to protect all computer systems from being seriously damaged or leaving the victim with no/limited access to their own confidential files.
3. What Is The Average Cost Of A Cyber Attack (Data Breach)?
The average cost of a ransomware breach cost more than the average cost of a data breach – US$ 4.54 million compared to $4.35 million. 8% of analyzed breaches in this report were caused by ransomware attacks, compared to 7.8% in 2021. Learn the difference between a ransomware attack and a data breach.
4. What Are The Differences Between A Cyber Incident, Cyber Attack And Cyber Threat?
A Cyber security ‘incident’ is when an attack doesn’t result in a breach to the business i.e. is successfully repelled & the company’s data isn’t compromised.
A Cyber security ‘attack’ is when the businesses firewall has been breached and they have been impacted by it ie they have lost access or confidential data has been leaked etc.
A Cyber Security ‘threat’ is when there is a possibility of a malicious attempt to damage or disrupt a computer network or system.
What Is A Firewall And Is It Enough To Protect From A Cyber Attack?
A firewall sits between a computer (or local network) and another network (such as the Internet), controlling the incoming and outgoing network traffic. Without a firewall, anything goes. With a firewall, the firewall’s rules determine which traffic is allowed through and which isn’t.
A company can still be breached either internally or externally despite having a firewall in place. This means that your firewall needs to be continuously checked and regulated by an external party to determine if your network can be penetrated
To ensure your company is secure you must not just rely on a single form of security to protect your business from a potential cyber attack.
“It Hasn’t Happened To Me, So Why Do I Need It?”
Almost 60% of businesses have experienced a cyber-attack and with so many vulnerabilities online, companies are investing heavily in cyber security and training employees, particularly regarding online scams and ransomware attacks.
The 2019 Official Annual Cybercrime Report (ACR) predicts that businesses will fall for ransomware attacks every 14 seconds.
So, we think the real question is, why would any business not need a cyber security strategy?
What Are The Main Types Of Cyber Attack?
- Malware/Ransomware.
- DDoS (distributed denial of service).
- Drive-by.
- Zero-day.
- MITM (man in the middle) attacks.
- Phishing campaigns.
- Virus infections.
What Is Malware/Ransomware?
Malware is intrusive software that is designed to damage and destroy computers and computer systems. Its full name is malicious software & can be used in several different types of cyberattack, including phishing campaigns and ransomware & crypto mining attacks.
Ransomware is a form of malware, specifically designed to hold something to ransom. This may be sensitive data, or it may be access to a device or account e.g. a ransomware attacker may block access to an account on your computer, or it may block access to your computer entirely.
Why Is Cyber Security Necessary For Small Businesses?
Small businesses are collectively subject to almost 10,000 cyber-attacks a day, according to new findings from the UK’s largest business group. Due to the high cost associated with a breach, 60% of these organisations go out of business within 6 months.
Without any kind of cyber security plan in place, small businesses risk their privacy, client trust, financial integrity, employee integrity, data integrity and the longevity of the business.
IOT, PCB, Chip and hardware acceleration
Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit.
1. What is Hardware Acceleration?
Hardware acceleration combines the flexibility of general-purpose processors, such as CPUs, with the efficiency of fully customized hardware, such as GPUs and ASICs, increasing efficiency by orders of magnitude when any application is implemented higher up the hierarchy of digital computing systems. For example, visualization processes may be offloaded onto a graphics card in order to enable faster, higher-quality playback of videos and games, while also freeing up the CPU to perform other tasks.
There is a wide variety of dedicated hardware acceleration systems. One popular form is tethering hardware acceleration, which, when acting as a WiFi hotspot, will offload operations involving tethering onto a WiFi chip, reducing system workload and increasing energy efficiency. Hardware graphics acceleration, also known as GPU rendering, works server-side using buffer caching and modern graphics APIs to deliver interactive visualizations of high-cardinality data. AI hardware acceleration is designed for such applications as artificial neural networks, machine vision, and machine learning hardware acceleration, often found in the fields of robotics and the Internet of Things.
Systems often provide the option to enable or disable hardware acceleration. For instance, hardware acceleration is enabled by default in Google Chrome, but this capability can be turned off or relaunched in the system settings under “use hardware acceleration when available.” In order to determine if hardware acceleration is working properly, developers may perform a browser hardware acceleration test, which will detect any compatibility issues.
The most common hardware used for acceleration include:
- Graphics Processing Units (GPUs): originally designed for handling the motion of image, GPUs are now used for calculations involving massive amounts of data, accelerating portions of an application while the rest continues to run on the CPU. The massive parallelism of modern GPUs allows users to process billions of records instantly.
- Field Programmable Gate Arrays (FPGAs): a hardware description language (HDL)-specified semiconductor integrated circuit designed to allow the user to configure a large majority of the electrical functionality. FPGAs can be used to accelerate parts of an algorithm, sharing part of the computation between the FPGA and a general-purpose processor.
- Application-Specific Integrated Circuits (ASICs): an integrated circuit customized specifically for a particular purpose or application, improving overall speed as it focuses solely on performing its one function. Maximum complexity in modern ASICs has grown to over 100 million logic gates.
2. Why should I choose Kenshin & Company Circuits for my PCB projects?
Kenshin & Company delivers quality and has been offering a complete turnkey solution to the electronic industry since 2014. We have everything that makes us a one-stop-shop supplier for your requirements.
We can help you with the most economical solution without compromising quality by manufacturing and assembling PCB in an approved offshore facility under our direct supervision. So, if you are looking for a hassle-free and cost-effective solution, we offer the right choice.
Do you offer REACH compliance?
Yes. We can manufacture PCBs to comply with REACH (Registration, Evaluation, Authorisation and Restriction of Chemicals) regulation if requested at the time of the order.
What is IPC and do you follow IPC standards?
IPC, the Association Connecting Electronics Industries® is a global trade association. It represents all facets of the industry, including design, printed circuit board manufacturing and electronics assembly. IPC has developed specifications, standards and test methods that are widely considered to be the standard for the industry.
We strictly follow IPC 6012 Class 2 for Rigid PCB and IPC-6013 Class 2 for Flexible PCB manufacturing.
What guarantee do you offer on your PCBs?
3 months warranty* (Immersion Silver bare PCBs)
1 year warranty* (All other bare PCBs)
* Conditions apply
What happens if I find a problem with my PCB?
If you ever feel that you have received a product or service that is inferior in quality or below your expectations, please call or email us immediately.
Please send us photos, measurements, quantity affected and other relevant details to help us understand the matter quickly. We will investigate the quality issue in line with the acceptance criteria defined in IPC-6012 for Rigid PCBs and IPC-6013 for Flexible PCBs.
Your suggestions are precious to us. We sincerely hope the issue will be resolved promptly and in line with your expectations.
3. What is ASIC design and specification?
ASIC design is a methodology of cost and size reduction of an electronic circuit, product or system through miniaturization and integration of individual components and their functionality into a single element – an Application Specific Integrated Circuit (ASIC).
An electronic product commonly consists of many integrated circuits (ICs) which are interconnected together to perform a particular function.
Modern ASICs combine multiple complex blocks in a single package, including analog elements such as an amplifier, ADC, PLL and digital elements such as a microcontroller, OTP, ROM, EEPROM, RAM, and other building blocks. These types of ICs are known as system on chip (SoC). The analog section of the ASIC is designed using primarily transistor-level design techniques and manual layout processes. The digital section of the chip is designed primarily using hardware description languages such as VHDL/Verilog followed by automated Place and Route (PnR) layout process.
There are three types of ASIC chip designs:
- Full Custom Design
- Semi-Custom Design
- Programmable ASIC
Some examples of ASIC chips include chips in the consumer, medical, automotive, and industrial sectors. ICs that are not ASICs are general-purpose ICs such as voltage regulators, stand-alone memories (EEPROM, RAM)
What Is A Specification?
An ASIC specification is a document that lists how a device needs to function and perform in various operational situations such as tithe specification phase is an extremely significant part of the design and development process. As technology becomes more advanced and entrenched in every aspect of life, customers are expecting new features and design improvements from their devices, including high-speed processing and low power consumption. A top-down design approach is employed to navigate and manage complexities of the ASIC design process, and as a first step, dictates the development of a proper detailed specification. A thoroughly crafted working specification helps guide the design process, with the project less prone to errors disruptive to project schedule and cost.
It is very important that an expert in ASIC system design assists customers in developing system architecture and specifications. This extensive process takes around 2 to 6 weeks depending upon the complexity of the application requirements. The specification process is followed by:
- Reviewing the block diagram, system schematics, and specifications
- Developing an understanding related to design problems, operating environment, and challenges
- Making a decision related to the final product, not only ASICs
- Determining if any certification is required in the product such as IEC, TS compliance
- Designing or compiling the ASIC block diagram with full functional components, specifications, and pinout
- Deciding board-level architectural trade-offs that lead to the most cost-effective silicon integration
4. What is the IOT? How can K&C help me ?
The Internet of Things (IoT) is a network of devices, embedded with electronics and software that can exchange data across the Internet. e.g. Remote sensors and control across networks. There are 8.4 billion IoT class devices in 2017.
IoT things include sensors, controllers, actuators, edge computing, networking, device management, connectivity management, data management, applications and cloud computing.
IoT can be used for home automation, smart cities, smart power grid, smarter transport, smarter workplace, performance tracking and smarter supply chain. IoT provides more information for better decisions across a range of industries. This can be to improve product quality in manufacturing, device predictive maintenance, improved environmental management, tracking human health, reducing energy usage and raising supply chain tracking.
IoT provides the information for us to make better decisions. This includes our personal health information, reducing manufacturing defects, saving us time in transport with best routes, saving power use, keeping supply chains operating at optimum and providing customers with smarter products and services.
Why Kenshin & Company ?
As an Internet of Things software development company, we’ve built powerful and secure IoT solutions that have forged hundreds of connections between products and systems — and delivered value and innovation to startups and enterprises alike.
Startups and fast-moving, established companies alike rely on our development teams to start and scale their product development. We’ll identify and equip you with a team of developers perfectly suited to your project, ready to work hand-in-glove with your in-house team, using shared tools and methodologies.
Help & Support
Solve any issue with the help of our experts.
Documentation
Helpful information about setup, features, and options.
Video Tutorials
Learn how to use the theme with video tutorials.
Users Community
Be part of our community and find out more.