Posts Tagged ‘blogging’

Gonzo, an open source markdown editor

Gonzo

Gonzo is a lightweight, open source markdown editor written for Adobe Air for desktop using Flex 4 and AS3. Its a stripped-to-the-bone application that serves one purpose: helping you deliver well formed and easy to proofread web content.

Gonzo, the lightweight markdown editor

Why use markdown, I already know HTML?

Rather than drone on about the pros and cons of each, I’ll just present you with a simple example. You let me know which version you would rather proofread.

HTML version

Here's a header

Here's some content in a paragraph. And here's a link to Google and another to my Github account.

And here's another paragraph

this time it contains a blockquote
  • One of these lists' syntax
  • has the following attributes:
    • intrusive
    • ugly
    • very hard to read
  • which one do you think it is?

Markdown version

## Here's a header

Here's some content in a paragraph. And here's a link to [Google][] and another to my [Github][] account.

And here's another paragraph
> this time it contains a blockquote

* One of these lists' syntax
* has the following attributes:
    * intrusive
    * ugly
    * very hard to read
* which one do you think it is? 

[Google]: http://www.google.com
[Github]: https://github.com/tonylukasavage

Why should you use Gonzo?

Well, unless you are writing content for the web, you probably shouldn’t. Gonzo is written specifically for those who want to leverage the readability of markdown over HTML when publishing web content. So whether you are writing a WordPress blog post, editing a wiki, or even just an answering a question on StackOverflow, Gonzo can make your life a whole lot easier.

In the spirit of markdown, I’ve added just enough features to increase efficiency while maintaining a content-driven writing experience. The idea is to only add features necessary for making web publishing easier. All the effort saved by not implementing useless features was redirected into usability.

Just Give Me The Feature List Already

Yeah, I tend to skip the text and go right for the feature list too. Kudos to anyone who actually read the previous content before coming here.

  • Live HTML preview – You can actually see the raw and rendered HTML generated by your markdown in a preview pane.
  • Multi-tab editing – Edit many documents at the same time.
  • Cross platform – Works on any desktop that supports Adobe Air.
  • Keyboard and (context) menu shortcuts – Creating markdown is even easier now with multiple was to create it.
  • HTML Export – Export your generated HTML to a file so it can easily be uploaded or shared.
  • Cheat Sheet – integrated markdown cheat sheet for beginners and vets alike.

Coming soon…

This is the list of features I personally would like to have, as I’m the only user so far. Please let me know what you think would be a good addition to Gonzo’s functionality.

  • yfrog integration – Wouldn’t it be nice to browse to a file on your desktop, upload it as an image, and get a markdown link placed in your document in one click? I think so too.
  • bit.ly integration – see above
  • Markdown toolbar shortcuts – Just in case the keyboard, context menu, and native menu shortcuts aren’t enough…
  • Preferences – Let users set things like fonts, colors, editor sizes, and eventually maybe even theming.
  • Local settings – For persisting preferences between Gonzo sessions

What else do you have in mind?

Want to Contribute?

Good! Like most open source projects, ongoing development will be heavily motivated by contributions and feedback from its community of developers and users. While Gonzo will continue to grow as I use and find features I want, its going to be you who determines if it matures into an application for the masses.

There’s a number of ways you can contribute:

  • Use it and let me know what you think.
    • What is it missing?
    • What am I doing wrong
    • What am I doing right?
  • Fork , start hacking away, and send me some pull requests. I’m very open to help, but bear in mind that its lightweight nature and usability should not be sacrificed for the sake of features.
  • Design help is very welcome. I’m a dev through and through, so it will remain spartan in frills unless someone else decides to add the polish.

Summary

There’s a lot to come yet for Gonzo. I still need to get the wiki up and running for basic docs. I may even take the time to make a web page for it if it garners enough interest. Or none of this could happen and I could just continue to use it myself. Only time and feedback will tell.

