HN user

michaeldwp

20 karma
Posts3
Comments24
View on HN

Hi,

Congratulations on releasing your app! I just wanted to mention something that I'm hoping will help you guys.

I realize that you've probably worked hard on the design of the website; but, personally I think the design needs a bit of an upgrade.

The layout is pretty good, but here's a few things I'm noticing:

  1. The fonts are thin, and kind of hard to read (check out
  Google fonts for other choices)

  2. I'd suggest removing the faded images in the 
  backgrounds of certain sections, like the one in the "Do it 
  all from a single page." The problem is it makes me lean in 
  and squint to see what's in the image. Instead, if you want 
  to show something, show it as a fully visible image, and add 
  the caption/sub-title above or below it.

  3. The buttons and other elements look a bit dated, in my 
  humble opinion.
I really, sincerely hope this doesn't offend or upset you, that's not my intention at all, and I realize this may be coming off a bit harsh; but I'm being blunt with you because I actually almost left your page within the first 5 seconds because of these things.

It didn't seem like a trustworthy site, for starters.

My suggestion would be to either pick an HTML theme from themeforest.net, or try to find a nice UI kit (try googling for "css ui kit" or "free css ui kit" and see what comes up.)

It's more important that you shipped, so this is great! But, I'd suggest taking some time to polish your homepage.

I hope this helps, and my humble apologies if it comes off as harsh.

Edit: grammar.

Well, I don't know the full situation, but I'd like to echo part of what NAFV_P said, with a focus on the talk:

If it were me, I'd probably try grabbing a coffee/tea/beer with him outside of the office, if possible (or, if you have your own private office, then that'd work too), and just talking with him about the situation, peer to peer, and try and understand what's causing this behaviour.

Just try to be tactful about it. Even broaching the subject may be a bit awkward, but if you can figure out a way to discuss this with him in an amicable way, it may be worthwhile.

It kind of sounds as though he's in a very stressful position. Maybe it's just the stress?

It could be something simple. Maybe it's something you're doing or not doing that irks him somehow. It's also possible that it could be something completely outside of you and the company, and he's just taking it out on you inadvertently.

Consider empathizing with him and try to figure out what's going on. Odds are there's actually a reason. Once you figure out what the root of the problem is, you're more likely to be able to figure out how to make things better.

If it's something you can do to help, you can try and resolve the issue. If not, just try to come to an understanding that there's no hard feelings; that you'd like to at least remain cordial, and even friendly, if possible...

In my humble opinion, getting HR or your/his boss involved as mentioned below/above may work on the surface, but you'd likely just be forcing him to suppress whatever it is that's upsetting him... not sure how well that'd go in the long run. At this stage, I'd go for the "talk with him" route. But maybe that's just me.

If you talk with him and it doesn't help the situation, then at least you truly tried getting to the root of the matter.

I dunno, just a thought for your consideration. I hope this helps somehow.

Disclaimer: I've never been in this situation before... this is just my two cents on the matter.

You may also want to check out http://compete.com.

If you can find a site that released their numbers, you can compare that site (your baseline) with other sites to get an idea of how popular they are, relative to your baseline.

While you won't be able to actually find out how many users each app has (unless they release their numbers), this can at least give you an idea of popularity. Hopefully.

Personally, I'd say always wireframe / sketch before coding.

The reason behind this is the interface is what the users see and use. Your app's design (from a UI / UX perspective) will almost certainly come out better if you spend some time upfront on design.

As a bonus, you'll likely write less code since you'll know exactly what you're building. Without at least a (revised) sketch in place, you may end up unnecessarily generalizing methods / classes, or adding stuff that you end up not needing later.

Anyway, that's just my opinion. I at least do some sketches, with revisions, before starting an app.

Try some problems at http://rubeque.com/ or http://www.codeeval.com/. Project Euler is also good, as duggieawesome suggested. As you're doing the problems, try and find "Ruby-esque" ways to solve them.

Other than that, run through the http://RubyMonk.com lessons, and try some of the Ruby courses at http://CodeSchool.com.

