have you any wool?

Tech related ramblings, insights and reviews.

AppStorm Mega-Giveaway

leave a comment »

AppStorm is giving away over $750 of Mac software. All you have to do is post link to the contest on Twitter or your website and then let them know. Check it out the AppStorm Mega-Giveaway and be sure to follow them on Twitter.

Written by Wes Johnson

June 27, 2009 at 4:45 am

Posted in Software

Tagged with , , ,

Rebranded TweetDeck Clients

with one comment

I happen to love TweetDeck. It’s easily my favorite way to interact with Twitter and a great example of what an Adobe Air app can be. Much like Twitter, however, the application is free and left me wondering how they were going to monetize it. It appears they ‘may’ have found a way with rebranded installations of TweetDeck.

It would appear that the offerings from TechCrunch and Mashable are just the standard TweetDeck client with new logos, backgrounds and an addittional column – assumably an RSS feed. TweetDeck users have been asking for the ability to consume RSS feeds with the client for a while now, but I don’t imagine this is what they had in mind.

Keep in mind there hasn’t been any confirmation, that I know of, that these rebranded apps were indeed paid for by the various companies. I would be interested to find out if that’s the case or if they’re just trading them for advertising as TechCrunch and Mashable are both heavily focused on anything Twitter. I’d be even more interested to see some stats on installs of these variations compared to the standard app.

Written by Wes Johnson

June 25, 2009 at 3:14 pm

TweetDeck for iPhone launched.

leave a comment »

If you’re a twitter “power user” or even just an average twitter fan, you’ve probably heard of TweetDeck. TweetDeck is a desktop twitter client build on Adobe Air. Most consider it THE premiere twitter client, with Seesmic a close second.

Yesterday, TweetDeck finally released the long awaited TweetDeck for iPhone. I spent the evening toying around with the app and I must say, I’m impressed. Very impressed. The app manages to capture the look and feel of the desktop version, but also expand on it in ways that make sense on the iPhone and take use of its unique interface and user interaction.

Navigating your Incoming Tweets
Column based groups, replies and dms are all back on the iPhone app. The initial view is zoomed out and flicking left and right allows you to easily scroll through each column, each showing the last 4 tweets. Tap a column and it zooms in, revealing the rest of the tweets and allowing you to scroll through them. Zooming in also introduces left and right arrows to cycle through your column list.

Targeting a Specific Tweet
Once you’ve zoomed in to a single column and are viewing the contained tweets, clicking on a single tweet brings up a new screen. From this screen you can reply, retweet, favorite and even email the tweet. On a user level, you can also dm from this screen or click through to the user’s profile.

Groups
Groups are included just like on the desktop client and work the same way. One cool feature pertaining to groups is that when you’re zoomed into particular user’s profile, you can add them to any one or more of your groups from that screen. I think users will find this easier than having a group and trying to plug people into it, especially when you’re following people that you’re not familiar with. You can pull up their profile, see what they’re about and then categorize them from there.

Sync
Perhaps the best innovation is the ability to synchronize your columns across clients. You can now create a TweetDeck account that saves your preferences to the cloud and then syncs them to your iPhone and multiple desktop clients if you so choose.

Integration
The iPhone app supports a host of URL shrinking services and appears to default to bit.ly. It also supports TinyPic and yFrog as its photo services, though I expect more may be added later.

There are many more features not listed here that make this a great twitter app for the iPhone, if not the best. In my testing I did have the app crash a couple of times, though there have already been bug reports submitted to TweetDeck regarding the issues.

Be sure to check out TechCrunch for some video demos of both the desktop and iPhone clients.

Written by Wes Johnson

June 17, 2009 at 4:25 pm

Where are all the cool people on Twitter?

leave a comment »

If you’re not familiar with Twitter, you’ve obviously been living under a rock – for about three years now. I would try to explain to you what Twitter is, but there are so many other sites that do that – and better.

So once you’re on Twitter, who do you follow? Well, you’d start with you friends more than likely, family, co-workers, etc. But these are people you already know. One of the great things about Twitter is being exposed to all sorts of people that you other would’ve never know about. Sure, the chances of you following a celebrity on Twitter and actually befriending them in real life is slim to none, but it’s still fun. So where do you find the cool people? I use two sites.

We Follow – Is a site by Kevin Rose, founder of Digg, that lists the top Twitter users based on how many followers they have and also has lists of other users based on tags. So you can search the site for tags that interest you, find people who tweet about those topics, and follow them.

