Archive for the ‘development’ Category

« Older Entries

11 tips: Build a web app in one month

Monday, October 18th, 2010

Deciding on the name, one month ago

Last Friday (the 15th October 2010) we launched a little web app called Watchy.  I’ve just checked my skype history, and the name and idea started on 15th September.  In exactly one month we built and launched a fully functioning website while working on other freelance projects.

This project was built by a webdesigner, Kat Neville (me), and a developer, Elliott Draper.  We built it because we wanted to, because we love working on things that get us fired up, and mostly because we’re nerds who would rather stay in and code rather than go out with friends.

So, while I have now done the ‘build a web app in 24hours’, a month is a reasonable amount of time to actually get your app built, tested and working how you like.

Why do some apps take months and potentially years to build?  Why do people overstep their deadlines?  Why do some apps never launch?  I want to give you some tips to make sure you complete your web app in a reasonable time.

Maintaining your momentum makes the difference between a project that excites you and one that gets pushed under the carpet.  So, here’s some tips for fast app creation.

Tip 1: Have some skills

Nothing makes an app development drag out faster than someone running it that doesn’t do any coding.  When you’re building fast, you need to be flexible in what features you put in and may have to redesign to make it work.  For example, I am a web designer, who does all the html and css.  It meant that while Elliott was making things work, I could go in after he was done to tidy up without much need to discuss anything.  If you don’t have any skills, you’re going to be sitting around twiddling your thumbs.

What skills should I have?

Choose only one area that is your responsibility, but allow some overlap.  The best team is a small one: one developer and one designer.  Both do the planning, both do the copywriting, both do the marketing collateral.

Be able to compromise, and find a hustler like Elliott

Tip 2: Pick a good team member

Again, a team of two is amazing.  The less relationships you need to manage the better. You will be working very closely with this person, so make sure you can talk to them, that you share working philosophies and you’re happy with the quality of work that they do.  Make sure that they have the stamina to push through and get things done too. Everyone is enthusiastic at the beginning.
Find out if they are good at the details, that they’re flexible to change and able to make compromises.

Finally, and most importantly, make sure they are shit-hot at what they do. There’s no point working with an amateur. Lucky for me, Elliott and I are ’skype colleagues’ (meaning I’ve worked with him on projects before), and since I hate calling people ‘rockstars’, I’ll call him the most competent, qualified, quick and talented developer I know (ninja, obviously).

Tip 3: Be willing to compromise

The reason to have a developer and a designer is that they approach things from different angles.  This is a good thing, and leads to a more complete, usable web app. Your team member and you will not always agree, so make sure you talk through things before you do them.  Let them win some, too.  Make sure you don’t get angry or defensive and back your opinions up with reasons.

Tip 4: Understand the difference between ‘want’ and ‘need’

Maybe something doesn’t work as well as you’d like.  Figure out what is a deal breaker. If things break without one feature, that needs to be fixed.  If a process is a little bit awkward, you could possibly wait until the next release.  At some point, you just have to say, “Go.”  For example, I wanted to do tooltips on the account settings page, as it’s not really clear what the labels want you to enter in.  But, it would have meant a re-jig of the forms.  So we’ve pushed it from our initial release to the next one.  It still works, and hopefully people will feel comfortable enough to contact me if they have any questions.  It doesn’t stop the app from being working.

Tip 5: Start with the bare bones of what you need to make it work

Nothing extends dev time longer than: “oooh it would be so cool if we did this!”  Often times it is more than enough work to get the core offering working and the userflow and experience to where you want it.  Every new feature adds a layer of complexity that you don’t need at the beginning.  The whole idea for our app was to give clients access to their hours.  We could have tried to build it for every accounting software, but we didn’t: we built it only for FreeAgent.  We could have built loads of client management tools, but we didn’t: we didn’t know how other people would be using it, so we’re waiting for that.

Tip 6: Give them something to get excited about

