Tag Archives: best practices

A few productivity tips for working remotely

Day 20 -  KeyboardI used to be a huge fan of working remotely. I still am, but I used to be, too. My view on working has changed drastically in the past 3-4 years, when I’ve had to come up with ingenious ways to work while not being at home, or at my own office. In fact, I spend around 4 hours a week at my own office, and the remaining ~45 hours per week that I put in I work elsewhere.

I’ve listed a few quick productivity tips that I find invaluable and keep using on a daily basis:

Instead of meetings, arrange voice conferences. Whenever I get an invitation to attend a meeting, the smallest unit of time is typically 60 minutes. It’s never 15 minutes. I simply feel that most work should be done before the meetings, and meetings should be quick status checks.

I’m happy to see so many companies embrace online video conferencing – it’s usually Lync, Skype or WebEx and they all work wonderfully. The downside is that it might be challenging to find a private space to attend a voice-based meeting.

CappuccinoArrange to have breakfast and lunch meetings on the same day. For me it’s Friday. I have all my breakfast meetings, lunch meetings and similar arranged for one specific day of the week. This helps me to avoid breaking my week into multiple shorter periods of work divided by random meetings around the city. Friday is considered “do stuff that needs to be done but doesn’t necessarily yield direct revenue”. It took me a few years to embrace this ideology, and now I’m more effective because of this.

The obvious downside is that on certain Friday’s I do 4 lunch meetings in a row, so I aim to eat lightly.

UptimeFind ways to convert downtime to uptime. We all have downtime. For me, it’s travel time, and random timeslots here and there when I’m moving from one client site to another, or when a workshop ends 2 hours earlier than I’ve anticipated. The number one productivity tool for me to catch up on things, check emails, Twitter, LinkedIn, Facebook and RSS is iPad. I use it constantly, if just for checking something trivial for 30 seconds. If I have more than 30 minutes I head to the nearest café to work with my laptop. If I have more than an hour, I either head home or one of our offices, whichever is nearest.

Charlie Gilkey's Productivity System

Avoid doing useless stuff that is interesting. There’s so much interesting stuff to do. Too bad most of the interesting stuff is pretty useless. It doesn’t grow my business and it doesn’t provide me with anything else than satisfy my curiosity or force me to act based on external stimulus.

A great example comes to mind, that I just recently encountered: My mobile phone informs me that there’s an update available. Having just reinstalled my laptop I don’t have Zune installed, or a micro usb-cable available. I could spend the next 15 minutes setting those up and patching the phone – or do something more worthwhile, and just leave the phone without the update. I’ll probably perform the update on a slow Saturday evening anyway.

Some vaguely familiar software vendor sent me an email asking to fill out their customer satisfaction survey. It will only take 25 minutes, they promised. Or, I could spend 25 minutes doing something productive and simply not answer the survey. It’s amazing how much time emails can command by simply asking you to do something.

You don’t have to do everything people ask you to do – you just have to do what’s essential.

Multitasking – yes, I prefer it to single tasking. I’m writing this article while conducting 2 instant messaging conversations, and listening to a webcast. I’ve tried moving back to single tasking and feel that my productivity drops by at least 50%, and so much is left undone. The challenge with multitasking is the fact that you need to be aware of what is important, so that you can quickly and effectively drop whatever you are doing when something more important arises. And have time at the end of the day to clean up the tasks that are not done.

bucket listMake a list. Make it short. I start each morning with a simple list. It’s a list of 3-5 most important things I have to get done before I head home. When I’m done with those 3-5 items, I stop working. If the list grows too long I know I’m not concentrating on proper things, but just cherry-picking what I feel like is nice to do. It’s a gruesome exercise to leave out something you so badly want to do in favor of something mundane that has to be done.

And I write the list by hand on real paper. OneNote just doesn’t give me the sense of urgency.

Stacked LogsCut it and stack it. In Finnish we have a saying, “Poikki ja pinoon”, which roughly translates to cut it, stack it and forget about it. I’m a huge advocate of doing things fast, being efficient and shipping when it’s “good enough”, rather than polishing it indefinitely. The key here is to have the mind’s eye to understand when something is good enough, and when something is still crappy.

Be productive & be happy!

Approaches to creating and designing Master Pages in SharePoint

Master Pages are one of many great things I love in SharePoint. Especially with SharePoint 2010 it seems most (not all) limitations have been removed or pushed further back, liberating the site builder to better adjust the overall look and feel of SharePoint.

Default Master Pages