Favrd – Not a well know site, but more recently has gained some traffic due to Ashton Kutcher tweeting about it. The premise is this: You can ‘favorite’ tweets on twitter if you find them funny or interesting or what have you. Favrd tracks these tweets and posts them on a leaderboard, based on how many people favorite them. So by checking out the site, you can see find some very funny people, who are getting their tweets favorited all the time.

Update: 6/15

Twibes – Twitter Tribes are essentially just groups of people coming together who are interested in the same thing and would like to communicate with each other. Twibes is a searchable directory of such groups. It also streams tweets from each of the Twibe’s members so you can see what everyone is chatting about.

Written by Wes Johnson

June 12, 2009 at 8:09 pm

Posted in Twitter, Webapps

Tagged with , , , ,

Listable – Lists of things

leave a comment »

If you haven’t heard of listable yet, allow me to introduce you. Listable is a website where you can quickly create lists of things, save them, search them, favorite them and print them out in plain text, json or a mysql insert query. The idea is amazingly simplistic and there are some decent lists to be found, such as US States and abbreviations, area codes, etc.

I created an HTML tag list the day it launched and it’s still on the favorites list, which I thought was pretty cool. Yes, that’s a shameless plug. Check it out!

Written by Wes Johnson

June 12, 2009 at 9:09 am

Posted in Webapps

Tagged with , , , , ,

Google Wave – A Twitter/Facebook killer?

with one comment

Google Wave. The Internet is abuzz, talking about this new product offering from the team that brought you Google Maps in 2005. Just do a search on Twitter and watch as real time updates come in just as fast as you can read them. Tweetdeck has not spoon fed me, but rather jammed down my throat, some 500 Tweets in the past hour or less since I did a search on the term “Google Wave“. Aside from the typical phrases such as “Amazing”, “Innovating”, “Game Changer” and “Revolutionary”, which all I happen to agree with, another trend seems to be emerging around the anticipation of this new communications and collaborations tool; people are all calling it a Twitter/Facebook killer.

So is it? Simply put – no.

What It Is
To be honest, it would be hard to describe Google Wave in it’s entirety because it is going to be so many things to so many people. At it’s core, it is a web communication and collaboration tool. However, as you dig deeper and learn more about what Google Wave has to offer, you’ll see it’s so much more than that. It allows the same functionality as email currently does, but with true threaded messages and conversations like a bulletin board or forum. It allows real time instant message conversations where instead of seeing “Jane is typing a message….”, you see Jane’s message as she’s typing it – character by character. It opens up the possibility of real time creation of documents, and eventually spreadsheets and powerpoints according to the Google Wave team, with multiple participants and including revision history. It’s a photo sharing tool, a comment tool for bloggers, a survey tool and even a wiki.

There are really too many benefits, features and possibilities surrounding Google Wave for me to list here, so I highly recommend you head over to wave.google.com and check out the keynote video if you haven’t already. It really is amazing stuff.

What It Is Not
Yes, Google Wave is game-changing. It is not, however, a Twitter and Facebook killer. This is my opinion of course, but bare with me. Twitter works on the premise of people wanting to communicate quickly with a huge audience and to participate in ongoing conversations with thousands of people – in 140 characters or less. The concept works, because you do not choose who you want to talk to, in most cases. You simply shout out what you want to say, via one of the many desktop clients, smart phone clients or ever twitter.com and your inner most thoughts are now out there for the world to see. The short nature of the tweets promotes quick and to the point messages which assists in near real time conversations, much like IM.

In it’s current incarnation, and from what I gather where Google Wave is heading – it will not replace this functionality. Why? Because the foundation of a Wave itself is that it’s designed to be a dialog between you and individuals you select. Do you see yourself adding 500 people to a single Wave so you can communicate with them all at the same time? Doubtful. Not to mention, you’d have to know who all those people are and that’s the beauty of Twitter; you’re shouting out into the vast unknown and people can choose to read or not and many continue to read without you ever knowing because they’ve yet to “follow” you.

This same concept is why Google Wave will not replace Facebook. Granted, Facebook is a little more targeted as you’re typically only sending status updates, links, notes, photos and survey requests to people you know and have chosen to interact with, but it still works on the same principal; most of the interaction on Facebook comes from the user “talking” to their entire entourage as a whole and then receiving feedback from selective users and continuing the conversation from there. You post a status update for your 5,000 friends to see and 2 of them choose to comment. You post pictures and share with your 500 classmates and 50 of them tag themselves at the crazy graduation party. You change your relationship status to single and you receive 70 messages in your inbox from guys who came dangerously close to committing sexual harassment at your last job, etc, etc.

