How to view documents using Visual Studio

View documents in Visual Studio with an amazing tool

Xpath Axes

A very useful trick for automation

Review: Spire.DataExport for .NET

A great tool for exporting data in .NET

How to install Arch Linux, step by step, for VMware Workstation (Part I)

First part of a installation tutorial for this beloved OS

How to setup a local repository in Ubuntu

The steps to have a local repo in Ubuntu

Tuesday, August 2, 2016

Major Mobile Design Mistakes Most Commonly Done



In the ever-changing mobile app market scenario, it is becomes very difficult to hold your position, especially when trends vary each day and impact the usability and significance of your mobile app. The situation becomes worst when your app comes across any flaw in terms of design because a recent study revealed that mere 20 percent of users return to their downloaded apps while only 3 percent of apps are used on a monthly basis. Although, a superbly designed logo grabs the attention; however, users generally focus on the features, functionality and benefits provided by an app rather than by mere its logo. They find those app icons cool which conveys the message in a distinct but suitable way. Of course, its connection with the brand should also be articulated well. Despite understanding these little but vital aspects, many designers fail to display while executing things.

The common mistakes range from failing to maintain steadiness throughout the lifespan of an app, to fascinate users in the first place. How it is possible to design an app with intuitive simplicity, with no repetition and disinterest. Is it possible that an offers fetching details without losing view of a greater motive? It is very sad but true that most apps come into existence and reach to an end in the very first few apps, therefore, we have compiled a list of common but vital mistakes that designers can avoid.

A Very Ordinary First Impression

What are the most crucial parts of getting a potential user engaged-the first user of an app and the first day with an app. The first impression is so crucial that it could be an umbrella point for the rest of this top ten. If anything undesirable takes place, looks confusing or disinteresting, it is for user that the potential users will lose interest right of the bat. Although, it is very tricky to deal with the right balance for them so called ‘first impression’ and it is possible that an extended on-boarding or a process to explore essential features can beget disinterest in users. Still, we believe that an instantly stimulating app may eliminate the need for an actual tutorial, and increase confusion.
  • Unsuitable On-boarding 
On-boarding is a vital process and followed by some sequences which introduce your app to the users. This is one of the ways to get a users instantly oriented. This is also a process that falls in-between the way of your users and their content.
  • Have the Intro Animation Easy
To dazzle new users, many times designers go for highly exotic intro animations. Remember, if your app serves a daily function then this will arise no interest in users.

Creating an App without Any Goal


Going for designing and development of an app without any succinct intention leads to nowhere. People often get an app developed to follow trends rather than finding out solutions for a problem, fill a niche or give an extraordinary service. All of the above, you must contemplate over the key question-What is the ambition for the app? In the situation when you cannot answer this question, the sense of purpose will affect every step of a project.

Omitting UX Design Mapping

Designers, most often, miss out a thoughtful planning of an app’s UX architecture before targeting the design work. Moreover, before having a wireframing stage established, the structure and flow of an app should be mapped out. Creating aesthetics and details can prove to be dangerous for designers. Also, they end up under appreciate UX.

No Budget Setting Up

Once the basis of your app is sketched, start thinking about the budget of the app development. If you keep delaying it, it will not respond to economic restraints. Not setting a budget may also make you start cutting vital features once you reach to the end of the project.

Awful Color Choice

To have an awesome app design, opting for an appropriate color plays a crucial role. There are a number of factors needs to be taken care of while building an app and giving the perfect color to allure your users is one of them. To fill your app with a perfect color is vital because each color has a unique psychological response on individuals. For instance, red is considered the color of love and blue represents trust.

Missing a Prototype

Introducing your app with a prototype or a beta version is of highly importance. It helps you to get feedback from users which extremely important before you make it live. A number of flaws can be diagnosed and provided the best remedy before its gets live. Having a prototype launched not only helps in the identification of mistakes in the design or functions of the app, but it also allows audiences like or dislike the app, especially the app target audience.

Introducing Your App in the Market without a Plan


At present, a number of app developers have a hurry to bring their apps in the market as quickly as possible. Due to this, many of them do not have a marketing strategy and fail to produce revenue from their apps. You must check where exactly you can promote/advertise your app before launching it so that it gets acknowledged by the targeted audience. One of the instances can be, if you also have a website linked with the same you are going to release, or a website for your company, it is easy for you to display information about your new app on your website.

