Category: Technology


Facebook’s New Niche

In the midst of Facebook’s widly-discussed UI changes this week, one new feature fell through the cracks: the Timeline (currently only in developer beta, but you can be involved by following these steps).

Timeline

This new Timeline feature solves a major UI problem that Facebook has been plagued by – the disorganization of each user’s content. The previously-separate Wall, Info, Photos, and so on have all been combined into a single, centralized profile page. But the timeline goes beyond that. In displaying your entire Facebook activity over time, it also allows you to add “life events”, from achievements to medical events to anything, really.

By now, you’ve probably realized that these features don’t just show your entire Facebook activity – they’re meant to show your entire life.

(Note: Sure, this situation is interesting in terms of privacy, but let’s just assume that people will be willing to share the events of their lives. So far, they have been pretty willing.)

The main thing going for Facebook here is how much information they have. Besides sharing information, users give Facebook a ton of personal data. They’ve finally started using this data for more than just targeted advertising; for example, the timeline has a map page that tracks your activity, intersecting place information with status updates and more.

Life-tracking might be Facebook’s niche. Google+’s focus is sharing, not identity creation. In terms of user identity, G+ certainly aims to consolidate your web activity under one profile. But Facebook doesn’t have the web – instead, they combine activity on their site (status updates, photos, places, and now app activity via Open Graph) with the life events you input. In a way, Google+ and Facebook aren’t currently competing in that realm, although Google might certainly try to follow Facebook. If anyone could do something like that best, it would be Google, specifically because of how much we rely on their services in our lives and how much information we have about ourselves on the web.

Hopefully, this timeline feature won’t be treated as just another annoying Facebook redesign. It has the potential to change the way we approach the Internet and collect our online identities. Facebook has been making dumb moves lately – but this might be their killer app.

Generalizing Task Management

Time – a very tricky business, I’m afraid… so subjective that the way one person manages it will probably not work for another person. Hence, there’s only one good way of solving this problem: by generalizing.

Tasks greet us at every step in life, so it is essential to figure out how to organize them. Almost everything is a task – meeting a deadline, preparing for an interview, etcetera. They are so diverse, yet all of them seem to fall into two categories.

I call the first category “time tasks.” These include things like the meeting you need to go to tomorrow afternoon, doctor appointments, and so on. What they have in common is that they are supposed to occur at a set time, hence the name “time tasks.”

I don’t have a great name for the other category, so let’s just call them “regular tasks.” These don’t have a set time at which they occur. If you were to need to buy something from the grocery store, for example, that would be a “regular task.”

The only reason why it’s important to separate different types of tasks is so that we can find the ideal method for managing each category.

My methods for managing

As “time tasks” are closely related to a specific date and time, my preferred way of managing them is by using Google Calendar or any other calendar. There, you enter all your tasks and you can clearly and easily see what you need to do and when.

“Regular tasks” don’t have the luxury of being organized by time, so they should be organized by priority, instead. I recently discovered Remember the Milk and have been using it for the past three weeks with great success. RTM’s interface is so streamlined that it will make sure you never forget the milk again (no guarantees).

By using both gCal and RTM, I was able to increase my productivity two-fold. I hope it works for you, too!

Open Sourcing Music

The open source movement has caught on to many an industry – software, hardware, information, text, etc. Most of these efforts are headed by Creative Commons.

But we haven’t changed what currently goes on in the music industry, yet.

Of course, there are public-domain sounds, tracks, and whatnot, but what I’m here to talk about is mainly musical compositions. The problem that we’re facing is two-fold:

  • Music composition is very private: music isn’t really written in big groups. Instead, one person or a few (in the case of a band) write the music.
  • Publishing is also very corporate: most compositions right now are published by big publishers, without an open Creative Commons alternative. Not only does this put huge restrictions on what can be done with published works and how they can be modified (assuming that they are corporately published), this also completely shuts out the additional community creativity that arises from open-source creation.

Wouldn’t you like to be able to work with other people to create music?

Let’s take an example. One person, who I’ll call Adam, wants to write, let’s say, a march. He has already thought up a few motifs, so he begins planning out the form. After beginning to notate some parts of the piece, he creates an open-source project, uploads his plan and his current score, and shares it with the world. Someone else comes along: his name is Bob. Bob finds the open-source project, checks it out, and wants to add to the piece. He uses the documents Adam uploaded to add more notation, which he then submits as a “patch”. Adam sees the submission, looks it over, and accepts the inclusion.