In Summary
Twitter and Facebook operate under the premise that one person is communicating or sharing with many, sometimes without even knowing who they’re communicating with. Google Wave, while indeed a killer innovation in communications and something I am giddily anticipating, operates under the premise that you’re selecting those who you’re communicating/collaborating with and likely with a definitive discussion topic in mind. I suspect Google Wave will surely compliment Twitter and Facebook with embedding, client-side and server-side extensions – but a replacement, it will not be.

Written by Wes Johnson

May 30, 2009 at 11:20 pm

Microsoft Tag

with one comment

Microsoft is currently working on a project called Microsoft Tag that I was introduced to today. The concept is pretty simple and not unlike the barcode readers you currently see on mobile phones like the iPhone. You hold your camera up to a  barcode, snap a picture, and the application downloads pricing information or product details. Handy, right?

Well what if you could do this with anything? That’s what Microsoft Tag allows you to do. You signup for an account on their website and can instantly start creating these Tags. You can type in some free form text, create a vCard or embed a URL. When you’re finished, MS does it’s magic and a simple square image is produced that is filled with a multitude of color triangles. This, in effect, is a barcode.

So how do you read it? Well that’s easy too. MS has produced a Windows Mobile app and an iPhone app that reads these Tags instantly and performs a function. By instantly I mean, you don’t have to *snap* the photo. When the software detects the image pattern, it’ll launch the resulting function automatically. And by function, I mean – it might link your web browser to target the URL, it might dial a phone number, import a vCard into your contacts or just display some free form text that the Tag author inteded you to see. What’s more, you can share these tags with your friends.

So – cool idea, what would I use it for? Oh the possibilities are near limiteless provided MS continues to expand on the concept and it takes hold with consumers, which I think it will. For starters, you’ve got business cards. Put one of these tags on your business card and when it’s scanned, it’ll import your vCard into someone’s phone. No need to type it out. Heck, don’t even PRINT your contact info on the card – just use the tag. That way, your clients are forced to import your vCard to get your info and now you’re in their phonebook and not another business card lying on kitchen counter. You could place a particularly eye catching ad in a magazine with a little Tag that directs people to your website. Your restaurant could place a tag on it’s takeout menu that will launch google maps and give people directions to your location. These are all some of the ideas Microsoft has already posted on their site.

But…..what else could you do? I started thinking up some ideas and suggestions and I may continue to add to this post as more come to mind. Some are probably silly, some already done, but these are just some things I thought would be cool.

  • Obviously an API is needed so that you can create tags on the fly in your web applications and would not need to visit Microsofts site to produce them manually.
  • Phone Number Validation: If a phone is required to sign up for your webapp, you could use an API to produce a Tag that directs the users phone to call an authentication server of even send a text. You could verify this text came from their entered phone number and you’ve just validated their entry.
  • Integration with a push/pull desktop App: This would take MS getting involved, but often if you’re out on the run you don’t have time to stop and smell the roses. So scanning a tag of a movie poster takes you to their official website to view the trailer. Great, but you don’t have time right now. Instead, have it queue up your scanned tags and when you get home you could have a desktop app pull down all the ones you’ve scanned. Or with a push service, have them there already waiting.
  • Integration with other reminder or bookmarking services like Evernote. Scanning a tag sends it to evernote so you can check it out later. You could even embed it with geo-location information because you’re taking the pick with your mobile. So if the Tag was as some fancy restaurant you wanted to remember, you’d know where it was.
  • Reporting Malicious Tags: I think they need to implement a feature when you can flag a tag as being malicious. Maybe a tag at the local store actually sends you to a porn site. You don’t want your kids inadvertently scanning those.

These are just a few ideas I had. I’ll post some more later. Comment and let me know what you think!

Wordress Tag for Microsoft Tags Blog Post

Wordress Tag for Microsoft Tags Blog Post

Written by Wes Johnson

February 9, 2009 at 10:07 pm

Product Review Quickie: SQL Compare (Red-Gate)

with one comment