Handling an App Like a Website

A number of apps are simply a smaller version of their website; therefore, they give the same experience the way they have been giving so far through the website. However, using a mobile app is completely a different experience and it gives new opportunities for users. Usually, the amount of information showed on the desktop detailed. On the other hand, information provided on smartphones is concise and delivers mere key points.

Tips to Avoid Such Mistakes

To eliminate the poor first impression, you can look for the balance between an app that is instantly intuitive, but also provides the users some engaging and exciting features quickly. As far as the purpose of designing an app is concerned, your design and development team must be aware of the goal of the activity. To avoid having a UX design mapping missed out, you can sketch out the flow of the app first before getting worried too much about the finer brush strokes. Setting the perfect amount of contrast is of high significance. Choosing a perfect color that connects well with the app’s goal can be influential for the app. Never forget that when users visit your app they are experiencing it for the first time; therefore, it becomes vital to keep it flawless as well as captivating.

Conclusion

As a skilled designer, you must ensure that your idea must be based on an in-depth research and it has to be crisp as far as its design is concerned. Avoiding the aforementioned common app mistakes can boost the chances of getting your app developed within the given timeframe. It can also help you raise your revenue and get you advertise your app properly.

Author Biography

Arun Goyal is Founder-CEO at Octal Info Solution Technology innovation and trends insight come easy to Arun with his thorough knowledge in the domain. A leader in his own rights, his grad-friends see him as an avid researcher and a technology evangelist. See him talking about ideas, trends and technology as a part-time author to this blog. Follow him on Twitter, Facebook, LinkedIn and go through his ideas on distinct topics.

Thursday, June 23, 2016

Best Websites Speed Test Tools for Developers to Optimize Web Performance


There is no denying that speed is the crucial factor in the success of any website and it needs to be a priority for site managers always. So, next as you offer a lag-free and responsive user experience, also keep in mind that it’s the fast loading website that is pivotal and has direct impact on the entire performance of the website. Faster loading websites adds to the user engagement, conversion rates, SEO rankings and a lot more, in a wonderful manner.

Speed of your website has a huge impact on search rankings and sales as it influences them in a big way. Nearly half of web users expect the site to load in merely 2 seconds or even less, and they are most likely to abandon the site if it doesn’t load within 3 seconds.

Hence, it’s essential to improve website speed though it can be a daunting task involving a number of moving parts between onsite optimization to network and accessibility configurations. Meanwhile, when performance matters the most, it’s advised to take one step at a time. After all it’s always better that you start by running some tests and find out how fast he site really works.

Speed optimization testing tools

Here we offer the best website speed test tools which are most recommended ones on the basis of usability, accessibility and how comprehensive the reports are:

Google PageSpeed Insights

It’s the tool that grades the website on a scale of 1-100. So higher number signals your site is more optimized, whereas anything that above an 85 point to the fact that your website’s performance is good. With PageSpeed you get to know about the desktop as well as mobile versions of your site. You get tips to improve like need to minify CSS or optimize your images.

You also have a Chrome extension which enables you assess any page from the Developers Page Speed tab. PageSpeed Insights offers a balanced  outline of site speed and actions that need to be taken for better page performance and site.

A mobile report consists of an extra category known as ‘user experience’ that’s there in the site score and it comprises of viewport configuration, size of tap targets along with appropriate font sizes.

Yahoo Yslow

This open source project and tool is useful in analyzing web pages and allow you find out why they are slow on the basis of Yahoo!’s rules for high performance websites. As of now, Marcel Duran is responsible for its maintenance and he is one who is also involved in the WebPageTest project. This tools functions in three steps to get its performance test results:
  1. It crawls the DOM to recognize all components (image, scripts, etc.).
  2. You get to know about each component size (gzip, expire headers, etc.)
  3. Taking the data, it generates a grade for each rule that helps you have an overall grade.
YSlow has 23 varying rules that it runs your website against so it can be graded. The free YSlow chrome extension can be used by you or you can get the YSlow results from GTMetrix. Go through the comprehensive tutorial to know how you can enhance your YSlow score.

GTmetrix

