Ever since I won a Raspberry Pi 2 at Microsoft Ignite I’ve been trying to figure out what to do with it. This week I decided to look at the Windows 10 IoT Core for Raspberry Pi 2 and see what I could do to get something up and running.
I’m not going to re-hash how to set up the device or how to configure your development environment; there’s already some great articles that cover this which I link to further below. But I will share some first impressions which may prep you for working with the platform.
Windows IoT Core (WIoTC) is, as their own website states, a work in progress; a very early work in progress. Compared to Raspian, which has a desktop-like GUI complete with windows, WIoTC seems very primitive. You’re very limited in what information you can get (I couldn’t get the MAC address of the Raspberry Pi 2 from the WIoTC interface) and the suggested way to manage your device seems to be through PowerShell via another PC on the same network.
Deployed apps can either be a Universal Windows App or Headless (background process). Only one UWA will be displayed at a time. There’s no built in menu or anything, so don’t think of this as a Windows Phone type of experience…its less than that. Users won’t automatically have an “Installed Programs” list to refer to. Also, while you can deploy a Universal Windows App to the Pi, there’s a documented list of unavailable APIs that aren’t part of WIoTC. So you can’t just assume what you write for Win 10 desktop or even the phone platform will transfer over easily.
WIoTC doesn’t take full advantage of the hardware yet either. Mike Dailly posted a Vine showing that GameMaker Studio games can run on the platform, but very slowly due to the GPU not being used at all (graphics are drawn using software emulation).
This may sound very negative, but considering how new WIoTC is and that they likely targeting the base/required functionality for an initial release I think its pretty cool that using Visual Studio I can deploy an app to this mini-computer on my desk. There’s great opportunity with WIoTC and I’m actually happy they didn’t try to force a bloated platform out for v1; better to involve the community and develop things as needed instead of making assumptions.
Now that I’ve done my first Hello World app, its time to start looking at the next step of playing with my Raspberry Pi. Stay tuned!
Microsoft Dev Center – IoT
This site is the best starting point for setting up your device, dev environment, doing your first project, and getting up to date information.
Michael Crump’s Guided Tour of Windows 10 IoT Core
Great walkthrough by Michael Crump which also shows how to use one of the Telerik controls and links to related topics.
I attended the Microsoft Worldwide Partner Conference in 2011 and 2012. Even 3-4 years ago we were hearing about the changing focus at Microsoft. While 2000-2008 was all about winning the platform war (.NET vs Java), 2008 had ushered in the cloud era in the Microsoft world. While Azure’s platform as a service seemed front and center, WPC started beating the Office 365 drums. The message from Microsoft was starting to take shape – partners needed to get on board with where Microsoft was going with Azure and Office 365. Those that did would keep the attention and support of Microsoft.
In a discussion with a Microsoft Canada Tele-Managed Partner Manager within the last year, I heard this message refined and pointed – Yes there were sales support dollars available but only for initiatives/opportunities where there was a clear cloud component. Have a large custom .NET app dev opportunity that would be deployed on premise to the client’s infrastructure? Great, good luck, but not the marching orders Redmond gave its sales teams.
This year, if there was any doubt where Microsoft has moved its focus, this tweet should put those doubts to rest.
“@MPNCanada We measure our success by Cloud, Customer Acquisition & Consumption, and Usage”
That tweet seemed to be attributed to Janet Kennedy, President of Microsoft Canada. It lays out clearly how Microsoft Canada is measured, and by extension how the Partner community is measured.
Booking business for Azure, Office365, or any other cloud-based service/platform Microsoft offers
Customer Acquisition & Consumption
Getting customers to purchase cloud services (either a-la carte or through an enterprise license agreement (ELA). Consumption is different than usage though, which we’ll cover next. Consumption is getting a client to agree to move some servers to Azure, or purchase 100 licenses of Office 365. Consumption gets the Microsoft products in production at the client.
Over the years I heard of many large enterprise-size organizations who had an ELA which provided all sorts of licenses. Incredibly some products that the ELA provided valid licenses for were never deployed; they were never consumed. You can’t get usage traction unless a customer actually uses (consumes) the product.
Usage is the recurring revenue generated by using metered cloud services. This is the part where the meter runs and Microsoft (and the Partners) make money. Remember the example client we talked about who moved some servers to Azure? Maybe they realized some great cost savings over maintaining physical servers. Maybe they decide to move MORE servers to Azure, and more applications/processes to those servers, requiring bigger Azure VM instances. This is how consumption can lead to higher usage.
So Look Partners…
Back in 2011 and 2012, the message was less frank and more suggestive.
“Hey, we’re moving in this direction. You should really listen to what we’re saying. Things are going to be changing.”
Now in 2015, the message is loud and clear. “The cloud train has already left the station. A lot of partners are already on board, but if you run you can catch up and get on too. But we aren’t slowing down for stragglers.”
And this isn’t a bad thing, or a mean thing, or anything out of malice. Microsoft had to change their business to evolve, and having a partner program they rely on to move their product through means those partners need to be open to changing their focus as Microsoft does. Microsoft sets the vision for their partners, not the other way around.
Those partners that were part of the program from 2000 to 2010 and built their business on custom app dev and on-premise IT services have a choice to make – adapt to the new world of Microsoft, or figure out how to live in a world without Microsoft’s support.
I’ve been noticing a few things lately here in Winnipeg:
- Less large custom application development projects
- More adoption of packaged software
- More adoption of Software as a Service platforms
- Organizations wanting control over technology projects, only looking for augmentation roles to fill gaps
- The commoditization of software developers with broad skills
The cloud is removing the need for organizations to manage and maintain their own infrastructure. Software as a Service provides a model where organizations can rent lower-priority applications/services while focusing their own development staff on higher priority initiatives. Consultants with specialized skills in mobile, integration, security, and platforms (SharePoint, SAP, etc.) still demand higher rates, but organizations are no longer willing to pay a premium for .NET or Java developers.
Consulting firms who sell professional services need to become aware of these trends and pivot on what they offer to their marketplace. Consider the items below, all of which should have initiatives in flight or be on the radar for any professional services company.
Azure and AWS are gaining more customers by the day, and releasing new features and offerings on their cloud platform. Microsoft announced at Ignite this year that organizations would be able to install the exact same Azure software that Microsoft uses in the public Azure cloud, meaning organizations can get on board with Azure on prem and move to a hybrid or hosted cloud model when ready. Consultants need to be able to show customers how to move to the cloud, the benefits of moving to the cloud, and provide the services to bridge the knowledge gaps in developing software for the cloud.
Software as a Service
The Buy/Build mantra has been replaced with Buy/SaaS/…I guess we’ll consider building. If a package solution can’t be found, organizations are more than willing to consider a SaaS solution before investing in a custom built application that must then be maintained. Consultants need to be aware of available solutions when advising clients on the best options for their needs. There’s also an opportunity for consulting organizations to create their own SaaS and enter the product market.
Also note that even if an organization opts to build a custom application, most enterprises employ skilled developers who can deliver it instead of sourcing out to a consulting firm; more and more I’ve seen professional service organizations be contacted for resource augmentation rather than taking an entire project.
Security has been largely ignored for years. With recent hacks, threats of cyber-attacks, and the continual onslaught of viruses, organizations are finally realizing that they need to treat security seriously. While this is a growing area, there is still more work available than service providers that can offer it.
If you aren’t in the mobile space already then you’re lagging behind. Companies that invested in mobile skills are reaping the rewards now. Organizations are realizing that mobile solutions aren’t just about empowering the internal workforce; its also about reaching customers and the community at large. What those organizations need are partners who can help show what’s possible.
As organizations incorporate non-centralized IT solutions with cloud, SaaS, and mobile into their environments that probably include enterprise systems alongside custom/niche applications, sharing data across all of these will be an important consideration. Integration consultants who can help clients navigate their system landscape and implement things like ESBs, data warehouses, and BI/Analytics solutions will find opportunities – although in laggard markets there will be a need to educate clients on the benefits.
What About Your Market?
I’d be curious to hear if people in other markets, whether in Canada or in the US, are seeing/experiencing the same type of trends. Or maybe you’re in Winnipeg and have a different take on the market. If you have comments, either leave them below or if you decide to do your own blog post please leave a link to it in the comments.
I’ve been fortunate enough to be at the home opener for both the Riders and the Bombers this year. On Twitter I commented that the Bomber pre-game festival wasn’t as engaging as the Rider one which I got challenged on. This was before the Bomber home opener, so now that I’ve been to both I wanted to comment on both and “who did it better”.
The Riders host their pre-game festival on the practice field next to Mosaic stadium. There’s lots of room which provides for a lot of people to spread out and never feel cramped. They also had a stage with live music from local bands, 5 different food options, a beer garden, and inflatable games for kids and adults (I was 3 for 3 on the football toss and scored a Rider flag).
There were tables set up throughout, as well as shaded table areas, but with so much space there was always a patch of grass to call your own as well.
One other thing – You can park at Evraz place next to the stadium FOR FREE on game days.
The Bombers pre-game on the south-east corner of the IGF grounds. This is a small area and gets crowded VERY quickly. Music for the home opener was via a DJ working from a laptop. There were only two food options in the festival area – turkey legs from Granny’s and Famous Dave’s BBQ (which was also the game-day sponsor). In contrast, I counted 5 bar tents to get drinks from. Since the space is small, the decision to use standing tables is great. There were also some shaded seating spots as well and tents set up for those that needed shade (standing only, no sitting).
There was a separation between the food/drinks and the “family zone” where you could find a few inflatables and games for kids, autograph signing with Bomber alumni, and some other tents for game-day programs.
So let’s recap how these two stack up for pre-game festival experience.
| || |
|Area Size || |
Small corner area
|Food Options || |
DJ and Laptop
None that I saw
Free parking, easy access
Paid parking, difficult access
Now…I don’t know that having more bar options is necessarily a *good* thing, and really the beer gardens in Regina had the same number of available lines as there was drink tents in Winnipeg. But Winnipeg had a mobile Rum Hut where Regina had only beer.
Also it would have been a great touch to have some Rider alumni available to sign autographs or take pictures. Having Walby available pre-game was a nice touch for the Bombers.
Area size is a huge limitation for the Bombers, but there’s not much that can be done with that. There was a huge tent set up for a “private function”. Maybe move private functions to a different area of the lot which would free up space to set up a stage and have live music, or to space out the games/inflatables for the kids and make the family area easier to walk through.
There needs to be more food options as well. Regina had two BBQ places in addition to traditional hotdog/hamburger fare. If you want to pre-game drink, then the Bomber festival is a great spot for you. If you want to eat though, there are better options inside the stadium. Maybe that’s the intent? Not sure (I will point out that Bombers have much better food options inside the stadium than the Riders).
At the end of the day, I ask myself “Is the pre-game festival something I look forward to and want to attend because it adds to my CFL experience?”. In Regina, that answer is yes. In Winnipeg, its a no.
Every now and then I get people asking me about how to run a conference. One thing I encourage is that people start small and build from there. I ran the Winnipeg Code Camp for a number of years before evolving it into Prairie Dev Con, and the foundation of the code camp is the base that Prairie Dev Con grew out of.
So below are my thoughts on how to run a one day, multi-track, Code Camp.
What’s a Code Camp
Code Camps became popular in the 00’s. They were free one day technology conferences that focused on showing off technology (so more code, less marketechture). This is the true volunteer event – low budget, high volunteerism, but still high quality and lots of fun. All costs are covered by sponsors and there’s never an entry fee for attendees.
Ok, so let’s start planning our Code Camp!
The Code Camp Format
For a first-time code camp, I would suggest doing a single day event on a Saturday, running two or three tracks of sessions (this will be based on your market size and speaker pool). Schedule will look like this:
8:30 – 9:30 Breakfast/Registration
9:30 – 9:45 Welcome
9:45 – 10:45 Session
11:00 – 12:00 Session
12:00 – 1:00 Lunch
1:00 – 2:00 Session
2:15 – 3:15 Session
3:30 – 4:30 Session
4:30 – 5:00 Wrap-Up
That gives you 10 sessions for a two track or 15 sessions for a three track setup.
Step 1 – Gauge Interest
A big part of a Code Camp’s success is the energy and commitment that an organizer brings to it, but you also need to know if your community shares your vision and will support the event. Reaching out to local technology user groups to see if their organizers and members share the same excitement is your starting point. It also makes it easier to promote the event if you can get leaders of those communities on board.
Now realize you’re just gauging interest here, not commitment. I ran a PrDC where community leaders – who were all very well meaning – said I’d get well over 300 attendees out; I struggled to get 180. The reality is that until you run your first event you won’t have an idea of how many people you’ll actually get out, so early on you’re just gauging interest and not looking for commitment.
You also need to gauge interest with the people who will be speaking at the Code Camp. We’ll talk about doing a call-for-speakers later, but especially for an initial event you want to have a good number of speakers already lined up and committed to the event.
Step 2 – Source Venues
If there’s enough interest, now is the time to look at venues. For a Code Camp you want to do this on the cheap. Don’t even bother with hotels or conference centers. You’re first hit should be to local schools, colleges, and universities. Here’s why:
They’ll already have lecture halls and classrooms set up with projectors (verify that projectors are included in room rental prices)
They’re usually cheaper to rent rooms space from then hotels/conference centers
No classes happen on Saturdays (typically) so space will be more generally available
They *can* be located on more convenient public transportation routes (buses, subways, etc.) so easier to get to for people
If you have any contacts with the administration, you may be able to pitch this as a good community event that students will benefit from and get a discount on the rooms.
When sourcing venues keep in mind that you need n+1 rooms, where n is the number of tracks you’re running. The +1 is for your plenary room – the place that all attendees will meet for meals, for the welcome/kickoff in the morning, and for the wrapup at the end of the day. All rooms should be close together so attendees aren’t required to go walking all over the place.
Make sure that you ask about parking – if its free, if there’s paid lots nearby and what the costs are, and what the street parking rules are. You’ll want to communicate this to your attendees.
Also ask about internet access – is there public wi-fi, is there a charge, is a passcode required, etc. This information will be important to provide to speakers as well if any require internet access for their planned talks.
Finally, while this shouldn’t be an issue with building codes and current laws, make sure that the venue you select is easily accessible for people with disabilities.
Step 2.1 – Food
For your first code camp food is definitely optional – although if you decide to not do food you should try to ensure that there’s enough restaurant options and coffee shops for attendees nearby the venue.
If you do decide to do food check what your venue’s policies are. Most venues will have a policy that you must use their own food services and can’t bring from outside sources; and that also means that price will be higher because venue-based food is almost always more expensive (always in my experience). This is where gauging interest is important because since you aren’t charging a fee there’s no way to know how many people will show up. If you charged a fee, even if they no-show you could still cover their food, but in this case its all about estimation.
You could run your first code camp, gauge attendees, and use that to base future events off of and incorporate food later. Or if you’re confident in your estimations then figure out a reasonable menu. Code camps are the *only* event where I think continental breakfasts are ok. Also look at sandwiches, pizza, or chicken fingers & salad for lunch – typically on the lower side of cost and generally liked by most people. Do take into account people’s dietary needs (allergies, cultural preferences, etc.). I avoid any food option based on pork or seafood and stick to chicken or beef from a meat point of view. You could have vegetarian and vegan folks as well. Just make sure when you review the available menu that there are options in case you need alternate meals.
Step 3 – Who’s Running This?
Now that you have your venue, a date, and food cost, it’s time to start approaching sponsors. But first, this is when you should tighten up your leadership organization if you haven’t already. These types of events get run by very well meaning individuals who want to improve their communities, but they’re also run by people who aren’t perfect and stuff can happen (I blogged about a community event gone bad here). So let’s talk about how you can organize this.
For the Winnipeg Code Camp although I’d organize it we’d use the Winnipeg .NET User Group as a neutral and already set up organization to run finances, sponsorship, and communication through. Finances because a community group account was already set up and the guy who handles finances was willing to be the pass through for everything. It’s also good to have a neutral body be the host for sponsorship – some companies don’t want the perception that they’re partnering with competition to put on an event, but they’ll definitely sponsor a neutral organization’s event (so they’re sponsoring the .NET User Group’s Code Camp, not putting one on with competitors).
Here are options:
Leverage an existing organization to act as the “host”. A technology user group is ideal for this, however note that whoever is seen as hosting is also owning liability for the event as well. We’ll talk about that in a second.
Write up an organizer’s agreement stating who is responsible for what and who is accepting liability for the event. Yes this sounds scary, but its a necessity. The reality is that putting on any type of event, free or not, holds some level of risk that needs to be mitigated. This also protects all organizers.
Create a corporation to run your events out of. This is probably extreme though, but its what I ended up doing for my conferences. For code camp events you probably don’t want to go through this rigor but it does dot ALL the i’s and cross ALL the t’s. It’s also costly and time consuming.
A note on liability – this is always a consideration when running an event. Even if you’re the nicest person in the world putting on a free community event for the betterment of the community, if someone eats bad food or trips and breaks their leg you could still be named in a lawsuit. Event insurance is very inexpensive. For Prairie Dev Con I pay $300 - $500 which covers me for food-borne illness and any type of injury that could occur while at the conference. The insurance will need to be made by a person or entity though, and unless you’re running this under a structured legal entity then somebody may be the one to *own* the liability coverage (and any liability).
Step 3 – Sponsors
Now that you have venue costs and an estimate on food costs, you can approach sponsors – which is how code camps are typically funded. You should create a package you can present to sponsors:
What is the event and what is the vision for it, what are the goals.
Who is involved and who will the attendees be.
What is the ask of the sponsor.
What will they get in return (logo recognition on marketing, website, opportunity to do a presentation, etc.)
I would *not* put a limit on the number of sponsorships you have available. Have a number that you need to get to in mind to cover your costs, but if you get more sponsors that’s ok – you can spend the money for prizes or extra perks at the code camp. Just have the mindset that you want to spend ALL of the money on the event – there’s rules/tax implications for volunteer groups who carry money forward and I don’t know them all (I have an incorporation now so I just run stuff through that).
Step 4 – Website and Ticketing
You may want to get a website set up before you approach Sponsors, just so they can see that there’s an online presence and the event is legit – or you may not if you have personal connections to those you’re looking to get sponsorship from Regardless, you should get some website up as early as possible once you have a good idea on whether the event will be a go or not.
You will also need some way for attendees to register. There’s lots of ticketing/event-registration sites out there, my fav is Picatic. Your registration method needs to be more than just collecting a name/email and tracking registration numbers. There’s a few key pieces of info you need to ask.
Food Allergies/Preferences – Does the person have any food allergies? Are there any preferences you need to be aware of (personal preference, religious/cultural, etc.)?
Emergency Contact Info – In the event something happens, who should be contacted.
Consent to Media – Are you planning on taking pictures and posting it to social media? You may want to get their permission to use them in pictures online. At one conference I had an attendee ask that she not be included in any event pictures because of fears about an ex-boyfriend who was looking for her.
Most good ticketing sites will let you add custom questions to the process, which is the easiest way to collect this information. (Note – one way to handle the “can I take your picture or not” practically is to provide a slightly different name badge (colour, ribbon, etc.) to identify those who wish to not be photographed).
Step 5 – Speakers
You can approach speakers and sponsors at the same time, but I put it here in the order because you need to have sponsors lined up first to ensure you can cover venue costs and book the venue. Ideally you start gauging speaker interest early and continue looking throughout the organization process so you can have some people/sessions ready to post on the website when it goes live.
For code camps, speakers tend to be locally sourced and while outside speakers can definitely be invited a code camp usually doesn’t have the dollars to pay for travel or hotel. I’ve known many speakers (and have done this myself as a speaker) who will pay their own way for a code camp, but I see code camps as a great opportunity to groom new and upcoming speakers and give them a stage to help improve their presentation skills. The point of a code camp is to learn from each other, not come out and see big-name speakers.
In fact for my code camps I wouldn’t vette out speaker submissions – I ran it as a first come/first served basis. I would however discuss with a speaker if they submitted a duplicate talk as someone else, or if we had an imbalance of sessions (i.e. you don’t need 5 talks on Intro to ASP.NET) and work it that way. I would also offer guidance and coaching for those that are new to speaking.
Call for speakers can be as simple as providing the info to various community leaders to spread through their membership groups, leveraging social media, posting to services like SpeakNet, and also asking sponsors if they have anyone in their organizations who are interested (but not for a sales/marketing point of view – has to be about code/technology). Of course you should have a method for people to submit their session submissions that can be shared on your event website and social media. I use Survey Monkey for this – you can build a “survey” that captures speaker info and their session details for free.
Step 6 – Promotion
Time to promote the event! Social media helps out a lot here, but there’s still some things that will require in-person contact of some sort. Working personal connections to get the word out works wonders, especially if its seen as a low cost, community driven, learning event open to everyone (like a code camp typically is).
Also look for non-traditional local industry groups to help get the word out – groups that deal with management/decision-maker level folks in IT (i.e. ICTAM) or Chambers of Commerce. Newspapers will sometimes allow events to be posted for free in their business sections under upcoming events.
Speaking of newspapers, definitely reach out to local media at print, radio, and TV either to get visibility before the event or at the event.
Step 7 – Prep for The Event
The event is coming up and its time to start prepping for it! Whether a low-budget code camp or a for-pay single day event, here are some tips for getting ready!
One rule of thumb I’ve learnt is that you need to invest money into the areas of your event that provide the most value. Especially for a code camp, you shouldn’t worry too much about all the “nice-to-haves”; you don’t need t-shirts or fancy badge holders or big banners. If, after you cover the basics, you still have budget left over then by all means look at adding some special things to the event. But don’t put them at the top of your list.
Nametags – Amazon is your friend here! You can get plastic name-tag holders and lanyards for much cheaper than paying retail at places like Staples. If you’re only doing a small amount to 200 nametags, you can print them off yourself with a home printer and nametag printer sheets (also available at Amazon).
Signage – Staples is actually a great place to get posters made. a 4x3 feet poster is about $35 here in Canada, which is pretty inexpensive.
Mobile App – I used Guidebook for Prairie Dev Con Regina 2015 and was very happy with it! It provides iOS and Android apps with full schedule and the ability to build your own schedule, as well as other features like showing venue maps and custom lists. And its FREE for events under 200!
Print Schedules – Event with the mobile app, many people still like to have a physical, paper schedule in hand. Black and white is fine unless you have extra funds to do colour. Make sure that whatever you print matches what’s on the website and mobile app
Confirm Venue Access and Review Schedule – Make sure that you confirm that you’ll have access to your venue space before your event is scheduled to start. You’ll at least need to be there a few hours before your event starts to do any setup (registration table, signage, etc.). Make sure that security for the venue is aware of your event and what time you’ll be getting access to the rooms. Confirm numbers and times for food. If you need to drop anything off the night before, know where the materials will be locked up and who will be able to get you access.
Communicate with Your Attendees – Make sure via email, social media, blog, etc. to remind attendees (and speakers) about venue, times, locations in the venue, and the schedule, and where to get more information. Don’t forget to include information about venue parking! One thing I strongly suggest is to have an Attendee FAQ area on your event website where you can post all this information and make it easy to refer people to it (just send them the URL). People are busy and providing a friendly reminder is definitely appreciated as they may have registered a while back and not had a chance to keep up with event announcements.
Social Media – Make sure you have all your social media accounts created and hashtags decided on.
Step 8 – Run the Event!
Time for the big day! Running a code camp is a lot of fun, but if its your first time it can seem daunting. No worries though, you’ll do great!
Remember the timing format we talked about earlier:
8:30 – 9:30 Breakfast/Registration
9:30 – 9:45 Welcome
9:45 – 10:45 Session
11:00 – 12:00 Session
12:00 – 1:00 Lunch
1:00 – 2:00 Session
2:15 – 3:15 Session
3:30 – 4:30 Session
4:30 – 5:00 Wrap-Up
Let’s break this down.
7:00 AM – 8:30 AM
Get to the venue early, at least an hour ahead of time based on how much pre-event prep you’ve completed. Make sure the venue has a table outside your main meeting room for registration. I usually put out nametags alphabetically on a table and let attendees pick them up, with one or two people available to help and re-organize the tags. If there’s any swag or materials (like schedule hand outs), have them available at the registration desk as well. If there’s any signage you want to post giving attendees directions get that up during this time.
8:30 AM – 9:30 AM
Direct attendees to where food is and the plenary room. In the room, have a laptop setup with a rolling PowerPoint with information like venue wi-fi (if available), link to session surveys (Survey Monkey is great for this as well), thanks to sponsors with sponsor logos displayed, and any other important information.
9:30 AM – 9:45 AM
This is where you welcome everyone to the event, introduce yourself and the organizers, thank the sponsors, and go over housekeeping things like reviewing the venue map (point out both rooms and things like where bathrooms are), reviewing the schedule, where attendees can submit session surveys, encouraging them to use social media and what accounts/hashtags to use, and how you’ll be drawing for prizes at the end of the day (if you are). Don’t forget to thank the speakers and the attendees – code camps need everyone to succeed and the effort people put forward, even just giving up a Saturday to attend, should be acknowledged.
9:45 AM – 12:00 PM
The rest of the day will be all about the sessions. As an organizer you should be making rounds ensuring that everything is going well. Your biggest issue during this time will be technology issues – people not being able to connect to a projector, laptops crashing, projector bulbs burning out, etc. If you can, have a backup projector of your own on hand and a back up laptop so that worst case scenario files can be transferred over. At one code camp I had a presenter have his VGA port die between when he successfully practiced that morning to when his session was that afternoon. Weird stuff can happen.
Also gauge social media – watch for how people are enjoying the event and if they post any concerns or issues.
12:00 PM – 1:00 PM
Lunch time! Use this time to make any announcements, updates, or reminders in the plenary room.
1:00 PM – 4:30 PM
Same as the morning sessions.
4:30 PM – 5:00 PM
Here you bring everyone together for a wrap-up. Here’s where you thank everyone again for coming, thank the speakers and sponsors, review the days events, and do any prize draws.
Don’t be surprised if the number of people you started the day with is smaller at the end. Not everyone can make it the whole day, and that’s ok.
Once you’re done, all materials you had are packed up and you’re ready to leave, this is a great opportunity to go out somewhere for after-code-camp beers/food/whatever and continue the awesome community building!
Once the event is done, your role as organizer isn’t. There’s still some after-event items you need to do.
Send out an email to your sponsors thanking them for their support and also providing information on how well the event went. Sponsors want to know that their sponsorship dollars were put to good use, so let them know!
Send out an email to attendees thanking them for coming out and encouraging them to continue the conversations started at the code camp – give links to various user groups in the community, show where they can get session materials, and let them know where to submit feedback for a post-event survey (you should have a post-event survey btw…Survey Monkey is great for this).
Do a post-event review with the other organizers. Talk about what you could do better next year, what you’d want to keep the same, and how you can make the event better.
Do you have money left over? You shouldn’t but if you do figure out what to do with it. Finding a local tech-related (or not) charity to donate the money to is a good option if you have no other ideas. Remember that the idea is to have no left-over dollars by the end of the event.
And That’s It!
We covered a LOT of information in this post, and if you felt a little hesitant before you may be feeling very hesitant now. PLEASE DON’T BE! Running the Winnipeg Code Camp was one of the most rewarding and fun experiences for me, and putting on a code camp can be a great experience for you too! If you have any questions or comments, or want to discuss in more detail how to get your code camp or one-day event off the ground, please either leave a comment below or hit me up on Twitter!
Thanks for reading!
For Prairie Dev Con Regina I decided to use Guidebook – a service that provides a mobile application for conferences and events along with online administration/content-management tools. If you’re running any sort of conference/event, you should definitely check it out! Overall I was really happy with it, only a few minor gripes. Here’s my review.
The way Guidebook works is that you create your “Guidebook” on their website. Then your attendees download the Guidebook app and access your specific guidebook. There’s different pricing tiers which grants different features, but for the free tier (which is capped at 200 downloads comes with almost all the key features. For PrDC Regina I used the following:
General Info – Info about the event, contact information etc.
Schedule – Mobile version of the schedule, complete with session description and the ability to “add to favorites”
My Schedule – Allows you to see all your favourited sessions by day and time! Worked really well.
Maps – You upload your own map images for the venue, its displayed here. Multiple maps are allowed.
ToDo – Just a place for attendees to add notes.
Twitter – A twitter feed based on whatever accounts you pre-configure.
Inbox – This allows you to message attendees with updates, although I don’t think you can get push messages unless you do a higher tier of service.
Custom List – You can add custom lists of information. I’ll talk about what I used this for later.
For most events, this is more than sufficient – it worked great and it was free! Feedback on the app from attendees was very positive as well. Critique wise, there’s only a few things I’d mention.
If you want to see multiple maps, you have to press on the navigation arrows at the top. Some people didn’t realize that, because their default was to try and swipe left or right from the map image to get to the next one.
It would have been great to have a Speakers section as well, and integrate the speaker information with the schedule data – so attendees could see the abstract for a session as well as the speaker details.
Feedback and Surveys
Remember that custom list I mentioned about? So you don’t get feedback and surveys unless you go for a higher tier of service. What I did was put a link to the Survey Monkey survey for session feedback in a custom list and made it available. Now, I don’t want to necessarily suggest that this needs to be available in the free edition because I get it – Guidebook is a business and they incentivize people to get more features by paying. But this leads me to my final point…
The tiers seem a little…off. You get a lot of features for free up to 200 attendees. My events usually cap out at 150 so I’m good. I’d love to offer the surveys and feedback feature in the app directly, but I can’t justify the $1750 price tag *just* for that feature. It would be awesome if they had an a-la-carte type of scheme, where for x dollars I could get different features, or have another tier for smaller events that provide some of the other features but for a cost (just capped at 200 downloads).
I love what Guidebook is doing and I applaud them for providing such an awesome service at a free tier that so many community-based events can take advantage of! Very happy with the experience and I’ll be looking to use them again at next year’s PrDC!
I was recently gifted a smoker from my awesome Prairie Dev Con speakers – an electric Bradley 4 rack smoker! Upon reading the instructions, I realized that due to the “electronic” nature of the device, it can’t just be left outside to the elements like a BBQ can. So I started looking around at custom enclosures people were building and got some ideas. Now, I’m *not* what you would call a handy-man type of guy. I didn’t grow up doing carpentry projects or working on cars or anything like that, but regardless yesterday I built it. Here’s what it looks like (still needs stain and one more piece of plywood for the back)…
The experience was fantastic – I had my daughters help me with most of the construction, so we were able to make this a quality-time project building something together. I also got to use some tools I received as an office Christmas gift from years back that I hadn’t before. And I learned a lot – even though I know there are things I would have done differently in retrospect, and things I know I’d like to tweak with it even after its “finished”, it was a fantastic learning experience.
I was really encouraged at Prairie Dev Con earlier this month in Regina. We had a number of hands-on-labs that were very well attended and I was in awe of how willingly people were to jump in and try something hands on that’s new to them. This ‘makers’ movement in the IoT space, and also people willing to learn new ways of doing web development (as one commenter put it “ready to start using new skills at work right away!”) was really exciting to see. And it inspired me to “make” more.
I’ve been scared at times to try something new – actually it wasn’t even the “starting”, but more of the possible failing. I don’t know if its a case of imposter syndrome or not wanting to come across as being inept or what. But the first step, the first movement on a journey, can be the beginning of something awesome. The positive What If as opposed to the negative. The possibilities instead of the pitfalls. The rewards instead of the costs.
One thing I’ve learned is that the true feeling of success doesn’t come from outside, but from within. That feeling of accomplishment that you receive when you complete something – even if that something isn’t 100% perfect. I approached the enclosure project like an agile software project – this was iteration 1, done in a day, and with a retrospective of what I’d have done differently next time. And its functional, which is great because I want to start smoking some meat. :)
I feel like I’m rambling a bit – look, here’s the thing. MAKE STUFF. BUILD STUFF. EXPERIMENT WITH STUFF. Don’t allow external pressures or fears of “Am I good enough”, “Will I be accepted?”, “Doesn’t anything I do need to be perfect?”, and their ilk ruin your ability to have new experiences, in life or at work.
In a few weeks I’ll be starting on a new adventure. I’ll be working with a new team, in a new domain, on systems that are new to me. And I’m excited, even with all the unknowns, because I can’t wait to see what I can help build with my colleagues. I never want those nagging, negative “What Ifs” to get in the way of what’s possible.
I was in Chicago last week for Microsoft Ignite, the second major Microsoft conference in as many weeks (Build was the week before). I had a fantastic time and wanted to share some thoughts on the conference over a few blog posts:
Microsoft Ignite 2015 – What’s Its Purpose?
Under Steve Ballmer the message of Microsoft was simple: Microsoft products must dominate every market segment that it or its competitors competed in. Certain things, like Windows and Office, have been standout successes for the company. Azure is still catching up to established competitors like AWS but the gap on features is closing rapidly. Certain areas, like Windows Phone and Bing, have been overshadowed by stronger competitors. Still, Microsoft always had one goal in mind – MUST WIN!
Now under Satya Nadella, the message out of Microsoft is different. Whether its releasing Office applications on competing platforms AHEAD of its own mobile devices, or releasing a free Visual Studio product named Code specifically for OSX, or open sourcing the .NET Core so it can run on Linux and OSX, the Microsoft of today does not look like the Microsoft of 2000 – 2010.
Satya has already been very forward in the companies focus, making it very clear and not mincing words:
There is Windows, there is Office 365, and there is Azure. That’s it.
At Ignite this year Satya was on the stage again and continued to refine and clarify what it is that Microsoft now wants to be known as. This is from one of his keynote slides:
“Microsoft is the PRODUCTIVITY and PLATFORM company that will thrive in the mobile-first, cloud-first world.”
This basically echoes what he was quoted as saying earlier – Windows and Azure (platforms) and Office 365 (productivity) are the three main focuses of the company. But then Satya took it further to drill down into how they will achieve this.
The three tactics he identified were creating more personal computing, building the intelligent cloud, and reinventing productivity and business processes.
Create More Personal Computing
This one speaks to Windows 10 (across all devices including phone), One Drive (personal and for business), Surface, and Hololens. Windows 10 is looking to be an amazing evolution of Windows, blending the best of Windows 8 and the best of Windows 7 together into the right balance of familiarity and new features. The Windows Phone demos looked very good, and included a prototype scenario where a phone could be hooked up to a monitor via a cable and a keyboard/mouse via Bluetooth and operate like its a regular computer. Universal Applications allow for similar UI experiences across different devices – its a very intriguing story.
One Drive of course is part of that story – the idea that your documents are stored in the cloud ready for you to access across all your devices, personal and business.
Hololens is the new hardware darling of the Microsoft world right now, promising a new user experience unlike anything else before it. Those that got hands on with it at Build seemed to have positive reviews, but no devices were available at Ignite.
Build the Intelligent Cloud
What does this even mean? Well in Microsoft speak it means “the back end infrastructure that drives all of your enterprise mobility”. As an example, they released a new threat detection tool called Advanced Threat Analytics which can identify suspicious behaviour in your domain such as questionable logins or file access.
It’s one thing to use Azure for infrastructure, platform development, or to run/access software as a service. But the cloud needs to be much more than that – it needs to be a holistic solution, and that means features and applications built into the cloud to allow end users to better manage their infrastructure.
Reinvent Productivity & Business Processes
In a perfect Microsoft world, all your users would be using Office 365. They would have Universal Office Apps so they could use any device they wanted to. They would communicate using Skype for Business (which, by the way, is the official name of Lync going forward). They would leverage SharePoint, but not local SharePoint – Office 365 cloud-based SharePoint. They would develop applications for Office 365 using the available APIs. They would store documents in One Drive for Business. And what the hell – they’d use Surface tablets.
Microsoft already owns the productivity suite business, but they want to own it across all devices and platforms. Statements like “If you’re a web developer than you’re an Office 365 developer!” rang out in the Office area of the expo hall as booth experts showcased the new APIs available to developers; so its not just end users being courted here.
Get on the Cloud Bus!
It’s refreshing to see that the message coming from Microsoft, and Satya, is very consistent across events and over time. Microsoft isn’t trying to do too many things at once or jump into markets they have no right being in. Windows, Azure, and Office 365 – that’s it. It’s nice to know where they stand and where they’re going.
I was in Chicago last week for Microsoft Ignite, the second major Microsoft conference in as many weeks (Build was the week before). I had a fantastic time and wanted to share some thoughts on the conference over a few blog posts:
Microsoft Ignite 2015 – Microsoft’s Message
What is the Purpose of Ignite?
TechEd used to be the main learning conference Microsoft would run every year. While events like the PDC (Professional Developers Conference) and Mix talked more about future or bleeding edge technologies, TechEd was always about learning about what was current and adopted. It also had a 30/70 split between developer and IT pro content. Over the years this changed, and TechEd was really seen as the IT pro event while Build became the developers conference.
With the announcement of Ignite many wondered what would happen to TechEd. Initially the messaging was that both events would be co-located; on-premise content would be “TechEd” while cloud content would be “Ignite”. As we got closer to the event all mention of TechEd was gone though, so we’re left with Ignite and Build as the two Microsoft North American conferences.
This transition was felt throughout Ignite, with content being an interesting mix. Consider the graphic below, taken from the Ignite sessions site (all content is available for viewing by the way). This breakdown gives you an idea of where the content focus was from a product/platform point of view.
Some of this is a bit misleading as well. SharePoint sessions were overwhelmingly associated with Office 365. SQL Server sessions talked about SQL in a cloud/Azure context or on-premise topics for SQL 2014; although SQL 2016 is slated for a preview release this Summer, I don’t believe there was any content supporting it at Ignite.
Also interesting is that nowhere do we see Visual Studio as a filter option for Products, yet there were definitely developer-based sessions. According to the Audience filter options there was 158 “Enterprise Developer” focused sessions. The majority of those were focused on Windows 10 universal apps and Office 365 development, although I attended some great sessions on Entity Framework, DDD, and ASP.NET 5; these were well attended sessions too, with around 500 – 600 people in each session.
One thing that’s striking though is the number of sessions aimed at IT Influencers, Implementers, and Decision Makers – 843 compared to 193 for Developers and Architects.
So where does this leave Build and Ignite from an audience perspective? Initially I saw it as Build for developers, Ignite for IT pros but I don’t think that’s the case anymore. It’s not a line divided across role boundaries, but organizational ones. Build, with its smaller attendance cap and west coast location, is really the event for commercial, start-up, product-based, and/or small-to-medium sized organizations. Ignite, hosting over 23000 people and with its more central geo-location, is the event for anyone in enterprise IT. Build is about how to create custom applications on the Microsoft development platform. Ignite is how to implement, customize, and manage Microsoft products and platforms. The environment you work in plays a much larger role in which event is right for you than what your role at work is.
With Microsoft wanting to push more Azure adoption in the enterprise, it makes sense that it would focus on the IT pro side. But a little more developer content would be a welcome addition and make Ignite much more attractive for software developers.
It was announced this week that INETA, the International .NET Association, was shutting down operations. While some of us knew it would come to this eventually, its given many of us pause to reflect on INETA and how its presence impacted the developer community worldwide.
I would not be where I am today if not for INETA.
Strong statement, but true. In 2005 I submitted an essay about my role in the community as a user group lead to a contest where INETA would send selected individuals to Tech Ed 2005 all expenses paid. I was picked and off to Orlando I went. There I met lifelong friends for the first time, and through them more people who are still lifelong friends. I was going to list them all but it would end up being you reading a list of names, so let me name the 5 who were part of the infamous “There’s only room for 5 but there’s 6 of us” drive in Orlando: Chris Williams, Rob Zelt, Caleb Jenkins, Matt Ranlett, and Brendon Schwartz.
Through INETA and becoming a Membership Mentor I connected with User Groups across Western Canada and made more friendships that have endured: Jennifer Pearcey in Saskatoon, Gary Pronych in Regina, Don Belcham in Edmonton, Nolan Zak in BC.* It was because of INETA that I drove out to support a guy named James Chambers in Brandon who was starting a .NET UG there.
While INETA would eventually cut off funding speakers for Canada (its a long story, find me and we’ll talk over beers), they were responsible for top talent like Rocky Lhotka coming to Winnipeg, Kathleen Dollard doing a tour across the Canadian prairies, and Andy Dunn doing an XNA talk in Calgary as just some examples. INETA *did* support Canada and was a huge part of the Canadian user groups’ growth and success.
INETA afforded me opportunities to meet fantastic people passionate about technology and software development communities, and for that I will always be grateful for my involvement with INETA. It’s legacy is definitely being carried on.
Microsoft turned 40 this week. That’s a huge accomplishment for any company, but considering Microsoft’s growth and its impact on the technology industry its even more impressive.
Many articles will talk about the impact Microsoft has had on personal computing, but what shouldn’t be lost here is Microsoft’s impact on the global economy over the last 4 decades. Out of one company and one company’s products, millions of people have found gainful employment and created amazing products of their own.
I graduated college in 2001. In my 14 years, in which I’ve focused on Microsoft technologies, I’ve…
- traveled all over North America; LA, Seattle, Orlando, Minneapolis, Anaheim, Atlanta, San Francisco
- met amazing people, created long standing friendships, and continue to connect with people from around the world
- found common ground in my local technology community and created personal connections
- worked on awesome software projects and with amazing people
- been given opportunities like the MVP program, Microsoft Regional Director, and speaking at various conferences and UGs
And all of this because 40 years ago Bill Gates and Paul Allen started a company called Microsoft.
Many of us owe our careers in part to the technologies and platforms Microsoft created. And by many, I mean literally millions of people around the world who develop software or manage IT infrastructure.
So thank you Bill and Paul not only for creating a fantastic company who achieved its goal of making a computer in every home a reality, but for also creating an industry that many of us have benefited from personally.
I had a few conversations at Prairie Dev Con this week with people who were shocked to find that I don’t pay the speakers I invite to my conference. There’s also been some popular blog posts over the last year from Seb Lee-Delisle and Jenn Lukas that encourage speakers to push for travel & hotel coverage along with reimbursement for speaking at an event.
So – why don’t I pay my speakers? Simple – I can’t.
Well, that’s a little simplistic, so let me explain.
First, context – I run my conference in Canada. I believe that with the fantastic North American speaker pool available to us, the conference shouldn’t be limited to just Canadians speaking. There’s much we can learn from those south of the border and I don’t think we’d have the diversity of speakers and sessions if we didn’t include them. Once I began covering speaker airfare last year in addition to hotel, the number of responses exploded – which is good for the conference and it’s attendees.
Unlike the US DHS and State Department, the Canadian government’s Citizenship and Immigration Department has a much better website with clearer definitions of who can do what in Canada, and whether additional steps are required. There’s a page dedicated to policy, procedures, and guidance around public speakers – you can find it here.
In Canada’s view, there’s two different types of speakers that can come to Canada without requiring a work permit: those doing a seminar at a University, a short intensive course of study or a conference of specialists (so speakers at a technology conference who aren’t getting paid), and those who are “commercial” speakers who perform their own seminars, sell tickets, etc. (think someone from the US coming up to sell their ‘How to Get Rich in Real Estate’ course or something like that).
What is not included in either of those two definitions are…
…commercial speakers who are hired by a Canadian entity to provide training services, or guest instructors of a particular sport coming to teach weekend seminars. Training activities are viewed as providing a service to Canadians, and therefore are considered an entry into the labour market. In these cases, other entry options must be explored including ESDC/SC Labour Market Impact Assessments or the NAFTA Professional category which allows for professionals to provide training services under some circumstances.
I do think its silly that someone from the US can come up to sell whatever under the “commercial speaker” banner, and yet I as a conference organizer can’t provide any payment to my speakers because its considered an entry into our labour market, but those are the rules. That Labour Market Impact Assessment by the way costs upwards of $1000. Each. So if I was to pay my speakers, it would be $1000 up front for the Canadian government to determine if a Canadian could perform the same role. For a small regional conference, its not financially feasible.
Why not just pay Canadian speakers then and not American ones? At least someone would be getting paid, right? Unfortunately here’s how border logic would look at that: Even though the American wasn’t getting paid, Canadians are receiving payment and therefore the American would be taking the place that a Canadian could have been paid. This could result in not only the American speaker being denied at the border, but also having them finger-printed and entered into the CBSA system, causing him/her to be flagged in future border crossings and pulled into secondary. What I just described happened to…ahem…someone I know very well, albeit going from Canada to the US. I would not anticipate the Canadian border to be any different in its views.
You may know of conferences that pay speakers, either in the US or in Canada. From my research, and from what I’ve seen/heard in talking to people, those instances rely on speakers successfully lying to border agents as to what they’re doing in the destination country. I will never suggest this as an option, as it destroys the credibility of my conference as well as puts the speakers at huge risk.
I try to make my speakers’ experience as positive as possible: airfare paid, hotel paid, arrange airport pick up, and have a huge speaker dinner. From what I read about conferences in the US, US speakers don’t always get all of that for much larger events and the feedback I get from my speakers is typically positive; they want to come back, even without getting paid.
If you encounter a conference that doesn’t pay speakers to speak, consider that if they invite international speakers there may be more at play than just budget. I do believe that conferences should look at covering as much as possible for speakers though (airfare, hotel, food, etc.), regardless of honorarium.
If you have questions about running a conference, or if you have thoughts on this blog post, please leave a comment below!
I wrapped up my 9th Prairie Dev Con this week. I’ve been running conferences since 2009 (earlier if you count Code Camps I guess), and after 2 SDECs and 9 PrDCs, I’m finding that I still learn something new every time. Here’s some thoughts from this year’s event.
Mobile Apps are Essential
This year I updated the conference website for the second time since 2010, although this one was a total re-write instead of tweaking the colour scheme. Moving the site to BootStrap gave the site a mobile-friendly experience, but there’s still limitations to what you can do. For next year I *have* to have a good mobile app and that will be a top priority.
One option I’m looking at is guidebook, which has a free tier that fits with Prairie Dev Con (free for max 200 downloads). I’m going to test it out for Regina this June.
Closing Commentary – Thinking About This
I’ve never done a closing keynote but I’m starting to consider it. The opening keynote definitely sets a tone and kicks things off, but after two days of learning I’m wondering if having a closing commentary on what’s been seen and heard isn’t a good thing. Still noodling on this.
Treat Your Venue As Your Partner
It’s very easy to look at a venue as a business transaction. I’ve dealt with venues in the past that definitely approached it that way, and I felt the conference was nothing more than another line item on a revenue report. The Winnipeg venue, CanadInns Polo Park, is fantastic though and over the two years that I’ve run PrDC there we’ve created more of a partnership than simply a customer/vendor relationship. Feedback I gave last year has been incorporated into how they run things this year, which resulted in a better overall experience for all attendees.
That’s not to say that we didn’t have a few blips, but I’ve found if you treat your venue as an extension of your conference – in that if the venue improves, your conference and attendee experience improves – you get way more value than if you argue over dollars for slight inconveniences.
Making Feedback Mandatory
As I look through the session feedback, there’s lots of people who will select from the drop downs (“How was the speaker?” “Excellent, Alright, Not Great, Horrible!”) but never leave comments. I’m thinking of enforcing comments for the next conference. If you thought someone was excellent, why were they excellent? If you thought someone was not great, why were they not great? Speakers really do want to get better, and really do want to hear feedback. I need to come up with a way to ensure that happens.
Don’t Run a Conference in Winnipeg in March
I think some of my speakers are still thawing off.
These are the thoughts I have right now – may blog more thoughts as they come.
I was thinking of how to open this blog – to contrast the fact that I’ve been a Microsoft guy for so long and now here I am with an iPhone device, except…it doesn’t matter here in 2015. The days where the devices you used showed some sort of weird loyalty/allegiance to a given company or tech stack are gone. It’s not about lines in the sand, its about collaboration and accessibility across all platforms.
Still, I’ve been a Windows Phone user since 2012 and while I have a Mac at home its basically a Netflix device for my kids; I just couldn’t get over the speed issues of running Windows in a VM or booting into Windows with Boot Camp. My world runs mainly in Windows aside from music and iTunes. So as I transition away from Windows Phone to iPhone, I thought I’d blog my first few days using the device to give not only a review of the iPhone 6 itself but also compare it to the Windows Phone experience and talk about what I like and what I miss.
I picked up the device in late afternoon, around 5:30 PM. Space Grey with a Case Mate case and a screen protector made of tempered glass. The phone itself is really slim, but with the case I picked out it has more of an iPhone 5S feel to it which in my big paws feels more comfortable.
Battery was mostly charged and as I write this Day 1 report almost 24 hours later I’m at just under a 1/4 battery.
Friends told me that Touch ID, where you basically user your fingerprint to perform actions (among other things, unlocking your phone), was cool. I thought it was gimmicky but after a day I don’t know how else I’d secure a device without it. Fantastic feature and one Windows Phone should definitely emulate.
One of the great things about Microsoft here in 2015 is their support for iOS. Office apps for iOS are fantastic and work really well! I already have One Drive set up and configured to store any pictures/videos I take. Easy integration and great UIs, better than what I had on my Windows Phone! Well…except email.
I was excited to try Outlook for iOS. I was not excited to hear about the security issues that have arisen. Although I’m thinking I could use it again with notifications turned off, but then there’s still the risk that my corporate IT will block its use which means the win of having a great calendar is lost. If MS can fix those issues in short order, then all good. But Windows Phone’s stock email client is much better than the stock iOS one for handling multiple email accounts…or maybe I just need to be more open to how Apple does it. Hey, its only Day 1 here.
This thing is probably the best iPod I’ve ever owned. Music sounds amazing, better than the Nano’s I used to own! My Nokia 920 was only passable and the XBox Music service never won me over – too clunky and awkward to use. iTunes runs very well on the iPhone 6.
Battery indicator of 20% just came up. Still impressed with battery life. Considering I left it on all night uncharged.
I need to see if I can get a replacement keyboard for this thing. OMG, seriously why is there no period on the MAIN KEYBOARD?! I have to hit “Shift” just to end a sentence?! And no distinction between being in upper or lower case mode? And where’s my “.COM” button?! The Windows Phone keyboard DESTROYS the Apple keyboard. Totes McGotes.
I need to get familiar with how volume/sounds work. On my Windows Phone I would hold down on the volume buttons and when it hit 0 it would go to Silent/Vibrate mode. The iPhone…doesn’t. In fact, you can NEVER get to 0 on volume, you’ll always have some level of volume – unless you toggle a physical button that puts the device on silent?! Why would this not be a software thing? Maybe this wouldn’t be so bad except I can’t actually get to the toggle button due to my case (bad design there Case Mate). So some weirdness there to be addressed.
So a few things about my Day1 comments:
The hardware silent button thing – turns out that the design reasoning is that without having to look at or turn on your phone, you an flip a switch and it goes silent. Certain Android phones accomplish this by turning the phone screen side down on a surface. Windows Phone just happens to use the volume buttons. OK, so not a bad thing – just a different thing.
The keyboard isn’t as bad as first made out to be either – it just displays different default layouts based on what application you’re in.
<UPDATE> Thanks to The Lazy Admin for pointing out the shortcut to get a period to show up and how to get .COM (among others) to show up:
Also the stock email client is actually pretty good. At first I was trying to figure out why I had to go to a different screen to setup my email accounts instead of doing it from the main application, until I stopped and realized that Windows Phone does the same thing – the only difference is that on Windows Phone you get a separate mail icon for each account. When I first mentioned this, my buddy Rodney commented that “Apple could call that ‘clutter’” and I assumed that was just typical Green Bay Packer fan elitism…but he’s right! I way prefer the ability to see all email accounts in one stream (and still have the option to look at each one individually) from a single application. Also handling emails (mark as read, delete, etc.) is fantastically easy in the Mail app.
OK…so those things out of the way…
Last night was my mom’s birthday and it was my first chance to test out the camera. First impression – really impressed! My Nokia 920 had a good camera but it was SO SLOW to actually take a picture, whether with the software or hardware button. And because of the touch-reactive buttons on the Nokia you had to hold the camera carefully if using the screen button because you could easily go back to the main screen or hit the back button. Those issues are gone on the iPhone! I can take so many more pictures in succession as well! Love the camera, can’t wait to try out the slow-mo and other features (and see if there’s other camera apps available like my Nokia had).
One of the nuances of switching platforms is discovering how the new one handles user experience/user interface. I’ve found this is somewhat hit and miss in the iOS world.
Facebook – Love it! Fast, responsive, easy to consume content, easy to see notifications. One thing to note though – I don’t post a lot to Facebook, I’m more of a consumer. I make this statement because the Facebook uses the same type of UI paradigm as Twitter, and…well…
Twitter – HATE IT! Worst. Twitter. Client. Ever. But let me tell you why.
So this isn’t my Twitter feed, its just a pic from Google. Note that Timeline, Notifications, Messages, and Me are buttons at the bottom. Yet for some reason there’s three options of lists I can get to by swiping – one that says Discover and one that says Activity.
What I expected was that if I swiped I’d get to Notifications or Messages or Timeline…but I guess I’ll just push buttons. This is a minor thing compared to my big issue with the UI – tweet creation.
If I’m holding my phone in my left hand, I can’t start a new tweet without either using my right hand to press the “compose” button in the top right corner or switching how I hold the phone in my left hand so I can reach it. In Windows Phone the Twitter application was fantastic – I could browse my lists AND create tweets one-handed.
At first I thought that this may just be an issue with iOS UI standards since Facebook does the same thing (although at least in Facebook the button to compose a post is on the left hand side too…must suck for right-handed users though). But its not. Slack.com has an awesome iOS app, with post-composition right at the bottom easily accessible. The stock Mail app has the compose button on the bottom right, which is still within thumb reach. The Facebook messenger app has the same layout as Twitter though, with compose being in the top right.
I thought there would be better UI/UX standards for iOS, and maybe some of these issues are due to the iPhone 6 and 6+ being so large compared to previous incarnations of the iPhone.
Slack – Fantastic app – although I’m only using the chat feature right now and not any of the other integration channels for attachments and file sharing.
Mail – Like I mentioned earlier, I actually really like the stock mail app that comes with iOS. Outlook was good too, security issues aside, but from a pure mail point of view I don’t see too much difference in UI. I think where that might change is in calendar integration where Outlook includes a calendar in-app instead of spreading it around to multiple apps.
If you have any comments or suggestions on apps I should check out, ping me on Twitter and let me know or leave a comment below! More adventures with my iPhone coming soon!
Thanks to everyone who came out to my talk on Mobile Dev with VS.NET last week at the Winnipeg .NET User Group! Below are links from the session content. First, I wanted to clarify something…
The last question we took asked if there was a learning curve for developing Android in Xamarin. I answered thinking from a .NET point of view – C# conventions are still in place but the framework you develop with may be different.
Tyler Doerksen pointed out to me that the question could have been about how Android applications are actually architected/developed and not about C# itself. In this light, yes developing an Android app isn’t like writing a traditional Microsoft application but I don’t know that its really all that different either. It would be like switching from C# to Java – things are familiar, but some things are new and different. There’s always a learning curve when switching to a new platform, but the Xamarin tools remove some of that by providing familiar IDE (Visual Studio) and language (C#).
OK – now to the links.
Here’s where you can download the Xamarin tools. You can also view the various tiers at a glance here, which shows features available and the pricing. Note that while there is a Starter level, its limited in a few ways:
Your apps are limited in size and can’t leverage 3rd party libraries
You won’t have access to Xamarin Forms
Although it doesn’t list it, supposedly there is Visual Studio plugin support at the Starter level (or it was to be added by the end of 2014).
Xamarin Evolve Sessions
All sessions from last year’s Xamarin Evolve conference are available online! Lots of fantastic sessions here, I’d absolutely recommend going through them!
If you want a fantastic intro to Xamarin Forms, here are two videos from the above Xamarin Evolve sessions to check out (no links – they just embed them in the same page and pop-out the video when you click play):
Your First Xamarin.Forms App
Building Cross-Platform Applications with Xamarin, Xamarin.Forms, and MVVM Light
Visual Studio Tools for Apache Cordova
Here’s where you can get all the info and the tools to start developing with Apache Cordova in Visual Studio!
If you have any other questions feel free to comment below or hit me up on Twitter!