Tumgik
dinahungary · 8 years
Text
How to Become a QA Tester
Tumblr media
Image credits: Catherina Severin
I am often asked whether a QA should have a degree in IT, or a degree of any kind of that matter.
What’s my answer? Well, I tell them that the road to becoming a  great QA is not perfectly defined like becoming a doctor or a lawyer. It requires the careful development of personal skills as well as professional ones and that is far harder. That’s why, as a subject, it is so hard to teach (and learn for that matter!).
I personally believe that technical skills and hard skills are learnable and practicable, and you can gain this experience along the way. The difficulty is, becoming a QA requires constant self-development not just with the technical skills, but with the soft skills too (click to tweet).
The good news is getting started is pretty straight-forward. Just get a foot on the career ladder as Software Tester and you’ll soon be heading in the right direction, but be prepared to work on your personal characteristics if you want to make the leap and become a successful QA.
What do I mean by characteristics? Well, there are certain attitudes and personality traits which are essential to be a real QA and even more important than technical knowledge or a nicely framed certificate. Bag these skills and the sky’s the limit for your career.
Within this blog post I will list all the soft and hard skills you will need and give you some guide on how you can improve them.
The crucial soft skills for a good QA
User centered/ user point of view
Testers must be able to empathise with the potential user, sense their behaviour, understand their needs and then use this insight to support the developers.
Tumblr media
Image credits: StepFeed
Good communication (psychology of testing)
Errors and bugreports have to be communicated in a constructive manner because designers, PMs and developers can be sensitive. Every tester is proud when they detect a bug in the system, but you have to be careful not to be too proud, because that could hurt the devs feelings.
Tumblr media
Image credits: Enter the Void
Precision & monotony tolerance
Yes, there is a part of this position which is not so creative and exciting.
Tumblr media
Image credits: Giphy
Confrontation skill
This one is a bit complex. On one hand you have to be able to stand up for your opinion (even if you have nobody on your side). As a user centered person, you know best how the users are using the product and how a change would affect them, so it’s your job to represent their needs. On the other hand you need to know how far your responsibilities reach - you have to point out the risks, you have to be able to make a case for your proposal but you also have to be able to let it go if business needs dictate.
Tumblr media
Image credits: Reddit
Fast learning and want-to-learn attitude
This one doesn’t really need much explaining. The tech industry is always changing, new solutions and new technologies emerge and you need to keep up with them so continuous learning needs to be a core part of your life.
Tumblr media
Image credits: Dystel and Goderich Literary Management
How to get these skills?
I’ll be honest with you here. You can’t.
Understanding technology and using tools are both highly learnable, but qualities like empathy, precision or confrontation management are hard to develop. Sure you can improve them by coaching or self-development but without the right soft-skill set you will struggle as a QA.
So before stepping onto the QA career path take time to look deep into yourself and honestly answer these questions:
Have I enough empathy to be able to put myself in the users’ shoes?
Am I a really precise person?
Do I stand monotony (even for a longer period sometimes)?
Can I really confront other people?
If the answers are yes, then QA is a good position for you.
Essential hard skills to pick up
Now let’s talk about the hard skills or technological skills you will need to develop. To help, I’ve ordered them by importance, so stick to the list and you won’t go far wrong.
Tech knowledge basics
This is an umbrella term with many things to learn within it. You should be familiar with the popular browsers and their attributions, the most common tech terms, the most popular coding languages, as well as the product development methodologies. It’s a lot to take in,right? Remember though, that it isn’t just about learning something off-by-heart - the real challenge  comes when you apply them.
Let me give you an example. When a new development starts, the potential user base of the product is defined. A QA needs to know the internet usage habits of that user base (or the segments of it), and which type of browser they usually use. For example if the product is for users who work at a multinational company they most probably use internet explorer.  While on the other hand a product used by teenagers needs to be optimised for mobile browsers as they are mostly using their phone to surf the web.
Dev tools
There are a ton of developer tool that can help us during testing.
One example is Firebug, an extension for Firefox, which allows you to inspect, edit and monitor CSS, HTML, JavaScript and Net requests in any web page.
Another one is Page Ruler, which comes in handy when the development is frontend heavy and all the pixels have to be in the right place. When the sites proper color is crucial then ColorZilla is your friend.
Now this part here really is worthy of a blog post of its very own, but for now I’m just going to highlight my personal favourites. You can find more great tools here, here and here.
Other useful tools
These tools are not tied so closely to the development but can really help with debugging, API testing and so on.
If we are testing where local debugging is not possible then using a tool like Charles Proxy is a great idea. There’s also Postman for API to make API testing easier (which is super easy to use by the way!).
Mobile technology
Testing native mobile apps is a world away from testing web applications. You have to be up-to-date on mobile trends and you have to have a firm knowledge of the operation systems.
The basic scenario is when you test the app in a real test device on all the operating system versions. Now this case usually never happens. In these cases you can use different emulators. These don’t behave as the physical devices all the time, but you can save a lot of money and time with them. I usually use this and this.
You can also use developer tools with mobile too, but these are usually defined by the team or the project. Examples for these tools are Testflight for iOS and Testfairy for Android.
Autotesting
Autotesting is usually done by developers but more and more QA Engineers are starting to do it too. There are different methodologies around it like TDD or BDD and it requires a deep tech and testing knowledge base. I personally believe that autotests done by a QA can lift the product development to a whole other level. You can read about autotesting by QA’s here and here.
How to get these skills?
Improving your hard skills is much easier than your soft skills. Here are some ways you can learn the technical part of testing.
Get a QA job (even an internship or a junior level or a freelance one)
Even if it is just something you do for free, learning on the job is one of the best way to acquire knowledge. Here are some tips on how you can land a QA job.
Get a mentor
I am sure I don’t have to explain why learning from a much more experienced person would be beneficial. You will get invaluable real life knowledge and real project experience. Priceless!
So reach out to you network, and see if anyone can take the position of being your mentor or set you up with one. Go to meetups too, where you can meet with people from the field.
Read, read, read
Get in front of your laptop rather than watching more Game of Thrones and read about testing. Read about the basics, learn about the methods try out the tools. You will be surprised how much you can pick up and how quickly.
What can you take home from this?
Find out if you have the right qualities to become a tester.
Are you good with confronting people? Can you communicate well, and be a psychologist when it’s needed? Can you really look into the detail and be precise at all times?
Be honest with yourself, because lying here will just make your life harder later. If your answer is no to these, maybe a QA career is not the best path for you.
Nobody was born with QA or IT experiences.
Nobody, me neither.
Before I became a tester, I had never learned IT and I had no IT experience. But I think everybody has the ability to become a great tester with the right attitude, even without IT knowledge.
When the time came for me to change jobs and I was looking for a new opportunity, every job offer included IT skills. I didn't understand why because I believed that a user-centric approach, helpful attitude and a business mindset are much more important than in-depth IT knowledge.
I hope you found this blog useful? Let me know what you think in the comment section.
-Mela
0 notes
dinahungary · 8 years
Text
How To Become A Self-managed Organization
Our organisational change - the whys the hows and the challenges
Tumblr media
Over the years I’ve often been called “dad” at work - in jest of course, but the sentiment behind it was genuine. I liked it, it pampered my ego to know that people saw me as the voice of reason, as the person that can decide (even very small) things. I was happy in the knowledge that I was empowering people, protecting them, and that they both trusted me and feared me as the upper authority.
youtube
                            source: Joe Sondow‏ twitter @JoeSondow