The best way to learn is with hands-on stuff though. So, if you're looking to get into Rails as well, I'd recommend what jfaucett recommended: try and pick a (simple) app to build, and build it.

I'm not sure what town your in, but if you don't see any meetup groups (check http://meetup.com .. or search Google), then why not create one?

I've heard that meetup.com can increase attendance to these meetups significantly, but I think it depends on which town your in. (I.e. if people in your town don't know about meetup.com, then it doesn't matter and you can get away with a website and marketing it another way [try reaching out to Python/Perl/Web Design groups and see if anyone would be interested in meeting up to talk or learn Ruby]).

If you'll be meeting with a bunch of people who are new to Ruby, going through RubyMonk.com together can be a good way to get people up to speed. Then try Rails for Zombies Redux at http://www.codeschool.com/courses/rails-for-zombies-redux (it's free).

But, yeah, practice, practice, practice. If you want some intermediate level stuff to work on, try creating a Rails app. You'll likely come across some intermediate-level stuff.

And good on ya for looking to improve your skills and get active in a local community. That's great! :)

I hope this helps.

No problem. :)

I remember having some fun with this one. I think the prof gave us a pretty simple maze, and a fairly complex one to test with. You may want to try the same, and start by solving the simple maze.

Other than that, the advice to try and solve a real-life problem is good.

Since you're currently working in the console, it may be a bit tougher to find some problems to solve. But here's a few ideas:

1) Write a program that can download a given webpage

2) Expand #1 by writing a library that allows you to parse the different HTML nodes on the page, searching for things like "a div with an id of 'content'"

3) Write a console based file uploader. I.e. so you can have a file in the root of a directory that you're working on, say "uploader.dat", which has the ftp (or ssh/S3?) server and username, and the files to upload / exclude. When you run your app, it will check that file, prompt you for a password, connect, and upload the specified files to the server. You can have settings in the file for whether to overwrite files or not, or prompt the user to decide whether to overwrite a file. You can add a bit of smarts in by checking the "last modified" date on each file, and compare it to a stored setting of when you last uploaded files (or each individual file). Perhaps display the files that were uploaded / modified after the upload is complete.

Anyway, just some thoughts. If you can find an app / problem that you'd be truly passionate about building / solving, I'd say go with that one.

I hope this helps.

I remember a fun program from school. Pretty much, it was a maze solver.

Say you have a maze, and a mouse. The mouse, denoted by an uppercase 'M' character, starts out somewhere in the maze. The mouse has to find his way through the maze, to the end.

To add a bit of spice, say there's a piece of cheese at the end of the maze, denoted by the letter 'C'.

A maze would be stored in a file on disk, called something like "maze.dat." The file would be a normal text file, with a maze drawn out in simple characters.

Here's an example: http://pastie.org/5721807

(You can create a more simple / complex maze if you'd like, or maybe find one online.)

So, you've gotta figure out an algorithm that the mouse can use to find its way out.

Tip: be sure to handle the case where the mouse can't find a way out (yet) .. i.e. the infinite loop case.

I hope this helps. Have fun!

Edit: switched to pastie.org link since hn didn't format the maze properly.

I'm not sure if a site like that exists. If you find one like it, it us know. :)

As for colour combinations in general, I switch between https://kuler.adobe.com and http://www.colourlovers.com/. They both have some nice pre-made palettes.

These days, I've been preferring colourlovers mainly because:

1. Their site is plain-old HTML, rather than Adobe Flash / Air.

2. You can see a longer list of palettes in the search, and can sort them by "most loved." (See: http://www.colourlovers.com/palettes/most-loved/all-time/met...)

And,

3. You can even search by hues and whatnot (see: http://www.colourlovers.com/palettes/search).

I would suggest trying the following:

1) Pick just one project that you see yourself actually finishing. What's the one project that you're most passionate about? (It would be good if this wouldn't take more than 2-3 months.)

2) When you have some time, rather than jump straight into the project, plan the steps that you'd need to complete the project out first. Make these tasks fine-grained, preferably keep the time required to complete each task under 10-30 minutes each. Organize them by subsection too, if you'd like.

The point of this is to (1) make it easy to jump into project anytime you have 10-30 minutes, and (2) to ensure that you always know what to do next.

3) Make a commitment to check off at least one task a week / work for 15-30 minutes a week on your project.

3) Whenever you have some time, work through the list.

