Sunday, April 29, 2007

Textmate, Coda, or BBEdit

Dilemma. I don't have a lot of money to spend and I need to make a choice. I have been using BBEdit as my text editor. The version I'm using doesn't have ruby syntax coloring. Owch.

So there are a few choices: $30 for upgrade, $40 for BBEdit or $90 for Coda. I'm trying each one out.

Coda was real appealing at first because it was all integrated and had lots of cool features like code-completing and visual CSS editor. But as the tabs kept building up (and I couldn't move them around), I decided to try out TextMate again (not that I am completely closed to Coda). TextMate is growing on me. I'll definitely be testing it out more.

Comments invited.

UPDATE: I ended up buying Textmate. I love it. Project-wide search is a killer feature. Panic has fixed quite a few of Coda's issues but I think it is still best suited as an editor for websites, not web applications.

Monday, April 23, 2007

Coda: nice!

I just downloaded the trail version for Coda, the latest and greatest web app from Panic. My first impression: it is awesome. Especially doing Ruby on Rails development I am using tons of different windows and tons of different apps. Coda puts it all together into one clean interface that works uber-well.

This one is definitely worth buying ($69 if you have Transmit already).

Sunday, April 22, 2007

I'm jumping on the ruby train, running on rails

When I started developing LearnIt I had really great skills in HTML (at least, that is what I thought). Yay! Now I can make web sites. Then I found that to make something like LearnIt I would need to learn how to use some kind of database. So I read and read and messed and messed, and before long I could use MySQL and PHP to some extent.

Before long, I realized that LearnIt would need one-to-many relationships. Instead of figuring out how to do that with MySQL, I decided I needed to put XML files in my MySQL rows to achieve the relationship. After much toil, I did it. Through that experience I learned quite a bit about XML and XSL (neat). But before long somebody pointed out my ignorance and told me that I didn't need to use XML. I could do it all in MySQL! Oh boy. After I changed the whole LearnIt system to use MySQL only, I thought I was done. Then I discovered this cool technique called AJAX. A few weeks later, LearnIt was AJAX enabled, Scriptaculous effects and all. It had been about a year since I started and I had learned a lot. It was at this point when me and my dad discovered that our business model wasn't very good.

Back to the drawing board. If you are wondering, yes I had previously read Jesse James Garret's The Elements of User Experience and nodded my head in agreement with the chart. So much for that.

So now, with a more solid business plan and a clearer development path, I can have a fresh start. While developing the first versions of LearnIt and following the AJAX craze I ran into plenty of articles raving about Ruby on Rails. For the longest time I couldn't wrap my head around what it was and I didn't try to. But it came time to decide what tools I was going to use to develop this new, fresh version of LearnIt. So I seriously checked it out. I messed. And now I am using it to develop LearnIt. So far, it's been great.

Friday, April 20, 2007

Freebase and DBPedia should work together

Michael Bergman blogged a while back about what DBPedia is all about. I think it is a great idea. Why not get all the structured information that is already on wikipedia and make it useable?

I've talked a lot about Freebase on this blog. Freebase and DBPedia are working toward similar goals. Why not work together? Why enter information twice when the information on both systems is under the creative commons license? I think it would be great if all the great structured information on DBPedia could be integrated into Freebase. I don't know all that this would involve and who would be involved in doing it but in my limited experience it doesn't seem like it would be a huge task.

Here are some links to blogs that talk about Freebase in relation to DBPedia or vice versa:
Freebase and DBPedia
Article by Michael Bergman

Thursday, April 19, 2007

Logos – simple vs complex

I've been mocking up some logos for a neighborhood and I've hit this issue. What is better: simple or complex? I don't think there is a universal answer. In this case I gravitate toward liking the complex logos but there may be bias there (it took me quite a bit more time to make them). The common advise is to keep logos simple and I think I agree with that. But... because a logo is simple doesn't mean it is good. There are other factors too. How memorable is the logo? What does the logo say about the business? Etc.

What do you think about this issue?

Here are a few of the first draft logos (in order of simplicity):

As an aside, all my design work is done using Photoshop Elements. It's less than $100 and I'm able to do quite a bit with it.

Tuesday, April 17, 2007

What can I say... Tragic

I've been following the news about the Virginia Tech shootings. I don't know if I can casually post other things today. This is a tragedy.

Monday, April 16, 2007

Fotowoosh is pretty cool

Fotowoosh will turn 2D images into 3D images. This kind of technology has been around for a while but this is still pretty cool. From TechCrunch: "In a week or so, the company say, users will be able to upload a picture and have a 3D animated image returned to them in a Flash widget that can be embedded on any website." That sounds pretty cool.

See it in action!

Sunday, April 15, 2007

Okay Metaweb, I'm convinced

After much examination and use, I'm convinced that Metaweb's got it right with Freebase. I think that Freebase has the potential to solve a lot of problems for developers and users.

Brilliant idea
A few weeks before Freebase was announced, I had a brilliant idea. "Wikipedia is great and all, but if I could create a system where the computer can actually understand facts and make them useful, that would be extremely powerful." So for weeks I brainstormed how to create such a system. I learned a lot. I realized that this would take a lot of time but I was ready to undergo the challenge.

In comes Freebase
In comes Freebase. I was skeptical at first but, after getting and invite and trying it out, I realized "why create your own system when you've got a well thought out, open, free, developer-friendly system available." The more I used Freebase, the more I liked it and the more I realized how well thought out it was.

Developers that care
The people making Freebase really care about developers. They've created a lot of good resources and tools to learn the MQL query language and, in my experience, they are extremely responsive and helpful when it comes to blog comments and their mailing list. They also seem to be really nice people.

I don't wonder why Metaweb cares so much about developers. After all, it will be real-world web apps that will showcase the real power of Freebase. It will be exciting to see what kind of new Freebase-enabled functionality developers will put in their web apps.

Awesome licensing
Why not use Freebase? Its free. Freebase is under the creative commons license so anybody can use the information for free as long as they link back to Freebase. It is an awesome resource just waiting to be plugged into.

So... all aboard
So I'm jumping on. I think there are a lot of cool ways I can use Freebase in LearnIt. There may also be some ways LearnIt can contribute to Freebase. The more successful Freebase is, the more valuable a resource it will be so it is my interest to help Freebase in any way I can.

Friday, April 13, 2007

Freebase: O'Reilly's right. Its addictive!

Tim O'Reilly said it and I'm going to repeat it now that I've gotten the chance to see what he's talking about: Freebase is addictive. I spent quite a bit of time messing around with it yesterday. When you start using it, you begin to feel the power of it.

Why does it feel so powerful? Because as you are typing in information, you realize that the information is linking to objects, and the information becomes very useful. It is not like posting Wikipedia articles, where the information is only seen by humans. In Freebase, the computer can use the information in powerful ways. So when you say that the "American Civil War" is a historical event (a type that I made), the computer knows that the American Civil War has a starting date and an ending date (and any other information associated with a "historical event"). Then this same information can be used in a web app. For example, a web app could be made that shows a timeline and a map. For any given location or area of the map, the user could see all the historical events that happened there in a given time range. The user could scroll back and forth through the timeline to see all the different historical events in the given location or area on the map. This kind of thing would be easy to do with Freebase. I don't know if this sounds exciting to anybody other than developers but to a developer like me who can use Freebase's free API in his web app, this is quite exciting. All of a sudden, a lot of new opportunities for powerful functionality are enabled.

If anybody wants an invite, see this post.

Thursday, April 12, 2007

OS 10.5 delayed because of iPhone

Mac OS X Leapord is delayed until October because Apple needed to dedicate some crucial resources to the iPhone. This is a little dissapointing but there aren't any features in Leapord I absolutely need right now, so I can wait.

The real subject here is the iPhone. Apple is obviously allocating a lot of resources to developing the iPhone. I think its great. Wether the iPhone does well or not, the standard for browsers on mobile devices will be raised dramatically. Safari on the iPhone is awesome. I, for one, will be making sure that LearnIt works well with the iPhone. With Safari on a mobile device (javascript and all), all of a sudden a whole bunch of great web apps will be mobilized. This could get interesting.

I am wondering if Apple will give developers a iPhone-Safari emulator to test their websites. For some reason I don't see Apple doing that but it sure would be nice (I don't know if I will be able to afford an iPhone right off the bat).