GTmetrix is highly useful in checking both PageSpeed as well as YSlow metrics. It assigns your site a grade from F to A and it divides the reports in five different sections, comprising of PageSpeed, YSlow, waterfall breakdown, video and history.
Go for the free registration as that allows you to test from seven different locations and you get to choose the browser, Chrome vs. Firefox. It allows you test and compare against different connection types (such as Cable vs. dial-up) so you know how it is going to affect your page loads. Other advanced features comprise of a video playback that allows you analyze where the bottleneck occurs and you can also run Adblock plus. With ads disabled you get to know how the site loading is affected.

Pingdom

Among the most prominent website speed test tools, Pingdom divides the reports into four various sections comprising of a waterfall breakdown, performance grade, page analysis and history.
With page analysis you get a complete overview with additional information like size analysis, size per domain, the number of requests per domain as well the kind of content you require for most requests.

Yellow Lab Tools

It’s one of the newest web performance and front-end quality testing tool that was developed by Gaël Métais. It offers you a lot of information and few unique features that you don’t see in other tools like a view of JavaScript interactions with the DOM during the loading of the page and other code validation issues. These below-mentioned qualifiers allow you find a global score:
  • Page weight
  • Requests
  • DOM
  • Bad Javascript
  • Bad CSS
  • Server Config
WebPageTest

It’s a tool that has more than 40 locations to choose from with over 25 browsers that also includes mobile. You get a grade from F to A on the basis of various performance tests like FTTB, compression, caching, effective use of a CDN, and a lot more. This tool divides the reports in six sections including a summary, details, performance review, content breakdown and screenshots.
Running a first view and a repeat view, it allows diagnosing what could be a 1st time DNS lookup delay. WebPageTest offers various advanced features such as video capture, disabling Javascript, ignoring SSL certificates, and spoofing user agent strings.

Conclusion

So you have a number of website speed tools to choose from and many variable effective at determining which tool works best to test your site. However, if you look for something that can be used easily and produces a detailed report, then give these tools a try.

Author Biography

Arun Goyal is Founder-CEO at Octal Info Solution Technology innovation and trends insight come easy to Arun with his thorough knowledge in the domain. A leader in his own rights, his grad-friends see him as an avid researcher and a technology evangelist. See him talking about ideas, trends and technology as a part-time author to this blog. Follow him on Twitter, Facebook, LinkedIn and go through his ideas on distinct topics.

Wednesday, June 15, 2016

How to use the factory pattern with Java


Factory is a programming pattern that allows us to use an abstract class to create other classes. This is one of the most commonly used programming patterns I know, so I'm sure you'll use it at some point. Well, let's continue with the classic example:

Requirements:

Eclipse installed.

Example:

The idea behind the Factory Method is to have a 'factory' class that creates different types of classes depending on the parameter that we send. So, let's imagine that we have the 'Car' class, and we need to generate the classes 'BlackCar' and 'RedCar', depending on the parameter we send. So, create a new java project and and call it 'Testools':
New project Testools
Once you are inside the project, create the classes listed in the following image:
Classes for Factory
Let's walk through the classes:

Car.java:

This class is a "template" class. So, it will have empty methods that will be implemented when this class is instantiated. The code is:


Note that we create an abstract method called getColor(); this will be implemented in the inherited classes that we create for black and red cars.

BlackCar.java:

Here, we override the abstract method to get the correct car color.


RedCar.java:

The same for the red cars.


CarFactory.java:

This class will create black or red cars depending on the parameter we send.


Run.java:

Finally, we have a main class to run it all.


Notice that the parameter for the makeCar() method is "red", so a red car will be created. change the parameter to anything else and you'll get a black car. Let's run it:

Factory running
Also, a black car:

Black car

And that's the Factory pattern. I'll continue with more programming patterns in further articles. Have fun!

Friday, June 10, 2016

What is Planning Poker and how to use it


When planning for an agile sprint, one of the main concerns is how to estimate the effort needed for each story accurately. There are many methods for this, but in the end, each project selects the method that best suits to its necessities.

In my experience, Planning Poker is a practical way to estimate the efforts based on the knowledge of the people involved  in the actual work. So, let's check it out!

PlanningPoker.com is a tool that allows us to use the Poker Planning method over the internet. When you go to the URL (www.planningpoker.com) you can see some highlights about the use of the tool. Click 'Start a Game' to start a new free game (you need to register).
Start a game