Sure, you’re keeping things simple, and focusing on the most useful components.  But, there’s something about people that melt when you show them something cool.  In this spirit, we built graphs and pie charts to display your data in a different way.  Not only is it really cool looking, but it makes our app feel more polished and useful.

Tip 7: Spend the time on pixels and speed

A sloppy design gives a bad impression, so make your design as close to perfect as you can.  If you’ve done a logo, make sure you’ve spent time on polishing: it’s the first impression of your company. While Watchy isn’t perfectly done design wise yet, I’ve still made an effort to make everything look clean and professional.  Please feel free to taunt me if you see anything out of place.

For developers, make sure your website is fast.  There’s nothing worse than a site that hangs.  With Watchy, we were having some serious speed issues as it grabbed the data from FreeAgent every time you refreshed.  It could hang for up to 20 seconds and was debilitating to the user experience.  Elliott took the time to get caching working so that it’s 1000 times faster now.

Tip 8: Set an ambitious deadline

Deadlines push people to act.  When you’re a freelancer, you’re always busy: if we’re not working on client work, we’re looking for new work.  So, how do you make time for these side projects?  After the logo was designed we put a holding page up with a deadline of 2 weeks: very ambitious.  We even had a public timer (with a watch themed site, you kinda have to) so that we would feel shame if we put it back.  We agreed that we could do a very basic version by then.  And we did.

Not everything worked though.  So, even though we felt a bit guilty about it, we pushed our launch week back by a week and spent the whole next week making sure things worked, adding subtle features that made navigating easier and more.

If we had not set that initial deadline, Watchy would not have come out last week.  It was because we were keen to move fast that it happened.  It takes a dedicated team and a lot of elbow grease to fit it around your other jobs, but make the effort to make your deadlines:  don’t push them back for no reason.  If things aren’t finished, take features out so you can get it out!

Week 1: Main design, logo done. Development environment set up, and stucture decided.  Landing page goes up.
Week 2:
Design is refined as well as secondary pages designed.  Main pages rendered in html/css. Development should have enough in it so that front end code can go in.
Week 3:
Most of the html/css and development should be finished. Refine app! Test to make sure user flow makes sense, people won’t get stuck. Decide what features you’re going to launch with and remove partially completed features (for example, we decided to launch without payments for our first week, as we felt getting the user flow was more important).
Week 4:
Continue to refine, make sure emails work, invites work and cross browser testing looks good. Make sure it’s fast and looks good. Complete ‘about, terms, privacy’ copy

Tip 9: You can’t be everything to everyone

You can’t make an application work for everyone.  And the more things you try and support from the start, the less good the support will be for each of those things.  So choose a specific target market.  For us, we went ultra specific: we wanted to help freelancers and contractors who use FreeAgent. Moving forward we may pick some bigger agencies to target and we may integrate in with other accounting software.  They key is to find out 1) If the idea is good, 2) If you can make enough to at least cover your expenses and 3) you have the basics and userflow designed well.

Tip 10: Have a launch plan

Choose a time that you’re both going to be around with nothing urgent to do.  If something breaks, you want to be there.  If a person signs up, is frustrated and you’re not around, you could risk losing a customer.  Most people understand when stuff is new, that it won’t be perfect, especially if you acknowledge their frustration and let them know you are dealing with it.

Before you launch though, see if there’s any interest.  We had a landing page and managed to talk to FreeAgent on twitter before the launch.  It meant that we had 50 people to email on launch day, as well as got 30 new followers on twitter from legit people that wanted to help us test.  Sure, 30 is not a very big number on twitter, but in terms of quality, they were ace!  Friday, we averaged over 3 minutes per user on our site, set up emails for feedback and had a twitter account.  There’s loads more stuff we need to do, but the initial interest was amazing, and we’ve been so excited about it all day.

Tip 11: Building it is just the beginning