Aside from all the ego massaging, I did start to wonder whether the situation was really normal? I began to ask myself whether we work like equal, adult people here and if not, is that something we should address?
This lead me to an evergreen question: do we have staff who need guidance like ‘children’, or do we have adults who need advice and coaching only? (Click to Tweet)
Actually, research shows that if you treat people like the latter or the former, they will behave accordingly in the long run.
Well, after much deliberation, the time has come and we are embarking upon the greatest organisational change in Digital Natives’ 10-year history (and perhaps one of the biggest experimental changes in the history of man - or so it feels!). Can we really be in adult-adult relationships with each other? Can we be ourselves, wholeheartedly, in the workplace and succeed as a business? Can we really do self-managing responsibly?
Note: Below, I summarise from my point of view how things stand now in our organisation. Obviously we talked a lot about these topics, however I don’t see my opinion as the ultimate truth. As you’ll see, we invest in to uncover how the organisation see its own problems and future.
What key drivers have moved us towards self-management?
1) The desire for more creative initiatives and higher quality of work. (Perhaps some totally new ways of working might emerge too?)
The best new initiatives typically come from people who care about the organisation and the environment they work in, whatever role they fulfill in the company. Usually these caring folk are the ones with responsibility, and the ones with responsibility are usually the most proactive.
So, if we give people the responsibility and the opportunity to be proactive, we can theoretically do away with the ‘it’s not my job mentality’ and move forwards in a happy, creative and productive workforce.
Our idea? We will encourage people to make things happen themselves instead of waiting for ‘Dad’ to approve or judge it. From now on, we say just do it to the best of your ability, and ask for advice if you need it. (Click to Tweet)
2) Exponential personal development: self-awareness and fearless-cooperation
We are all guilty of not speaking our mind, through fear of saying it wrong, sounding unprofessional or upsetting people. Sometimes the problem is not giving feedback promptly enough or diluting the message because we are wary of our lack of ‘soft-skill’.
This lack of conflict resolution can become poisonous for a business and hinders both personal and professional development.
Our idea? We will express what we really think and how we feel. Not from our egos but from our deeper inside. When you spend up to 10 hours a day with someone, doesn’t honesty make more sense? (Click to Tweet)
So how did we arrive at this big organisational change?
Leadership, ownership, culture and organisational practices
Thankfully we do have a very strong self-organising mindset:
The most important prerequisite is the Founders / CEO mindset: how we see human nature and what we think about the world around us. Leaders should have the strong personal belief that we can operate without strong top-down control and micro-managing. Thankfully this is given in Digital Natives, because of our long personal development and self-reflection journeys, yet, there is always room for improvement.Current leadership and owners (Lucas and I) are committed to making these changes even if it won’t be easy.
We work on the legal side to execute an ESOP (Employee Stock Ownership Program) to encourage the real shareholder and entrepreneurial mindset
We act in multiple roles, eg. Developers do HR, Project Managers do Marketing stuff and so on. We don’t really care about job titles but the job has to be done.
There is a very strong in-house self-development program that allows us to make extreme horizontal role changing. People can decide how they spend their self-development budget and time.
Let me give you my favourite story. In early 2015 we had to restructure our seating plan in the office - it was a painful process! Some leaders (me included) closed the door of the meeting room, then 1-2 (very exhausting) hours later we came out and stuck the new plan to the wall. Many of us were close to rebelling.
One year on and the seating reshuffle happened again, only this time it was a totally different experience. Some people sensed that we needed to totally restructure our office space. What did they do? They walked around the office, and discussed the needs and barriers of each team.
Then, they made decisions based on their collective intelligence. The quality of outcome was uncomparable with the first re-seating session, since everyone participated and supported the process. Because of this engagement, we made the most optimal decision - optimal for the community and not for the ego-warriors.
You might ask: how do you start to re-design an organisation?
We used Frederic Laloux’s, more than inspiring book of “Reinventing organisation” as the basics (it’s a collection of good practices of the self-managing organisations). This book offers an evolutionary approach to understand the organisation development paradigms:
Tumblr media
                                     source: www.intelligenthq.com
Here’s some guidance on analysing the various stages of the organisational development.
Using workshops we gathered the team’s thoughts on our current stage of development. We see ourself mainly in a Family model (39%) and as a Self-organised (23%) team, but with some Hierarchical-machinery (24%) and Military (10%) practices, also spiced with a little Wolf-pack (5%) feeling.
Where do we see the future of our organisation?
We’d increase the self-managing part on the expense of the top down structures:
Self-organised (44%) , Family model (42%) , Hierarchical-machinery (11%) , Military (2%) , Wolf-pack (1%)
Also, we were tracking what Digital Natives means for us as an organisation and the key values we share. Here’s a list of the most significant ones:
Tumblr media
What can you take home from that:
It’s very important to understand where you are and where you want to go with your organisation’s practices. This gives the direction you will need to initiate any changes.
The organisation is a mixture of different practices and beliefs: it’s not a homogeneous mass of self-management or military-like entities, but melting together different people with different expectations and mindsets.
If you’re transforming an existing organisation, you should not start by adopting a method like Holacracy. Not because these method are bad, but because the organisation has to be prepared and willing to adopt a rigorous playbook like Holacracy. We almost made this mistake, however I’m sure one day we’ll adopt something like this.
Hire external facilitators (Tamás Hovanyecz, Melinda Várfi) to help this process. You’ll need someone who has no interest / shareholder role in the organisation, so that you, as a leader can express your thoughts and feelings like anyone else, without having to pay attention to controlling the process. Also, this makes sure everyone’s voice is heard, and not just that of the opinion leaders.
Pay attention to personal development. We hired a coach (Emese Király, zuango.hu) to help sharpen our self-reflection skills and practices, since this is a key element in accepting the responsibility that comes with self-management.
Yes, it’s very hard to transform an existing organisation to self-management, even with a strong self-organising culture like ours. There are many doubts and questions in everyone’s mind.
Our next big challenge will be to get together for a one day retreat to process our tensions and talk about what we really want to do as an organisation. It’s really important not to execute what I believe personally as the CEO, but what we believe as a company.
Have you ever experienced an organisational change? Do you have any ideas or advice on self-management? Let us know - we appreciate your contribution!
- Kristóf
0 notes
dinahungary · 8 years
Text
The 3 Proven ROI Gains From User Experience
Tumblr media
User experience (UX) is an elemental part of today's business world. Being conscious about the value we gain with investing in user experience is vital.
User experience (UX) nowadays isn’t a mystical area. It has a long history of being measurable and proved its ability on bringing return on investment (ROI). It is true that there are cases when measuring the exact ROI of UX is tricky, but it’s far from impossible.
Countless studies proved that there are many ROI of UX statistics, that bear value to anyone needing to justify the business case for UX. Let’s just remember of Dr. Susan Weinschenk’s amazing video on the connection between user centered design and ROI. Or the seminar Experience Dynamics gave on the ROI of User Centered Design.
Here at Digital Natives we also believe that great user experience results in detectable ROI. In this infographic, we highlight what investing in UX can bring to you:
More satisfied users thanks to better user experience leading to improved loyalty
Saving money via reduced wasted development time and decreased customer support costs
Higher revenue thanks to increased conversion rates, improved retention.
So let’s see what are exactly the main ROI gains that can come from user experience. (Click to tweet)
I hope you found the infographic useful. I’d also love to hear your insights on the topic, so leave a comment below.
- Daniella
0 notes
dinahungary · 8 years
Text
Habits that are dampening your ability to think strategically
Tumblr media
(Source)
                                                             “All men can see these tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved.” -  Sun Tzu
Many professionals have assumed the role of leaders and managers, but not all of them can be good strategic thinkers who always have the big picture in mind and drive change and growth for the organization.
In many cases, even founders lose sight of the overarching vision that got them started in the first place.
Here are few habits that are dampening your ability to think strategically:
1. Indecisiveness
Clarity is the best friend of strategy.
If you are not able to decide on a course of action, how will you be able to decide on a strategy? The prerequisite to be able to think strategically is to have an end in the mind; without a final goal, there is nowhere you can go.
“Nothing is more difficult and therefore, more important than to be able to decide” - Napoleon
Here are a few reasons why indecisiveness will undermine your strategic thinking skills:
Your thinking is unclear when you are unsure about your choice.
Remember those times when you were just not able to decide between two things and, in the end, you choose one blindly, out of sheer frustration? Indecisiveness leads to impatience, which will lead to bad calls.
Bottom line: If you have the executive yips, work to resolve it first, before you move into the strategy aspect of leadership.
2.  Take it as it comes attitude
Do you know the major difference between a great follower and a great leader? Both are talented, both are diligent, both are able; the difference is that a leader can anticipate trouble before it comes.
Most leaders look straight ahead and only ahead; this would be a great strategy if we are living in a 2D world, but we are not, and trouble can come from any direction and at any time - trouble can come in the form of increasing oil prices, raw material crop infestation etc.
Of course, we cannot predict the future as is, but a strategic thinker should be quick enough and alert enough to be able to anticipate the impact such events can have on an organization, and act on it before the impact is felt.
It is important for a leader to nurture and develop a peripheral vision.
Here are some tips:
Always be on the lookout for game-changing events transpiring across the world.
Develop a wide network throughout various industries, so that you are privy to information even before it’s out there.
Bottom line: You cannot be a great strategist and a leader if you can’t sniff out the danger in advance.
3.  Focusing only on finishing
For most of us, the goal is to get things done, as many as possible and as fast as possible. We associate this with productivity and success.
It’s a great aim, but not always a smart one.
As a leader, if you are too focused on getting the task done and improving your numbers you will fail to see the bigger picture.
The team Philadelphia 76ers made a very unconventional call by deciding to lose games on purpose to bag a bigger win. The idea is to trade their top players and build future stars in the interim. Instead of focusing on bringing victories home, they are focusing on bringing the spoils of victories home. Now, I am not sure if this strategy is going to bring a win home, but I can say that the team has a better shot at success doing this, than by running after a mediocre number of wins.
Again, this point is about making tough calls, but it is also about seeing the bigger picture and not letting yourself get carried away by the short term wins.
Bottom line: Leave the short term productivity goals to your team, they can handle it; your job is to think about the long-term goal and the big picture and see if everything is fitting into that.
4. Being change resistant and ignoring new perspectives
Narrow-mindedness can not only kill your ability to lead but also your ability to come up with strategic solutions to problems. Shutting out new ideas and perspectives can make it easy to take decisions, but it definitely will not help you take the best possible decision in a situation.
Let’s consider Blackberry’s failure for example - one of the main reasons why the company failed was because it continued to manufacture keypad mobiles, although it was quite evident that touch phone is gaining popularity. This is only one among the many reasons for the company’s failure, but nonetheless, they ignored change and new trends in their industries.
You can push yourself to open up to new perspectives by having discussions, brainstorming sessions with your team members and your trusted colleagues; listen to what they have to say, before making decisions and forming solutions. This is exactly why it is important to choose right people in a team and an organization. They can help you think differently and broaden your perspective.
Bottom line:  If you choose to ignore change, you might as well tap out now.
5. Romanticizing your plans
We all have been in those situations where your inner strategic thinker is telling you it’s time to quit that project, but, because you are so much in love with the project you built from the scratch, you just don’t want to do it.
We tend to form a cognitive bias towards things that belong to us, such as our ideas, our projects, our teams etc, but this bias may not let you think straight and objectively when you have to make a tough decision.
At my startup Hiver, we strictly follow the 3-month rule. Any new project we start working on, be it a new sales strategy, a new marketing project, or a new product development idea - we believe that it will take a fair bit of time to start showing results. Until then, we put ourselves in a critical mode where we assign one member to brainstorm on all the possible ways the project could fail and anticipate what issues may come up and they will work on a plan B or a new version of a plan A, depending on the problems/issues anticipated. No romance with the oh-so-cool idea here - all feasibility!
Bottom line: You need to have the ability to make tough calls if you want to be a strategic leader and thinker.
“Strategy is about making choices, trade-offs; it's about deliberately choosing to be different.”  - Michael Porter
Author - Niraj Ranjan Rout
Niraj is the founder of Hiver (hiverhq.com), an app that turns Gmail into a powerful customer support and collaboration tool.
0 notes
dinahungary · 8 years
Text
HAS YOUR CLIENT GOT A BAD CASE OF FEATURITIS?
     The what, why and how of beating feature creep
