Musings of a Web Producer
RIA, Flash, GIS, and More
RIA, Flash, GIS, and More
May 19th
Facebook has convinced a large group of people that it can make billions of dollars yet no one actually knows how they are going to do it. While I am not sure exactly what they can do, I do know where the idea has to exist. They have to figure out how to make revenue off communication and not through just advertisements.
The reason Google makes the money they do is not because they sell advertisements it is because they sell cheats. It is fundamentally a zynga model in a different style, people pay Google money to get at the top of their search results and so Google monetizes what makes them popular in the first place. Everything else Google does is about brand awareness and getting people to use their search engine. They give android away for free because it creates awareness and they generate revenue when people do mobile searches on Google.
What makes Facebook popular? Communication. It has a nice address book and an easy way to share/communicate with friends. The problem with this is that it is very hard to monetize because communication on the internet has always been free. Outside of the internet people always pay for communication like phones and stamps. However, within the internet communication has almost no cost associated with it outside the initial entry fee which is the cost to access the internet. This doesn’t bode well for facebook who is trying to figure out ways to monetize their user base.
Facebook has tried to make money in the past using different ideas, paid gifts (icons etc..) but it didn’t pan out for them and they later stopped it. So now their only real method for generating revenue is advertisements but the problem with that is social advertising is not only untested it seems to not be working. GM has dropped advertising on facebook because of low consumer impact. This would of been surprising to me in the past but now it sort of makes sense. People come to facebook for a very specific reason and that is to communicate. They might get side tracked on a game here or there but for the most part their users are focused. This means that no matter how tailored an advertisement is on facebook no one is going to click on them. Compare this to Google where people click on the advertisements because its users are actually looking to click on them.
May 10th
When I worked in an enterprise development environment and I would tell people the things I have personally accomplished and the time frames I accomplished them in, I would usually get looks of shock. Usually my weekdays consisted of getting a project that project managers scheduled for a month, then completing the entire project in two days and then lying on my time log to keep everyone happy.
Meanwhile the developer that worked directly behind me spent 8 hours a day swearing and not being able to get anything done; he was let go. Enterprise development for the most part is crap, and if you’re one of those rare talented developers then you know this to be true because you’re probably are in a team of 10-15 and you do 75% of the work while the other developers on your team are spinning their wheels not getting anything done or just making more problems that you will probably have to fix.
In his book The Mythical Man-Month Fred books talks about these issues and how large projects are actually made worse by adding more developers and that good developers are 5-10 times more efficient then average or bad developers. Large projects are usually developed by smaller teams first and you can take any sizable project to date and this is true from Microsoft to Google.
There is a fundamental problem with almost all enterprise development environments and that is they don’t promote efficiency. The sad reality is that an efficient programmer, if he is honest about his time with management, will be progressively given more less relevant projects in an attempt for the company to justify paying him until he is working on a project that is incredibly old and if by chance he could unscrew the mess that it is, will never be used. This is why development should be result orientated and not time based.
In a result orientated environment the developer has freedom based on his capability. If you had the choice between paying a developer $10000 to get something done in two weeks, or $10000 but it will take 6 months and 8 hour days, which would you choose? The answer seems glaringly obvious but to most companies it is not. In fact this is what happens with most out sourced contracts, they end up costing about the same (assuming your project even gets done). What makes it even worse is that most development firms act like factories and if you’re not working, then something must be wrong; so efficient programmers will purposely stretch things out so they don’t get stuck with nothing to do.
What happens when a tech manager who has been hiring bad developers suddenly gets an amazing one? He gets yelled at by the project management team because it appears that he is incompetent and grossly over estimated the time things take because he based his time quote on his bad developers. So the amazing developer will get an awkward conversation where he is essentially told indirectly to lie about his time and what he is doing.
Enterprise development can be crap.
May 2nd
After my trip to SXSW, I discovered that everyone wants to be involved in social. The entire trade show floor was either new social networks or companies trying to sell social ‘marketing’ services. People have got very caught up in social believing it is some kind of magical playground where anything is possible, but very few people have actually stopped to ask what is facebook?
While this might sound hyperbolic, facebook is a message board. All the functionality that people enjoy about facebook existed before facebook. Private groups, private messaging, events, etc.. all of that existed in message boards. In fact one of the first tech companies that started off the internet bubble was a message board company.
It’s a form of communication, however unlike phones, the main thing that makes facebook valuable they can’t even charge for (communication). It would be like opening a hot dog stand, giving the hot dogs away for free and trying to make a living off of selling t-shirts about your hot dog stand. It’s a horrible idea, but now everyone thinks (incorrectly) that they are too big to fail.
A maxim I recite often is that the internet is nothing new rather it is simply the digital version of life. That being so we can figure out what is going to happen by analyzing non-digital counter parts. What happens in life when a dance club gets too popular? People leave. What happens if a communication mechanism gets any kind of annoying burden (such as ads)? People stop using it.
While it is theoretical what I am predicting right now is that in the next six months to one year we are going to see a stark drop in social usage. This can already be seen in Zynga reporting a net loss and Facebook also reporting a profit drop as well. People will use social for what it was designed for, communication. The layer that everyone has been trying to put on top of it is going to fizzle out gloriously. All the up starts that were so confident that they could sell your business with social will start vanishing when they simply cannot get any reasonable CPC or CPM from social. This will come to the astonishment of many. This is not to say that social is not going to have its place, but rather it is going to go the same route as any other form of communication.
Aug 23rd
So a couple major changes have happened over the last month or so, that I am excited to talk about. First is that I have move to Oakville, my girl friend is taking Computer Animation at Sheridan, and being that I have some freedom to move around being a web developer, I decided to come with her.
In addition a lot of opportunities have been opened up to 52 Stairs Studio Inc. We received a contract with a fiber company (A2B Fiber) to build them a really cool online application. In addition we have brought on a new adviser into 52 Stairs Studio; with this has come a great opportunity in the wine industry of all things. In addition one of the previous automotive companies we were working with presented us a great opportunity to work on another new and exciting project under a great company called Dealer Dimensions.
I will try to post more updates as things unfold.
Jul 10th
Now that the fence is starting to come down with Google+ and people are starting to flood in, everyone seems to be highly focused on how it functions, usability, and how it stacks up against facebook. However I would like to point out some very interesting observations:
1. There are no Advertisements
Now it foreseeable that they may start serving advertisements in the future on the Google+ platform, but I have a feeling that they won’t. As I will outline in my hypothesis.
2. They don’t ask for Personal Information
Facebook flat out asks you for your favorite books, political affiliations, and other information that would help them tailor advertisements to you. Google+ simply doesn’t.
Why?
It seems rather counter-intuitive to have a social platform that doesn’t try to gain as much information as possible from you. However, it would make perfect sense if it was about building a graph to figure out search results. When Google started you had websites linking to each other, and they used this knowledge as a way of building a proper grading system for websites. However with the rise of social, something else started happening; a new link structure formed. Susie shared with Bob who then shared with all his friends and so forth and so on.
Social Context Search Results Hypothesis
Apart from the fact that your +1 recommendations come up in Google Search Results to your friends, I believe they are using Google+ and social as a way of putting results into context. Everyone knows that tailored search results are the future, and some start ups such as Hunch are trying to capitalize on it. However, Google is approaching the problem differently. Instead of building a massive personal profile for every user they are going off of the assumption (or fact?) that like minded people flock together. Connecting all the various circles give you a massive amount of data for returning socially contextualized results. This is why they don’t have advertisements, or ask you for personal information. What they care about is the websites you are visiting, and who you are sharing those websites with.
Good or Bad?
Assuming my hypothesis is correct, I imagine there will be much debate that arises from Google doing such a thing. For instance, would this promote confirmation bias in the worst way possible? Will this contribute to the filter bubble? Who knows, but I imagine the term SSEO (Social Search Engine Optimization) will be a new buzz word very soon.
May 25th
I recently have noticed an influx in app builders. Google was the first to venture into this, and now all kinds of services are popping up that are trying to do the same thing, build an app in a couple steps! The mobile space is a new space, but it fundamentally has the same characteristics of other mediums such as the internet, or a news paper. In almost all instances these new mediums make it easier to create and share information. When the internet started there was very little, then there was a lot, and then there was services that popped up to let you make your own website, can you name any? If you can, are they still around?
The general idea is that everybody wants something such as an app or a website so if you can build something that can easily do it, it will be a gold mine; it doesn’t work, for a couple reasons.
1. The Complexity Paradox (in regards to UX)
The simpler an interface is for doing complex things, the more complex the back end. The more complex the back end becomes the harder it is to make the interface complex. If both end up being complex, the product will explode. Why is this relevant? The more features something requires, the more it is going to affect the interface, because you cannot possibly make a back end that is predictive enough to handle every contingency. Yes it is true, some people want “simple” things, however the quantity of simple things is always increasing or changing. Facebook and their various widgets is a good example of this.
So user A wants feature B. In order to change feature B something must be added to the interface, how do you maintain simplicity?
2. People don’t want to pay for partial tools
Imagine going to a hardware store and buying hammer, upon getting it you discover it only works for 50% of nails, any other nails and it will shatter. Pretty big problem. If you’re going to invest the time in building something, you usually want to use tools that allow you to do a lot. Web interfaces for building applications is like a hammer that can only do 50%. If you’re trying to buy a tool because you don’t want to work, there is a fundamental problem with that, you will probably end up just hiring someone to do it for you.
3. People always want the latest stuff
Most web developers I am sure have heard and shook their head because of their client’s misunderstanding, “I want my website to be the greatest, it needs to use HTML5!” They have no idea what HTML5 is, all they know is they want it. The nature of technology is advancements will always (no exceptions) out pace any form of WYSWIG editor that utilizes separate technology, because of this editors will always be in a catch up model unless they have a supreme amount of capital and workers behind them. What was CSS and Divs 10 years ago? Adobe is a good example of how an editor can keep pace, when they wanted to do stuff on the internet that at the time wasn’t possible (and is just catching up now) they built their own plugin. Unfortunately, app/web builders rely on other people.
4. Self Competition
Building technology that produces the same technology easier is a form of devaluation and self competition. If you can make $75 an hour developing technology, but you build a product that lets other people do it for $25 an hour, you have destroyed your own price point. Now it might be fine if through your factory you get way more sales, but because of the aforementioned concepts the only people you are going to get are usually the cheaper kind, so it won’t be $25 an hour, it will be 0.5c an hour, and once other factories come out it will be 0.1c an hour, meanwhile the rich people who want the latest and greatest don’t mind the $75. Information Technology production does not work the same way as manufacturing. People require a unique product, and if they don’t they will go on something like wordpress or facebook who don’t make their money through information technology production.
There may be a time in the future when development can become an automated or simple process, that time is not now. No matter how intuitive and simple you make something, people will always want something else, or something new when it comes to IT.
Building and selling information is not the same as building a deck. IT development is more akin to farming, the product spoils.
May 4th
So as Google IO approaches, I can’t help but feel that a majority of the people going are trying to get the free toys that may or may not be offered. I imagine a lot of developers were disappointed when they were working a long night and just figured they would get a ticket later *la sigh*. So who is going to make up the bulk of the people attending Google IO 2011? Will it actually be developers or treasure seekers? This got me pondering; how do you fix such an issue? The answer I believe is an easy one.
Make a percentage of the tickets, anywhere from 25-50% invite only and require an application process. Your name, company, and a product you have actually developed using Google Technology. Yes this would require Google to put in some more man hours, but at least they could be relatively sure that actual developers are showing up to their conference and not just people looking for the free swag and or goodies.
Just a thought.
Dec 29th
We recently converted our widgets over to using iframes. To date they had been direct SWF object embed code. However with the iPad surely going to hold onto a significant market share, we didn’t want to limit who could see our maps. I don’t think I have honestly even used an iframe in the last 3-5 years, I associate them with old school web days where people had the sidebar control content in a middle area (ick). You can see it in action below:
I thought I would go over why we decided to switch to iframe code, and both the pros and cons that we discovered.
Pro – Sandboxed
Widgets in iframes are completely sand boxed, you don’t have to worry about clashing with javascript or CSS styles. Particularily if you’re writing divs to the page via JS, you don’t have to worry about them getting styled incorrectly and messing with your widget. Javascript doesn’t have true namespaces, you can put everything under one class (function) but if by any chance your ‘namespace’ has the same name as some other javascript on your page you run the risk of clashing. This could be an issue when working with a lot of widgets. Further with the rise of jquery, if we decided to use jquery for anything, we don’t have to worry about version clashing.
Con – styling
It is nearly impossible to let someone modify your widget with styles on their own page.
Pro – Blogger support
The direct embed didn’t work with blogger, iframes do however.
Pro – Content Modification
Modifying your widget is simple, doesn’t require any fancy document.write code. You can design your widget in HTML.
Con – url detection/security
We cannot easily grab the URL for widget analytics like we could before, now we may have to manually pass in the url to the iframe using a document.write with all the widgets. However in this instance same origin policy is of little concern to us.
Pro – Content Redirection
With this version of our widget, our javascript enabled widget actually exists on a completely different page.
I am actually developing another JavaScript widget right now that won’t use iframes, this is on purpose because we want users to be able to modify the widget’s styles – I may post my experiences on that later as well. So that is pretty much it, hopefully this helps someone.
Dec 29th
I am currently working at a publicly traded company, on contract, called Wireless Ronin Technologies. They do digital signage, but this is a gross overstatement of what we do, because we do alot of interactive things such as kiosks and touch boards. It is not very often that you get to work with flash in such a different way. Well I am not going to give away any trade secrets, I can however say we do a lot with flash. Flash has the biggest advantage of being known by so many people that it makes content creation by third parties really simple, however, as I discovered working with Flash in a digital signage environment is much different then working with it in the web world.
In the web world, generally, you don’t have to worry about content being alive for 24 hours+ at a time, when working with such long time frames attention to detail is even more important because a small flaw could lead to a memory leak that would ultimately end up crashing the system. This is but one of many challenges we face and defeat. The people I work with are highly competent, and it is a rare opportunity to get to work in such a unique industry, with unique challenges; so naturally I couldn’t turn down an opportunity to work there.
So far I have got to work on content for a couple fortune 500 companies, and the content we create (naturally I am bias) I have to say is beautiful in more ways then one. It is both a testament to the ingenuity of both this company and this region (the Windsor area) by what we create on a daily basis.
Dec 3rd
The following statement represent ideals, I include some religious statements, but the same principle applies regardless:
These are very egotistical statements, they are based on the reality of the world revolving around you, but the real reality is that the world doesn’t revolve around a single person, and when the person fails they will usually recite some other ideal such as, “everything happens for a reason” or in the case of a religious person, “God obviously has different plans for me.” The most basic truth, if you find yourself gravitating towards the ideal is this, idiocy trumps all ideals. Your idea can fail because it is simply put a BAD idea. It has been shown that most entrepreneurs fail 4 times before their first success.
Now sometimes following ideals can lead to success, but one way to limit failure is to try and reduce idealism as much as possible. Idealism can often be identified by your personal preference. John Grisham writes at a grade 9 level, if I was an english idealist and had to choose which book I wanted to sell, I might choose something with far more adjectives, but that would be the wrong choice.
You can’t make the world function the way you want it to.