Where I work, there normally isn’t a day that goes by that I’m not doing something in SQL Management Studio. Creating and altering Tables, writing Stored Procedures, modifying functions or just cranking out query after query in order to produce spreadsheets because someone in the office wants to see the data in a way we just don’t have a report for yet. Our development to production cycle is measured in hours, not months. And it’s not that we’re just that good or that fast. It’s just the necessity of how we operate. Heck, we sometimes make alterations directly in production and then script them back into development. Bad, bad, bad I know. But as much as I’d like to take a stand against how we work, there is no ground to stand on. We do it this way, because it’s been done this way for the last 8 years and that’s how things get done.

So imagine my confusion when the first project I’d ever really tackled from start to finish, purely in development, needed to be pushed to production. Poor habits meant I didn’t have any saved SQL scripts that I could just run to make all my schema changes and populate my seed data. I literally had no idea what I was going to do. I was beginning to imagine I’d have to go table by table to see what changes I had made and then duplicate said changes into production. Which would obviously be daunting, boring and prone to error.

SQL Compare to the rescue! I had fiddled with some of Red-Gate’s other products after seeing them mentioned at IndyTechFest and IndyCodeCamp. More specially I had checked out ANTS Profiler as a way to try and speed up a particularly sluggish section of the Web Application we used internally. So when I stumbled onto SQL Compare searching Google for a solution to nightmare, I figured Red-Gate was a good place to start. Of course, not only was it a good place to start, it was a good place to finish because after using this tool, I didn’t even bother to look for anything else. It’s THAT good.

I won’t get into the nitty gritty details of what all it’s capabale of. You can find that here: SQL Compare. Instead I’ll just tell you it doesn’t disappoint. Not only did it allow me to push my schema changes into production with near zero effort, it also made me aware of some discrepancies in other areas of the database that I wasn’t working with. I’ve now used it on several occassion to push up my development changes and I couldn’t be happier.

My work is planning on purchasing the full SQL Toolbelt suite in the very near future. Personally, I’m seriously contemplating purchasing the SQL Compare suite for my own projects. Highly recommended.

Written by Wes Johnson

February 9, 2009 at 12:19 am

Tip of the Day: Getting a count of user created objects.

leave a comment »

This is fairly basic and not terribly useful, but I found it interesting anyway. I wanted to get a  quick count of how many tables and stored procedures I’ve made in my new database project, so I threw together a simple query to do that. This isn’t really rocket-science, but querying sys.objects for anything isn’t marked ‘MS Shipped’.


Select Type_Desc, Count(*)
From Sys.Objects
Where IS_MS_SHIPPED = 0
Group By Type_Desc

One of the side effects was that I saw that I had defined 42 Tables, but only 39 primary key constraints. Time to find those 3 tables and give them some keys.

Written by Wes Johnson

February 8, 2009 at 3:22 pm

ASP.NET – 3 Tier Programming – Linked Objects

leave a comment »

I’ve been doing web programming for nearly 4 years now, using primarily classic ASP and SQL Server. Over the past 2 years I’ve dipped my feet into ASP.NET, but have not, as of yet, tackled any large scale web applications/sites using the technology. I am now starting  to venture into some personal and work related projects and I want to make sure that I’m handling the OOP and Tiered aspects of the project correctly. So I submit to you, Internet readers, a question:

Suppose I have two Business Objects that are related on a 1 to 1 relationship: House and Address.

Now suppose I have a Business Logic Tier that two methods of GetHouse(int id) and GetAddress(int id) which calls a Data Access Tier of GetHouse(int id) and GetAddress(int id) respectively, which then queries the database for the information. One of the properties of my House object is an Address object, well call it Addy so we don’t get confused.

At what point should I instantiate by Address object and assign it to my House object’s Addy property?

  • Do I do it in the data access layer? I’m assuming not, because I would have to then call back up into the logic layer to call the GetAddess() method, which then means my data access layer is dependant on my logic layer – not good.
  • Do I do it in the logic layer beneath the GetHouse() method? Since I’m constructing my House object in this method and I need to (at some point) construct an Address object as well, is the GetHouse() method of my logic tier responsible for calling out to the GetAddress() method as well and add the returned Address object to the house? If the LogicTier.GetHouse() method is indeed responsible for creating the Address object as well – then does it call it’s parallel LogicTier.GetAddress() method or does it skip that entirely and call directly down to the DataAccessTier.GetAddress() method?
  • Do I do it in the calling page or application? If I’m using an application and I need a House object, the application calls the LogicTier to create it. Does the application then also call the LogicTier to create the Address if it needs it or should the Address already been created when the House object is returned?

If anyone can shed some light on the subject, I would be thrilled.

Thanks!

Written by Wes Johnson

December 5, 2008 at 1:30 am