As you get more into it, you can increase your weekly commitments.

Give it a try. You can finish your tasks, you just have to be committed to do so. Be disciplined, and promise yourself that you won't jump to another project until you have finished the one you're currently working on.

YMMV, HTH.

No problem. :)

I see what you're saying; but for your first few titles, I'd probably recommend just focusing on creating something that people will want to download and use/play later in the first place.

Also remember that once it's downloaded, they'll hopefully use/play it multiple times. So, maybe you should just update this app in 10-15 days, to get more installs, and then release a higher quality app in a month or so, instead of in two weeks.

I don't think it's about how many people are downloading your app today, it's more about how many people will use your other app(s) during the day/week of your new release.

Just be sure to be focusing on the right thing.

That's my opinion anyway. :)

Well, I'm not in the iPhone app store, but I've done mobile development before...

My advice would be to not rush to release a new app every 10-15 days, just because you have 1000 downloads a day. Instead, focus on making your next app good enough to be worthy of receiving 1,500 downloads a day, and then 2,000, etc.

Increase your install base over time with good apps.

Yeah, you can release a bunch of fast puzzle games to promote apps 4+, OR, you can just try and make better apps/games from the start.

I dunno, that's what I'm thinking. I this helps some how.

I'm not sure if something like that exists, but I've used http://deviceanywhere.com in the past for Windows Mobile testing. This was before the iPhone, they're still around and have iPhone support, so it may be helpful.

Once I got everything configured, it was pretty sweet. It wasn't hard to setup either.

The one thing is, from what I recall, they were a bit expensive. But they have free trials.

I also found this article that could be useful:

http://www.softwarequalityconnection.com/2011/03/testing-app...

There's a bunch of options for testing without buying a bunch of iOS devices. They also have more DeviceAnywhere-type services listed as well.

I hope this helps.

I would say:

1) First thing in the morning, don't check your email, Hacker News, or any other distracting sites. Not even for a minute. You can spend a bit of time figuring out your tasks / biggest rock(s) for the day (see #2); but after that, the next thing you should do is get to work.

2) Set a 1, 1.5 or 2 hour timebox where you get your "Biggest Rock" of the day done first (it's okay to split this across multiple timeboxes.

More on the Big Rock stuff here: http://zenhabits.net/big-rocks-first-double-your-productivit...

3) Work on your email in batches. So, when you open your email, set 45 minutes (or whatever) to reply / respond to whatever is in your inbox. Then close it until it's time for your next email batch.

4) I haven't gotten into this one yet, but I think it would be good to deal with each email once it's opened. Don't mark it as unread or leave it in your inbox. Respond to it or archive it (or do something with it that would make it "done.").

Yeah, I think those would be my best tips at the moment. The biggest one being #1.

I hope this helps.

A few thoughts:

- Just a quick thing on the hosting: If Mashable is planning on covering you, you may want to invest in a dedicated / cloud server, and just downgrade later once the traffic wears off. I'm guessing that other blogs will write posts based on Mashable's recommendation, so your virtual server may not be able to handle it...

- One other thing on your homepage: Consider putting a call to action right in the center of your picture, saying something like "Get started now" or something like that.

- Take a look here to see what they did with their image in their A/B test: http://visualwebsiteoptimizer.com/split-testing-blog/how-to-...

- On the page with the live map, maybe have a popup / overlay after a few seconds that says something like "Connect with Facebook to see your friend map."

- Do you have any viral sharing features in there?

- You should try and make sure your site can convert before Mashable writes their article. It would also be good if it could be shared / spread virally somehow.

- Also, by "keep him updated," I don't think he meant that he was looking for increased traffic, he's looking for a story. You guys getting more traffic probably isn't the most interesting story in the world.