Blogging... post frequency

Most any blogging tip site will tell you to post frequently. That is one of the best ways to get people to come back to your blog. This is the experience of other bloggers and it is also my own experience. Way back when I started a blog about a certain upcoming gaming device. I was only 14 so, as you can imagine, the quality wasn't stellar. But I posted... And posted... and posted. I posted all the noteworthy (and maybe some un-noteworthy) news I could find. I didn't do much in the way of driving traffic to my site, just a few affiliates. But the traffic shot up. I watched with glee as the unique hits went into the hundereds, then into the thousands. Admittedly, the average age of the users visiting was probably around my own but I gained a lot of loyal users.

But here I am now. I'm not running that blog any more. I am loaded with school. I am trying to develop a pretty ambitious web app. I don't have very much time to do blogging research and posting. Its a dilemma but I'm going to try to do a little better. My goal will be one post a day. Once I master that, I'll go for two. This blog needs a little more activity (see screenshot below).

Thursday, April 05, 2007

I've got 3 Freebase invites to give away

I have 3 Freebase invites that I don't know what to do with. If you are interested in Freebase and don't have an invite, comment on this post with the reason you would like an invite as well as an idea for a feature you would want in a web application focused on student (target audience: highschool) research. Unless a lot of people post comments, your chances of getting an invite are pretty high. They would be even higher if the feature you talk about (see above) is related to Freebase.

EDIT: If you don't have any ideas for web app features, thats okay. Any Freebase related idea will do.

UPDATE: Freebase keeps giving me more invites so I have twelve more to give away.