I think Creative Commons seriously needs to look into this field. Here’s how I think it should be organized:

  • Open format: MusicXML is proprietary, maybe create something very open called MML or MusicML (Music Markup Language)? There should then be converters from other proprietary formats (e.g. Sibelius files, Finale files, the aforementioned MusicXML, etc.)
  • Subversion/Github-based revision-tracking systems: Changes need to be kept track of, so that people can submit their additions to the music, these additions can be accepted, and every change is recorded. If something goes wrong, you can always go back to an older version!

The whole version control idea would be great, but how do you segment music creation and composition into “parts”/revisions? I think this should be approached the same way as it works in the software development field: each task of adding or changing something is inputed in separate check-ins, using common sense.

Of course, there may be some copyright problems. Arrangements of non-open-source musical works would probably be a no-no, but compositions are OK. Each work would be placed under the copyright of the originator or originating group and licensed under a Creative Commons license. Arrangements of this new music would be derivative works.

We can go so many places with this, just as was done with open-sourced software. Next: an online collection of user-submitted motifs, all open-source, as well as a system resembling Google Code for version control and project hosting.

I’m tired of all the Twitter API applications that force users to enter their Twitter usernames and passwords to log in. Why? Well, because it’s just so insecure!

Many people realized this for web applications some time ago, so now, most Twitter web services use OAuth to connect with the Twitter API. But for some reason, this hasn’t been done with desktop apps: most of them haven’t embraced OAuth.

Of course, there may be less of a security risk of providing your username and password with desktop applications, as one might think that there’s less of an opportunity for the provider of the Twitter app to capture and keep the username and password.

Yet, there’s still a huge risk of packet sniffing!

As an example, I opened Seesmic for Windows and started Fiddler2 to capture my traffic. Here’s what I found:

GET https://api.twitter.com/1/account/verify_credentials.json HTTP/1.1
X-Twitter-Client: Seesmic
X-Twitter-URL: http://www.seesmic.com
Authorization: Basic [REDACTED]
User-Agent: Seesmic
Host: api.twitter.com
Connection: Keep-Alive
That’s the request itself. Guess what happens if you decode that authorization token?
Authorization Header is present: Basic [REDACTED]
Decoded Username:Password= maximz2005:[REDACTED]

Oh look, it’s my username and password! Well, I hid the password here so that no one takes it… :)

Yet, there’s nothing to laugh or smile about here. Traffic from desktop Twitter apps that request a username and password is out in the open.

This all shows one major point: we must embrace OAuth. The OAuth system uses application tokens: in this case, Twitter creates a token for the application, the application connects using the token, and, if the user, at any point, wants to remove the application from his account, the user can just revoke the token, effectively revoking access for the application.

Twitter realized that this system would greatly increase security. Now, they’re phasing out the HTTP Basic Authentication (username & password) connection to their API, with a cut-off date of June 2010.

If you’re a desktop Twitter app developer: do you want your users to be out in the open? Do you want them to feel and be insecure? It’s not a great idea, though many apps are still doing this. Please, use OAuth, for your own benefit, and for that of your users, too!

Update 05/30/2010: The Twitter API Team has now instated a cut-off date for HTTP Basic Authentication connections. By June 30, 2010, a month away, all applications that utilize the Twitter API must switch to OAuth. Thankfully, OAuth isn’t a hard thing to implement, so we can expect a lot of our favorite apps to switch before time runs out. See http://countdowntooauth.com/ for more information.

Windows 7 "N" and "KN" Versions

When I was installing Windows 7 on my laptop, I noticed that, not only are there many significantly different versions of the OS (such as “Ultimate”, “Home Premium”, etc.), there also are more subtle differences. On the MSDN download page for Windows 7, there were N and KN versions of each type. I accidentally downloaded the N version, rather than the regular version, of Windows 7 Ultimate and installed it on my laptop. When I noticed that it said “N”, I assumed that there was a difference. I searched the Internet, initially finding little information, but finally, I found a post that explained just what these N and KN versions are.