“If you build it they will come” is the most untrue thing on the internet.  So even though we built this app in a month, we will be spending the next few months improving it, marketing it, testing it and more.  Marketing it is not easy, and it’s this effort that means the difference between a profitable, successful app or just one of those ‘cool things’ you made but never went anywhere.


Wish us luck on building up Watchy!  We’re in ‘beta’ until next week, so it’s by invite only. If you’re a FreeAgent user, please follow @watchyapp on twitter and I will DM you an invite code!  (And please, let us know what you think! :) )



Projects coming soon!

Monday, October 4th, 2010

It’s already October; can you believe it?  It’s my first year as a freelancer, and one of the main goals I had was to be able to spend more time on ideas that I had and to work with fantastic developers whom I respect and admire.  Luckily a lot of these projects are well underway, and things are happening very soon.  Here are my ‘launching’ projects, hopefully all coming out publicly before the end of 2010!

Watchy : due to be launched by the end of next week!

This is a mini project I’m working on with KickCode, specifically Elliott Draper, the best rails developer I have ever met.  We both work for some clients on an hourly basis and they are constantly asking how many hours we’ve worked so far (they’re watching their pennies).  Watchy integrates with your FreeAgent and allows you to give clients access to their time sheets.  We’ve also added a bit of nice visualization tools for the freelancer too. Feel free to register your interest… there’s a free version for everyone!
Visit landing page

Briefy: Basic beta version due in November

Briefy is my baby:  born of the frustration of trying to get good client briefs, I thought there must be a tool out there that can help you build them.  After a search, I found nothing.  With the truly organized and creative dev skills of Dave Sumter, we’re building Briefy so that you can embed questions onto your website, as well as create client specific brief questions based on what functionality they’re looking for.  We’ll be looking for beta users, so please register your interest!

Visit landing page

Festivapp: Beta version due in December


Last but not least, we have Festivapp. This is an iphone app builder for festival owners. I am working with Dan Wichett, one of the most versatile and talented developers I have ever worked with (I also sat next to him for a few years at our last full time job, so I know we work well together). This is his baby, but it’s quite challenging design wise, especially since it’s not just an iphone app. It will make it fast and simple for smaller festival owners to get the technology that the bigger festivals can afford. If you’re a festival organizer, or know someone who is, we’ll be looking for beta users closer to the end of this year, so please register your interest!

Visit landing page


Lots of projects, little time! As usual, I have my fingers in many pies and it keeps me busy evenings and weekends, but I am very excited about these projects and can’t wait to show you working versions of them!


Hacking for Charity

Monday, September 20th, 2010

This past weekend I went to my first hack weekend, specifically Charity Hack. at the paypal offices in Richmond. I have been working on a charity project these last few months, and the developers suggested I go. Design had been sorely lacking from some of the projects last year.  This year, they proactively invited more designers and by the final results, you could definitely tell.

The whole idea

You have 24 hours to come up with a concept (and hopefully a working version) of tools that help charities engage with their customers, raise money and more. They brought in Mission Fish and Just Giving who had brand new apis you could use. And, of course, Paypal has a multitude of tools, including micropayments that make getting the money together safer and easier.  It was great to have the actually developers who wrote the apis sitting right there with you.

We were stationed at the Paypal offices and were buried in copious amounts of food and drink (Thanks so much to organizers and helpers Lorenza @johnxcom @anthonyxcom @amanda Deb Musaab and Corrado… you made the whole experience so smooth and wonderful!).  Everything was informal: you could do anything you like, you could change your team anytime up to 9am the morning everyone presented.  Teams were limited to 4 and your final presentation was 3 minutes.

My team

I was lucky enough to be asked to come, so finding a team was no problem.  Here’s our team:

1. Michael Heap, a brilliant developer and problem solver.  If I came up with anything, he always said sure.  And he did it. Definitely the hero of the group!

2. Todd Francis, likewise brilliant developer.  After some frustrations trying to get complicated apis working, really cleaned up getting the scenarios and database logic working really well.

3. Carolynlyn, an ideas lady who researched out some great scenarios and found some great apis and resources for the team to use.