If you do start using or hacking Gonzo, you can let me know here, on , or on . I’d love to hear about your experience. In the meantime I’ll continue using it to write my web content and keep improving it as I see fit.

Oh, and this entire post was written in markdown using Gonzo. Here’s a link to the original markdown for the blog post.

Monetize Your Expertise, Not Your Blog

The Backstory


I’ve tried in vain to make a couple bucks off the content of my blog. Google Ads, affiliate programs, and a few other typical methods yielded very little in terms of results. I had basically given up on the notion of monetizing my blog, despite Dan Florio’s chivalrous efforts to explain to me how it can be done. That’s when things started falling into place.

I put all my efforts into writing about the area of technology that currently interested me most: mobile frameworks. If you are , I’m sure you’ve seen at least a handful of these articles by now. If not, then you are missing some of the highest quality content on this site. If you’re curious, check here, here, and here for a taste of what I’ve been working on.

Long story short, I made a serious effort to provide unique, accessible, sought after content. That combined with the tips I detailed in my last post, “11 Vague Ways to be Technically Relevant“, led to the most promising of monetizing efforts so far… writing for others. Turns out, even though there is a superfluous amount of mobile content on the web, not much of it is unique or has more than an inch of depth in terms of analysis. Enter Tony.

Writing


Apparently I had thrown my 2 cents out there about mobile frameworks enough to garner the interest of the powers that be at BuildMobile.com. While it appears to be a relatively new conglomeration of mobile technology authors, there is more than meets the eye. Scroll to the bottom and you’ll find its owned by the web development powerhouse SitePoint.com. And by powerhouse, I mean an Alexa rank of 907.

So in a match made in mobile development Heaven, I will be a contract author writing mobile development articles for the up-and-coming BuildMobile.com. It’s not compensation that will have me quitting my job anytime soon, but I will be making more with my first article than I have in almost 2 years of trying to monetize my blog. Finally some of this hard work is starting to pay off with something other than pats on the back from peers. Not that they aren’t appreciated. :-)

The Morale of the Story


As the title of this article says, monetize your expertise, not your blog if you are a techie. Most people that visit tech blogs are all but blind to Google Ads, and even well placed, relevant affiliate ads will only net you a few dollars unless your userbase is very big. The only thing you should be selling on your blog is yourself. Your blog gives onlookers a chance to see what you are capable of, and its always nice if they aren’t pummeled with annoying banner ads in the meantime.

People can tell the difference between a blogger, writer, programmer, etc… who is really passionate about what he/she does and one who is not. You need to invest yourself in your work and make a commitment to provide quality content each time, not just fodder for your RSS feed. This is what will set you apart from the pack. That, and being willing to play the social networking game a bit, of course. Don’t discount any connection as you never know how a random favor may pay off in the future. I’m not religious, but I’m a staunch believer in karma.

Keep working on the things that really drive you. Put all your effort into them. Make sure your thoughts are heard. Add some time, persistence, and initiative and you just may start making some money doing the things you love.

NOTE: Anyone who wants to tell me I’m a jackass and that there’s a clear cut way to monetize a blog with a captive tech audience, I’m all ears.

11 Vague Ways to be Technically Relevant

These are the tips I suggest, and follow myself, for becoming and remaining relevant in the arena of my technical interests. I’m not promising what the SEO and social media marketers promise in terms of universal popularity. I’m just offering a hard working path to making your work, content, and opinions relevant to your target technical audience.

A lot of these tips are vague and obvious. I’ve found, though, that hearing common sense from someone else or seeing it in print often works as a catalyst for actually acting on it.


Exist

Get yourself a blog to have a home for your original content and work. People need to know you exist as a unique entity. Sign up for a cheap plan at one of these hosting solutions:

Fire up a default WordPress install and get started creating original content. Don’t waste a lot of time on WordPress themes and plugins. While fun, they are a huge time sink and you’ll likely change it all at a later date anyway. Spend no more than an hour finding a theme you like and move on.