- Are you able to add something new and even cooler to it for later this week? If so, that could be your story.

Sorry that this comment is a bit of a mess. Hopefully this makes sense, and helps you some how.

You can also just make your own CSmartObject base class (which does reference counting), and just have all of your objects inherit from that.

Reference counting may not be built into C++ itself, but it's not super difficult to add in either.

I would suggest that you:

(1) Talk with / survey your customers to find out what's actually going on. Based on your description, it doesn't seem like you've actually talked with them. You should find out why they're not spending the required time on the site, and / or why they're not renewing their subscriptions.

Figure out why they initially used the site, and what value they thought they'd get; and also why they don't feel that they're getting that value any more.

Base your questions on the one found at http://survey.io .

(2) Figure out the root of the problems that are causing these support requests, and fix them. (E.g. could you clarify the wording on some pages? Are people not using the site properly?). This way, you don't have to spend so much time on support.

But I do agree with some of the others, a pivot of some sort sounds like it could help. Otherwise, if _after_ you've talked with your customers, you don't feel that you should keep this going, move onto something else.

Edit: Also, remember that the growth really comes down to the marketing. Have you been in touch with bloggers? How are you advertising it? Doing any SEO? Or is it purely word of mouth? And if it's word of mouth, do you have any viral components in there to help people spread the word?

He's talking about the Lean Startup Methodology, not just being lean in general. Either way, don't think for a second that it's a good idea to avoid reading books and learning from other people's experiences via podcasts and blogs. That, in my humble opinion, would be a huge mistake.

By taking the time to learn about the lean startup methodology, you save yourself the hassle of having to learn these things the hard way. And by "the hard way," I mean "through your own company."

Yes, you do indeed have to read and/or listen to some podcasts, but you'll benefit in many ways that far outweigh the time you spend reading.

One of the core principles of the lean startup is to learn from customers so that you can build a product that people actually want and are willing to pay for. It gives you ideas on how to do this. It also tells you to stay lean and be ready to pivot; to not be hard-nosed to press forward on your original path, because that may not be the best thing for the business. Does this sound like advice that you should be ignoring?

The lean startup methodology isn't the only way to success, but it does seem to be helping people. And to "cut the fat" of learning of any sort (if you want to call it "fat") isn't a good thing. You should always try to learn from other people's experiences because it can save you lots of time and frustration.

I find that knowing what to do next helps. Also, I try to make a habit of getting to work when I first turn on the computer (rather than going to Hacker News and whatnot) in the morning. This helps me get some momentum, which helps keep the work going throughout the day.

I can still get work done without the initial early morning momentum, but I get much more done by focusing on work first thing.

For "what to do next," I keep a task list. I've been using "The Hit List" on Mac and ToDoList (by AbstractSpoon) while in Windows. I find that part of the trouble with "getting started" is not knowing what to do next sometimes. So keeping a task list is quite helpful, in my opinion.

The other thing is, setting up timeboxes and being resolved to work diligently during each timebox. I guess you can try the Pomodoro technique -- just remember that you can adjust the timings to whatever work best for you. I personally prefer the longer timeboxes (1.5-2 hours each).

Outsourcing isn't so bad, but you do have to be careful. I'd recommend against going with anyone who isn't doing the actual development (i.e. someone who hires other specialized people to do the actual work).

I only have two experiences with outsourcing so far, and that was the case for my first time. He emailed me shortly after "starting" the project, saying that development had stopped and that he was looking for a developer to replace the last one. More emails with more excuses followed, taking up the original time-frame for the project, and then he just stopped emailing entirely.

So, if you get the slightest hint that the person you're talking to wouldn't be able to get the job done if a staff member leaves, then go with someone else.

If, however, you manage to find a good developer/team that has either has a strong portfolio, or enough successfully completed projects (on a site like http://rentacoder.com [aka http://vworker.com]), then you shouldn't have a problem.

Just do a bit of upfront research on the person/people before committing to anything. Make sure you feel comfortable in their ability to get the work done, backing that up with data of some sort, and you should be fine to outsource.