Apparently, N and KN OS versions are distributions specifically for Europe. After multiple arguments with the European Union, Microsoft was forced to make such versions, with only one difference:  there weren’t any media players or programs from Microsoft installed. This can easily be remedied: Microsoft offers Windows Media Player and Windows Media Center as a download, entitled “Windows Media Format Feature Pack for Windows 7 N and Windows 7 KN (KB968212)”, on their site, located at http://www.microsoft.com/downloads/details.aspx?familyid=13BEB697-E897-40A8-81B5-C20A0529F599&displaylang=en.

Today, I moved all my junk from one room to another. In celebration of the glories of my new office (more info coming soon on office specs), I decided to do what I’ve been meaning to do for a long time: set up an Ethernet bridge/hub.

My room has only one Ethernet port, and as I have multiple networkable devices, I saw the need for a way to split that connection up. So, I grabbed an old router of mine, a Netgear WGT624. To set it up as a bridge, I did the following:

Note: these instructions are specifically for the Netgear WGT624 v3 router model. Steps for other Netgear routers are probably mostly identical, and other routers should have similar instructions. Just look around for the names of settings that I talk about below, and you should be fine, but just in case, you should Google for instructions for your specific hub.


Step 1: Locate an Ethernet port in your room, connect a CAT6 cable to it.

Step 2: Insert the other end of the CAT6 cable into the WAN port of your WGT624. If you don’t know what a WAN port is, see the above diagram.

Step 3: Grab another CAT6 cable, connect it to one of your router’s LAN ports and to an input on one of your computers. If you don’t know what a LAN port is, see the above diagram.

Step 4: On your computer, connect to the router LAN and browse to 192.168.1.1 (or your router’s setup panel IP address). Login to the admin panel – the default username and password for the WGT624 model are “admin” and “password” (sans quotes).

Step 5: In the router administration settings, go to “LAN IP Setup”, under “Advanced”  in the left navigation frame. On that page, uncheck the checkbox marked “Use Router as DHCP Server”. Click Apply.

Step 6 (optional): If you want this hub to be Ethernet-only, you want to disable Wireless. So, in the left navigation frame of your router administration settings panel, click “Wireless Settings”, under “Advanced”. On that page, uncheck the checkbox labeled “Enable Wireless Router Radio”. Hit Apply.

Step 7: Exit out of the router administration settings panel. Next, walk over to your WGT624 and remove the Ethernet cable you inserted into the WAN port. Now, insert that cable into another LAN port. Once again, see the diagram above for details on the locations of WAN and LAN ports.


You have now successfully configured your WGT624 router to act as an Ethernet bridge/hub. To connect your devices, insert them into the LAN ports on your WGT624. You make encounter a warning notice from your main router (not the WGT624) when you first try to connect with it.

Good luck!

Image courtesy of ehartwell.com.

Mobile Platform Advertisement – An Observation

If you’ve watched TV, or gone on YouTube, for that matter, any time recently, you’ve no doubt seen at least one iPhone ad, and possibly even a T-Mobile MyTouch 3G (Android) one. Well, if not, they’re below for your viewing pleasure (um, maybe not).

The goal of this article is to analyze two of these ads from the viewpoint of a consumer, and compare the strategies that Apple and T-Mobile are using to market their products. (By the way, I believe that T-Mobile creates the MyTouch 3G ads, not Google, as I’m sure Google would never make such a stupid ad.)

So, let’s start with an iPhone ad. Right now, please watch the one in the YouTube video above, if you don’t know what one is in general.

What do you see? Well, let’s say that I’m an average American consumer searching for a smartphone, and I see this ad. What does this ad show? Apple uses this opportunity to show us just a few cool apps available on their iPhone platform. Oh my god, look! I can keep track of my company’s economic status! I can even order PIZZA!!! Boom, just with that (oh, ya, and the killer music :D ), I want to get an iPhone – not only do I just love the appearance, I can do so much stuff on it, and it just works.

Oh wait, we have the T-Mobile MyTouch 3G, too! Let’s not forget about Android (did I mention how much I love and support the Android project? Seriously, thank you Google!). Well, now I just saw that ad which is displayed above, and what do I see?

What do I see?