Tumblr media
You are in the final throws of development and just a few days away from delivery. The team is a little behind schedule but you know that if you push it, everything will be fine, and then BOOM! A new feature request lands on your desk and with your head in your hands, you start to realise the damage it could cause. Sounds familiar?
In the development world we call this phenomenon ‘feature creep’. It’s a sneaky little creature which tempts even the most experienced clients and team members. The problem is, by this point in the process, the well-known (and rather useful) phrase of brainstorms has all but vanished and you’re simply left with "Hey, wouldn’t it be cool if we added (insert feature or capability here)."
But what is feature creep?
Tumblr media
                                 source: http://zanesafrit.typepad.com
Feature creep (aka scope creep, requirements creep or my personal favourite, ‘featuritis’) happens when a new function is requested AND either nothing is removed to make way for it, or the client drops a considerably smaller feature than the one they have just introduced.
And what is feature creep not?
Change in scope. It is crucial to realize that -especially in an agile environment- change is a substantial factor in projects and our goal is not to avoid but manage it. If a new feature comes in, another one with the same size should be removed or the team will not be able to deliver on time and budget.
Define the undefined. In agile project management we must first and foremost have a high-level understanding of what the project is about, defining the exact functions step-by-step as we progress throughout the project.
Why is it happening? 
Feature creep may be driven by a client's growing "wish list" or by developers or designers themselves, as they see opportunity for improving the product. Either way it mostly comes from a wrong assumption that more features will create happier customers.
Tumblr media
                     Source: http://thelogbox.com/blog-feature_creep/
