After being somewhat burned out of my Avecora OnDemand project (because my CSS and Javascript were throwing fits in Internet Explorer) (yes, this is the cause of my burnout) and after seeing a few “how I built a webapp with just $x,000 and x people” I decided to go ahead and build something I’ve been thinking about for a while.
Thus SpeakHQ was born. SpeakHQ is a service that lets you take the micro-update/micro-blogging idea that is embedded within Twitter, for your group. This was originally developed for Avecora OnDemand, however I wanted to make it free to use for all, and with some other features like joining multiple groups.
Just to clarify, this doesn’t use the Twitter API (or else I’d have to deal with it going down every 10 minutes, hitting 70-requests-per-hour limits with 35 requests, etc.) and it’s built from scratch.
Team:
Mark Bao, developer, designer, everything else
Timeframe:
July 3rd: 10am - 12am EDT.
July 4th: 10am - 1pm EDT. (this indeed adds up to not 18 but 17. all the better!)
How it went down:
July 3rd. 10am EDT: I used a PHP MVC framework I wrote a few months back called ActiveVC. Doesn’t have anything to do with venture capitalists, though it is a MVC framework without the Model; essentially it is a simple template engine. I might release it sometime for the hell of it. Decided to use moo.ajax with prototype.lite.js at first, but decided that jQuery would be better for more useful Ajax calls as well as the rest of its set of features. Started database schema and planned out the UI.
12pm: User account system ready, session data is able to be handled. Working on the basic user-group membership association, and loading groups and posting messages via Ajax.
3pm: decided on the name speakhq (it was either that or groupchan) and registered the domain at 1&1. (still waiting for namservers to propagate as we speak…) cost: $6.99
4pm: new group, group settings, user settings… and preview testing with some friends.
5pm: refreshed the interface, looks a little less bad now.
7pm: groups directory. joining/leaving.
9pm: new account creation, email invitations to public and private groups.
11pm: data sanitization (should have thought of it first) using a php function called __() (two underscores) that instead of using echo $var I use __($var) and it echos sanitized output.
12pm: bugfixing and then sleep.
July 4th. 10am EDT: checking on domain registration (T_T) and then fixing miscellaneous bugs and stuff.
12pm: opening VMware to test in IE6 and IE7. OH MY GOD IT IS SO BROKEN
12:30pm: half an hour wasted fixing IE problems with PNGs, margins, random stupid width problems, etc. Thank you stilleye guy for IEmarginsFix.js, and to whoever came up with the underscore hack.
1pm: uploading to server, changing database stuff, and it’s released. yay!
Still left to do:
forgot password / password and email changing
public group viewing
customizable group avatars, environment (background colors, etc.)
As you may already know, I’m trying to make an effort to code as much of Avecora OnDemand as possible within three days. Now that school is over for the summer, I can (finally) get this product out the door as soon as possible, well-developed, of course.
The first thing on my list is to fix the deadlines system and view, taking out the calendar on that page and adding the support for time-zone customization. Next is to get the calendar logic done, as well as upcoming items; then, to work on the contacts system. For now, that’s all I will be doing. Expect to be finished by around 3pm (EDT).
I’ve been working on Avecora OnDemand for a little while: getting the design down, XHTML/CSSing the design, getting the framework squared away, and getting some database schema down, as well as doing some code in the areas of tasks, deadlines, etc.
Avecora OnDemand is a fully featured and easy-to-use small business management and team collaboration software that allows small business to organize company information and manage customers among their business, teams, and projects.
Starting on Wednesday 18 June 2008, when school finally ends, I will be developing full-force on the Avecora OnDemand project. I’ll see what my goal is, but I think it’ll be getting very close to launch/deployment.
What I already have finished:
Authentication
Project Membership
General tasks system, creating, editing, deleting, assigning, deadlining
Deadline creation and week display
Message sending and basic viewing
This was developed over a period of 1 month, where I worked on average a few hours a week for 4 weeks due to school/failing SATs/failing finals. In three days, I’m looking to develop most of AOD, twittering it and posting updates to this blog.
Recently, I’ve been experiencing a high CPU usage by the process syslogd in Mac OS X 10.5.2 Leopard, coupled with strange Console.app behavior. If you’re experiencing this as well, give this a shot and see if it works (at your own risk.)
FIrst, you should check if this is a problem on your system, which is usually caused by large asl.db files. Open Terminal.app (Applications/Utilities/Terminal.app) and enter the following:
du -hs /var/log/asl.db
and hit enter. If it shows that your asl.db file is pretty huge (mine was 80MB) you’ll want to run this fix. If it isn’t, a rampant syslogd is probably not due to the asl.db file, but instead some application doing a lot of logging. Open Console and look if there’s any applications that are logging a lot, like if you see “ — last message repeated 500 times —”, that’s probably what is causing syslogd to own a lot of CPU.
If asl.db is huge, do the following. You’ll first have to enable a root user to your system. Then, go to Terminal, and enter the following (enter one by one, and hit enter afterwards):
The MySpace Developer Platform has launched at developer.myspace.com, based on Google’s OpenSocial spec. As the largest social network, it is ridiculous that MySpace is building upon the OpenSocial API, which, in many peoples’ opinion (including my own), is used to build not applications, but widgets.
If you’re a Facebook Platform veteran, you’ll notice the following changes:
You create a separate profile for your application. Similar to Bebo.
You can set homepage markup, to be shown on peoples’ homepages.
There’s no callback URL.
That’s right - no callback URL. Here is how you build your application:
Mozilla Labs has released an extension originally authored by Chris Beard that allows for very simple browser customization. Namely, it allows you to choose from different styles to apply to your browser, which essentially replaces the chrome background. It also works in all themes, or should. See below for example.
click to expand
But don’t take my word for it, for I am a terrible screenshotter, here’s one from Chris Beard’s blog:
Why they decided to take this as an official Mozilla Labs is not too clear to me, however they cite the following pillars of the project which is pulled verbatim from their site, viz.:
themes today are too hard to find, install and use
graphic designers should be able to style the browser without having to code
Browsers can be more than just desktop software, they can include online components
people just want their computer to be a little more fun and personal
All good points, but unless it gains a lot more more options for skinning the theme, it’s not going to be very useful for the end user. In addition, I’m not sure why it’s taken in as a Mozilla Labs project and not stay an extension, but guessed it was due to the developer of the app being an employee of Mozilla.
Edit: Looks like one interesting piece is that the active persona can be changed through the DOM via Javascript (or at least that’s what it sounds like.) Also interesting is
I can also imagine that we could use this to build some sort of badge or icon art that people could put on their blogs or Web pages that indicates their current Persona, and if people click on it they can switch to it.
Recently, Facebook released a new photo browser that doesn’t require loading and refreshing of a page to go to the next image. (Go to any photo page to try this out.) It’s essentially powered by ajax, almost all of the page, including loading comments (though adding comments is not ajax yet.) It’s somewhat indicative that Facebook isn’t going corporate — yet.
By not loading a new page and replacing current contents of the page using ajax improves user experience. However, with the percentage of pages that are just interacting with photos, Facebook is losing a large amount of ad impressions and thus losing revenue while making ux more enjoyable.
SERGEY BRIN:The reason it’s called “I’m Feeling Lucky,” is of course that’s a pretty damn ambitious goal. I mean to get the exact right one thing without even giving you a list of choices, and so you have to feel a little bit lucky if you’re going to try that with one go.
TOM CHAVEZ: Basically you have $110 million of revenue loss per year associated with that button.
MARISA MAYER: You know Larry and Sergey had the view, and I certainly share it, that it’s possible just to become too dry, too corporate, too much about making money. And you know what I think is really delightful about Google and about the “I’m Feeling Lucky,” is that they remind you that the people here have personality and that they have interests and that there is real people.
Join us for the Facebook Developer Garage Boston on January 17, 2008! Discuss the Facebook Platform, web dev, monetization and investing, and more here with other Facebook Developers and enthusiasts. There will be people from Facebook here as well.
If you’re a regular to the Facebook Developer Boston events, you’ll know that this is the fourth Facebook event in Boston, and there hasn’t been one in a few months. Let’s make this the best Facebook Developer event yet!
Molecular is setting up at the Facebook Developer Garage as one of the meetings of a course for a web development competition at MIT. They are taking suggestions for relevant courses for the beginning stages of Facebook development at the event.
The event will be crowdsourced; your suggestions and presentations will go into the event. Let us know of any suggestions you want, or presentations you want to make. Email fbgarage[at]boston.avecora.com.
The event will be free and open to the public. See the event page and RSVP on Facebook, Going, or Upcoming. Event venue TBD - will announce on the main event page.
Yes, it’s another video — but it’s great marketing. By harnessing the popularity of the original Tay Zonday “Chocolate Rain” video (which, of course, has gone viral, 11 million views at the time of writing) Dr. Pepper promote a new flavor, Cherry Chocolate through a sequel (which is like a remix of sorts as well.) Damn, that’s a good idea.
I apologize for the recent amount of video posts lately, but I couldn’t help but perpetuate (virally) this brilliant marketing video from the Singapore Media Development Authority. Kudos to the marketing team that thought of this.