If you don’t already have a network of people to point to your blog, it may seem like you are pushing content to a black hole. The first few months of this blog I saw next to no traffic. But keep at it. If you build it, they will come.

Eventually you’ll pop up in search engines and your peers will start coming back on a regular basis. Unless you have a popular flagship piece of software/hardware to your name, the growth will be slow and steady. Just be patient. In the end your blog will likely be the most important thing that identifies you.


Be Seen

So how do we start growing that blog audience? Through the miracle of social networking.

You should be familiar with some of the most famous social networking haunts in the world by now in , , and . If not, get familiar. These are huge, free audiences that will grow proportionally to the amount of effort you apply to them. Personally I’ve found all the good tech interactions on Twitter, but YMMV.

NOTE: I could write a whole other post on building a Twitter identity and leveraging it. Let me know in the comments if you are interested. Short version: Use Tweetdeck, WeFollow, and Twiends.

Two other places you should consider posting your work judiciously are Reddit and Dzone. Reddit obviously has everything under the sun posted to it, but useful subreddits like Programming, Technology, Android, etc… are important to visit. DZone is kind of like a standalone version of Reddit’s programming subreddit. If you put links to interesting, relevant original work up on these sites, you have the potential to drive serious traffic to your personal site(s).

Contributing to the open source community and providing raw work for feedback is a great way to catch people’s eye as well. For developers, look into creating accounts and contributing to either or . As a designer, check out some of the popular design communities like Forrst or Dribbble.


Be Unique

I don’t mean you have to have something outlandishly weird every time you publish content, but make sure you aren’t just paraphrasing wikipedia or SDK documentation either. The thing that is going to set you apart from every other blog in the world is your unique perspective on your chosen technologies.

That’s not to say simple tutorials blog posts are bad. In fact, they are pretty good for getting you more hits from search engines. It’s your technical, and even personal, history along with your (un)biased opinions that will give your content a feel that is distinct to you. And that’s what will give you relevance.


Talk

Now that you know where to make the connections, start engaging them. If you want people to listen to what you say, they need to believe you know what you are talking about. The best way to convince them is to have logical, spirited debate with them.

Find the talkers on the social networks, wait for or propose discussions on topics in which you have expertise, then talk shop. Be one of the people giving critical feedback on Forrst, sending pull requests on Github, or tweeting tips on Twitter.

People like developers who have a personality. The more human and accessible you are, the more likely that people will want to see what you do next.


Know the Players

Identify the key people in your area of interest and try to become part of their social network. This is a very delicate task and one that grows exponentially harder depending on the popularity of the people you are trying to get in with. You need to be interesting without seeming like you are begging for attention.

In my experience, the best route is to help them out. If you know a developer who needs testers for an alpha app, volunteer. If there’s a project out there that you had a great experience with, write a blog post about it and let the owners of the project know you wrote it. Make yourself useful, rather than just being a leech on their status.

Having an in with the core people in your area of interest carries not only the benefit of relevance by association, but you also will be on the cutting edge of what they have to offer. Advance alpha testers and new tools are often offered first to those in the social network of these key players.


Focus

Hits and visits to your site aren’t really impacted by how cohesive your content is. Subscriptions, though, the visitors who come back time after time, are. Your faithful fans come to expect a certain kind of content and can easily be turned off if one day you are posting about writing 3D Flash applications with Away3D and the next you are posting code for a packet sniffer in C++.

Don’t let this divert you entirely from one-off topics, especially if they are currently trending. Just don’t make it a habit and keep those one-offs technology related. Most people who run tech blogs that have other non-tech related endeavors tend to have separate sites for their other interests.

Also, I’m no SEO expert, but I’ve heard many times that having similar content throughout the full extent of your domain will increase your chances of showing up on searches. SEO isn’t the end all, be all of relevance, but it certainly doesn’t hurt. The more often you show up on the front page of Google, the more likely you will be viewed as an authority.


You’re Not The Best