4. Me, who did the design and html/css and basically badgered the two devs constantly to implement changes (I should have said yes to being involved in version control so I didn’t have to wait for Michael or Todd to go use the toilet so I could steal their machines).

We were up until almost 3am and got to about 80% finished.  From all the redbull I drank, unfortunately, I was unable to sleep.  I got back up at 6am and found many of the other teams hadn’t bothered with the sleeping bit.  I spent my time cleaning up the designs and adding in dummy facebook/twitter integration. The team was up again at 7:30, and we worked pretty much solid until cut-off time at 1:30pm.  Around mid morning, deliriousness set in.  The last 20% truly takes the most time! Of course, it’s still not perfect!

Our idea

Very Hard Choices homepage: You can only use it with Facebook

We wanted to find a way of engaging the younger audiences and make the woes of charities feel more personal.  So we created an integrated facebook Choose Your Own Adventure game called Very Hard Choices (you can actually play it now).  The idea is that you become homeless, and your girlfriend/boyfriend are there, and a few of your friends are too.

Your friend asks if you boyfriend/girlfriend had hurt you. Eventually we want the head on the main image to be yours and your friend's too.

You go through the adventure, making hard choices that people face on the street.  Eventually you either make it off the street or die.  We then explain that homelessness is no game and prompt them to make a donation to a homelessness charity and share your survival rate on twitter or facebook.

We pull in their birthday if they've displayed it on the facebook page to show a proper gravestone. We then give them options to share their survival rate and donate to the charity.

We really enjoyed testing our own app even, which I think says a lot for its stickiness: we wanted to know the fastest way to die, and to figure out all the ways to the end point.  Everyone who tried our adventure game loved that it was personalized and it was great fun to build!

The hack day is done…

There’s only so much you can do in 24 hours, and I especially want to thank the two devs who not only had amazing ideas, but also performed miracles in getting this up and working.  We’ve set up a proper backend so we can add in new stories, new loops and lots more (there were only so many story lines we could finish up in the time we had).  It is also easy to add in other types of stories for different types of charities.

Here is an example of a few other ideas we had for story lines. The choices are endless really.

And the winner is….

Not us, unfortunately. We’re very pleased with our efforts and while we would have liked to win, I’m not too disappointed (honestly!  Even with my hugely competitive ego!).  There were so many good ideas, and I do believe CharityBox (where you give affiliate money from vouchers to charities instead of the affiliates) was the best hack and deserved to win.

All the winners had great hacks too: people really made a big effort to make their projects amazing (and hilarious, including CharityShock, where you could shock someone by donating money, as well as BlessTheWeb where you can confess your sins and repent with money).

Another non-winner I really liked was Pitchinin, which gave artists the opportunity to give away a song to their fans in return for donating to a charity.  So, if I had a song, I could say that if you raised £1000, it would be unlocked for everyone who has donated.  I enjoyed talking to @kzhu about his plans for it, so I hope he gets the development funds in to make it happen.

Many of the people I spoke to said that they really wanted to continue building on their projects and get them to proper production quality.  There was so much condensed passion and enthusiasm in that room (probably fueled by all the wonderful free food and drink provided by Paypal), but I’m looking forward to see what people actually do. I know we want to continue working on our project, so watch this space.

I know it’s cheesy, but I’m going to say it: I feel like I won anyway, knowing that we had a great idea, it was well implemented and useful to charities.  For a first hack day, I can’t really ask for more!

Now: time to catch up on my sleep!


Making a race night record with wordpress

Monday, March 22nd, 2010

I’ve just completed a website for Pioneer’s Running.  They are a great company, who are really passionate about what they do.

Screenshot of the homepage

Wordpress Table-reloaded

This running website really pushed the boundaries of what I have used wordpress for.  Sure, I’ve used some plugins to pull content onto the homepage, for custom sidebars etc, but what I needed was a content management system that did tables, text, calendars and more.  They wanted to have a way to display race results after they’ve had a timed race night every month.  They wanted to be able to update the results themselves, and they don’t want to look at any code.