Um, well, I see a group of people passing the phone to one another while showing pictures of zebras and katz on it and dropping the phone/fumbling with it, oh AND the music – seriously, are you kidding me? What do I see in this ad? I see a piece of aluminum that can, hmm, play music, display a picture, wow… but wait, I just saw applications running on that iPhone!

Well, which do you think I’m going to purchase, as an average American consumer? Well, duh, the iPhone. Seriously, the iPhone ad shows productivity and entertainment, something I actually connect with and want, oh and the phone looks good, I just want to hold it and play with it, yay yay yay… while the MyTouch 3G is featured for showing pictures, people smiling, and horrible music. I’m impressed.

Ok, now, I’m not saying that I hate T-Mobile or Google, or that iPhone rocks and Android sucks. Actually, I prefer Android way over the iPhone OS, as Android is such an open system, while Apple just doesn’t have the concept of open-ness in their vocabulary.

But seriously, ok, let’s think from a normal (uninformed) consumer’s point of view (without all the snickers I included originally): we have the iPhone, sleek, fun, powerful, easy to utilise, and with a ton of useful apps, and we have the MyTouch 3G, with pictures and steam.

I’m so sorry, but T-Mobile, you seriously have to revise your strategy. Did you just see what I outlined? I outlined that when someone looks at your product, and then a competitor’s product (the iPhone), guess what? They want an iPhone, because your ad is seriously…:

a.) Boring – Unfortunately, I’ve seen these ads many times, and they are just annoying. If I hear that song again, I’m going to puke.

b.) Not connecting with consumers – In order to actually show people that they want the product, that they just want to play with your phone, you have to connect with them. How do you do this? Well, it’s hard, but the first step is to find out what your consumers want. Pictures and a cheesy message is not what they want, nor is what you want them to take away from your ad. So, find out what the people want and need and how the product addresses this, and market it about that? I hate to go back to the “pictures” theme, but seriously, was Android designed for that? I don’t think so!

c.) And that’s just the beginning…

At the end of the day, we can see that Apple has really made a good choice in hiring some smart marketers. While I do not like their products and their brand, I have to say, they did a good job in this field, as if no one buys your product, well… put simply, you should read this.

"Mac or PC" – Oh Really?

I get asked this question by so many people that I’m tired of having to repeat myself all the time. It’s commonly phrased something like, “What’s the difference between Mac and PC?” or “How do you compare the two operating systems?” Well, the answer is quite simple.

You can’t.mac vs pc funny

Why can’t you compare the two? Well, because the Macintosh and Windows operating systems are fundamentally different, going deep down into the roots of Apple and Microsoft’s software practices. And what is this difference of which I speak? It’s the hardware-software relationship.

Basically, the hardware-software relationship dictates how software works with hardware, i.e. which hardware an operating system runs on. As we know, Macintosh is built to only run on Apple hardware, while Windows was developed to be able to run on as diverse environments as possible. Therefore, we simply cannot compare the two operating systems, because their overall environments are drastically different. You might disagree in that it is possible to compare UI elements – well, of course you can compare how certain parts of the interface are implemented and argue that one operating system is better than the other, and this will go on forever, but here, I wish to find the fundamental difference between the systems – what is the main underlying difference between the Macintosh and Windows operating systems? That’s why the hardware-software relationship is so important.

Now, let’s take the diversity we just identified and expand upon it a little bit to form a general view of the two sides. Let’s start with Mac, again. If we know that the OS was built to run on only Apple hardware, what does this mean? Well, it means that Apple put the kibosh on third-parties. By that, I mean that they aren’t willing to accept third-party technologies in the general development and function of their OS. Just as their hardware is limited, so are drivers – the number of devices manufactured by other companies that connect to computers through USB or other popular protocols is very small, in comparison to Windows. This just shows that Apple’s goal is not to create a system that others can contribute to, in the way that Windows runs. Really, how many times have you tried connecting a peripheral to a machine running Windows and drivers weren’t built in or available on an accompanying disk? My bet: very few.

Naturally, one could go on to assume that Apple is, in a way, monopolizing users of their operating system by creating such a bond between hardware and software. However, I do not want people to think that this article is biased – yes, I despise Mac (Windows & Linux FTW!), but I don’t want that to get in the way of our little analysis (I could write a lot about why I greatly prefer Windows over Mac, but that’s another story).