SPOILER ALERT: You are not the best at what you are doing, and this has very little to do with whether or not your ideas get noticed or become successful. Execution, not skill, is more often than not the limiting factor for a developer’s success.

I know too well the virtual paralysis some feel when approaching a project that they think someone else could do better. Why bother when some 14 year old Japanese kind will do a better job? Why? Because chances are that Japanese kid won’t finish the project either.

The developers who have created some of the most important applications of our time were often not geniuses. They simply were very good at what they did, had an idea that they truly believed in, and executed it to completion. Not 80%, not just an alpha to play with, an actual product. Which leads me to our next vague tip…


Create Things

Pick a simple project in your field of interest and do it. Begin to end, every step necessary to make it available to your target audience. You’ll learn directly afterward that ideas are a dime a dozen because all the cost is in the implementation.

Having a completed project, no matter how simple, achieves many things:

  • You will have your name on something you can point to and immediately and show your talent and ability to execute.
  • People will start identifying you with this work, and will likely engage you more with feedback and requests.
  • Puts you in that universal developer’s lottery. You know, the one where a developer gets unexpected success based off a simple idea that just grew and grew.

Most of this is based on the idea of delivering an application, but it applies to any content: applications, books, blog posts, video tutorials, any production quality material that you would be proud to have associated with you. While we generally hate them, you as a developer need to adopt a product manager’s view in some respects, except you control the deadlines.

If you have nothing to your name yet, make your first venture very simple. Too often people get lofty ideas of creating frameworks and engines before creating one practical use case themselves. One of my favorite (recent) examples of this is Grant Skinner’s EaselJS library that resulted from his development of “Pirates Love Daisies”. He didn’t say, “I’ll develop an HTML5 and JS canvas engine then figure out what to do with it.” No, he created a game using the new technology, learned lessons along the way, then translated these lessons into code that others could leverage.


Be Interesting

I mentioned that tutorial blog posts are good for SEO, but not much else. Evangelism is great, but usually only interests other evangelists. If you really want to get a faithful audience, you need to deliver unique, interesting content.

Being controversial seems like a logical way to do this. Being inflammatory and brash is sure to turn some heads, but it can also lead to you getting black listed by the legitimate people in your target technology. So how do we raise eyebrows without being a total jackass?

I have found that inserting strong opinions into a solid technical discourse works best for me. When I write a research and comparison article, I render a decision and I put my perspective into why I chose it. Laying out the facts is very useful, but picking sides and being open to debate is what puts asses in the seats. You may not think so, but negative comments in your blog are gold. Those are the ones that generate the interesting ongoing discussion.

You need to be animated, personable, and opinionated while maintaining a staunch respect for credibility. Your audience is generally well educated and they will not stand for constant subjective statements without very strong technical backing. Think Bill O’Reilly, not Howard Stern.


Learn from Others

Get on the social networks and developer/designer communities I mentioned earlier and see what the heavy hitters are doing. Find the people that inspire you. Find the people who’s attitude and work resonate with you. Now model your behavior after them without losing your own identity.

I could elaborate on this section, but I’ll leave that to you. The interactions you have with the people that inspire you are your own. Listing mine here will never compare or seem as genuine as your own experiences. That said, here’s a shout out to a few people who have in one way or another had a very positive impact (whether they know it or not) on me and my journey to relevance in the technical community.

  • Jesse Warden
  • Jesse Freeman
  • Dan Florio
  • Sean Moore
  • and whole bunch of other Twitter friends who have been extremely helpful

Work Hard

So in this 2000+ word brain dump I mentioned a lot of stuff, and I didn’t even get into the specifics of any of the content you would need to be generating. Needless to say, none of this is going to happen by itself and it’s going to take constant hard work to leverage all this info. Being relevant is not something that happens by accident.

So once you do start generating your own content, be sure to stay on top of your social connections and internet presence so your work does not go unnoticed. It is not easy work, but I assure you, over time it gets much easier.

Good luck and be sure to drop me a line if this advice helped out!