Luckily, I found a plugin that looks a lot like an excel spreadsheet, and it has been so easy to integrate it in! I used this plugin to make the race night results easy for them to update themselves.  They’ve only had one race night, so here’s what it looks like now.

men's race results

The backend interface

It’s a lot like excel, but not as complicated.

controlling the interface

A simple table.  Select rows using the checkboxes

Other features

  1. -Add multiple tables onto any page with a simple tag onto your page [table id=1 /]
  2. -Every second row has an alternating background color.
  3. -Highlight a row by changing its background color while the mouse cursor hovers above it.
  4. -The first row of your table is the table head (HTML tag th).
  5. -The last row of your table is the table footer (HTML tag th).
  6. -The Table Name shall be written the table (HTML tag h2).
  7. -The Table Description shall be written the table.
  8. -Yes, use the “DataTables” JavaScript library with this table.
  9. -Style your table with your own custom css (although I couldn’t get it to make entry 1, 2, 3 have different styling, but if I figure out how to override it, will append this post)
  10. -You can export your tables
  11. -You can decide if you want pagination, if you want to allow them to sort, allow them to search (which works great!)

Reservations

My only issue with this solution is that as not everyone participates in every race night, hitting sort for that day puts the blank entries at the top.  While it’s very customizable, if I had more client resources, I would have spent more time customizing it, but we all know how difficult changing these things can be!


Taking the short way

Thursday, January 21st, 2010

Take the fast route baby!

There are so many resources out there on keyboard short cuts out there. Some really good ones that just got published include Mastering Photoshop: Unknown Tricks and Time-Savers (where I learned how to commit the text I had just written when my toolbars were hidden:  It’s cmd enter!) and I’ve just finished installing Zen Coding into my Coda and Textmate, which will save me a lot of time formatting boring static text, definitely.

Shortcuts are great…

I know quite a few shortcuts in the Adobe package, and I can get around my mac pretty easily with a combination of key strokes.  It saves me so much time, and it makes it so much easier to get into my “zone”.  We all have our techniques for efficiency when we’re on the computer.

…but they’re also really frustrating

The problem is, they’re not universal.  I hit the “V” key constantly in flash in order to get my direct select arrow.  I hit “command D” constantly in Illustrator to place an image, but that’s the command for inDesign.  After a while I get frustrated enough that I’ll go and change them in the settings, but by then, all flow has dissipated.

They also make teaching difficult

I have often gone to show people how to do something very simple in Photoshop, and to be honest, it takes me a while to find certain things in the menus.  I hit keystrokes to change tools, and they are shouting, “Wait!  What is that?”

Remember these words: patience and repetition. I think people should always learn the long ways of doing it first.  Menus and panels often give a context that learning shortcuts do not.  It’s like at school with math:  the teacher would show you once or twice how a formula was derived, and then you just remembered the formula, but understood its context.  It meant memorizing the formula was much easier, because it had something to connect to in your brain.

They make “experts” out of “amateurs”

I’ve met a few people who are whizzes at Photoshop, could talk to the talk, do the shortcut walk and then I saw their stuff, but it turns out they couldn’t design themselves out of a paper bag.  Just because I’m really good with the drill and the hammer, doesn’t mean I should be designing the house.

This short-cutter has mistaken tool mastery with real skill, and that’s a huge problem.  For those who strive for mastery in design, shortcuts are not important.


Rant about the “tech girl”

Monday, July 13th, 2009

I just watched this talk from Adriana Gascoigne, who is the creator of Girls in Tech.  She’s very charismatic and a good speaker, but I think the facts that she presented were the wrong ones.  I knew what she was fundamentally trying to say, but her figures didn’t say it, and talking to a predominantly (tech) male audience, they didn’t mean anything. She forgot that…

The disparity between the sexes is old news.