As you can see, Macintosh and Windows are very different, but the most important difference is their fundamental standpoint, expressed in the hardware-software relationship. Without these being equivalent, we just cannot compare one operating system to another.

I was surfing around on SuperUser today, and found a mention to a tool from Apple that I hadn’t heard of before. It’s called the iPhone Configuration Utility, which allows you to examine logs from your iPhone or iPod Touch, to apply configuration and provisioning profiles, and more. The tool is very interesting! [Download: Windows|Mac]

(Almost) Destroying Explorer.exe, AGAIN

Today, somehow or other, I stumbled upon the distributed processing app called GIGRIB. Developed by Pingdom, “Pingdom GIGRIB is a unique, distributed website monitoring service. GIGRIB users can add websites they want monitored, and in return their computers become a part of the GIGRIB monitoring network.”

So, I fired it up, inputed the domains I wanted it to monitor for me, and let it run. Of course, I became curious in how the app is uploading data back to Pingdom, how it’s checking uptimes (well, duh, it’s just going to the page and looking for a response), and more, so I opened my HTTP packet sniffer/web debugging proxy of choice: Fiddler. However, GIGRIB’s requests weren’t displaying there and I was too lazy to change the configuration to avoid this problem, so I decided to take revenge on GIGRIB. Naturally, when wanting to make a mild impact (meant for hilarity) on an application, the tool of choice is Resource Hacker (not that it only does mild impacts, it can do LOTS of stuff – I love ResHacker, it rocks!).

I hadn’t used ResHackONoez instead of starter in some time, so I didn’t bother trying to find it on my drive. Instead, I got the latest version, which turned out to have some cool new features – it visualizes the GUI of the app you’re editing and lets you change all aspects of the layout with ease, it provides a more streamlined “compile scripts” action to quickly apply changes to the file, and more! I was intrigued by these new additions, so I decided to try them out.

After changing some of the text, GUI positioning, icons, and more in GIGRIB, I got a little bored, because GIGRIB doesn’t have too big a UI (really, there’s only like two windows that have info in them – settings and about). For some reason, I had a sudden urge to mess around with some Windows configuration files. My (first) target of choice: the text of the Start button on the taskbar.

Yes, that may sound lame, but I guess I was just playing around with Start Menu customization before the hack, which is probably where the idea came from. I opened up %windir%\explorer.exe in ResHacker, and browsed to “String Tables –> 37 –> 538″ and changed the string from “start” first to “ocrap”, and then decided to switch it to a 6-letter phrase instead. After saving this final version (“ocrap” worked perfectly), I killed explorer.exe and tried to restart it thru Task Manager, when I get an error: “C:\Windows\explorer.exe in not a valid Win32 executable.” I tried re-saving, switching it back to “start” and saving again, but it did not help. Thankfully, I knew that ResHacker saves backups automatically, so I had a backup called C:\Windows\explorer_original.exe. I ran this one to fix the problem. In the C:\Windows directory, I tried again and again to undo the changes and restore to the backup, but Windows would keep resisting. After a few attempts, I thought that changing the files around in Safe Mode would do the trick, but as I was rebooting, I had a thought: Windows has many fail-safes, so why can’t this be one of them? If explorer.exe gets corrupted, would it be restored with a restart?

Well, it worked! This is why I love Windows – if something is messed up, there’s always a way to recover it, however simple or difficult.

Start menu button string location in %windir%\explorer.exe:

String Table –> 37 –> 1033 –> 578 = Windows XP default theme

or

String Table –> 38 –> 1033 –> 595 = Windows Classic theme

Note: I have nothing against GIGRIB or Pingdom, as I believe that both company and product are useful, intriguing, and helpful. I am an avid user of GIGRIB, and my experimentation with it was in no way a signal of protest against it, nor does it affect its functionality in any way. GIGRIB is a very generous program that I enjoy, so I must thank Pingdom for creating it.

Disclaimer: I am not in any way responsible for any uses (and their consequences) of the method outlined above. This is for informational use only.

Copyright © 2010 Maxim Zaslavsky. All Rights Reserved.

Videos, Slideshows and Podcasts by Cincopa Wordpress Plugin