Now you'll see the main dashboard with the options for a new game:
  • Game name: A name for the game
  • Description: A description for the game
  • Team Velocity: Here are many options to customize the game. You can choose whether you are participating in the game or you are just a dealer, the card set and other options that will adapt the game to the particular project's situation.
  • Enter Stories: This is at the bottom of the dashboard. Here you can enter the stories that will be measured. Each story can be a link, so I added the following stories:
<a href='http://www.testools.net/2016/06/sharing-folders-between-debian-and.html'>Share folders from Debian to Ubuntu</a>
<a href='http://www.testools.net/2015/03/quick-tip-how-to-handle-modal-dialogs.html'>Handle modal dialogs</a>
<a href='http://www.testools.net/2013/04/how-to-make-unattended-sysprep-for.html'>Make an unnatended Sysprep for Windows</a>

Stories

Click 'Convert to Stories' to add them:
Added stories

Now just click 'Save & Start' to go to a screen previous to the game itself.
Before start game
Click 'start game' to start it.
Planning Poker in game

You may have noticed that I didn't change the default customization options. That's because these options are edited as each particular project requires. Since this is an example, I decided to use the default settings. Also, take into account that the default options will be usually left as they are by most of the Scrum masters or other people whom handle the tool.

The idea behind Planning Poker is simple, yet powerful: Each story is measured in effort points by each of the participants and a result is displayed as a suggestion for the story. Also, the players are not affected by the opinions of the other participants.

This method has many advantages, and it's been proved to be as accurate as expert estimation. So, continuing with the this tool, the players will select an effort card, a pass card in case they decide they don't have a clear opinion there, and a coffee mug if you are not there or whatever other use you give to that card.
Selected card

After the player have played their respective cards, the dealer will will them with the 'flip' button and an effort value will be suggested to the story. This will continue for each story in the inventory.

Effort assigned

As you can see, it's pretty simple, to the point that you think that it may not be really necessary. But there are 2 point to take into account here:
  • The estimations (in my experience) ARE better
  • The game is really simple and fun. This can sound futile, but when you are working with people in a team, you have to make sure they stay motivated.
I find this tool very interesting, and so far I saw that indeed works. The UI is friendly and you'll get used to it in a few moments after you see it for the first time. There are some limitations (like the number of players) for the free version, but I encourage you to give it a try! You might find it as useful as I did.

Wednesday, June 8, 2016

Sharing folders between Debian and Ubuntu


Sharing folders is no so straightforward in Linux as it is Windows, but it's not so complicated either. So, I'll show how to share folders between a Ubuntu machine and a Debian one. I like to use these strange combinations so we don't depend on Ubuntu's features (like I saw in many tutorials about this). Also, often we find most of the weird problems with this kind of combinations. So, let's begin!

Environment:

1 VM with Ubuntu 14.04.1 64bit
1 VM with Debian 7.8.0

I'm working with VMware Workstation 11.

Steps:

1. Open the Debian machine
2. Go to Applications > Accessories > Root Terminal and enter your credentials.
Root Terminal
3. Install Samba with the following command: apt-get install samba. Take into account that normally you would have to include  "sudo" in the command, but now we are working in the Root Terminal, so there's no need for that. You might be prompted to insert one of the installation disks, so do it and continue with the installation. When it finishes, you should see this:


4. Now select a folder to share and put some content inside. I created a folder called 'Testools' in 'Home'. Also, I put some images inside:
Testools folder

3. Go to Applications > Accessories > Root Terminal
4. Enter the following command to edit the Samba configuration file:

gedit /etc/samba/smb.conf

5. Go to the bottom of the text and add the following entry:

[test]
path = /home/user1/test
read only = no
security = share
null password = yes
case sensitive = no
comment = 'This is a test for Testools'
guest ok = yes
browseable = yes
umask = 000

Don't forget to replace 'user1' in the path for your user name. Save the file.

6. Give the folder the permissions you need. In this case, I'll give permissions to everyone to read and write the shared folder with this command:

chmod 777 Testools








7. Restart the Samba Service:

service samba restart

8. Turn the Ubuntu machine on
9. Open the file explorer
10. Click 'Browse Network'. Now you should see the domain where you installed the Debian machine:
Testools domain
11. Double click TESTOOLS > test (that's the folder you shared from Debian)
Test shared folder
12. Now, double click 'test' to check if the file you shared is displayed inside the 'test' shared folder:
Successful share

And that's it! I hope this is useful for you!