This afternoon, TechCrunch posted an article about chartbeat breaking the 1,000,000 concurrent visitors mark and the story sucked me in.
One of my major inspirations for building UserPing was from some of my frustrations with chartbeat's package prices and my stubborn frustration with being forced to pay $10/month for a level of service that far surpassed my needs. I may be hugely biased, but I'm extremely happy with some of the things I've built in to UserPing like our sexy automated alerts system that will watch your traffic and send you a message when Something Is Happening!
Despite all of this, I still can't help but feel envious of the gorgeous interface that chartbeat provides. The UserPing dashboard is obviously something that only a programmer would design and when you compare our dashboard to the chartbeat dashboard it's obvious who has the more polished product.
I'm hard at work trying to make improvements to the UserPing interface to give you guys a page that doesn't make you wish you were somewhere else, but until I finish up and release some improvements we're left with something fairly ugly.
But enough about me...
Anyway, now is not the time to celebrate the wonderous potential of UserPing. Now is the time to take a step back and be seriously happy for a great group of our peers as they cross over a fairly significant threshold of scale. 1,000,000 concurrent visitors is a pretty massive number of sessions to track and I can't even begin to visualize what their infrastructure looks like.
The fact that they're able to take that massive deluge of traffic and continue to spit out excellent real-time reports and beautiful charts is a testament to the awesome people working over there.
From the bottom of my heart, I am extremely happy for the chartbeat folks and wish them well through 2,000,000 concurrent visitors. You guys are in a completely different league and you stand out above the rest of us hacks in every aspect. Bravo!
And They're Classy Too!
I left a comment on the TechCrunch article about why I felt compelled to build UserPing to offer free service for other struggling startups and to my surprise, I got a very nice personal reply from the chartbeat GM, Tony Haile.
He even said that my cartoon made him smile!
Talk about being a class act. This guy invented being classy.
In typical Eric Harrison fashion, I just had to make a witty reply and ask him to give me his charting libraries. He hasn't responded yet, so I'm going to assume he's off zipping up all the files so that he can email them to me.
Be on the lookout for pretty chart improvements in the near future... ;)
Hello Faithful Pingers,
Last night I made a post on HackerNews asking for more people to join our beta test so that I can do some more performance testing on the UserPing infrastructure. While the topic of UserPing scaling and performance is a topic I'm saving for a separate article, scaling is one of my biggest concerns and I'm always working on making things run even better. In the HackerNews post, I asked for beta testers to come in and help batter our backend so I can find some of the bottlenecks. Unfortunately, the response was abysmal. We got a grand total of 1 new beta test user.
Charlie Park was the lone HackerNews user sign-up and wrote an amazing article on tumblr about running a successful beta test. His article didn't call out UserPing by name, but it's quite clear that we were the inspiration.
As I read his article, my heart sank. He was absolutely right on almost all counts. I've been working for so long on corporate products that never see the light of day and only have to satisfy the needs of a few users that I've brought some of my bad habits along to UserPing. For that, I apologize profusely. The backend is working fine and seems to be performing well, so I promise to stop tweaking the ping server performance and fully concentrate on making the user interface into an amazing system that will be a joy to use. As an engineer, it's easy for me to slip into a "backend-focused" role and neglect the user experience, but I'm going to have to buckle down and work on the things that matter.
An awesome backend that scales beautifully is worthless if the front end is so awful that nobody wants to use the service.
Words of Wisdom from a Guy Named Charlie
In his article, Charlie provides a list of 7 things he wished that sites like UserPing would provide during a beta test. Some of the things he's mentioned I had on the site before and then later removed, and other things were stuff I had planned to do but haven't gotten around to, and a few of the items were just amazing insights that I had not previously considered.
Simple Feedback Mechanism
I really want a simple, inline means of dropping feedback. A text box that's sitting right there on the screen, inviting comment.
This is something that I previously had (kind of). When I launched UserPing, I had an embedded GetSatisfaction feedback widget that sat on every page and asked for input. But, after launching, I sat and waited and nobody ever asked anything. After a while, I stopped checking GetSatisfaction with any regularity until one day I had a horrible fear that there were questions sitting in the GS queue waiting for a response. I quickly hopped over to the GS page and was relieved to find nothing. I decided to scrap GetSatisfaction all together simply because I felt that I was offering too many options for contact and was afraid that my over-abundance of contact methods was simply overwhelming.
With Charlies feedback, I've decided that our feedback mechanism needs a major overhaul. I've got email addresses visible on every page, a web form for the web-form lovers, and I even list my personal phone number. A lot of that information will still be available, but I'm going to implement a new system that allows for a consolidated preferred mechanism for providing feedback. It will probably take a little while to build, but it will be coming soon.
Real-Time Voice Conversations
I’d actually be open to seeing a phone number, or a Skype userid, or something, to have a real-time conversation.
As I mentioned before, I do provide my personal phone number on the contact page and it's also listed in the welcome email. While my day job and sleeping habits prevent me from always being able to answer the phone, I do think that direct voice communication could be extremely useful and am not afraid of fielding a few phone calls every now and then. I don't know if this suggestion was directed at UserPing or if it was meant to be advice for other beta tests in general, but I'm personally committed to always offering a means of phone contact. If UserPing gets to the point where we have a ton of users and I'm getting swamped with phone calls, I might switch over to a 37Signals-inspired CEO Office Hours system. But I consider this to be on the list of "good problems to have", so I'll just cross that bridge when we get there.
Searchable Bug-List/Forum
Some searchable forum or other means of inquiring about whether the bug I’m seeing or the opinion I’m having is novel, or if it’s The Issue That Everyone Names When They First Create An Account. Basically, is my insight as a beta tester useful?
This is good advice and is something that we previously had available through GetSatisfaction. I'm really kicking myself for removing the GS widget. Until I get the new system built that meets all of our needs, I've decided to turn the GetSatisfaction widget back on. Take a look over to the right-hand side of the screen. Click on that little "Feedback" button and have fun!
New User "Walk-through"
The page that loads as soon as I’ve created my trial account really needs to be The Page that solves my problem. That is, if the app will be useful because it … say … measures traffic on my site, once I sign up, don’t take me to the “account customization” page … take me to the “how to get our widget on your site” page.
This is something I had planned on rolling out before the public beta launch. I've been working on a new user walk-through that gently guides you into creating your first site profile and setting up an alert. Charlie's comment merely reaffirms the importance of a gentle introduction and I've increased the priority of this task. This should be rolling out fairly soon.
Form Input Ambiguity
If I’m entering in text that has some ambiguity about it’s formatting, give an example. For instance, if you want my Twitter username, pre-populate the field with an “@”, so I know I don’t need to type it. If you want a URL, give an example of http://example.com, so I know to include the “http://”. To quote Krug, “don’t make me think.” I’m not even committed to this service, yet. The fewer cognitive barriers you give me, the better.
This is another good point. I've always prided myself on having nice, usable forms. But lately a lot of the new features I've been rushing to finish have been neglected and I've failed to add some of the niceties that I normally try to add. If you take a look at the add new profile form, you can see that I've added some of these "hints" to the domain field and added some Javascript to trap some of the errors.
This is a process that is going to have to evolve with UserPing. As you use the system, I'll be watching and trying to improve the usability in the places where I notice problems. And remember, I love feedback, so if you think an interface is stupid or hard to use, please don't hesitate to let me know.
Easing New Users In
Try to automate my initial signup. If you’re setting up a customized widget for my URL, and my e-mail isn’t “gmail.com”, there’s a good chance that my e-mail’s domain is the domain I’m signing up for. Or, at least, there’s the possibility. If I haven’t created any URL profiles yet, give me a button that says “click here to create a profile for monotask.com”, again, you’ll have reduced my cognitive load, and I’ll make it further into your app. Once I’ve created a profile, don’t show that button anymore.
This is an interesting idea and I'm certainly willing to give it a shot. My biggest concern here is that it could lead to more confusion than it causes. Without maintaining a huge black-list of email providers, I have no real method of knowing for sure if a user would want to create a tracking profile for their email domain. I'm afraid that the less savvy users would assume that my system knows what it's doing and create tracking profiles for domains that they have nothing to do with. It's common knowledge that users almost never read the directions for anything, and I'd be worried that we'd have a lot of users creating a tracking profile for a domain they have nothing to do with and then wondering why UserPing isn't giving them any statistics.
The nature of the UserPing product is already something that is going to be a major barrier to entry. Our target market is tech-savvy entrepreneurs who want to see what is going on with their website. This isn't a general consumer product and I'm afraid that if I start to automate things like Charlie is suggesting that we'll end up with a lot of users signing up, creating bad tracking profiles, and then going off thinking that UserPing sucks.
There's a very fine line between helping our users and helping our users shoot themselves in the foot. I'm going to be a little bit more daring in what I try, but I'm going to do things in a very cautious and deliberate way.
Showing You The Important Stuff
After I’ve gone through the installation process with the widget, take me to a place with value. Even if you aren’t collecting data yet, give me a prompt to the analysis screen, so I know what to look for the next time I come back to the site.
This suggestion was a little bit confusing at first because the widget installation page already does this. If you reach the installation page from the "Add Site Profile" page, the last instruction listed provides you with a link that takes you directly to your new tracking profile. The fact that Charlie mentions this means that I've failed at making this functionality stand out. I'm going to have to play around and try to come up with a design that highlights this next step.
Lessons Learned
It's easy to build a website that makes sense to you, but it's much more difficult to build a website that makes sense to everyone. I've admitted to being a horrible designer before, and my lack of design skills is probably to blame for a lot of these problems. But bad design skills is no excuse for poor interface clarity. I've got to do a much better job of highlighting the important parts and stop cluttering things up with a bunch of needless words. The sort of feedback Charlie gave shows me that I've still got a long way to go and a lot of work to do.
I want to thank everyone that has been involved in our private beta test for sticking around and giving me time to evolve UserPing into something awesome.
Over the last week I've been trying to find ways to make UserPing more useful. As UserPing was originally built to be a service that I wanted for myself, the list of features I plan to implement is really just a bunch of things that I wish I had for myself.
Eventually, I hope that the users end up suggesting a lot of features that they want to see added and I eagerly look forward to good suggestions from the community that I had not yet thought of. Until that happens, I'm just going to keep plugging away at the things I want UserPing to do and hopefully we'll all end up with a service that offers another option in the realm of real-time analytics.
Activity Stream
In my mind, the core of UserPing is a real-time analytics platform that gives you the ability to track the ebb and flow of your sites visitors. My "core audience" for this product is other small business owners and people trying to bootstrap a company. Most small startups lack funding, resources, and manpower; I'd like UserPing to swoop in and give those companies a helpful little boost.
One of our core features is the ability to define and implement alerts. While it's a lot of fun to sit on UserPing and watch your site traffic in real-time, we really shine in how we continue to watch your websites while you're away from a computer. In a startup, your time is precious and you should be spending all your time and energy working on your own product. You don't need to waste all your time monitoring your traffic when I've written some perfectly good code to do the grunt work for you.
An "Imaginary" Example
For illustration purposes, let's imagine that your startup runs a blog where you write about interesting little observations about your market and chit-chat with your users on the things you've learned from running the company. On any given day, your blog averages around 500 unique visitors and you generally only see maybe 5 to 10 concurrent visitors all coming from organic search results or from RSS feeds or Twitter. You know that 5 to 10 is your normal visitor pattern and you can assume that anything in that range can be considered "normal."
Now let's imagine that you right a snazzy article on "How You Build PHP Applications" which you write and then you get back to work. Later that evening, you're taking a well-deserved break and watching a movie with your kids and never realize that your article has been picked up by both Hacker News and Reddit /r/programming and that your website is getting slammed with traffic for the better part of an hour.
During that "imaginary" period of time, visitors have left over 30 comments on your blog and have left a bunch of comments on HackerNews. They've also discussed how horribly your website performs and how the pages aren't loading. This is not the sort of first impression you want your target audience to have the first time they come to your page. If only there was a service that would send you a text message and let you know that "Something Was Happening!"
UserPing Alerts to the Rescue!
I released a feature back on July 6th that gave you a way to define an alert and set a visitor threshold. You now have the power to go in and say "Any time http://ericharrison.info gets over 30 concurrent visitors, send me an email immediately!". This feature is one of the main reasons I built UserPing and it's something I was really happy to get finished early in the beta test so that everyone can benefit from this sort of automation.
Back to the Activity Stream
One of the things that you'll eventually be able to do with the alert functionality is view a snapshot of your site traffic at the moment of the alert. To aid this process and provide the starting point for this information, I implemented an activity stream that will act as a UserPing hub and show you all the important bits of information about your UserPing profile. If you've ever used Twitter (which I pray all of you have), then you should be at least familiar with this style of interface. From a high-level view, the Activity Stream is a list of small little messages ordered from newest to oldest. Each time you log in to UserPing, your first stop should be the profile area to see what major events have happened on your sites since the last time you visited.
Head on over to your profile and take a look at the Activity Stream that is listed right below your mugshot.
Badges Are Fun!
Another thing I added today was a system of rewards that you can earn through the normal use of the UserPing system. Due to the fact that your "profile" is not visible to anyone, these badges don't really serve any purpose other than to make you realize how incredibly awesome you are. But perhaps they'll be useful in the future. Who knows? It was easy to implement and only took a few minutes, so I just decided to do it and see where it takes us.
Everyone with an account should have at least 1 badge already listed. The badges that have already been given out are related to what time you joined UserPing. The lucky few who managed to weasle their way in during our private Alpha test got a badge that looks like this:

While the rest of you who have an account (as of the date of this post) have a Private Beta test badge that looks like this:

An even smaller number of people who have the name "Eric Ryan Harrison" and who spent the last couple of months building UserPing into a sweet real-time analytics platform got an awesome badge that looks like this:

More to Come
Over the next few days I'll be adding more badges behind the scenes that you'll be able to earn by doing various things in the UserPing system. If you do something that I plan to reward with a badge but have yet to create, you'll be retroactively rewarded once I get around to it. Anyway, this whole thing is just for fun, so don't take it too seriously.
Coming Up
All of my attention these days is focused on improving the usability of the backend dashboard interfaces. I'm mostly just experimenting with the look and feel and trying to come up with good ways to display visualizations of lots and lots of data. If anyone has any good recommendations on Javascript charting engines that don't suck, I'm all ears. Stay tuned for more releases and Happy Pinging!
I was sitting around today thinking about "Scalability" and decided that I needed to make a major change that I've been putting off for a long time. Unfortunately, UserPing is getting closer to launching so any delay would just make things that much more painful later.
But if you stick with me to the end of this blog post and actually make the change that I need you to make, I'll reward you by giving you features that you probably want.
The Change
Basically, without getting into the philosophical reasons why scalability is incredibly important to the overall health of UserPing, I needed to make a major change to the backend infrastructure to support future growth.
Prior to this change, all "Pings" were sent to the same server that is running the main UserPing website userping.com. This worked great, except that if I ever needed to add more servers (web or database) to handle the large flood of ping requests sent by your users every time they visit your pages, I would have to add even more crazy "Ping Infrastructure" code logic into the same pile of code running the "UserPing Website Analytics Platform". Needless to say, that's just not a good idea.
A New Server is Born!
And behold! Over yonder hill: a new webserver!
I hopped over to my favorite DNS hosting provider ZoneEdit and added a A Record for the UserPing domain. Now, all ping requests will be handled by http://ping.userping.com.
I've updated the installation instructions, but here's a Gist of the code for the impatient readers:
I Promised New Features
One thing this little update allowed me to do was to overhaul the entire "Ping" architecture. Before this change, UserPing would only track your site visitors who had JavaScript enabled. This change (only available if you use the new ping tracking code) will finally let you see users that don't have JavaScript enabled. Yay! New features!
Golf Clap Required
On an unrelated note, in the spirit of Tobby Hagler's contribution of a UserPing module for Drupal, my good buddy John Hobbs (whom you may have seen me write about before) went out and pulled another awesome ninja hack and built a Wordpress Plugin for UserPing for us to use.
His plugin doesn't have the latest change applied yet so until he applies my Pull Request, you can gank my fork at http://github.com/februaryfalling/userping-for-wordpress.
UPDATE: He has now pulled in my changes. Go grab the Wordpress plugin from his GitHub repo.
Everyone thank John on Twitter.
Digg Verification Key: cafaf0d2cb594d5e926bbed56127fb51
I am proud to announce that UserPing is now officially in "Beta". I've added all of the core features that I want to have available for the official public launch. Now it's just a matter of testing, tweaking, and scaling.
Cool New Additions
If you look over on your sidebar (for those of you lucky enough to have an account), you'll notice that there is a link labeled "Manage Alerts". If you click on it, you'll see a nifty little page that will let you manage and track your UserPing alerts. What's an alert? you ask.
An alert is basically your way to put UserPing into auto-pilot. You won't have to spend all your time with the UserPing dashboard up in a tab. You define an alert, and we'll send you a notification if your concurrent active visitors hits the threshold you specify.
If you stick around a while and upgrade to one of our premium packages (yet to be released) you'll be able to ask for SMS, IRC, or Instant Message alert notifications. For now, enjoy the free email alerts and send me an email if some of these premium alert types are something you really want.
Edit Your Profiles
So, when I added launched the private alpha test last month, I neglected to consider situations in which someone would enter incorrect information on the Add Site Profile page. I figured that if I could just go in to the database and change things whenever I want that everyone else would be able to as well...
Except that I'm the only one with a username and password to the database. So yeah, sorry about that. Now you can edit and delete your site tracking profiles from the dashboard. You should see a link that says "Edit Profile" next to each profile in the dashboard. Enjoy.
Installation Instructions
My good buddy Tobby Hagler runs Drupal and decided that UserPing needed a Drupal module. He went out behind my back and coded up a pre-built module for installing UserPing on your Drupal websites. You can find it on the Drupal module page or in the right-hand information panel on our installation page. Everyone go and follow @thagler and tell him "Thank You!" for being so awesome.
Other Things
The UserPing Design Contest is still under-way. Submit your design and win great prizes!
And invite your friends.
I plan on keeping UserPing in "private" beta for a few months before opening things up to the public, so until then, it's just us. Enjoy your exclusivity. I'll give everyone a month or so heads up before we switch over to open beta.
Thank You
On a personal note, this is my first major project, and have had a ton of fun getting UserPing to this point. I appreciate all the support I've been getting from you everyone. Thanks a ton.
Follow @userping for up-to-date information and notices.
As I mentioned in a previous post, one of my favorite things about a private launch is when you're able to be a part of an exclusive club. Logged in Alpha test users will notice that they now have a sidebar widget that says "Invite Some Friends".
Starting from now until the public beta launch (a few months away at least), UserPing will be almost exclusively grown by you and your invite codes. I'll start trickling a few out here and there so that you guys can start letting your friends in on our private little club.
As always, please be considerate of the overall health of the service. Just because you can go off and send invites to whomever you want doesn't mean that the system is really ready for prime time. These invites are intended to give you a way to let your web developer friends in on the UserPing action. All previous caveats still apply and there are no guarantees of stability or performance (yet).
With that said, I've given all current users at least one invite. Others have a few more.
Also, nothing is official yet, but I plan on doing something nice for the top few "inviters" once things get launched. This isn't really an official "contest" per se, but just be aware that I'm already planning something sweet.
Anyway, have fun inviting!
If you take a look around you'll notice that UserPing has a very "programmery" look and feel. I'll be the first to admit that I am probably one of the worst designers on the planet. I can write code to do just about anything you can imagine, but when it comes to making something look good, you can basically assume whatever I create will be a pale shadow in comparison to what a real designer can create.
For the first 5 years of my professional career, I had the pleasure of building all of my applications on an intranet. These applications never had to see the light of day. These applications were also almost always built entirely alone. My office was a group of lone wolves that just happened to share the same server.
My basic philosophy of that time was that it didn't matter what the application looked like as long as it was useful see Craiglist. I assumed that I was just amazing and that expensive designers were a luxury afforded to large companies that didn't mind throwing away money.
I Was So Wrong That I'm Actually Ashamed
A few years ago, I got an awesome job working at Morris Digital Works and was given free reign to build as many sweet applications as I could. But this job was somehow different...
I was completely surrounded by amazing designers. My team lead for my first project was a guy named Nik who just happened to be an amazing artist and designer. In 10 minutes, he would crack out 15 absolutely gorgeous designs that put my pathetic CSS trickery to shame.
His designs, combined with my programming, effectively quadrupled my productivity. Prior to this, any time I would build an app I would spend some time writing the code, and then would later go in and try to make a pleasing "design". Working with Nik was a breath of fresh air. He would whip together a design, hand me a perfectly valid XHTML template and the CSS to style it, which I would then split up and use as the front-end.
There was no more constant CSS tweaks to get things looking good. No more wasted time trying to decide the proper color for a table border. He would give me a perfect design and I would make it work. Easy as pie.
I Still Suck at Design, But Now I'm Self-Aware
Fast forward to today, and I've built UserPing from the ground up to be as lightweight as possible. I've intentionally avoided wasting a lot of time on design so that I could focus on the core of the application. In fact, you might see the exact same design of UserPing on a few other websites that I have built.
So What's The Catch?
UserPing is going to be my first "real" product and I would like it to look as nice as possible. The only catch is: I've promised myself to spend absolutely $0 getting UserPing to profitability (excluding server costs). I want to see if I have what it takes to build a profitable business in the leanest of conditions.
Designers cost a lot of money (and for good reason), so without further ado, I'm going to announce the official UserPing Design Contest.
The Challenge
UserPing really needs two separate things. I was originally going to just make this the "Logo Design Contest" but I decided to go all out just to see what happens.
Logo Design
UserPing needs a nice primary logo (for the page header) as well as a "favicon" sized logo to be used as avatars and as the site favicon. Ideally, these two logos should theoretically be designed together so that the overall feeling is the same, but I'm not a designer and won't tell you how to do your job. Do what you think looks best.
Logo Requirements
- The logo will need to look good on a variety of background colors.
- Consideration must be given to physical products (T-Shirts, Coffee Mugs, and any other SWAG I decide to buy)
- You'll agree to assign full copyright ownership of the logos and the design to UserPing (you'll get full credit for the logos, I just have to "own" the copyright so that I can use it wherever I need).
- I don't even own Photoshop, so while I will expect the .psd files, I'm also going to need you to actually generate various versions of the images in various sizes.
Logo Design: What You'll Win!
This is all negotiable (and subject to improvement based on how much I love your work), but here's basically what I intend to offer as a prize for the winner:
- Six months free service at our Tier 2 package (one step up from free) or 3 months free service at Tier 3 package (good for "power users").
- You will also get the very first T-Shirt, Coffee Mug, or whatever other SWAG I eventually get made. I don't have any idea when this will get accomplished as it will have to be after profitability, but I promise that you'll get the first of everything I ever make featuring your logo.
Site Design
You think you've got what it takes to spruce up our layout? Well, then this part of the contest might be just the thing you need.
Site Requirements
- This is an application. This is not a homepage or a silly website. Your design must have enough space for me to add features. Pretty much any little tiny designs with a single column squeezed into 800px is pretty much a waste of everyone's time.
- You will provide valid(ish) XHTML or HTML5 layouts that I can drop into the templating system. I realize trying to stick to the standards can be tough, but some of the crazy JavaScript magic starts breaking in various browsers when the DOM is being rendered in quirks mode. I don't have time to troubleshoot a ton of issues like that, so please make your markup as clean as possible.
- You will provide CSS for the styling. Try to avoid inline styles and such wherever possible. I personally break this rule all the time because I'm lazy, but it's easier for me to implement a third-party design when it's structured properly.
Special Consideration: The UserPing backend is currently set up to handle page specific styles in a "modular" way. On any section of the site (like /blog for example), I've got blog specific styles defined in a separate css file aptly-named "blog.css". In your primary "global stylesheet", please don't clutter it up with a ton of special rules that only work in certain areas of the site. Dump all those in their own CSS file so that I don't have to go in and strip all that stuff out myself.
Warning!
If you are interested in attempting to submit entries for this contest, it's in your own best interest to first provide a proposal/mockup of what you're planning on doing. I don't want to waste your time building a nice layout only to find out that I don't like the direction. This contest is not for the feint of heart. UserPing is my baby and I won't settle for a sub-par design (I can make sub-par designs on my own).
Site Design: What You'll Win!
I realize that for a professional designer, this sort of task can easily be a $10,000 project. There's absolutely no way I could ever afford to pay that, and so please don't be insulted by this shot-in-the-dark attempt to get an awesome design on the cheap. I value the hard work and experience of my designer friends; I just can't afford to pay them for the work. Rather than beg and plead my buddies to donate their valuable time, I'm throwing this contest out as a way for someone with a little free time and some design skills to help me out.
- 12 months free service at our Tier 2 package (one step up from free) or 6 months free service at Tier 3 package (good for "power users").
- You will get the first of any SWAG I purchase forever (I hope I never decide to get UserPing-themed HDTVs...)
- You will get permanent credit for the design and I'll keep a link to a site of your choice in the page footer.
Submitting Entries
You can submit all entries or proposals to contest@userping.com. You may also feel free to post any concepts in the comments of this entry for other people to discuss. It's up to you.
Contest Duration
Both contests will be run indefinitely until a winning design has been selected (both for the logo and the site design). The winning design will be displayed and featured in a separate blog post. You can also get up-to-date information about the contests on the Contest Status Page.
On request, I will display your submissions in the Contest Status Page along with any information you want to provide (name, twitter account, email, personal website). Even if you have an entry that is not selected, perhaps someone will see your work and hire you for another project.
In honor of our awesome initial round of Alpha testing, I took some time today to write, direct, produce, and star in a humorous little short cartoon all about UserPing and the motivations behind the product. It's mostly intended to be a light-hearted take on how UserPing came to be (and it's pretty dang close to being historically accurate).
I've created a special page just for the video, which you can find at http://userping.com/trailer or on YouTube.
On To Business
I initially sent out invites to 12 people who were first to sign up for our beta and of those twelve, six have already gone in and created accounts and set up their UserPing tracking code.
I've had some really positive feedback and quite a few bug reports.
Upcoming Changes
The next major hurdle that I'm working on is improving the UserPing dashboards and reporting mechanisms. The Google Charts API has given me a lot of problems and I finally decided that I couldn't handle that nonsense anymore. If anyone has any good suggestions on some good charting libraries (JavaScript/Canvas only please) then please let me know.
Once I lock down the dashboard interface a little bit, I'll move UserPing into the private Beta testing round. This will be a fun phase of the product because I'll be slowly disseminating invite codes to existing users. Some of my favorite memories in the realm of modern web development was back when GMail first launched in private Beta. I remember the awesome and exquisite joys of finally getting an account (and luckily being able to finally take blister@ as my address instead of stupid garbage like blister23421@yahoo.com).
I also really loved getting invites that I could give out to friends and family. I was the biggest ambassador for the GMail product all because of their nifty little exclusionary beta period. I hope to replicate some of that passion with UserPing (though I know site analytics isn't quite as sexy as a revolutionary e-mail interface). If you have any fun ideas that you would like to see me try, shoot me an email. I'm willing to try just about any dumb idea at least once, so let's try to have some fun with this.
Thank You
Lastly, I wanted to quickly thank everyone for the encouragement (and the bug reports). It's a whole new level of career fulfillment to build a product that people are actually happy to use. Most of my work has been building apps to help corporations replace spreadsheets. This experience of launching a public product is just plain fun. Thank you!
It's with great pleasure that I announce that the UserPing private Alpha test is really starting today. I've been testing the backend for the last few weeks and getting things working. I'm now comfortable enough with the infrastructure that I'm going to be giving out my first round of private Alpha test invites.
If you've already given us your email address to get access to the private testing phases, then you lucky few will get your invites today. Anyone who signs up to be notified after the first round of invites are sent out will get their invites in the near future after this first round of users has a little bit of time to beat the system up a little bit.
For those of you getting your invites today, I am going to ask you to do a few things for me:
- Don't install this tracking code on any sites that get a lot of traffic. I'm pretty sure that UserPing can safely handle the load, but I don't want to risk getting too big too quickly.
- The charting widgets on the dashboard page are all provided by Google Charts. I've been experiencing a lot of crazy bugs with their stuff that causes some of the charts to sporadically fail to appear. I don't know what is causing this and I plan to replace the charting code soon, but if you see the charts failing to appear: a reload of the page usually gets things working.
- This alpha test is mostly to help me test the legs of my system. If you get an invite, I'm relying on you to let me know if you see anything wonky. I originally intended to make this a friends and family only sort of test, but there are a few people in the beta queue that I don't know. Rather than leave you guys out, I'm just going to ask that you be courteous and help me out if you can.
UserPing is very much a rough work in progress. To keep everyone up to date with what I'm working on, here is my (rough, unsorted) to-do list:
- Replace charting libraries on the dashboard. Google Charts is nice, but fails frequently. Unacceptable.
- Improve look-and-feel on dashboard. Make dashboard more useful.
- Add additional reporting mechanisms in the dashboard (world map, etc).
- Make alert system available (currently I've got all the alert/notification functionality disabled)
- Activate premium billing service.
- Server engineering for scalability.
Again, if you've been given access for the alpha test, please be gentle with us. If something goes crazy, don't keep trying over and over again. Just send me an email and I'll get it fixed with a quickness.
Please direct all feedback, bug reports, or complaints to alpha@userping.com.
I've never done any sort of internet advertising before, but today I got an email from Google telling me that they were giving me $100 free dollars to create an AdWords account and start using their service.
With the launch of UserPing just around the corner, I figured that now was as good of a time as any to dip my toes in the water, so I went in and created a simple advertisement for UserPing just to see what would happen.
A few hours later, I was sitting on my userping dashboard looking at userping.com traffic when I noticed an active visitor to my secret google landing page (hint: its /google). I glanced over at the referrer and was shocked to discover the search term they used to see my advertisement.
They Literally Searched for "googleaniltical"
The actual referring page was a silly Comcast search portal which I have no idea why anyone would ever use, but what really bummed me out the most was the fact that my advertisement showed up at all.
You'll notice that the search page in question displays 0 actual results. Because obviously this user doesn't know how to spell and just vaguely knows that something "aniltical" must exist in "google" or something. Comcast's search page says "NO RESULTS FOUND DUDE!!1!", which is probably the best thing for them to do. But then Google AdWords has to go out of its way to be extra stupid and display my advertisement anyway.
A Pretty Big Leap In Logic
I set up my campaign targeting the following keywords:
- analytics
- site analytics
- real-time analytics
- traffic monitor
So in order for Google to think that the search term "googleaniltical" is a good term to use to display my advertisement, they first had to:
- Split up "googleaniltical" into two words "google" and "aniltical"
- Decide "aniltical" isn't a real word and change it to "analytical"
- Do some magic word stemming and decide that the user really wanted "analytics"
- and then decide that someone searching for "google" "analytics" really wanted an advertisement for userping.com, which only has a targeted keyword of "analytics".
I know that Google is doing some crazy backend magic to process keywords and stuff, and that's all well and good. But I don't honestly think that I want to attract users searching for "googleanilitical". They're not really my target audience...
What To Do?
I'm honestly not sure what the best course of action here is. I don't know enough about AdWords (as a platform) to feel comfortable running a campaign attracting users like this. Once the $100 credit expires, I'll probably drop the campaign and never look back. I know that there's an entire specialty for search engine marketing and optimization, but it's way too much work for me to even consider at this stage in the userping experiment.