I’m really torn between those that are saying, “Women in tech aren’t getting the recognition, there’s only 8 women that are hear of fortune 500 companies… blah blah” and the other side that says, “Sorry, but there just aren’t as many women in tech, and proportionately the same amount that are doing anything really amazing.”  I don’t want to hear mediocre women speaking about mediocre things.  I want experts, same as everyone else.

It’s something brought up so often, but I still find myself wondering about it. We’ve beaten this topic to death, but why do we keep bringing it up? Because we’re still lonely, us girls in tech.
We’re just oh so lonely. And, frankly, it’s kinda embarrassing.
Where are you, ladies?

The question is, why aren’t there many women in tech?

While I consider myself a designer first, I do spend 80% of my life coding these days, so I guess I’m a tech girl, and my two closest tech girl friends here in London are probably the most fierce, competitive, self-starting, and definitely intelligent ladies, but also developers.  No one would call any of us timid.  Is this lack of traditional “girliness” a requirement for these lonely female developers? First thought, maybe, but that’s not it, I’m sure of it.

Me and my nerds, nerding it up at the firefox 3 launch party

Me and my nerds, nerding it up at the firefox 3 launch party

Something scary about being surrounded by men?

Fact: if you’re in tech, you’re going to be surrounded by guys. Is that why there aren’t more girls in tech?

No, because the guys in tech are very open to having girls around.  They WANT there to be more talented girls in tech (well, most of them… there’s always a few haters).

Most teams don’t want to be all sausage, and often a sole girl will have a bit of an advantage over an interview with a similarily qualified male competitor.  (note: I hate the idea of a girl getting a job just because she’s a girl– I am very hard on my female techs: they better be at least as good as their competitors. None of this, “Oh, we need to get the male/female ratio right” bullshit.)

But it’s ALL men.  My work is 5 guys and me.  My graphic design course in highschool (to learn photoshop/illustrator) was 22 guys, and 2 girls, and most other start-up tech teams I’ve met have been predominantly male (with a token female every once and a while).  If, as a girl in tech, you’d like a bit of female companionship, you’re going to be well out of luck. If you’re not a confident lady, it’s not easy being amongst all men, no matter how nice everyone on the team is.

At barcamplondon... spot the girl, almost like a where's waldo! (there's two of us in this shot)

At barcamplondon... spot the girl, almost like a where's waldo!

Why haven’t more girls gone into tech?

I’m really not sure, but I think it has a lot to do with nerdiness.

There doesn’t seem to be the same high level of awkward girl nerds around as there is for guys (not saying that all tech are awkward, but we definitely are nerds!). And to be really good, you have got to be a full on, hardcore nerd since you were 12 years old.

My friend Margaret, a java developer, told me that she used to fix the computer for the teacher when she was in primary school. She was excellent at math. I was always in the top of my math classes in primary school and high school. I spent HOURS on our Mac LC3, reorganizing, designing, learning new applications, creating clubs, designing newsletters.

I asked a few of my dev guy friends what they wanted to be when they grew up, and many have said, “I’ve always wanted to do something with computers.”

Everyone around is touting about becoming an expert taking 10,000 hours. Coincidence that these guys have been honing their skills in every possible moment of spare time since they were pre-pubescent? I doubt it.

These guys, and the token female nerd, definitely have an advantage over those people that only decide to do computers in university. Growing up, none of my girl friends liked computers that much. Why? Because they were nerdy, possibly. I know I did, but then again, I was a huge nerd. Complete with glasses and a mushroom haircut.

Guess which one is me!  Look at all the chronic over-achievers at 12.  All girls at my school

Guess which one is me!

Computers are a lot cooler than they have been in the past, so maybe this will start changing. I hope so, because then I will be on the cutting edge of cool.

It’s a man’s world

