The databases of today are in many cases built for specific purposes. Some of the more common ones we see every day are relational databases, document-oriented databases, Operational databases, Triplestore, and Column-oriented databases / c-store. Typically relational, document-oriented, operational, and triplestore databases are used to solve frontend database problems. Then you have databases that are column-oriented or similar that focus on solving warehousing and backend database problems. These products don’t need to solve those problems, though they are often best suited for them.
There are many reasons for which databases must be scaled. The majority of the time it must be scaled to accommodate for performance issues as the product grows. Though NoSQL is making a lot of noise these days, it is to no one’s surprise that SQL is still extremely popular. In general the same principles are followed while scaling out any SQL product, be it MySQL, MsSQL, Oracle or even DB2. Scaling is often done to overcome performance issues as the product grows. However, dealing with big data scaling is often done to balance the data across multiple hardware nodes or clusters.
Over the next few weeks I will be starting up a new series which I am hoping will have at least a dozen posts. I am looking to cover a lot of the high level concepts around big data. Scaling, data format, software, and using the data will be amongst the topics I will cover.
It is no surprise that I am looking for a job. Over the past few months I’ve had many interviews and have noticed that all companies had similar problems. BIG DATA. Most of these companies had issues scaling their databases for either performance or storage reasons. Many others were simply unable to pull and use their data efficiently because it would take seconds to get results from a fairly simple query.
I’ll be looking to keep the posts bit sized as this one will be. I look forward to getting feedback or suggestions on topics related to Big Data that I should cover.
Stay tuned, the first post coming shortly will be on scaling.
Following up on my last post, which was more focused around Google and the driverless car comes this post. Tesla too, created by a very smart and ambitious Elon Musk. Not that I am harping on the accomplishments or the vision, however a lot of what comes out of Tesla in my opinion seem to be repeating the past. We all know about “Who Killed the Electric Car”. Has Tesla learned from that? Are they doing things differently?
In my opinion, of which has been formulated based on facts, is that Tesla is repeating some of the same mistakes as GM did in the 90s. Electric cars carry something called range anxiety. Replacement batteries are expensive. Charging your battery takes much longer than filling up your tank with gas. These aren’t easy problems to address, but ones that require a lot of money and effort to solve.
Why is the tech industry desperate to disrupt the auto industry if it doesn’t know what is all about?
Technology blogs and journalists are praising the likes of Google, Tesla and many others. This is great, those companies are creating terrific products. They are innovating in a market that has been relatively slow to turn around and that has been plagued with various degrees of problems. So why you wonder am I writing this after the title I put up? The short answer… Google, Tesla, and others are NOT the solution or the disruptors of the auto industry.
I’ve gone off on several rants on Facebook, Google+ and in some cases on Twitter. I really do not want to discredit the advancements Google has made on self driving cars. I also am not looking to discredit Tesla for releasing an electric car. But those products are only scratching the surface of what a full car that can fully disrupt the industry should be. I know, you are probably saying “well Tesla is selling cars”. Yep, you are right. They are good cars. But let me ask you this, are they available to anyone? Is it an inconvenience for you to buy one?
I’m taking a bit of a break from writing my contextual series to address a few crucial problems that I’ve been seeing on a daily basis. That is the lack of a good user experience. On any given day, I visit close to 50 different sites and use over a dozen apps. Of those I would say that 75% of them I would not visit or use if they had decent competitors. The biggest problems with sites and apps these days is that they like to bombard the users with information. I get that you want to make money from your ads, but displaying them elegantly will yield better results. Design is also crucial, these days the simple look works and it looks great.
I’ve built my site around the same principles that I talk about. Yes my blog has ads, but I in no way try to distract my readers from the content. I push users to signing up to my newsletter in a box that appears in the top right. That box is set only to be seen once a week. As for the look and feel, I kept things simple with no fancy logos, gradients, etc. While I may not get a huge amount of traffic, I am sure this design and approach could be used with great success from more popular bloggers.
Before considering social networks as your primary source for data, keep in mind that with the modern web and native applications, your product may already have access to a lot of data that may be useful to you, especially regarding the user’s location. More specific information on a user, like age and gender will require input methods. If the user’s social connections are important to your product or you don’t want to submit users to numerous input fields social networks would be important.
In the second part of the contextual series, I will be continuing from where I left off last time with User Onboarding. I’ll be covering how to make your application relevant after the user has gotten past their initial experience. The goal is to engage with the user in a way that will retain them and have them spend money.
The first few minutes of the user trying your product is crucial. In that short period of time they will decide whether they will uninstall it and move on or keep trying it out. But the next 30 minutes are also just as important. Like a drug, you want the user hooked to your product, you want them to feel as though they are dependant of it. The most common way products get you addicted is through social engineering by getting you to engage with people you know. While it is something I would recommend each product would do, the product should be able to stand on it’s own even if the user has no friends.
Let’s assume that your product is capable of tracking a lot of data, including basic user profiles to narrow down their demographics and activity history. The data can be used to improve your analytics, determine business logic, and can be used to feed into your contextual engines.
Over the past few years I’ve been working with new technologies and working new techniques for approaching user experience problems. Companies have routinely approached the problem of providing segmented user experiences by selling different products or services. Those who don’t have the resources to do so pick one segment and focus on them while alienating all other users who are trying out their product. I am not a fan of either solutions and there are others who aren’t either.
The proper solution for ensuring that users are happy is by providing a product or a service that feels as though has been built for them. When a user comes to your newspaper site and you know that they like cars, you shouldn’t start giving them news about fashion. They will see this and leave immediately, likely to never come back. First impressions are everything. But even with that great first impression, if you can’t keep the user interested and engaged, you’ve also lost them.
2013 has been a year where my brand loyalty has gone out the window. A lot of the products and services I used to love have lost me as a customer and a supporter. Why? Because I’ve experience poor support. There were also certain scenarios where I chose to buy a competitive product or service to the one I was considering because their sales and support team made me feel welcome.
This is certainly not a new theory by any means. Companies are hiring agents to man their Twitter and Facebook channels for users complaining. Having been on both sides of the coin, it isn’t an easy. As a user, you are frustrated that you aren’t getting what you expected, whether or not expectations are reasonable. With sometimes unreasonable users, providing may sometimes feel like a lost cause. Let me tell you that it is not, I will share my GoDaddy experiences later.
There are companies that I have been very loyal to over the past 10 years. I’ve praised their product, chanted their name and also showed my support with my wallet. I’ve also supported brands in general, regardless of the product they released. When something doesn’t work as expected or breaks, support is the first line of contact. Some bend over backwards trying to make you feel comfortable, even if you are wrong. Then there are others who feel like they just read you an answer from a manual without care of you moving on. This year, my worst experiences have all been with services, namely Lunarpages, GoDaddy and Spotify.