Why do we think more feature will help?
Users will need it
How do you know? Have you tested it with customers or are you guessing?
Competitors have it
It doesn’t mean you need it! If you copy your competitors’ bad features, you will deliver the same bad product - with delay.
It can be optional
If it’s optional, it’s not that important. If it’s not that important why do you want to implement it? Even optional features make users feel overwhelmed, let’s focus on delivering core values on an exceptional level.
How can you handle it?
To some extent, feature creep is natural, especially in agile environments where we don’t have hundreds of pages of project specification.
But if you want to keep this creep in control you basically have 3 options:
Say yes
Say no
Compromise
Say yes
The biggest problem with allowing feature creep is that it’s like the trojan horse. If you let one in, other soldiers will follow and believe me, it’s a lot harder to stop an army than a sole warrior.
Never allow a feature creep without a thorough evaluation with your team. Although you can say yes, if it doesn’t require more resource than a couple of hours, like a small change in design or smaller modifications in the code without changing the business logic.
Say no
Sometimes the best answer from the project’s perspective is ‘no’, but as an agency, it can be difficult or damaging to give a definite no to your client.
You have to say no when the feature is just unrealistically big and there is no way to squeeze it into the itinerary without risking the delivery. These are two very clear situations when saying no is the better choice but there are more sneaky ones, which you have to look out for.
Make an agreement
Aim for a win-win situation. Or rather a not-to-lose-too-much situation. The team and the client together might find another way that solves the original problem (the reason why the feature request came up) which takes less resource so it can be completed within the original project timeframe.
Of course each project manager has their own methods, so take a look at some other ways to avoid feature creep.
In the agile manifesto, one of the twelve principles is: “simplicity - the art of maximizing the amount of work not done - is essential” - always think of this before you want to add more features to your product.
All in all, there is no ultimate practice for handling feature creep but it’s always beneficial to think it through thoroughly before implementing a new feature and it’s always worth testing whether the problem you have been asked to solve really exists and whether the new feature really holds the solution.
So did you have any experience with feature creep so far? If so, share your insights and learning in the comments below.
-Laci
1 note · View note
dinahungary · 8 years
Text
Make 2016 an agile year!
Tumblr media
Download our 2016 calendar that helps you remember what makes a good agile project. Each page tells you about one of the twelve principles of the Agile Manifesto.
0 notes
dinahungary · 8 years
Text
Lego robots, retro gaming and product improvements – our one-day hackathon in a nutshell
youtube
For the team at Digital Natives, 2015 was a great year. We worked hard on some really interesting products and we expanded our minds both personally and professionally. To celebrate a successful year, we decided to challenge ourselves by organizing a one-day hackathon.
The formula was simple: five teams, five projects, one day.
Do you want to see the results?
1. Project meet Alexa: What can we teach the Amazon Echo to do in one day?
The team: Anita, Gui, Juan, Kristóf
What was your idea?
“To teach ‘Alexa’ the Amazon Echo to create a new card in Nostromo, complete with a full description.”
What do we need to know?
“Nostromo is a project management tool for agile development teams which uses a kanban board with cards for each project task
Amazon Echo is a wireless speaker and voice command device from Amazon.com which responds to the name "Alexa".
The device is capable of voice interaction, music playback, making to-do lists, setting alarms, streaming podcasts, playing audiobooks, and providing weather, traffic and other real-time information
The device can also control several smart devices at once.”
What technology did you use?
“We wrote the business logic in Node.JS because it is easy to run on Amazon Lambda (or on your own environment) and of course we used Amazon Echo and the Alexa Skill Kit.”
What challenges did you face and did you succeed?
“The Amazon Echo and Alexa were surprisingly easy to set up, and would pose no real difficulty to a non-technically minded person which we like. The detection it provides is absolutely real-time and because you can communicate with Alexa in sentences, it feels like she is in the room with you!
That said, the free text understanding of the app is very limited and backed by limited support. So if you’re not working with a list of words provided beforehand it can block easily.
Another disappointment is the poor error messages being really hard to debug once an error has occurred – with so many components on your workflow: Alexa Skill Kit, the software you wrote for connecting the two apps and the Nostromo app. And as the error message does not specify in which app or connection point the error occurs, it is really hard to find the source.
Despite all the difficulties by the end of the day we were able to create a card with a full description by commanding Alexa to do so.”
youtube
2. Project meet Jarvis: The smart office of Digital Natives
The team: Amr, Boni, Dani, Guszti, Viki
What was your idea?
“To announce the arrival of a person into the new Digital Natives office by playing the favorite song using Jarvis.”
What do we need to know?
“Digital Natives are about to have their office renovated so we wanted to create something which added a certain personality to our new office interior
We liked the idea of a smart office and the concept of using a ‘if THIS then THAT’ method
We decided that a notification system would be a good demo for our theoretical smart office so settled on the arrival of a person into the new office
The arrival of said person would be defined by them connecting to the wifi, which is when the song would play.”
What technology did you use?
“We used both backend and frontend development. For the backend we used Crystal and for the fronted we coded in Elm.”
What challenges did you face and did you succeed?
“From the technology side were able to program the frontend really fast because the Elm framework made this possible. The programming of that part went slower than the frontend development, as we first had to familiarize ourselves with the Crystal backend language.
The main challenge was to work with the unstable wifi network, as every reconnection triggered playing a song. This made the project a bit difficult. Because the basic functionality was programmed quite quickly, most of the day was dedicated to fine tuning and further brainstorming.
By the end of the day we finished the project and the background for further triggers. So we are happy to say that we created a smart office in one day. :)”
youtube
3. Project capture the flag: Team SUI hackathon
The team: Balo, Iuri, Mela, Zoli
What was your idea?
“To create a CTF (capture the flag) style multiplayer game played with Raspberry PI computers – simple!”
What technology did you use?
“We took two RPIs and bought SenseHat[1] boards for each. We used the 8x8 RGB LED matrix as a display and the gyroscope sensor as the controller. The available space on the display was a huge restriction but we wanted to do something with a retro feel.
We made the decision to use Elixir and Phoenix as a central game server, Python for control the hardware and NodeJS for communicating with the game server. We used the Phoenix channels protocol on top of WebSockets for near real-time communication.”
The Architecture:
Tumblr media
What challenges did you face and did you succeed?
“There were two main challenges. The first was synchronising our work since our team had two developers, one QA and one UI designer. The other was using unfamiliar technologies (NodeJS, Python) because Phoenix has only JS client implementation for channels. We needed Python for the hardware - SenseHat has a really good library to control it. Redis also seemed poorly supported with Elixir.
Our project proved to be too complicated for a one-day hackathon but we still think it is a cool project. If you agree, follow the development here[2].”
youtube
4. Project scribble on the wall, tech style
The team: Dani, Feri, Gex, Pisti
What was your idea?
“To create a robot that could draw on vertical surfaces.”
What do we need to know?
“With the Digital Natives office revolution just around the corner, we wanted to create something which was both useful and decorative
There are lots of projects out there where robots draw on horizontal surfaces, but we wanted ours to draw on the wall!
We wanted our robot to be made from lego!”
What technology did you use?
“For the lego robot we choose the new mindstorm ev3 model. As for the software we didn’t want to use the provided software - we wanted to write and use our own.”
What challenges did you face and did you succeed?
“Despite the lego being really easy to handle and build, it fell apart because of the big forces that emerged while moving the core of the robot on the wall. The basic idea was to attach the robot to two anchors on the wall, and moving to every possible position by manipulating the attached string lengths. Other than these it was difficult that none of us had any previous experience with machine programming which made this aspect of the project a real challenge.
The project was really complex so we did some preparation and prototypes before the hackathon day. Despite that, we started from scratch in live, so most of the time elapsed with building the prototype.
After many prototypes our robot was able to move and draw on a limited area of the prepared canvas, which was a really good achievement in one day. Also we were able to control it through the wifi network, which was also one of our main overall goals.”
youtube
5. Project going live with Better Holidays
The team: Daniella, Krisztián, Laci, Lucas, René
What was your idea?
“To improve our inhouse Better Holidays tool so that we could launch it to the public.”
What do we need to know?
“Digital Natives use an inhouse developed holiday planning tool called Better Holidays
Feedback has shown us that there is a market for this product outside of our own four walls
The product needed refining to make it ready for public use.”
What technology did you use?
“This was an ongoing project in Digital Natives, so it wasn’t a real choice. The project was written in Rails, and we used a Bootstrap theme called Material design. For the calendar view we used simple_calendar gem.”
What challenges did you face and did you succeed?
“The main challenge was the timeframe. We came up with a tonne of new feature ideas and improvements, but to finish them all by the end of the day seemed pretty impossible.
We worked on different parts in parallel, developing new features (like calendar view), redesigning the tool and creating a landing page that can introduce the tool as a whole.
We didn’t finish the project, but we set a good base for future development.”
youtube
Have you ever held or taken part in a Hackathon? We’d love to hear all about it, leave us a comment!
-Digital Natives Team
[1]: https://astro-pi.org/about/hardware/sense-hat/
[2]: https://github.com/digitalnatives/team-sui
0 notes
dinahungary · 8 years
Text
How to Rock Automated Tests as a QA?
Tumblr media
In my last article I introduced a new way to plough through automated tests; automated acceptance tests written by a QA (otherwise known as me!).
You may remember we finished by setting some tasks for the future:
Reviewing and discussing the existing tests (because even though current automated tests are still reliable, it’s inevitable that they will lapse over time if not maintained)
Redrafting reviewed tests (if it is necessary)
Writing new tests for new features
Increasing automated test coverage
After all the groundwork was done I set about writing tests. At first it was a difficult task; I relied too much on the developers and I had lots of questions. Using the tools familiar to developers wasn’t a problem, the main difficulty was creating the prerequisite state with the smallest possible dataset for the tests. That was clear for the developers too.
I struggled with defining the step definitions because in most cases there was not a good example or a base I could work from. The existing test was hard to understand at first too. Writing automated tests must not be at the expense of manual testing, so the learning phase took time.
I started at a slow pace by writing only one or two tests myself, and the rest were written by the developers. Thanks to the developers for their support!
At that time it was very frustrating, but like everything in life I needed time to learn and practice. After a month or two I was getting better and faster. After three months I was able to write the automated test for two sprints, one of which lasted four weeks. This made it possible to use BDD testing before the development of the new feature has started.
The new method went surprisingly well! As the tests were written by me and they focused on the business logic behind the feature, the developers didn’t need to figure it out themselves. Inevitably this took of a lot of weight off their shoulders so they have more time to spend writing the code and fixing upcoming issues.
I was also in constant contact with the product owner, which made sure only a really small amount of bugs came back after the development and these were covered immediately by the developers in the next round. I can safely say that this increased the trust even more between us and the client.
For the next sprint we deliberately went with this method. I wrote the automated tests which happened to be too detailed and it was hard to get out the information they needed. That’s how we figured out how detailed the test scenarios should be. (Side note: we did not discard these tests – even though didn’t use them they will be the base of our regression test collection).
How do I write the tests?
In most cases the development is based on an existing feature. So as I know the feature, the method is the following:
1. Planning
When I start to plan I always use the tried and tested note system. I create a list of all the aspects that need to be considered when testing, including the type of users. It forms a summary of all my questions that need to be answered by the client.
Tumblr media
2. Writing the test
When I talk about writing tests I am talking about writing the conditions and the environment for the test. As I am a visual type of person I figured out a way that makes this easier. On one screen I have the test environment open and on another screen I have the product itself. I can see what exact features are on that part, and what will happen if make changes, like put another button to the site for example.
3. Testing
When I begin testing first I check whether the test I wrote creates the correct conditions if it covers the workflow I planned. How do I do that? Well for this part I use our very own tool, which is a small extension for Cucumber in the form of an interactive profile that allows me to slow down the usually hyper fast automated testing. With this I can check every line of the test and I can do this by watching the triggered event happening in the interface.
View post on imgur.com
BDD - proudly adopted by Fluenta
So what happens exactly? Every line is triggered by pressing ‘Enter’ and as a line activates I can see the event it triggers in the software.
This development does not just help me in figuring out what happens when a line gets red during the automated tests, but also enables us to test the business logic behind the feature before it’s even developed. In addition, it lets us show the workflow to the client – building trust and highlighting any bug or misunderstanding about the feature, before it is developed.
With this method we are able to reduce the number of bugs, ease the work of the developers and build trust with the client. I now write all tests in this way – whether positive or negative, to cover all possible scenarios. We work more effectively, our relationship with the client has improved and we are exploring even newer methods and possibilities.
The takeaways
There are three main advantages of building a new feature like this and using this method on a daily basis:
It supports the work of our developers, removing a lot of weight from their shoulders and letting them focus on the development
We are able to demonstrate the feature we’re about to develop to the client by using the interactive mode
The client can validate the feature and a business logic behind it based on these tests, reducing the possibility of developing it the wrong way
What’s next?
So this is where we are now, and we do not plan to stop here. We would like to get to a point where I am able to create the whole background of a test all by myself, with minimal help from the developers.
Stay tuned to find out where we’ll get in the next few months and if you have any insight or questions, please share with us in the comment section.
-Mela
1 note · View note
dinahungary · 8 years
Text
Promoting your business abroad?
The why, where, who and what of getting the most out of your trip
Tumblr media
It’s not unusual for a startup, especially one in the technology sector, to integrate multi-national expansion right into the very fabric of their business plan. Whether it’s targeting strategic countries one at a time, or taking the global market by storm right from the off – it seems that these days, eager jet-setting entrepreneurs are not afraid of travelling the world in search of success. 
Does this sound like you? Perhaps you’ve already taken to the air in the name of expansion, or perhaps you’re first trip is just around the corner? Well, we’ve just got back from one such trip to Berlin and wanted to share our four point matrix for getting the most out of your trip - it’s the why, where, who and what of promoting your business abroad.
Why?
Before you go, make sure you have a clear understanding of WHY you are going. What are your expectations?
Are you going to do market research? Meet your target audience, check out your competitors, find local USPs?
Are you going to build your network? Find local contacts, communities which you can use as channels or partners to work with?
Are you going to validate your ideas on new markets, or get new ideas?
By deciding why you need to go, you can better prepare how you’re going to spend your time away, which will of course maximize the outcomes of your trip.
Where?
So you’ve identified which country you want to penetrate and you’re going to jump on the next flight out there. Before you do, take some time to consider where exactly you are going to go. Remember, this isn’t a sightseeing tour, so pin down some locations and plan your travel arrangements accordingly.
In many cases you can find offline events online, which are great for meeting your audience in person – whether at expos and conferences, or meetups and facebook events.
For expos and conferences, eventbrite.com is a good place to start searching. For meetups, meetup.com is the obvious choice. Many meetups are seat-limited, so the earlier you check them, the better (they are usually announced a good few weeks before the event). It is trickier to find suitable facebook events – sometimes you even need an invitation to the event or the group that organizes it, so you’d better think about them well in advance.
These events often fall into two categories:
Those where other players in your business meet and exchange knowledge (good for networking and getting inspiration)
Those where your target audience meet (good for promoting your solutions and getting more insights)
In the latter case, you can learn more about the problem your product/service aims to solve and measure the viability of your solution. Remember to go with an open mind to learn about other customer pains your target audience share.
It’s a bonus if you can find the opportunity to give a presentation. The best first impression you can make is giving, especially if you give something that people can instantly connect to. In Berlin we had the chance to give a presentation at an Elixir meetup about our practical experience, which resulted in fruitful networking later.
Whether or not you get chance to exchange business cards can vary by event. Meetups range from quick ones, with one or two presentations after which everyone takes off in a snap, to those that are purely for networking without presentations. At some, anyone can give a short pitch of their idea/product.
If you have groups on the radar but no events scheduled to the time of your stay, you can join the group and suggest an event, saying you will be in town, and you are happy to talk about your experience (if you can bring real tangible value to the table). Groups are usually curious how other cultures deal with the same problems they have.
Who?
Perhaps your trip is more about the who than the where and you are interested in finding partnerships or suitable incubators/accelerators for your business? Obviously in this situation, Google is your best friend, but there are some other channels where it is worth digging a little: Quora, AngelList, TechCrunch, 500 Startups and more.
Looking for accelerator programs for our product development tool, Nostromo, we specifically looked on businesslocationcenter.de, which has a great list of incubators, accelerator programs and venture capitals in the city.
To find partnerships for our coding school, Green Fox Academy, we found coursereport.com, a great website for collecting courses and schools.
We used a quite simple spreadsheet template to collect candidates and organizing the information. You can download it here.
As for getting contacts, there is always the option to write to the general contact e-mail. But for more efficiency here’s a quick tip: there’s a wonderful tool called Email Hunter, which gathers all the related e-mail addresses to a given company domain. With this you can contact company members directly. For us this helped to get in contact with two companies out of five.
Last, but not least, it is always useful to have a pre-existing contact at the place where you are going. Look up in your professional history who you can catch up with. If you have a good partnership, they will be ready to introduce you to others.
What?
So, you attended meetings, met the people you wanted to meet and you were successful in making a good first impression – now everything depends on the follow-up.
Never leave without providing someone with their next steps – their call to action as it were. So many times we hear the line “can you give me something?” and we always make sure we do.
A business card, directions to learn more online, or even printed collateral. Always give them something to remember you by. If you haven’t got a website yet, then make sure you create a landing page or a nice PDF one-pager before you go so you have somewhere to channel people to – then you can simply give them the URL along with your contact details.
Have business cards in your pocket. It’s not unusual to go a while before connecting again with even the warmest of lead and in many cases all you have is a business card. Create yours in a way that makes clear weeks later to your new contact what you were talking about when you met.
But of course, if you can then do follow-up the next day. They will still remember you and you will look more dedicated and professional. Or, if you’re in town for a few days, find time for a second meeting in the company of some good craft beer. That always works. :)
Takeaways
Why are you going? What is the purpose of your trip? What isn’t? Make it clear – a lot depends on that.
Where do you need to go? Research well in advance for interesting meetings or events. If you can, schedule your trip accordingly, so you get the most out of it.
Browse among your local contacts, they can introduce you to others.
Who are you going to meet? Successful networking means giving first then listening – really listening
What are you going to give people? Gear up for a follow-up with business cards and a URL and follow up – be quick and professional.
-Dani
0 notes
dinahungary · 9 years
Text
Why do you need a team to make a great digital product?
Tumblr media
So what makes a great product? Everyone has their own definition, you have yours, I have mine. But what matters most is your markets, and what they think makes a great product – after all, you are making the product for them. So, with that in mind, it’s safe to say that a good product:
solves a real problem or need, and
is used in reality as a solution by those who have this problem or need.
Now, how do you build such a product? You probably want to start by spending some time with potential users, exploring the problem and how to shape a solution.This also prevents you from spending resources on false assumptions. Even if you are designing a not-so-complex, perfectly non-digital tool, like a snow shovel let’s say – you need to know your market and the problem you are solving so you can make the usage intuitive.
Do you have the skills it takes?
Okay, let’s sit down, grab a pen and put together a list of what skills you need to create that great product.
First, you need the skill of understanding your market and how your idea fits in, revealing potential market gaps, crafting a strategy – let’s call it strategic consultancy skills.
Building the concept, you will need to perform user experience research and design, for which you will need some serious research, conceptualization and validation skills: interview and understand your potential users, create wireframes, mockups or even a clickable prototype, get user feedback, measure their behaviour and learn from it for the next round.
Of course, you need the technological skills to build your product itself. So that’s frontend and backend development along with mobile and hardware considerations.
You also need some top notch design skills to create a refined user interface that lets users navigate your tool in an intuitive way. This skill set stretches to branding and tone of voice too which is all part of creating a user interface with serious wow factor.
Finally you need quality assurance skills. Putting into practice all of these other skills (which by the way needs project management skills) means nothing unless you are confident that you have created something free from flaws, hacks, blue screens or typos.
Oh, and let’s not forget to mention marketing skills, to let your customers know about your product, and build and maintain a fruitful relationship between them and your product.
Whoa! So many. Each superpower above is a profession by itself, with its own science, set of tools, methods and best practices – and your product needs all of them.
You may want to cover some of them yourself. But even if you feel experienced at each, there are only so many hours in the day, so you are going to need some help.
Without a team
Do you always need a team to cover the skills above? No. You might argue that you only need developers and you may be right. Maybe you have your business plan, or a working product that only needs a little facelift. At this point, you know your project better than I do.
However, we experienced that even in these cases, you are better off with a team – with a twist. We believe in implementing the right skills at the right time, throughout the project, all managed seamlessly by a project manager. It’s a bit like sheet music – the PM is the conductor and the professionals are the musicians. The smallest team we work with is three people and one of those would be you. But it is much more common to have a pool of experts, and as we move towards completion, you will work with each discipline as required.
Tumblr media
                                               A simple sheet music