By default, SharePoint Server 2010 ships with a lot of Master Pages. The relevant ones are the following: 

  • v4.master: This is the default white and blue design primarily aimed for intranet and partially extranet uses. Technically this file resides at C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATEGLOBALv4.master and shouldn’t be edited from its original location. I know it’s tempting but refrain from touching the file at all. A copy of this file is cached on SharePoint WFE’s, edited versions are also stored in the content database.
  • nightandday.master: This is a sample master page you can either switch on, or keep on using if you provision a new Publishing Site. I’m not a big fan of this and normally just change it to v4.master while I work on the actual Master Pages, that will be customized or custom coded.
  • simplev4.master: Quoting MSDN, “SharePoint Foundation includes seven pages that use the simplev4.master master page file. These pages render even if the site master page is broken or not accessible to the current user”. Among these are pages like Login.aspx and Error.aspx. I wouldn’t edit this file either – it’s in C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATELAYOUTS.
  • MySite.master: This is obvious – the Master Page used for My Sites. Sits under C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATEFEATURESPersonalizationSite. It goes without saying you should keep your hands off from the original files.
  • “The old bunch” of Master Pages: These are the oldish Master Pages from MOSS 2007: BlackBand, BlackSingleLevel, BlackVertical, BlueBand, BlueGlassBand, BlueTabs, BlueVertical, GlassBand and OrangeSingleLevel. They all reside as a feature at C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATEFEATURESPublishingLayouts. Not really used anymore but if you insist, you could probably hack something together by using thse templates.
  • Minimal.master: A child of v4.master, used for Search results and similar. Does not include Quick Launch navigation or Ribbon. Located at C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATEGLOBALminimal.master.
  • Default.master: Upon migration from MOSS 2007 to SP 2010 you can choose to keep the old UI, which comes from Default.master. Also in C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATEGLOBAL.
  • Applicationv4.master: Used for Application Pages under /_layouts/.

Customizing Master Pages

As I see it, there’s only two paths you should follow when customizing Master Pages. In no order of preference, these are:

Create a copy of v4.master and work your way from there: This is the fastest route for any intranet delivery, where UI and graphical elements are not the main target of customization. This often applies to projects where changing the logo or fine-tuning Quick Launch navigation is an acceptable end-result.

The downside of using v4.master as a template is the messiness. The markup, it’s not something to write home about. Unless your folks love horror stories. The styling, crappy commenting and other minor things really get irritating if you need to work under a tight schedule and modify elements on a pixel by pixel basis.

Use Randy’s Starter Master Pages as a template: First, download the excellent Starter Master Pages templates from CodePlex. You can probably spend a few days building your custom UI and layouts from here. Best suited for public-facing sites, extranets and larger intranets where exact requirements and other UI standards dictate majority of the work. Requires somewhat more groundwork to get things whizzing.

Which tools can I use to customize a Master Page?

It’s really up to you to choose your preferred tools. I’m often opposed to using SharePoint Designer but this is one of the (rare) instances where I’m encouraging the use of this power tool.

A couple of principles that I suggest to keep in mind:

  • Always have a development site that you can destroy and recreate in a matter of seconds
    • A simple Remove-SPSite & New-SPSite is enough
  • Do packaging and fine-tuning in Visual Studio. Always. It’s worth the additional two minutes.
  • Deploy everything through SharePoint packages (wsp-files). Avoid direct publishing through SharePoint Designer – it’s an invitation for additional problems and issues in the future.
  • Copy-paste content between Visual Studio and SharePoint Designer through Notepad. You want to avoid any formatting and encoding issues.

Some people seem to prefer a true HTML design tool such as Dreamweaver from Adobe. You can also rely purely on Visual Studio, especially with the recently released web standard update for CSS 3 and HTML5.

From HTML prototype to a finished Master Page

If you choose to forfeit v4.master and build something from scratch – or are willing to re-build a lot of the existing elements – create a HTML prototype without using SharePoint Designer. This forces you to understand the structure of your Master Page; any future design changes are easier to reflect when you know each line by heart. Even massive changes are fairly easy to implement using this approach. It will take a bit more time and effort initially but this pays off when you templatize your creations.

Note: The HTML prototype does not need to have any SharePoint controls that actually work. Placeholders and mockups are a viable option here.

When you have your HTML prototype ready for testing, benchmark against any browsers you feel should be supported. Fix errors and test again. You might want to get more coffee at some point. Don’t try to do this in one day – oftentimes small UI errors are hard to spot with tired eyes and mind.

Finally, move your HTML prototype to SharePoint Designer and replace placeholders with actual SharePoint controls, tags and other decoration. Avoid changing your HTML at this point, otherwise you’re invalidating your tested prototype and need to restart browser compatibility testing again. I hate that.

Try deploying your solution to SharePoint through Visual Studio. You should be able to quickly spot any glaring errors with IE9’s Developer Tools and/or Firebug.

Don’t worry about packaging that much for now. Chances are you need to tweak, change, alter and modify your creation numerous times. Each time you re-open your solution you’ll have a chance to make packaging a little bit better. And squash those pesky bugs that somehow keep appearing when you least expect it.

Summary

The overall concept is simple: Create a HTML prototype, fine-tune & decorate with SharePoint Designer (or directly with Visual Studio if you’re feeling.. audacious), and package for deployment.

In true life it’s sometimes challenging to choose the path between v4.master and Starter Master Pages. If unsure, go with the latter. If you know things are not going to evolve a lot, opt for v4.master.