I love computers.  I love design.  I love learning new stuff.  But, as much as we don’t want to admit it, I’m a girl in a guy’s world.  It was not built for me, and because it was built by enthusiasm, and continues to move fast, it’s still predominantly built by guys.  Should that matter?  No.  Does it make a difference?  Sure.  A great rugby player who joins in a soccer match will have to adjust to a very different game, same as a guy who becomes a stay at home dad.  It’s not his world. I don’t mind: I think they’ve built it very well, but maybe that’s a barrier to some of these girls getting their feet wet.

Women are supposed to be fantastic at languages, and while we’re on the sexual stereotypes, they’re also great communicators. What is a computer built on? A language. In my high school, the girls were equally good at math and science as the guys. Where’s the barrier to going into computers?

Side note: I hate the “girl in tech” winers

I really hate them. Just because you’re a girl in tech doesn’t mean you should get recognition.  Just because you’re the only one you know doesn’t mean you should get some award.  Sure, it’s difficult not having the same-sex companionship and community, but I’m tired of seeing mediocre design and dev girls wondering why they’re not rock stars.  Or, the mediocre dev girls that become rockstars because everyone feels like they have this obligation to have equal opportunity.  I don’t want to hear about your mediocrity.

And as much as the guys want some eye candy around, I’m sick of mediocre devs/design girls becoming popular just because they’re gorgeous.

Okay, maybe I’m just jealous.

But, I love being a girl in tech

First and foremost, I love all the guys I’ve worked with. They have been so supportive, encouraging, and, while sometimes harsh, have always done it in a way that makes me continually improve. I think being a girl on the team, and especially since I’m an outgoing one, adds a good balance and fun that they wouldn’t have without me. Of course, they may think differently….(but I’m sure they’re too scared of me to tell me! hahaha!).

Joining the team

I’ve joined some women in tech groups (there are LOADS of them, for design and for dev). So far, I haven’t seen them making much progress in getting publicity. Maybe that will change, but right now, it’s pretty much a love-in for ladies scratching their heads wondering why they’re not getting results. Hopefully my membership will become more useful as the number of talented ladies increases. If any of us does become famous, I just hope it’s not just because we’re a girl though.

Is it a bad thing to use your lady status?

Sometimes I really wish I weren’t judged on being a girl. But you know what, I am one. Saying ‘people shouldn’t judge’ is a complete cop-out that takes reality and chooses to ignore it. Sometimes being a girl is a disadvantage, but I also believe that you use everything in your arsenal to your advantage. Standing out is the only way to get ahead, and I plan on doing it morally but smartly. I’m a decent designer, but definitely not the best, and definitely not within the top 1% (maybe top 5%… there are a lot of crappy designers out there!). In the world of women though, I’m pretty darn good. In the whole field, I wouldn’t be noticed as easily if I were a guy. This doesn’t mean I think I deserve this extra publicity, but I’m going to take it. You know what, I’m going to take every advantage that I can. And when I launch an app that I have lovingly crafted, that I get 3% more traffic because I’m a girl in tech, well, I’ll take the gender divide to my advantage, thank you!

Someone wants to give me a little bit extra because I’m a girl? Is that bad? I don’t think so, because I’m definitely not coasting on it, and in all honesty, it’s really not giving me that much extra.  No one could say that I’m not hungry to get better, to create constantly, and it’d be difficult to hold people’s attention without substance.

And you know what, if I get really good (which I plan on doing), I will definitely become a mentor.  I wish there had been a lady around to mentor me.  We ladies like to have mentors.

Then maybe we can stop talking about this, and just get on with it!


Meet thepickuptruck!

Tuesday, April 14th, 2009

I’ve just completed thepickuptruck.com, my first app of my own I’ve actually finished!

So, it’s pickups, but it allows anyone to add pickup lines in (either by doing it anonymously, but also by claiming your pickups by putting in your twitter name). You can vote on pickups. We (myself and Dan Wichett, a fantastic developer, who has been my partner on this whole thing!) have also made a mobile app, which uses the opera widget process, where you can save your favourites.

I would love your feedback on the truck! Let me know what you think!