You might also say that you could project manage the work yourself and that you don’t need things like UX. Well, we would advise that you research these professions carefully and talk to your developing team because there are lots of common misconceptions that might catch you out.
If you are concerned about cost, compare their hourly rate to yours and take a good look at your diary – do you have time to commit to the product in order to make it a success? Will you lose money elsewhere by trying to save money here?  
The last thing to note – be wary of those who promise they can deliver all disciplines. Could a bricklayer build an entire house from start to finish?
Here is the list of scenarios you can choose from, from best to worst:
You hire a team of experts – one for each role, working together under the same roof
You hire experts who don’t know each other yet (if they will work together remotely, worse)
You hire a non-expert (e.g. your developer will do UX, or even worse: yourself)
You wait for your customers to point out the bits you missed or did badly – by ignoring your product
But enough of this gloom and doom – let’s see the plus side now.
So what are the main advantages of hiring a team for your project?
We saw the above team renting model work in multiple cases – yours will probably be one of them. Here are some advantages for consideration:
First up, experience. It definitely pays to hire someone with up-to-date experience. More experience also means routine and effectiveness and that is a money-saver.
Second, brain power. How does that saying go – two heads are better than one? So a whole team would be great! Team members share feedback, ideas and inspiration, deliver great brainstorms and clarify the blurry points.
Third, you. Your knowledge is essential for the team to deliver your product, but that is all you need to contribute. Don’t take on extra roles and stick to what you know best – your vision for the product.
Takeaways
If you build a digital product, you will have many more aspects to cover besides development
You cannot play a team sport alone, you had better learn to pass the ball
You can save a lot of money and frustration if you hire a team of experts, who preferably already know each other and work together
You are a member of this team, and as a member, only contribute your strengths
If you ever question whether you need an expert for a particular role, always ask yourself – is good enough really good enough?
-Dani
3 notes · View notes
dinahungary · 9 years
Text
Must have chrome extensions to boost your productivity
Tumblr media
In our last blog post, we shared the must have Chrome extensions for a professional developer. In this blog we are drilling further down into the endless list of available extensions to bring you the very best there is when it comes to boosting productivity - plus some handy tools and tips along the way.
Claw back valuable minutes or even hours, by building the use of these awesome extensions into your daily work.
1) Unlimited free vpn hola
You can access websites blocked or censored in your country, company or school and stream media. A really wonderful thing about this extension is that it does not link to neither does it encourage the download of any other products - it’s fully functional as all by itself, without requiring any additional download/component. Nice!    
Why we love it?
Hola is a free, ad-free and provides a faster and more open internet. And if that’s not enough, it's really easy to use and you can try out shows from different countries with just a click of your mouse.
2) The Great Suspender
Automatically suspends unused tabs to free up system resources and reduce the memory footprint of Chrome.
You can configure a period of time after your tabs are auto-suspended or they can be suspended manually - you can also whitelist tabs that are important to stay active. Suspended tabs will still be there even after closing and reopening your browser, which prevents tonnes of tabs reloading at once after a restart.
Why we love it?
It is very simple with a very intuitive interface and most importantly it helps to reduce Chrome's memory footprint for those developers who like to have lots of tabs open at the same time.
3) OneTab
We’ve all done it - opened tab after tab and suddenly realised we’re swimming in the things! If this is you on a regular basis then OneTab is a dream solution for you. Whenever you find yourself with too many tabs, click the OneTab icon to convert them all into a list. When you need to access them again, you can either restore them individually or all at once.
Why we love it?
When your tabs are in the OneTab list, you will save up to 95% of memory because you will have reduced the number of tabs open in Google Chrome.
4) Grammarly
The permanent nature of posting things online means those little grammatical errors or typos will haunt you, probably forever. Right?
Well, not anymore! Why not try the Grammarly extension, which will spell check your text as well as conduct comprehensive grammar checks when communicating online.
The really great about Grammarly is that it helps you write clearly and confidently on Gmail, Facebook, Twitter, LinkedIn, Tumblr, and nearly anywhere else on the Web. It also spots erroneous use of lots of commonly confused words - think lose/loose, affect/effect, lie/lay, there/their/they’re - great, huh?
Why we love it?
It’s really effective and catches many of the little things a busy and tired human eye can miss. Like all word checks though, it also has some limitations and not all of the suggestions are right (esp. industry jargon). But once you’ve tried it you won't publish without it again!
5) Hootsuite Hootlet
When you are a social media marketer you know that finding, organising and sharing content on social media can consume a lot of valuable time. Well, why not try Hootsuite’s Hootlet Chrome extension? It lets you quickly share web pages to all of your social networks with just one click - you can access and share content from anywhere on the web, find photos, videos, blog posts and quotes.
Why we love it?
With Hootlet, you can search social content as easily as you search Google, share directly from any page, highlight any text and automatically compose a message to share, search location relevant social shares, and share images and video effortlessly.
6) Page Analytics (by Google)
The Page Analytics Chrome extension allows you to see how customers interact with your web pages instantly, including what they click and don’t click.
And how does it work exactly? When you view a web page for which you have Google Analytics access, you’ll see:
Google Analytics metrics: pageviews, unique pageviews, average time on page, bounce rate, and %exit
Number of active visitors, in real time
In-page click analysis: (where users click)
Why we love it?
Using the Page Analytics extension is an excellent and fast way to know what is and what is not working on your websites. A must have for marketers, and basically everyone with a website.
7) Send from Gmail (by Google)
If you are a committed Gmail user, this extension is just for you. Adding this to your browser makes Gmail your default email application and provides a button to compose a Gmail message to quickly share a link via email.
This extension will open a ‘compose’ window in Gmail when you click any email address on a webpage. It also provides a button that will create a Gmail message when clicked, using the page title as the subject and selected page text and link address as the message.
Why we love it?
It is an amazing extension, for people who like to read a lot and keep mailing a lot. With this you can forget about the pain and hassle of copy pasting.
8) Save to Pocket
We live in a time where fresh content is uploaded faster than we can possibly read it. Wouldn’t it be cool if there was a way of saving content for later? You know, for the train ride home or when you get home and find there’s nothing on the TV? The best way to save articles, videos and more is adding the Save to Pocket extension to your browser.
When you find something in Chrome that you want to view later, put it in Pocket with just one click. It automatically syncs to your phone, tablet or computer so you can view it at any time, even without an internet connection.
Why we love it?
Being able to save anything from anywhere to read or view later is brilliant, you can also categorise your articles by adding tags, so finding one afterwards is a piece of cake.
9) Todoist: To-Do list and Task Manager
This sleek to-do app keeps you organised, focused, and more productive and is accessible on Google Chrome, mobile devices, desktop, browser, Gmail, and more.
With Todoist you can set recurring dates easily with a built-in calendar; nest related tasks by creating sub-tasks within projects and add emails as tasks directly from Gmail or Outlook.
Why we love it?
Very easy to use and works very well with the GTD system. It works beautifully across all your devices so you can boost productivity and do more each day.
Have we tempted you to try a few out? Remember these are just a few of many that we find helpful when it comes to saving time in your day. But you can find many other articles like this one from the Huffington Post, which also suggests some great extensions worth trying out.
If you’re using a great extension, tell us about it in the comments so we can give it a go ourselves.
0 notes
dinahungary · 9 years
Text
Magical Chrome Extensions to Make You a Better Developer
Tumblr media
Everyone who works in Google Chrome knows that there are a whole host of Chrome extensions available. In this latest post we have focused on a small number of our favourite extensions that we use on a daily basis whilst developing and writing code. Hopefully you will find them useful too.
1) AWESOME SCREENSHOT
It’s common for developers to take screenshots throughout the day, usually during work but sometimes outside of it too. If that sounds familiar, then this extension is the perfect buddy to help you take as many screenshots as you like, just how you need them.
You can capture all or part of any web page, add annotations, comments, blur sensitive information and share with one-click uploads. There’s even a free desktop capture - an easy way to share screens of any bug you are dealing with.
Why we love it?
Apart from the fact that it can make screenshots exactly how you want them, you can screenshot an entire page. You can also make delayed captures, which can be really handy when you want to reproduce a bug and you need a couple of seconds before capturing the screenshot.
2) EASY AUTO REFRESH
This extension allows you to automatically refresh and reload any page or tab after a specified number of seconds. Simply enter the number of seconds between reloads and click ‘start’.
You can even specify different intervals per tab, settings are saved per web page URL and the refresh countdown pauses while typing. If that’s not enough, you can easily stop the auto-refresh by just clicking ‘stop’ and it remembers your web page scroll position.
Why we love it?
You can reload a page as many times as you need, as fast as you want. What not to like?
3) EDIT THIS COOKIE
Although this is not an extension, it is a brilliant add-on with cookie auditing and it definitely deserves a place in our list. You can test websites with ease by quickly viewing, editing and deleting cookies, easily export or import them, or even create custom ones. You’ll almost never have to clear cookies and deal with the hassle of having to re-login to all your favorite web sites.
Why we love it?
Edit This Cookie lets you do just that without the hassle of command line, which makes it useful both for the general internet user and for the web developer. What’s more, the ‘delete all’ feature is far quicker than using the chrome settings screen.
Alongside all that, it is an excellent tool for modifying cookies, with a clean interface that shows your current cookies, their values, and what properties are attached to the cookie - all of which can be changed. A must-have tool for any serious web developer.
4) GLIFFY DIAGRAMS
With this excellent extension you can make diagrams in a blink of an eye. With just a few clicks, you can draw a flowchart, org chart, UML, ERD, network diagram, wireframe, BPMN and other diagrams. You can even save them in JPEG and PNG formats and add them to Google Docs, presentations, wikis or web pages. It is really easy to use and even works offline - what more could you want?
Why we love it?
Even if your job has nothing to do with graphic design, chances are you will still have to produce the occasional diagram. Gliffy is one online tool that tries to make the process as simple as possible. It's easy to use and intuitive, allowing you to easily illustrate the flow of data and so improve communication between team members.
5) CSS RELOADER
This extension allows you to reload CSS without reloading the page itself. You can reload all stylesheets via the keyboard shortcut F9 (but you can also customise the shortcut), or via the context-menu option "Reload CSS". Currently it is only available for Google Chrome and Mozilla Firefox, but anyone who uses one of these browsers would save significant time by using this extension.
Why we love it?
Pressing F5 and waiting for the page to load takes up a sum total of about half an hour each day, even more if what you're currently designing is hiding behind a few dynamic clicks. This extension really speeds up the workflow by not having to refresh the whole page just to see simple CSS changes.
6) POSTMAN
According to the description: “The idea for Postman arose while the founders were working together, and were frustrated with the existing tools for testing APIs. They felt there had to be a better language for developers to communicate about APIs. This led to the creation of Postman.”
This extension helps you build, test and document APIs faster. It is an absolute must for any developer.
Why we love it?
A wonderful tool for developing or testing out API. We especially like the ability to save calls and responses, as well as creating environments and using environment variables in requests. It really just makes testing of API a walk in the park. An absolute must to make your life simpler.
7) LIVE RELOAD
What does LiveReload do? It monitors changes in the file system and as soon as you save a file, it is preprocessed as needed, and the browser is refreshed. And what is even more impressive than that? When you change a CSS file or an image, the browser is updated instantly without reloading the page.
Why we love it?
When you configure it properly (remember to activate the ’allow access to file URLs’ checkbox), it works like a charm and it is comfortable to use. Use with guard-livereload and your prayers will be answered.
8) META SEO INSPECTOR
This extension is primarily used by web developers that need to verify the HTML of their site to follow the Webmasters' Google Guidelines, but it can reveal interesting site properties even to someone who is just curious about any page contents that are usually not visible.
Why we love it?
In a very simple and easy-to-understand window, alerts are showed when the metadata is not within certain ranges, for example when the description tag is too short, or too long. It is extremely helpful for a quick audit of meta info.
+1) JUST DO IT
If you are familiar with Shia Labeouf’s “Just Do It” motivational speech video, you will absolutely love this extension. We use it ourselves for motivation at our daily standups, just to give some nudge to the team and set the mood for a great day.
Why we love it?
Well, we don’t think we need an explanation here...we just do! And so will you.
Have a look at these other good articles about useful and essential extensions for developers:
Top 5 Google Chrome extensions every developer must know
30 Must Have Chrome Extensions For Web Developers
Don’t forget to let us know your thoughts - and tell us which Chrome extensions you find most useful - in the comments section below.
2 notes · View notes
dinahungary · 9 years
Text
How NOT to create products - a lesson we learnt the hard way
Tumblr media
In 2011 we were full of ideas! Economic revival had given rise to a nasty bout of startup fever and we caught it - we caught it really bad.
We wanted a piece of the action, and could see no reason why our ideas wouldn’t be an instant success - we were a tech team after all, we could develop and write code in our sleep. So we went for it, with idea after idea for products that were bound to make us rich: we had Mixgar (a social jukebox application, for streaming music at a variety of venues) and TaxiLike (a social taxi sharing app, pretty similar to another start-up launched in the same year, called Uber!).
Our ideas were good, but there was a problem. We had solutions, but didn’t take the time to understand the problem these solutions could solve. Ignoring this pretty key element of product developing (hindsight really is wonderful isn’t it!), we went about creating and promoting our ideas.
Take Mixgar for example. For this product we decided to compete in startup contests in Germany, Netherlands, Ukraine, Czech Republic and of course Hungary. The feedback we received was amazing and our ego grew further - after all we won a contest in Ukraine and the Techcrunch wrote about us! We felt unstoppable. So we quickly funded a company and even found a CEO to lead it.
A downhill spiral
In 2011 we developed feature after feature, without giving a second thought to UX - something that makes our modern day selves recoil with shame! As we had enough features to get going, we started to show our incredible product to potential users with the greatest of confidence and the feedback was bad - really bad. They didn’t understand our product at all. And what was our reaction? We were hurt that they couldn’t use our awesome application!
Six months passed us by and we only had 5-10 users - not great for an award winning startup!
Despite the glaringly obvious UX issues staring us in the face we continued on our quest, blinkers firmly in tact. We had turned into showmen - promoting our product, networking and shouting it from the rooftops. In fact, we did all of this so well we even got an angel investor.
And with that another six months passed…
A desperate struggle
We were running out of money, but even then the progress we made was nothing short of neglectful. We started to acquire paid users but the money was coming in slowly - really slowly.
It was at this point we finally started to do what we should have done from the beginning - we researched the market, talked to users, pivoted the product and slowly started to get users, which in turn delivered income. Armed with all the right information, it became really clear how much we needed to change about the product and how little we actually knew about our market.
With a relentlessly enthusiastic CEO and an impatient investor left standing, the rest of the team gave away their shares in the product for a nominal sum of money to the investor - assured that the product would benefit from further development under the investors watchful eye.
Six months later the project was closed and the CEO wasn’t given a fair chance to participate.
So we learned the hard way…
We learned quite a few really hard lessons throughout this process, which might help you in your next venture. Here are five key mistakes we made and what you should do differently.
Discover your market and audience: when we came up with the idea we knew very little about the market we wanted to get into and the users we wanted to acquire. We were in love with an idea - a solution - and we did not care further. This is a common mistake to make. If you have a solution, you go looking for a problem to match it.
Be sure that a problem truly exists before you begin developing your solution.
You work for your customers and users: we wanted to blow the minds of the investors and the startup community, but paid no attention to our customers. Remember, if you don’t understand the problems and needs of your customers, you understand nothing.
An investor is not a founder: when we sold our shares to the investor for a nominal sum of money we basically closed our startup ourselves. Because an investor is not a founder and he never can be. In most of the cases the founders know what is good for the product and how to manage it.
The positives
As painful as it was, this hurtful journey taught us some valuable lessons on product development, even if it did cost us dearly in blood sweat and tears.
We’ve learnt a lot about ourselves, founding venture is an expensive, but very straight way to achieve self-awareness.  
We built some very valuable connections at the startup events we attended, which later we were able to use at Digital Natives.
It’s fair to say that as human beings, we are wired to like solutions, this how our brains work. This is why we fall in love with our solutions and pay insufficient attention to the problem we want to solve.
We learned how to change our mindset, and focus on what is important - our users needs. We're also sharing our experience with our clients so they can benefit from it too.
After this “failure” we did not give up on developing our own products, in fact, we are currently working on two different startups: Nostromo and Greenfox Academy.
And what are we doing differently with these? We want to solve problems which exist and which we understand, on a market we know and with an approach that is better.
If you’re thinking of creating a startup or any venture, then I hope you can use some of our experiences to make your one a success.
-Kristóf
3 notes · View notes
dinahungary · 9 years
Text
How to create your very first persona (with free template)
Tumblr media
Personas are a constant subject of argument amongst UX professionals, from the very basics like ‘are they even needed?’, to details like ‘what data should they contain?’ It is a subject that divides opinions, with almost everyone using them in a different way.  
That’s why this blog is not intended to give you a magic formula on how to create the perfect persona. Instead, I want to share our experiences and learnings from creating many different personas for many different projects. To give you an idea on how to start I will even share with you our own default template for creating personas, along with some others from across the industry. You can apply the most suitable template to your own business and projects - but don’t take them as gospel. Use them as a base to build your own template for the best results.
What exactly is a persona?
A persona is a document in which you can describe - and more importantly personalise - your different target groups. With this crucial insight you can imagine what your target user would do in different situations, which can be extremely beneficial during UX planning.
It is important to note that personas don’t replace user testing, but keeping them in mind can help to ensure the direction of your UX planning processes.
What data should a persona contain?
This can fall under two categories:
Demographics and personal info, including:
Profile picture
Name
Age
Address
Profession
Archetype
The use of a profile picture and name ensures that you get the most realistic, most human persona possible, whilst defining the age, address and profession you can draw conclusions regarding the persona’s general living conditions. It is very important to define these data as accurately as possible, otherwise you won’t be able to imagine the person in front of you - use a specific age, for example, rather than an age range.
2. Personality and behaviour, including:
Typical keywords
Personality types
What motivates them
How aware and ready they are for technology
Their objectives and goals
What their frustrations are
A quote
Biography
We don’t need too many typical keywords, select 3-5 that describe your persona the most. For personality types we use 4 five-grade scales based on Myers–Briggs Type Indicator: introvert-extrovert, institution-sensing, thinking-feeling, judging-perceiving. There are 6 indicators that describe the possible motivations of using our product: incentive, fear, achievement, growth, power, social. Since we work on digital products, it is important to define our personas’ technological skills, such as IT/internet, software, apps, social networks.
With these parts, the differences between personas start to show. We usually work from these lists, but that doesn’t necessarily mean that all of these sections must be filled out or that we do not change these points according to the project.
For example, in our recent Dreampire project, which is an audiovisual dream sharing platform, we put in a section to determine if the persona would watch videos uploaded by others (surfer), rather than uploading personal videos (uploader). On this occasion, we didn’t include biographies or quotes.
Dreampire is a completely new service and it does not have any users yet, so we can only make assumptions regarding the personas. In this case our solution to validate the personas was (and still is) to continuously analyse the make-up of visitors to the landing page with different analytic tools and to ask them to fill out a survey.
Above all, the most important takeaway is that personas are valuable tools to help digital product development, which can be used many ways. However, they are not a ‘one-size-fits-all’ solution - we must reassess and redefine them from time to time.  
You can download our persona template here.
Or take advantage of these templates, which can give you a clearer picture on where to start when creating a persona:
MakeMyPersona-  a free persona generator where you can make your own online and download the results as a pdf document
Buyer Persona Template - if you need a more marketing-like one, create different buyer personas using a traditional template format
Now all that’s left is to go away and try it. Then let us know your own experiences of creating personas.
- Laci
1 note · View note
dinahungary · 9 years
Text
You don’t need to be a Git guru to save time with version control
Tumblr media
What is this post not for?
Since it was released, Git revolutionized the version control management. Nowadays it is an industry standard being used by a huge number of companies of all sizes.
In Digital Natives, we use Git in all our projects. It provides amazing features and great flexibility of use.
Well, you can find a lot of information about Git out there. Books, tutorials, technical documents, stack overflow questions, etc. So, this is not to teach you how to use it and some level of familiarity assumed with Git.
Tumblr media
source: http://www.eeweb.com/rtz/version-control
What is this post for?
Furthermore, it's not the purpose to present eccentric commands that you will read, find awesome and forget in 10 minutes.The greatest motivation for this post is to improve your work with Git on a daily basis. For that, I'll try to clarify some basic Git concepts and show why it's important to have a good grasp on them.
Fundamentals The idea is to show concepts in a rather loose way. We are not interested in the most precise definitions, but in a simple and comprehensible way to see things.
Well, if you have ever used Git (or many other version control systems) you have created commits. What does Git store when you commit something?
If you said "the code I write", you are in the right path! You might not know, but commits are just one of the objects Git works with. Let's check what the official Git documentation says.
Git is a content-addressable filesystem. Great. What does that mean? It means that at the core of Git is a simple key-value data store.
That does not even cite code or commits! That's because these are built on top of the key-value store. And for a key-value store, you need unique keys. Keep that in mind as we will come back to this soon.
So what does this mean? What happens when you create a new commit? What a commit is made of?
It has, for example, commit message, commiter reference, commit date, commit author, author date, the "code you wrote" and the commit parents.
I don't want to go into details on the internals of how the commit is represented. However, when you create a new commit, you are just putting a commit object in Git’s key-value store. And it's interesting to mention that by “changing” any part of the commit, you get a new commit object with a new key. So you never really change a commit, but you create a new commit based on an existing one.
Commit messages One could have trouble choosing a standard or just want some guidance when writing a commit. If you face any of these, you can try installing the fit-commit gem. It will install a Git hook that will list where your messages don’t follow the widely accepted guidelines.
Some people see commit messages as something not so important in a commit. In fact, as it is not part of the code, it doesn't affect if the implementation works or not. So why should you care about it?
Commit messages can present the context on which the code was written. For example, suppose a business rule of your system changed and you should give more permissions to guest users of a web application. On the commit you make this change, you can give the message. "Give more permissions to guest users"
Isn't it obvious the change is about that? It can be now, but will it be in the future? Let's say after 1 month, a strange behavior is found in this same web application. One page sometimes raises an error. If you check the commits on this page, you can see one with the previous message about the guest users. That gives you a very good tip that the bug might be related to the guest user’s interaction.
Let’s assume that normally to discover the cause of the bug, you use some of Git's features. However, the commit you found had a message like "Update on business logic". Would it worth anything to be a Git guru? Would you get any valuable information on the bug with this commit message?
Commit messages serve as basic documentation directly attached to a piece of code. Think of it this way, if you spend one extra minute writing a better commit message, you can save hours in a debugging process.
There are plenty of resources and standards on how good commit messages should be. If you or your team adopt one standard and stick to it, that's more than enough.
I use Git, do I need anything else? As you must have realized right now, Git is awesome. However, sometimes it may not be enough by its own. There are several projects that add specific functionality to Git. I’ll list here some that I consider essential and that you should be using. Before that, it’s important to remind you about Git hooks. It is a powerful feature of Git that lets you run small scripts before or after git commands.
The first is pre-commit. This is a very cool gem that gives you some passive magic skills to check your modifications before committing. It is a hook that runs before your commit action and looks for things that you might not want to commit. Who had never forgotten a debug command or a whitespace at the end of a line? By using pre-commit, you’ll never repeat that.
More specifically for Ruby on Rails, as we do use it a lot at Digital Natives, there is the hookup gem. You may think it is yet another gem which provides Git hooks. This gem, though, acts across git checkouts. It will make sure you have the right gems and the right database schema. It is very handy when you need to change branches frequently.
At last but not least is the git-extras project. Sometimes Git command line may seem very simplistic and dry. This project brings a lot of awesome commands to Git and at least one will make you wonder “Why Git doesn’t have this by default?”
That’s all folks
Writing software is not an easy task, but doing version control right was never so easy and cheap as nowadays. This doesn’t mean, though, that you don’t need discipline and organization around it. By following the tips mentioned above, you can care more about writing good software and using the time for what really matters.
I hope you enjoyed the post. And if you like it, I hope you’ll participate in our discussion and share it with anyone you think might find it useful
So do you have any tip of your own on Git? Share with us on twitter!
- Iuri
0 notes
dinahungary · 9 years
Text
Prioritising Tasks and Features Should Happen Naturally
Tumblr media
But what does that mean?
The answer seems simple: focus on customer happiness and business values.
Or doesn’t it? Well, it depends on the situation and who you ask. Still, I believe we can agree on a list of considerable items - call it a framework if you'd like - which might help the process.
Tumblr media
Clarify and constantly reassess your goals
This sounds obvious at first but often it is forgotten. What is the problem you are trying to solve with your product? Where do you imagine yourself and your project in 1, 2 or 5 years?
The market and business environment are constantly moving. You as a person always change, your values and focus might also shift. Don't forget to revisit these goals every few month to check if your values are still aligned with what you are trying to build.
You must not make decisions about features without deeply understanding your higher level motivations.
Guesstimate the effects
It gets a bit tricky here. You can easily get distracted by feelings and hunches or fall into the confirmation bias trap. To compare potential features to schedule and implement you must gather the most information available about the circumstances. Drive your thinking with questions below:
What impact will this feature have on customer happiness and/or our revenue?
Are every "planned" features ready for development? Could you ship some "less important" ones until you do the research for the big guns?
How big is your technical debt? Could you make more users happy by fixing the annoying bugs and random errors?
You should spend some time on the last one. Often we get lost in the forest of new features but forget to provide the necessary time and resources for developers to fix bugs and architectural problems (a.k.a maintenance).
Which hurts your business more? A huge downtime or reputation loss caused by a "we don't have time to fix it" issue or your fancy new feature? Also, nobody likes to work on messy projects. You risk losing your best people which could be avoided with proper attitude.
Tumblr media
Source: https://twitter.com/rikschennink/status/614017517254770688
Let's get down to task level
Treat features as "mini projects" and break them down into small deliverables. Use feature flags if you need to (careful!). This has two main advantages:
1. You can apply the MVP method to ship it:
Tumblr media
Source: @jopas from The Ultimate Guide to MVP
2.  Iterative development with prototypes
You get faster feedback and even have the chance to stop the development if the feature turns out to be unuseful. Also, the feeling that things are in motion can keep everyone motivated.
I hope this short summary will help you ease up the stress of feature prioritization.
However, every project is different with special needs of your end users or clients.
So, what are your methods? Get in touch with us on twitter!
If you want to read more about this topic, check out this excellent quora thread.
- Balo
50 notes · View notes
dinahungary · 9 years
Text
Breaking the habits: introducing automated tests written by a QA
Tumblr media
Where is this crazy idea coming from, a QA learning to write automated tests? Why would a QA want to learn something that the developer team is already doing?
I have been a QA for 7 years now and I worked at several types of companies. Starting from multinational corporations, to the so-called hipster startup companies. During these years I have met and tested various kinds of bugs and processes. Yet I can assure you, I loved and still love every minute of my job.
At Digital Natives we are currently a team of two QAs. We are responsible for manual testing. Our developers do the test automation, and that is pretty much right this way. Or rather it was. Like most companies we use different testing methods and strategies. But from the aspect of this topic and for a QA the most interesting are the automation of acceptance tests. This is the spot in the testing/development process where the viewpoint of a QA can be applied with ease. You ask why? Because you don’t need a deep knowledge about the implementation, knowing how the app should reflect the desired business rules is enough.
Watching from a different point of view...
I think we can be brave to say that automated tests can smooth the work of the QA during regression testing (regression testing is the repeated testing of an already tested program, after modification, to discover any defects introduced or uncovered as a result of the change(s)). Of course for that we need to have a mass amount of great quality test code written at our hands. But let’s assume they fulfill this condition.
And now comes our million dollar question. Would it be more effective if the automated tests were written by someone, like me. That is, someone who:
Isn’t familiar with coding
Doesn’t have a technical point of view
I believe in that case the advantages of automated testing can be used with a much bigger efficiency. Not because I think that developers are incapable of writing good enough automated tests. But there’s no denying the fact that they have less time to think through the test writing to the last little detail. And looking at this practice from a different point of view would be refreshing.
I know what you are thinking. I can talk a blue streak about theories, but are there any real demand for this? Well I experienced the need on first-hand, through one of our projects. Yes, at first the client wanted a “traditional” QA, for manual testing. But as time went by I got involved more and more in validating automated tests. And it got clear that my tester point of view would be also a huge help in writing them.
So an idea was born. What if I was the one who’d write the automated test? The client and the developers were both fans of the concept. (I’d like to note here, that I can not code. Pinky swear!)
How we started to bring our idea to life…
After that the work began. We worked out a learning process for me, which contained the following:
Generic information: From the training method, 'till clarifying the different terminologies, like BDD and TDD.
Tools: we covered the installation and setup of the used tools (Cucumber), and the methods of using them right for test automation.
How the tests build up: we examined the project mentioned before, so we had a realistic environment for analysis.
So, this doesn’t seem like rocket science, right? And to be honest I built up a quite confident knowledge through the process.
As for the future...
So here we are now. As for the next phase we visioned the following steps:
reviewing and discussing the existing tests. (Cause even though current automated tests are still reliable, it’s inevitable that they lapse over time if not maintained)
the rewriting of the reviewed tests (if it is necessary)
writing of new tests for new features
increasing automated test coverage
So stay tuned to find out the results we got from this method.
-Mela
4 notes · View notes