Archives for October 2018

October 19, 2018 - No Comments!

What People Think Embedded Programming Is

When I was recently speaking with my girlfriend she asked me about my job responsibilities as an Emb
edded Developer.

She wasn’t sure if she understood it well. Embedded programming sometimes is called a low-level one (in Polish it’s niskopoziomowy). Unfortunately.. there’s one similar word to niskopoziomowy, it’s niskopodłogowy (like low-floor, for example a low-floor bus). Just imagine.. she was telling her friends that I’m a low-floor developer! It’s the reason why I’m writing this article - to clarify what an embedded programming is 🙂

Generally speaking - applications may be divided into few groups.

  1. Desktop ones -that work on personal computers
  2. Mobile ones - that work on phones and tablets
  3. Server ones - that people usually use by internet
  4. Embedded ones - the topic of today’s article 🙂

So, the first question is - why embedded is also called a low-level programming?

Because it interfaces with electronics on the lowest level. Engineers in their application communicate with integrated circuits using interfaces like SPI UART and I2C. If you don’t know what the interfaces are, let’s say they’re like a wired phone where a processor calls peripherals and they execute the processor’s orders.

For example, in the operating system like Windows or Mac you can just ask a computer about current time and it will respond. In the embedded one, you have to configure a clock, give it the frequency and start value. You cannot forget to start timing and at the end to change the number of clock ticks to date and hour. It’s quite a big deal, isn’t it?
Behind all the operating systems stands embedded, but most people simply don’t realize it.

PCBs are usually connected with embedded. They are printed circuit board where all the elements needed by an app are connected. They are also in your computers, however in embedded they are done once. It means that an electronic engineer designed it and this element will be used in all produced devices. In your computers you can choose components processors, power supplies and memory units. In embedded components they are being chosen as the development starts. It must be done right because the PCBs have to be as cheap as possible while a device must perform all the expected and unexpected features.

Modern programming languages like Java, Python or C# are very user-friendly. They have nice features for memory management. You can perform very complicated commands in just one line and use smart features like exceptions. In embedded programming - an exception means hard fault and program crash. Still old languages are used for coding (C and C++). They are the fastest to list here but you have to write more complicated statements on your own. All lists buffers and queues are usually implemented by you. Your program has to be scheduled correctly because the operating system won’t do it for you.

And of course remember about limited resources. You have to fit in!

Have you ever updated a firmware version in your washing machine? Or maybe in a DVD player? I can assume that most of you haven’t. These are examples of an embedded stuff. As you can see, a program prepared for devices must be reliable. Usually bugs cannot be fixed easily. In modern devices with Bluetooth and Wi-Fi it’s easier, however it is said that embedded devices won’t perform a firmware update. It’s not an operating system like Windows, the program must be done right. It’s rather problematic for engineers because your application works with electronic parts. Between hardware and software there’s a place where something may fail and will be extremely hard to find. In the unit tests of code you can encounter problems with how to simulate hardware.

Embedded devices create the smart world that surrounds us.

An app must perform well without any fail. What’s more, it must be smart and user-friendly! The interesting and funny fact is - most people use devices before reading the instruction 🙂 A program has to be prepared in a way that a client, who’s unfamiliar with electronics can use a device with easiness. I hope that this article helped to understand the matter of embedded systems and showed why it’s applications are a little bit different than the others.

Author: Krzysztof Cieniawski

Published by: admin in blog

October 1, 2018 - No Comments!

7 Ways to Improve your Website’s UX

“UX when done right, often stays unnoticed”

Your website is your best salesman. It should not be neglected, otherwise - there’s a huge chance you'll lose your potential clients at the very beginning of a process. It needs to be attractive and well-thought out.

We’ve put together a list of useful tips that will help you boost your visitors’ engagement and keep it stable.

1. Improve Page Speed

Slow page speed evokes frustration in visitors and can cost you a client. A 2-second delay in load time results in the abandonment rates of up to 87%. People access your website from many different platforms. Did you know that 64% of smartphone users expect pages to load in less than 4 seconds? If you want your conversion to be higher, you should meet their expectations. You can do it by:

  • minimizing HTTP requests
  • deferring JavaScript loading
  • reducing server response type
  • choosing the most adequate hosting option
  • performing a compression audit
  • enabling compression
  • reducing sizes of images
  • reducing numbers of plugins you use (and testing them)
  • reducing redirects

If you wonder how to check the speed of your page - you can use a tool offered by Google - PageSpeed Tools.  More detailed info about improving your page speed can be found HERE.

2. Apply adequate CTA buttons

Placing CTA’s on websites became a must-have, but the important thing here is to choose the adequate type of these buttons and apply them wisely. There’s plenty of options to choose among - width, color, size.

If you have some background in psychology, you have the power to create an effective and highly-converting CTA’s, simultaneously becoming the master of conversion optimization.

Among the most popular CTA’s you can find:

  • Lead Generation
  • Form Submission
  • Read More Button
  • Product/Service Discovery
  • Social Media Sharing
  • Closing the Sale
  • Event Promotion

Carefully consider the words used for your buttons. Place a word that will be a clear trigger, something bold with an emotional connection. The perfect example here is FreshMail.

3. Create main categories

Take some time and think about dividing your content into categories. Choose only the most important things to list.

Check the most popular subpages on your website. As for the content in each category - keep it simple. It’s not a place for fancy buzzwords and complicated descriptions -  you have only few minutes to introduce your business. Your main menu should tell a story and be a path to follow by your potential clients. Don't forget the "about" and "contact" category, as they are the most important ones.

4. Simplify navigation

How many times have you left a website because its structure was complicated? When your site is messy, you can’t expect someone to navigate through it with patience. All the necessary information should be accessible right away. If not, your visitors will fastly lose their interests and look for an alternative pages of your competitors. 

Too many details will overwhelm your visitor. The perfect option is to keep it in a range of 3-7. Remove misleading information from your site - people should know exactly what they'll find after clicking a specific category.


5. Make the most of social media

As we live in the world of sharing - benefit from it. Place social media buttons (e.g. Facebook, LinkedIn, Twitter) on your page. It will encourage visitors to learn more about your company and follow it online. It’s your real audience so master the communication on each channel. 

6. Create coherent branding

Make your brand identity coherent and suitable for your business. Add some personal character, something that your visitors will associate with your company. Make it more individual, don't follow the same patterns. The visual identity should match your type of business. Again - it’s all about the psychology of colour. Focus on what’s most suitable for your firm and what values you’re trying to convey with your image. Let your brand tell a story and narrate it well.

7. Place a search box and make sure it works

When placing a search box on your page, remember that is has to be visible. It mostly comes at handy when you have more subpages with detailed information. It’s far more convenient for users to just look something up instead of spending their time searching for the information they need. 

A good idea would be to place a search box at the top of the sidebar or in the header area. When implementing one - check if it works well. If some misspelling occurs, show related items, a 'no product found' is not a ideal option.


Published by: admin in blog