screen shot of thepickuptruck

screen shot of thepickuptruck


Adobe’s website drives me insane

Monday, February 2nd, 2009

I wanted to purchase an adobe product, as my trial had run out.  Their store is built in flex, and they are the CREATORS of flex (builder at least).

It crashed my browser 10 times (both firefox (7 times) and safari (3 times)), while trying to open the store.

I restarted my computer, and I finally got into the store.

I tried to purchase using paypal. Transferred me out to paypal no problem, but upon returning me to the store, it gave me the spinny ball for 10 minutes.  I was concerned that if I refreshed or tried again, it would charge me twice (as it had gone through fine in paypal)….  Took a chance and tried again.  Still screwed up (doesn’t look like they charged me, but keep your fingers crossed).  Restarted computer, still didn’t work.  Finally decided to just use my credit card.  Whole situation took over 1.5 hours.

What an absolute pile of crap.  I like adobe products, and I really like flex as it’s a great combo between flash beauty and building dynamic applications, but I think that their website is very convoluted and difficult to use.  Shame on you, Adobe.

picture-14


New safetygoat!

Tuesday, January 13th, 2009

new_goat

Well, well, well!  I said I was going to fix up safetygoat, and it’s taken me a lot longer than I thought….but it is here!  It has been a time consuming endeavor. For example, adding in a simple plug-in often took three hours of frustration (followed by 2 minutes of knowing bliss!), sometimes two days, but it was never as simple as people said (which leads me to believe that I’m a wordpress retard).  I will post code snippets that I figured out in the coming weeks so hopefully others will learn from all my pains (and hopefully the codies out there will tell me if I’ve done a really big ‘faux pas’ or two!).

Some of the things I really wanted were easy-ish… getting flash and jpgs into the same gallery for my portfolio, for example, but my main goal was to make the front page more interactive.  This meant having haikus that people could scroll through and add to, a sneak peak into my portfolio (I’ve grown quite fond of that frame and don’t feel bad for one second about how much of your bandwidth I’m taking up!), somewhere where I can pull in photos of safetygoat that other people have taken (add yours to my flickr group!), as well as feeds for my last.fm, brightkite and twitter. Over the next few weeks, I’ll be tweaking it and testing it in different browsers, but I would appreciate all of you lovely people to take a look through.  If you could let me know if you spot any bugs, or if you have any tweaks I can make to just tidy it up, I will put on my tough girl skin and take your advice lovingly into my arms.


Replace pseudo-class :last-child using JSTL by determining the loop status

Friday, October 24th, 2008

I wanted to know how you’d figure out when you’d come to the last in a list of items when coding in a jsp. When the number of items vary, there’s no way you can hard code this in.
I wanted to add a :last-child in my webpage so that my list’s last element wouldn’t have a border-bottom, but the rest of the list would. I’m all for progressive enhancement, but sometimes things look so shocking in ie7 and ie6 that you just need to find another (non-css) way to take the border off.

In css, it’s

.keyContact li{border-bottom: 1px solid #000;}
.keyContact li:last-child{border-bottom: none;}

But this doesn’t work in IE7 or IE6. Without it, I get a crappy double line thing, and looks shocking. In my jsp, I’m not sure how many key contacts I’m going to have as it’s running through a loop. But for each item we determine their status:
< c:forEach items="${contacts} var="contact" varStatus="status">
<li class="contact ${status.last ? 'noBorder':">Contact info</li>
</c:forEach>

Of course, you still need to define what noBorder is in the css…

.noBorder{border-bottom: none;}

Now you can delete your li:last-child class in order to keep your css tidy.

This sets a variable so each time it goes through the loop, it knows which is the first, last etc. And when it determines that it is the last element, it will add the class “noBorder”, otherwise it will add nothing. (Read it as “is the status last ? (question mark). If yes, add noBorder, otherwise (:) add nothing). FYI this is called a JSTL loop status. Hope that helps!


« Older Entries