text:
In this article, we are going to create our first Windows Phone 7 application running the new "Mango" update. We will start by creating the application in Visual Studio, and then we will analyze the code that makes it up to start to gain some familiarisation with Silverlight and XAML. Once we have grasped the code, we will see how we can quickly modify the generated code to display different text and react to a button click.
Recently Microsoft announced the release of an update[^] to Windows Phone 7, codenamed Mango, which brings a whole raft of top notch functionality to the hands of WP7 developers. It occurred to me that, while there are many great WP7 articles here on CodeProject, there isn't a resource that teaches WP7 development from the ground up. To solve that, it seems that we need a series of articles that try to teach WP7 in a friendly and simple fashion.
These articles don't assume that you have written any WP7, XAML (pronounced ZAMEL), XNA or that you know what Silverlight and XNA are, or how things such as Dependency Properties and databinding work. Hopefully, by the end of the series, you'll have learned enough to be able to tackle developing WP7 applications easily and with confidence.
Some of the articles will demonstrate how to use Expression Blend, but don't worry if you haven't got a copy - I'm just going to be using it for styling parts of the user interface, and you should feel free to copy the templates I'll be producing. The primary tool we'll be using in these articles is Visual Studio 2010. Where we are using Silverlight, we are going to ensure that we follow the guidelines for designing Metro applications. Metro refers to the look and feel of WP7 applications, along with how the application responds; a guiding principle of WP7 application is that it must fit in with the other applications that run on the phone and be easy to get to grips with for somebody who's used to Metro apps, but who hasn't used your application before.
Rather than rehash a lot of what has already been written about the history of Windows Phone 7, I'd suggest that you read this[^] if you are interested in the history of WP7. The points of interest for us is that development on WP7 can be done using a version of Silverlight developed to take advantage of the features of the phone, and a version of XNA (a great API designed for developing games that run on the phone, the XBOX and a Windows PC) to develop games for the phone and by the end of the series of articles, we'll have used both.
You might find the following links useful while you are reading this article.
I'm assuming that you are familiar with standard .NET and Visual Studio concepts such as namespaces, classes and code-behind files. It's not going to teach you how to code in C# (or VB.NET if that's your language of choice).
The classic application when getting started is Hello World, and this application is going to be no exception. So, let's buckle up and enjoy the ride into our Windows Phone world by firing up the old Visual Studio.
Once Visual Studio is open, select File > New > Project to display the New Project dialog. In the list of installed templates, look for the section Silverlight for Windows Phone and choose Windows Phone Application (I'm going to use C#, so the templates are installed under the Visual C# node). Let's name it MyFirstPhoneApplication and click OK to create the application.
If you've installed any previous versions of the WP7 SDK, you'll now see a dialog asking you to choose the platform you want to target. Choose "Windows Phone 7.1".
If all has gone according to plan, we should have a solution that looks like this (don't worry if you don't have the All Open Unsaved Edited part - it's from an addin that I have installed on my development environment):
XAML stands for XML Application Markup Language. Basically, in WP7, XAML allows you to lay out user interfaces declaratively, and that's what these files contain. OK, that sounds great but what does it actually mean?
When you create just about any type of user interface, there's an implicit parent-child relationship in there. Typically, you'd have a top level form which would have a collection of child controls. Some of these child controls may contain collections of child controls. Well, XAML allows you to represent this hierarchy using XML to identify the different controls and what they belong to along with some of the properties of these controls. The important thing to remember is that anything you can do in XAML, you can do using straightforward C# or VB.NET (but it is easier to do this in the XAML). But why do we need it? Well, XAML allows designers to layout the user interface without having to know how to write any code and, once you get used to it, it does become very natural to layout your interface in.
As you're aware, in order to run an application, we have to have an entry point. Well, in WP7 this is no different, and the entry point is the Application. The default location of the Application class is in these two files (whenever you see .xaml.cs, this tells you that this is a code-behind file for a .xaml file). Let's take our first look at some XAML and see what's in that App.xaml file.
<Application x:Class="MyFirstPhoneApplication.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"> <!--Application Resources--> <Application.Resources> </Application.Resources> <Application.ApplicationLifetimeObjects> <!--Required object that handles lifetime events for the application--> <shell:PhoneApplicationService Launching="Application_Launching" Closing="Application_Closing" Activated="Application_Activated" Deactivated="Application_Deactivated"/> </Application.ApplicationLifetimeObjects> </Application>
"Whoah Pete. That's some scary looking stuff there." I hear you say. Fear not, for I am here to tell you that this stuff is nowhere near as scary as it looks. Let's break this down and figure out what this all means.
<Application x:Class="MyFirstPhoneApplication.App" ... </Application>
Remember that I said this file was based on XML? It may come as no surprise that this file conforms to the rules of XML so the opening tag must have a balancing closing tag. In this case, the tag is Application, which tells the compiler that this is the XAML containing the Application definition. The next line simply tells the compiler what the namespace and class name is for this particular file. If you are familiar with ASP.NET, you should recognise this as being similar to the Page directive at the top of your .aspx file, with the Inherits tag telling the compiler what the ASPX inherits.
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
These lines allow you to use functionality present in .NET namespaces directly in the XAML. There are two ways of hooking namespaces in; either by specifying a URI which will have been published as an XML namespace definition in the assembly in question, or by using the clr-namespace format (the assembly part tells the compiler which DLL the namespace is defined in if it's not in the current assembly). We'll cover namespace definition in more depth in a later article when we look at adding new assemblies and interacting with them in the XAML).
Suffice it to say, if we need to interact with something that's in a namespace other than the default one covered by xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation", then we need to prefix the element with the namespace name we've set up here. An example of an element that's in the default namespace is Application (which is why it doesn't need to be prefixed with anything).
<!--Application Resources--> <Application.Resources> </Application.Resources>
Resources are items that can be reused throughout the XAML such as brushes or templates and styles. We'll cover resources in depth in a later article, but any resources that we want to be usable across any XAML page in the current application would be placed in this section. This saves us having to copy the same elements into different pages - you can almost think of this as being like a CSS file that has been included into every page.
<Application.ApplicationLifetimeObjects> <!--Required object that handles lifetime events for the application--> <shell:PhoneApplicationService Launching="Application_Launching" Closing="Application_Closing" Activated="Application_Activated" Deactivated="Application_Deactivated"/> </Application.ApplicationLifetimeObjects>
This section is actually pretty cool because of what ApplicationLifetimeObjects do for us. Rather than having to subclass the Application class to add extra functionality, we can use this section to list extensions (yes, they are standard extension methods) that extend the Application class. WP7 provides a standard extension called the PhoneApplicationService (note the use of the shell: to tell us that it's in the Microsoft.Phone.Shell namespace). So, what does this class give us? Well, it provides access to methods that are associated with various aspects of the application's lifetime such as when it's launched. The four that are listed here as attributes (this is the easy way to add properties and events to an object in XAML) relate to the Launching, Closing, Activated and Deactivated events, and the event handlers live in the file App.xaml.cs.
Well, we've seen that there's code linking into the App.xaml.cs file, so what does it look like? Rather than listing the whole file out, let's open up the code in Visual Studio and I'll explain what each bit does.
Phew, that's a lot of code in there, but what does it do. Again, it's easier to understand if we break it down into little bits. This time, we aren't going to cover all the code as we really don't need to discuss the using statements, the namespace and class definitions. Right, let's look at the RootFrame property.
public PhoneApplicationFrame RootFrame { get; private set; }
All WP7 pages are displayed inside a frame, and this frame is accessible through this property. If we were to think of this in terms of a browser based application, then the RootFrame would be the equivalent of the web browser itself, and the pages would be individual HTML pages.
public App() { // Global handler for uncaught exceptions. UnhandledException += Application_UnhandledException; // Standard Silverlight initialization InitializeComponent(); // Phone-specific initialization InitializePhoneApplication(); // Show graphics profiling information while debugging. if (System.Diagnostics.Debugger.IsAttached) { // Display the current frame rate counters. Application.Current.Host.Settings.EnableFrameRateCounter = true; // Show the areas of the app that are being redrawn in each frame. //Application.Current.Host.Settings.EnableRedrawRegions = true; // Enable non-production analysis visualization mode, // which shows areas of a page that are handed off to GPU with a colored overlay. //Application.Current.Host.Settings.EnableCacheVisualization = true; // Disable the application idle detection by setting the // UserIdleDetectionMode property of the // application's PhoneApplicationService object to Disabled. // Caution:- Use this under debug mode only. // Application that disables user idle detection will continue to run // and consume battery power when the user is not using the phone. PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; } }
This is the constructor for our App class, so it's called as soon as the class is initialised. At this stage, there are no visual items created, and nothing to hook into visually, so it's important not to add anything here that relies on visual elements being displayed.
The UnhandledException line is generally good practice in our applications because it provides a top-level error handler that, in all but the most extreme cases, is guaranteed to be called. The error handler is actually handled in the method Application_UnhandledException.
If we look in the class, we won't find any implementation for the InitializeComponent method, but when we compile the code there are no errors here. So what is this? Is there a magical setting in the compiler that doesn't generate compilation errors when it encounters InitializeComponent methods in the code? Not surprisingly, this isn't the case - the real reason is much more mundane, and the clue lies in the class definition, this is a partial class. When the application is compiled, code is created for us behind the scenes in special .g.cs files, and InitializeComponent is implemented in this class.
The next line simply calls the InitializePhoneApplication method defined later on in the class. We'll cover that method shortly.
The next section covers the behaviour of the application when the debugger is attached. Rather than covering them line by line, I'll give you a brief overview here of what these properties are used for (including the commented out properties). At this stage, even though we haven't finished writing our program, let's build and run it. When we run the application, it opens up the windows phone emulator (note the Windows Phone Emulator option in the toolbar).
When the emulator is firing up, it looks like this:
Once the application has loaded, it looks like this:
OK, so that was an interesting little diversion (I hope), but you may be wondering what we are doing here when I promised that I would explain the bits inside the Debugger.IsAttached section. Well, if you look carefully at the image above, you'll see what looks like interference. If I rotate the image, resize and crop it a bit, we might get a hint that there is something more going on here.
So, what are those numbers? Well, they are the frame rate counters that have been enabled by the line Application.Current.Host.Settings.EnableFrameRateCounter = true;. From the left, these numbers are:
Application.Current.Host.Settings.EnableFrameRateCounter = true;
If we uncommented Application.Current.Host.Settings.EnableRedrawRegions = true; we would be able to see the items that are being redrawn every frame. If something is been drawn by the GPU, we will not see a redraw here; this is the ideal that we want - redraws being handled by the GPU.
Application.Current.Host.Settings.EnableRedrawRegions = true;
The line Application.Current.Host.Settings.EnableCacheVisualization = true; is an interesting one. This tells us what is not being redrawn by the GPU by applying a coloured tint to it. If an item is handled by the GPU and cached, it will not be tinted.
Application.Current.Host.Settings.EnableCacheVisualization = true;
The line PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; comes with a big comment warning for a reason. In the standard phone application mode, the idle detection allows the phone to conserve resources and allows it to "hibernate" when the application has been idle for a period of time. If we switched this functionality off in the released version, our application would end up consuming power as it would not go into idle mode.
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
WP7, in common with most smart phones, supports a graphics processor unit (GPU) which can be used to improve the performance of graphical applications. In general, we can let Silverlight take care of delegating the work to the GPU for us, but there are some rules that must be followed to support this behaviour. Throughout this series, we'll see areas and rules that help us identify whether or not something runs on the GPU.
Now, let's get back to the code.
// Code to execute when the application is launching (eg, from Start) // This code will not execute when the application is reactivated private void Application_Launching(object sender, LaunchingEventArgs e) { } // Code to execute when the application is activated (brought to foreground) // This code will not execute when the application is first launched private void Application_Activated(object sender, ActivatedEventArgs e) { } // Code to execute when the application is deactivated (sent to background) // This code will not execute when the application is closing private void Application_Deactivated(object sender, DeactivatedEventArgs e) { } // Code to execute when the application is closing (eg, user hit Back) // This code will not execute when the application is deactivated private void Application_Closing(object sender, ClosingEventArgs e) { }
These are the methods that were hooked up as part of the PhoneApplicationService extensions. In future articles, we'll find out how and why we need to use these methods.
private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e) { if (System.Diagnostics.Debugger.IsAttached) { // A navigation has failed; break into the debugger System.Diagnostics.Debugger.Break(); } }
This method breaks to the debugger, if it's attached, when navigation fails.
private void Application_UnhandledException (object sender, ApplicationUnhandledExceptionEventArgs e) { if (System.Diagnostics.Debugger.IsAttached) { // An unhandled exception has occurred; break into the debugger System.Diagnostics.Debugger.Break(); } }
This is the event handler for coping with unhandled exceptions. In future articles, we are going to delve into making this a more feature rich method, and take a look at how to make the exception handling actually do something meaningful. Suffice it to say, the default implementation only breaks to the debugger if it's attached, which isn't very useful in deployed situations.
#region Phone application initialization // Avoid double-initialization private bool phoneApplicationInitialized = false; // Do not add any additional code to this method private void InitializePhoneApplication() { if (phoneApplicationInitialized) return; // Create the frame but don't set it as RootVisual yet; this allows the splash // screen to remain active until the application is ready to render. RootFrame = new PhoneApplicationFrame(); RootFrame.Navigated += CompleteInitializePhoneApplication; // Handle navigation failures RootFrame.NavigationFailed += RootFrame_NavigationFailed; // Ensure we don't initialize again phoneApplicationInitialized = true; } // Do not add any additional code to this method private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e) { // Set the root visual to allow the application to render if (RootVisual != RootFrame) RootVisual = RootFrame; // Remove this handler since it is no longer needed RootFrame.Navigated -= CompleteInitializePhoneApplication; } #endregion } }
The final piece of the App.xaml.cs puzzle lies in these two methods. The use of the field phoneApplicationInitialized is there to guard against this method being called twice. The RootFrame property is initialized and the Navigated and NavigationFailed events are hooked up. Finally, the root visual object is set to be the root frame and the navigated event is dereferenced.
That's almost it for the App.xaml files. There's one final piece of the jigsaw to sort out, how does the application know that the App class is the startup? Well, if we open up the project properties dialog and take a look in the Application tab, we can see that the startup object is set to MyFirstPhoneApplication.App. Now it's time to take a look at the MainWindow functionality.
Let's take a look at the contents of MainPage.xaml. Don't worry if it looks cryptic at the moment, as we are going to break it down and discuss the different parts and see how they all fit together.
First of all, let's look at the actual code.
<phone:PhoneApplicationPage x:Class="MyFirstPhoneApplication.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="True"> <!--LayoutRoot is the root grid where all page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"></Grid> </Grid> <!--Sample code showing usage of ApplicationBar--> <!--<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="MenuItem 1"/> <shell:ApplicationBarMenuItem Text="MenuItem 2"/> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>--> </phone:PhoneApplicationPage>
Well, that looks fairly scary, but you'll be pleased to know that it is actually fairly easy to understand.
<phone:PhoneApplicationPage x:Class="MyFirstPhoneApplication.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" ... </phone:PhoneApplicationPage>
Just as in the App.xaml file, the opening attributes set up the class behind the XAML and add in the appropriate namespaces for use in the XAML. As we can see here, the phone pages inherit from the PhoneApplicationPage type which is the equivalent of an HTML page in a browser, or a Form in a WinForms application.
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
These attributes are interesting. The d: attributes are Expression Blend tags, and tell the design window what width and height to apply to the page. These sizes could be different from the real width and height of the page, if we wanted to - they are just set to help the UI designer lay out the screen. The mc:Ignorable tag tells the compiler to ignore any namespace that starts with d: in the XAML. Don't worry if this doesn't make too much sense right now; it will become clearer when we start to use the design window more.
FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}"
Right, this is going to take a little bit of explaining, so please excuse me while we divert into resources territory.
As you're no doubt well aware, Windows applications allow us to embed resources into applications which we can access in use. Well, WP7 based applications are no different - we can embed resources and access the individual resource quite easily. In Silverlight applications, we use something called a ResourceDictionary to manage our resources. Now, the syntax to access the resource items looks a bit funny, but we have to get used to it because we will use this a lot. Basically, the StaticResource markup tells the compiler that it needs to look something up from a ResourceDictionary and apply it. The use of the {} symbols tells the compiler that it is going to have to bind a value in rather than just apply a string literal.
The values for the different resources here are obtained from the standard resource for the phone, so we don't need to add these values ourselves. Details of these resources can be found here[^].
While we could have set the FontFamily to Segoe UI using FontFamily="Segoe UI", the fact that we are using the resource dictionary means that we only need to change the dictionary and recompile it if we want to change the font to Verdana. I didn't just pick Segoe UI here either, this is the current value of PhoneFontFamilyNormal in the resource dictionary. Where possible, using resource dictionaries is a good habit to get into because of how easy it is to change elements that are being reused; in this respect, they are just like constants.
FontFamily="Segoe UI"
SupportedOrientations="Portrait" Orientation="Portrait"
These two attributes tell the phone how to display this page when it's viewed (Orientation), and whether it can be displayed in Landscape or Portrait as well (SupportedOrientation).
The system tray is a handy item at the top of the phone display that the user can tap to gain access to information such as the signal strength and battery life. By setting the visibility to true, the user has access to this functionality. We should only change this if we are really sure that your application should not display the system tray because the users are used to it being present.
The following diagram highlights the system tray in red:
<!--LayoutRoot is the root grid where all page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent"> ... </Grid>
Finally we're getting to the part where visual items are being added. When we want to add controls that are displayed, we need to add them to something that tells the application how to lay out the components. In this particular case, we have a Grid which behaves in a similar fashion to a Table control in HTML, in that it can be used to lay controls out in rows and columns. The attribute x:Name gives the grid a name which can be used by the code behind to get access to the grid and manipulate it if we need to. Finally, the Background attribute here makes the grid transparent.
<Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions>
Rather than having to use a <TR> style of syntax to define rows in a table in the way that you would with HTML, XAML allows us to define the rows up front, which is an incredibly powerful feature that we will explore more as we go through the series because it allows us to just change a single value on a control to say where it's displayed. This is an incredible time saver if we are hand editing the XAML as we don't have to cut and paste items to move them into new rows. We will use this feature when we are modifying our application.
The Height attribute tells the application how big to make the row, but what are those funny sizes? When the height is set to Auto, the size of the row is based entirely on how big the content is. When the height is referenced as a *, it means that the size is a proportion of the available space, and you will sometimes hear this referred to as star sizing. In this particular case, it means that it uses all the remaining space.
Note: If we don't supply this section, an implicit row definition is added to our grid that takes up the whole size of the grid.
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel>
The first row of the grid is going to container another control container. This time, it contains something called a StackPanel which tells the application to position controls on separate lines, or all on the same line. By nesting containers, we can create flexible layouts with a minimum of fuss. Again, we'll do a lot more of this throughout the series, so we'll get plenty of practice using the different types of containers. The Grid.Row attribute is an interesting one. If we go to the documentation for the StackPanel and search all night, we won't find any references to Grid.Row on there. Is this an omission on Microsoft's part? Well, while the MSDN is occasionally apocryphal, it's not wrong in this case. Grid.Row is a wonderful thing called an attached property, which we can think of as being a global property that can be attached to any type of object, and it helps control the behaviour of the object. In this case, it tells the grid to position the StackPanel in the first row (note that this is zero based).
The Margin is used to control the space between elements.
Now we actually get to some elements that the user can see. In the XAML, we have two TextBlock controls which display the text from the Text attribute.
Okay, we've covered the boilerplate code in quite some depth, and you are probably itching to get your hands dirty. Well, itch no more, we're going to add some code for ourselves.
The first step is to open up MainPage.xaml in Visual Studio. We are going to use the design window rather than edit the XAML directly. If you've never used the designer window, you can get to it using the Design tab (highlighted in red below):
First of all, let's change the text MY APPLICATION into Hello World. Make sure that the Properties tab is open, then click on the text in the design view and the TextBlock that contains it is selected.
The Properties tab should look something like this:
Right, change the text to read Hello World. Then select the page name and remove the text from the Text property. At this stage, our phone application should look like this in the designer:
Now we're going to add a button to the application. Open up the Toolbox and double click on the button control. This adds the button to the top left corner of the phone designer.
Not very attractive is it? Well, we're about to see exactly what that grid row property does. In the properties window, scroll down until you can see the Grid.Row property.
Change the value of to 1, and be amazed as the button moves to the next row. Rather than showing you a screenshot of this stage, let's set a couple of other properties. Set both the HorizontalAlignment and VerticalAlignment properties to Center to move the button. Once you have done this, double click the button to create an event handler in MainPage.xaml.cs, and in the code that's generated, add the following code:
PageTitle.Text = "BOO !!!!";
This line of code sets the text to be displayed in the TextBlock called PageTitle.
Finally, compile the application and run it. It should look like this:
Now press the button and watch the BOO !!!! appear.
The XAML that accomplishes this magic looks like this:
<Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="Hello World" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"></Grid> <Button Content="Button" Height="72" HorizontalAlignment="Center" Margin="10,10,0,0" Name="button1" VerticalAlignment="Center" Width="160" Grid.Row="1" Click="button1_Click" /> </Grid>
The most interesting part of that particular code lies in the line Click="button1_Click". This ties the click event of the button up to the button1_Click method in MainPage.xaml.cs.
That's it, we've created our first WP7 application using both XAML and code-behind that hooks up to the controls defined in the XAML.
As you can see, adding and editing controls in the designer can be a very simple task; the changes we made to the application were accomplished quickly and with the minimum of effort. Once you become comfortable with the tooling, creating XAML can be a relatively painless process, as evidenced by the speed we have managed to modify the code to do what we want.
A final question to ponder. How does the phone know that MainPage is the page to display? After all, there's nothing immediately apparent in the XAML or the code behind to tell the compiler to mark this page, and there's no reference to it in App.xaml. The answer lies in the file WMAppManifest.xml which creates a task that points to MainPage. We aren't going to cover this file in any depth in this article, but we will come back to it in a future article when we see how it affects pinned and live tiles.
In this article, we have created our first WP7 application using Visual Studio, and modified it to display Hello World. Along the way, we have analysed the basics of a XAML application, and started to see how code behind and XAML fit together. Finally, we changed the project to display Hello World and react to a button click.
In future articles, we will expand on the knowledge we have gained here and really start to get a deeper understanding of WP7 development.
The following books could be of some assistance while learning WP7:
I'd like to thank Hans Dietrich, Keith Barrow, DaveAuld, Tom Deketelaere, gavindon and all the other great CodeProject members who have offered their invaluable help in the crafting of this article. If I've forgotten anybody, the fault is mine and mine alone and I apologise unreservedly. Please let me know if I have missed you out and I'll update the list accordingly to reflect your diamond status.
Please, if you feel this article doesn't meet your needs, or that there are things in here that you don't understand or that I haven't explained clearly, please let me know. Your input into this series is invaluable. Please don't worry if you can't remember the syntax or the concepts clearly, we will be covering each area in much more depth as we progress through the series.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
General News Suggestion Question Bug Answer Joke Praise Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


text:
Heart disease is a leading cause of death in the United States. There are many different types of heart disease—some are congenital (people are born with them) and others develop over the course of time and affect people later in life.
Lowering heart disease risk is more than just lowering your cholesterol number
Focusing on your cholesterol numbers is a small part of achieving the real goal. Beyond the numbers, there are other risk factors that you need to be aware of.
Brush your teeth: it's good for your heart
When bacteria from your gums get into your blood, it can spell trouble for your heart. How can you protect your gums and your heart from disease?
Tips for reducing stress in your life
Many people feel stress often; some even feel it as a part of their daily lives. Stress has been implicated as a possible cause of—or at least exacerbating some of the symptoms of—numerous conditions, including coronary artery disease.
Reducing your risk of heart disease when you have diabetes
New studies indicate that, because diabetes can cause damage to the heart and blood vessels, controlling cardiovascular disease (CVD) risk factors is equally important as controlling blood glucose.
Sizzling ways to stop smoking
Quitting smoking is one of the most daunting challenges you'll face in your life. It's an addiction that is both physical and psychological, but quitting smoking can be done.
Weight loss: what are your options?
Being overweight is closely linked to many very serious health conditions, most particularly risk factors for heart disease and stroke. Fortunately, even modest reductions in weight can help improve these conditions.
If you have heart failure and you smoke, read on to find out just how important it is to quit today!
Cardiac arrest in healthy, young athletes
Learn what sudden cardiac arrest is, what the causes are, and why young athletes are at risk.
The immune system and organ transplant: what you should know
Thousands of people undergo organ transplant surgery each year and get a second chance to lead healthy lives. But, what medical steps are taken to make sure that the immune system does not reject the organ?
"Chocolate is good for you" sounds like an obvious entry in the "too good to be true" hall of fame. But a significant body of evidence supports this statement. So chocolate lovers can indulge their cravings—to a point—without too much guilt.
Copyright © EBSCO Information Services
This content is reviewed regularly and is updated when new and relevant evidence is made available. This information is neither intended nor implied to be a substitute for professional medical advice. Always seek the advice of your physician or other qualified health provider prior to starting any new treatment or with questions regarding a medical condition.
To send comments or feedback to our Editorial Team regarding the content please email us at firstname.lastname@example.com.
Privacy Policy
EBSCO Information Services is fully accredited by URAC. URAC is an independent, nonprofit health care accrediting organization dedicated to promoting health care quality through accreditation, certification and commendation.
This site complies with the HONcode standard for trustworthy health information: verify here.

subset: commoncrawl


text:
[James Dyson] may have built eleventy billion prototypes to perfect his famous cyclonic vacuum, but sometimes just one will do the trick.
A cyclonic separator is used in workshops to keep larger cruft out of the dust collection system. The airflow inside a separator creates a vortex that flings heavier bits and particles to the periphery of the chamber, where they settle out the bottom, while relatively clean air escapes the vacuum port at the top. This makes for fewer filter changes and a more consistent pull from the vacuum.
You can go buy a fancy professionally-made separator, but [neorazz] shows how to create one from an assemblage of PVC fittings and a five gallon bucket. The design may lack the power and slick design of the big units, but for garage hack use this may be all you ever need. They demonstrate it to be about 95% effective, and it's very simple to make. A prior cyclonic separator hack appeared a bit more work-intensive, but the principle is all the same. It all comes down to what skills you possess and what parts you have on hand.


text:
Theres no doubt Richmond with a population of predominantly Asian descent enjoys a generous helping of Asian language on signs, shops, advertising, real estate newspapers and mail outs.
But a delegation preparing to present its case to city council claims Richmonds plate is now piled too high with the Chinese language and is asking for a more balanced diet of Canadas official English and French tongue.
Residents Kerry Starchuk and Ann Merdinyan have spent the last eight months researching the issue, taking photos and gathering signatures for a 1,000-strong petition, before they face city council on Monday.
Starchuk and Merdinyan whove sat in on many of the citys intercultural advisory committee meetings over the last six months say the amount of Chinese-only literature theyve photographed over the past couple of years has gotten way out of hand.
And, with a view to increasing racial harmony, Starchuk is asking the city to consider adopting the same policy as Aberdeen Centre, where two thirds of any signage has to have English and French.
Were not saying there shouldnt be Chinese language on signs, Starchuk told the News.
Ive lived in Richmond all my life and I enjoy having so many different cultures in the city.
But this isnt right and its all the way through Richmond, not just the city centre and the lack of English is way out of proportion.
Starchuk said if someone, such as city council, doesnt get a handle on it soon, there may come a time when therell be no English to be seen.
If this is our Canadian identity, then its not very inclusive is it? said Starchuk, who added she wont drive up the north end of No. 3 Road anymore because the predominantly Chinese signage.
This is not cultural harmony because I have no idea what these signs, advertising and the real estate papers are saying.
We value Richmond and we value our Canadian identity and I hope that comes across with our presentation.
Aberdeen Centre spokeswoman Joey Kwan confirmed it has a signage policy for all of its retailers, with at least 70 per cent English/French and the remaining 30 per cent a language of the retailers choice.
Starchuk, who says shes been researching the subject off and on for three years, feels Aberdeens approach is the way forward.
Up the top of No. 3 Road is one thing, but its crept further and further down into all of Richmond and into my neighbourhood, she said.
When you drive down your own street and you cant read many of the signs and cant read half of the stuff that comes to your door, somethings wrong with that.
Starchuk has approached several members of city council in the past with her issue and, according to her, she didnt gain much traction.
The discussion needs to be opened up about this and thats ultimately what were trying to do here.


text:
1 1/4 cups all purpose flour
2 tablespoons dark brown sugar
1/2 teaspoon salt (scant)
1/2 cup (1 stick) unsalted butter, cut into small pieces
3 tablespoons ice water
1/2 lb. dark plums (weighed before pitting and slicing), pitted, thinly sliced
1/2 lb. rainier cherries, pitted, halved
2 teaspoons honey
Cornmeal, for rolling
To make the pastry dough, in a large mixing bowl, whisk together flour, brown sugar and salt. Work the butter in, using a pastry blender or your fingertips, until the mixture resembles pea-sized lumps. Sprinkle in the water, 1 tablespoon at a time, stirring gently with a fork after each addition and adding only enough of the water to form a rough mass.
Using floured hands, pat dough into a smooth, flattened disk. Wrap in plastic wrap, and chill for 25 minutes, in the refrigerator.
Preheat oven to 400 degrees F. Coat a large sheet pan with cooking spray.
Stir together plums, cherries and honey, in a medium sized mixing bowl, until well combined.
Coat a work surface generously with cornmeal. Remove dough from refrigerator and divide into 6 equal pieces. Place dough pieces on work surface and flatten into rounds, about 1/8-inch thick. Divide fruit equally and place in center of each dough round; fold edges over fruit, and transfer to sheet pan.
Bake at 400 degrees F, for 25-30 minutes, or until golden brown. Transfer to wire racks to cool completely.
Yield: 6 crostatas


text:
In an earlier post, Amruta Mehta wondered whether censorship is the new sterilisation. Since then, she has taken her quest to find out whether censorship is indeed the latest global fad a step further by inquiring about this among friends from around the world. Today, written for Make Blog: a perspective from Canada. Read the original post, published on 23 March 2012, here.
Introduction #
"Continuation of my little survey, explained here. If you haven't already, do read the previous one on Mexico.
My questions were:
Whether your country has a history of censorship
Whether censorship has increased in the past decade
My particular concern is web 2.0: blogging and social media – how have governments reacted to this?
If you have any direct experiences of or related to censorship that you can and would like to speak about, and would not mind me publishing on my blog, please share.
The response below, is from a Canadian friend and former colleague, Daniel Scuka.
Canada #
'Read the Wikipedia article on Censorship in Canada for a good backgrounder. My personal opinion, overall, is that Canadians don't tolerate undue government or societal interference in what they can read, watch, listen to, view or download. There is, however, wide and general support for criminal code prohibitions against, for example, child ponography, and certain other defined types of demonstrably harmful content. Most Canadians, by and large, are content to live and let live, apply the Golden Rule, and are appalled when 'societal norms' are exceeded. But criminalisation of certain kinds of content can go too far. In the past decade, the former liberal government tried to institute a gun registry. It was a huge failure and widely hated. Lesson No. 1 in Canada: don't try to regulate what doesn't need regulating – people just won't comply.
Some areas where Canadians need to be vigilant:
Undue or overly broad application of human rights laws, which end up silencing genuine dissent
Growing pressure from religious or other groups to ban books or other forms of expression
The automatic reflex reaction from middle- and minor-level government officials to ban, interdict or otherwise decide upon what's best for people based on creeping state nannyism.
Does your country have a history of censorship? #
Yes! Many examples via Wikipedia and via Freedom to Read; yet this has become less of an issue in recent decades – except for certain groups (e.g. religious groups) who remain increasingly keen to reject or ban anything outside their fixed doctrines.
Has censorship increased in the past decade? #
State censorship: no. Individual or group movements to censor certain books or other expressions: somewhat.
My particular concern is web 2.0: blogging and social media – how have governments reacted to this? #
In Canada, you can often say pretty much say whatever you want so long as it's remotely defensible. A recent scandal involved an anonymous Twitter account that revealed (accurate) details about a government minister's private life. It was widely criticised not on the grounds of the content itself, but on the grounds that it was managed and updated via government-funded, government-networked computers (by someone in the opposition), violating appropriate use regulations.
If you have any direct experiences of or related to censorship that you can and would like to speak about, please share. #
None' ".


text:
Contact Northwood - Sale
Northwood was founded in 1995 in Portsmouth but now has a national network of branches from Aberdeen to Plymouth and from Cardiff to Norwich. We operate a high calibre letting, estate agency and financial services business and we are renowned for our unique Guaranteed Rental Income Scheme that is not an insurance policy. Contact us now!
The Beginning
Northwood was founded in 1995 in Portsmouth, we operate a high calibre lettings, estate agency and financial services business. The Company boasts an ever-growing network of offices and this rapid growth is due to the high level of service offered to customers and the extremely professional way in which the company operates.
Our Policy
Here at Northwood we realise that our business is about people, not property, we recognise that selling, renting or arranging a mortgage to buy a property can often be difficult, sometimes even traumatic.
With our experience and network of offices, we have learnt the property business inside out so that we are well placed to make the entire process as simple and efficient as possible for everyone concerned.
The Northwood Team
It is our policy to recruit high calibre people who have good knowledge of the local market. This coupled with the extensive training program available to all Northwood employees ensures that the standard of professionalism and service is constant throughout the entire Northwood network.
Other Services
At Northwood our services include, Lettings, Sales, Mortgages and Insurance Services. Our Guaranteed Rent offers landlords a guaranteed rental income, regardless of whether the property is vacant or the tenant stops paying the rent.
Properties | No. of properties | Avg. asking price | Avg. listing age |
Residential for sale | 6 | £395,833 | 6 weeks |
Residential to rent | 3 | £1,166 pcm | 5 weeks |


text:
In 64-bit LispWorks there are two methods of garbage collection: mark and sweep (also referred to simply as mark ) and copy . The two methods can be mixed within the same garbage collection operation and generation, but a segment is collected using only one of mark or copy in a given operation.
When a segment is collected using the copying method, the objects within it can either be copied to another segment in the same generation or can be copied to a segment in a higher generation. The latter case is called promotion. The automatic garbage collection copies with promotion until the objects reach the blocking generation, which is collected in a specific way as described in Generation Management.


text:
Only Translation Services USA can ensure your completed TV transcription is satisfactory because you can rely on your transcribers—they're the best in the business! Rest assured that when working with Translation Services USA, your TV transcription project will be completed both quickly and accurately.
Translation Services USA is a known leader in TV transcription and can convert any audio or video file you need transcribed. We can ensure your transcription is done with precision, speed, and accuracy because we work only with professional transcribers with experience in TV transcription projects.
Get QuoteWe can turn your video or audio recordings into text with 99%% accuracy—that means quickly, accurately, and professionally, and all for a low introductory per-minute rate. It's easy to see why Translation Services USA is the number one choice for people needing to complete TV transcription projects.
Translation Services USA uses the following workflow for TV transcription projects. By following these steps, we can transcribe nearly any audio or video file not only easily, but affordably:
Translation Services USA can offer a number additional services for your TV transcription project.
When working on a TV transcription, we also offer timestamping, labeling each transcription with the corresponding time in the audio or video. Our team of transcribers takes sepcial care to determine the source-speaker when listening your file in cases where the audio contains more than one speaker, and can clearly denote them on the transcription. We can have one of our highly-skilled professional translators translate your transcribed text to or from 807 different languages.
When requesting a TV transcription quote, just mention any of these services that you require!
Don't wait! Click here to get a Get Quote for your transcription project instantly!
Translation Services USA also offers TV transcription with translation from or into:


text:
• countervail •
Pronunciation: kaun-têr-vayl • Hear it!
Part of Speech: Verb
Meaning: 1. To offset, to counterbalance, to compensate, to be of equal force or weight on the contrary side, to bring into balance. 2. To be of equal value.
Notes: If you cannot prevail (win), you want to at least countervail (tie). Sometimes a tie is a good thing; countervailing customs duties are duties imposed by one country to offset and balance duties imposed by the other country. The noun, like that of prevail, prevalence, is countervalence, and the adjective is countervalent, despite the major dictionaries' reluctance to list these words. Of course, you may use countervailing as both the adjective or noun, as the same dictionaries prescribe.
In Play: When I think of this word I mentally picture old-fashioned scales, like those the statue of Lady Justice holds: "The guy who crashed into Lydia Potts's car offered to countervail her loss by buying her a new one." Of course, countervalence is in the eye of the beholder: "The boss promises countervailing benefits to the salary cuts, things like new water fountains and nonskid stair steps."
Word History: Today's Good Word is a complex word comprising counter "opposing" + -vail from Old French valoir "be worthy, of value". French inherited the latter word from Latin valere "be strong, be well", a word whose root shows up in the English borrowed word valiant. Old Germanic had a word wald or walt which meant "power", but it remains only in personal names like Gruenwald and Oswald. The Proto-Indo-European word that went into the making of valere became wealdan "to rule" in Old English. Today that word is wield. Finally, this PIE word made a big impression on Russian. In Russian, after undergoing metathesis, it emerged as vlast' "power, force", and in the names Vladimir "rule the world" and Vladivostok "rule the East". (I am unsure of what would countervail forgetting to thank Jeremy Busch, a Grand Panjandrum in the Alpha Agora, for suggesting today's word.)
P.S. - Register for the Daily Good Word E-Mail! - You can get our daily Good Word sent directly to you via e-mail in either HTML or Text format. Go to our Registration Page to sign up today!


text:
Some great entrepreneurs have a master's in business administration; others don't. But many aspiring business owners still trade in their pinstripe suits and briefcases for hooded sweatshirts and backpacks in pursuit of an MBA degree — including me. As someone who started out in corporate America, got an MBA and is now an entrepreneur, here are a few things to consider before heading back to campus.
MBA: Is it right for you?
Though many job seekers hope for a position within a large company, few opportunities in this market environment offer the financial prospects, satisfaction and exhilaration that working at a startup can provide. So how do you weigh the entrepreneurial route against the others options available?
Let's use investing as an analogy for risk-taking: Taking a corporate job is like investing in fixed-income securities (e.g. bonds) that offer a steady and predictable return, while starting your own business is like investing in stocks — there is unlimited potential, but also a higher risk profile. Miss the mark and you're left with nothing. With this perspective, having an MBA in your back pocket doesn't sound so bad after all, right? Not so fast…
Opportunity cost, and the cost of opportunity.
I'll be the first to honestly say it: having an MBA can put you at a significant disadvantage in becoming an entrepreneur. Why? Not because it doesn't help you achieve your goals efficiently, but because of what getting into an MBA program represents:
- You are giving up a lot of your time. Every minute you spend working on your personal venture is a minute of salary you're foregoing. Your opportunity cost increases once you have an MBA because you can command a higher salary in the marketplace, so it's more expensive to take an entrepreneurial risk and start a business of your own afterwards.
- There's pressure. MBAs are notorious for groupthink mentality, and after graduating from the program, it's very hard to stay true to your own path while your friends are skyrocketing through their corporate careers, living comfortable lifestyles and enjoying the status that comes with a prestigious firm. In the meantime, you are CEO of a two-person company and eating ramen noodles.Peer pressure doesn't only happen in high school.
- Lastly, MBAs are taught to be fed, not to hunt. Yes, you'll graduate with a repertoire of great tools, fancy communication skills, and a heck of a network. However, there aren't any classes that specialize in cold calling customers, persuading skeptical investors, resourcefulness or bootstrapping — the skills startup founders need to thrive.
Consider a "Master's in Business Entrepreneurship" instead.
Despite all that I've just said, getting an MBA can work to your advantage because it's a fantastic time to actually start your own business – if done correctly. You'll find yourself pursuing what I call a "Master's in Business Entrepreneurship:"
- Rarely ever again will you be surrounded by the resources you'll have while in school. Programs like Wharton, Harvard and Stanford offer terrific resources for aspiring entrepreneurs including cash, work space, exposure and mentoring. You'll also find a huge base of expertise and know-how in your classmates, who will have experience ranging from finance to engineering.
- Most MBA program offer two risk-free years. When launching a business during your school years, the worst possible outcome is that you graduate and end up getting a great job. But if you succeed, you can hit the ground running once you turn your tassel.
- MBAs offer a fantastic incubation environment: it is a microcosm of the market. You'll quickly find classmates willing to test your product and zealously support your company as it tries to scale.
In summary, an MBA can be incredibly powerful when leveraged properly. The degree is a solid hedge against the risky proposition of starting your own business, and will provide you with the network, confidence, and environment to succeed. But be warned: the siren calls of MBA groupthink are powerful — you'll need incredible focus and determination to turn that MBA into a "Master's in Business Entrepreneurship."


text:
Ebony Wilkerson even tried to call off bystanders hustling to rescue her screaming children from the water, saying "everyone was OK" as she left the van in the ocean, an affidavit said. Wilkerson, 32, is charged with three counts of attempted murder and three counts child abuse causing great bodily harm. She is scheduled to make a court appearance Saturday.
The bystanders and beach safety officers, paying no attention to the mother, pulled the two girls and a boy, ages 3, 9 and 10, through the windows to safety Tuesday on Daytona Beach.
Later, Wilkerson denied trying to hurt her children, telling investigators she was driving too close to the water, "and the waves pulled her in," according to the charging affidavit.
Her children told investigators another story.
"Mom tried to kill us," they told detectives, according to the document. "Mom is crazy."
Volusia County Sheriff Ben Johnson said Wilkerson, of North Charleston, was in the custody of the sheriff's office after being hospitalized for a mental evaluation.
The children told authorities they had come to Florida from South Carolina earlier in the week to escape their father. They described a history of violence between their parents, and they said their mother had been "acting crazy and speaking to Jesus" since they had come to stay with Wilkerson's sister in Daytona Beach.
The sister, Jessica Harrell, didn't return a phone call from The Associated Press, but she was worried about Wilkerson's mental health and called a 911 dispatcher hours before the minivan ended up in the ocean.
When she was driving into the ocean, one of the children asked her what she was doing, and she said: "'I am keeping us all safe,'" according to the affidavit. The boy tried to wrestle the steering wheel away from Wilkerson.
"She told them to close their eyes and go to sleep. She was trying to take them to a better place," Johnson said at a news conference.
A child also lowered the windows and the siblings yelled for help, attracting the bystanders.
"I've got to do this," Wilkerson told bystander Stacy Robinson as he attempted to intervene, according to the affidavit.
One of the rescuers, Tim Tesseneer, said Wilkerson's eyes were wide open and she looked "possessed." Wilkerson tried to prevent a beach safety officer from entering the vehicle to rescue the toddler who was the last to be removed from the minivan, Tesseneer told detectives. The children are with the Department of Children and Families.
Two days before what happened on the beach, Wilkerson told North Charleston police that she was in a violent fight with her husband of 14 years at a hotel room in Myrtle Beach and had gone to a hospital for treatment, according to an incident report. She also told police that after she packed up the car and kids at their apartment, her husband made a motion as if he was going to grab her, but she got into the car before he could, the report said.
She then went to Wal-Mart to cash in some coins so she'd have money for the trip. She reported that she felt a man was staring at her and followed her at the store and to the North Charleston City Hall where police were called. Officers said they gave her a form for a protective order. She refused being taken to a shelter since she was going to Florida.
Myrtle Beach police say they are investigating what happened at the hotel but no charges were filed. Phone numbers for Wilkerson's husband were disconnected.
Her sister told the 911 dispatcher she had tried to take Wilkerson to a hospital the day before the minivan ended up in the surf but Wilkerson had checked herself out. She said Wilkerson had been abused by her husband and that police should check on her.
"She's getting a little bit better, but she's still not all there," Harrell said.
Harrell told the dispatcher that Wilkerson was "talking about Jesus and how there are demons in my house and how I'm trying to control her but I'm trying to keep them safe." Harrell said she had taken Wilkerson's car keys away but her sister had found another set and driven off with the children.
After the call to dispatch, Daytona Beach officers stopped Wilkerson's black Honda Odyssey and she expressed fear that her husband would be coming to Florida to harm her and her children.
The children were sitting quietly, smiling, and showed no signs of distress, the police report said.
"It was clear during my conversation that Wilkerson was suffering from some form of mental illness, but she was lucid," the Daytona Beach police officer said in the report.
Associated Press writer Tom Foreman Jr. in Charlotte, N.C., contributed to this report.
Read More at ABCNews.com


text:
Reviewed By: Ilene Hass on 8/2/17
This was the first time I ever laid eyes on an Adventure cycling map and I was happy to have it in participating in a tour from Camden NJ to Lakehurst NJ. I was impressed by all the features that could be crammed into a page and the map features in general. Definitely like the material that is used to create it.


text:
Also in mid-september, YSL Gloss Pur Black is described as a sparkle-free
lipgloss that's "transparent, yet intense."
This gloss was wore in Yves Saint Laurent: Fall 2008 Ready-to-Wear: a very classic and elegant look
with white skin and black lips from the gothic look inspired by
Louise Brooks haircut, Punk-Rock and Batcave make-up.
Click here to see the video of YSL show.
On a Goth website vampfangs.com, you can find the true matte punk shade
with the affordable Manic Panic Raven Black Lipstick ($6.95).
If you want to lear how to get a strong Goth make-up look and
applying a black or dark lipstick, have a look to this tutorial video:
The Louis Brooks Haircut in 2008.
The inspiration: Louise Brooks and her famous bob.
Here is a selection of other shades from the Dark brown to the strong violine:
Click on the names for the links:


text:
The provided RSS and XML news feeds may be used, free of charge for private, personal and commercial publications. Commercial use requires you to notify RentNow on the publishing location. News Feeds
How can I use RSS? Many people use RSS feeds by incorporating content into websites and weblogs, or "blogs". Blogs are web pages comprised of usually short, frequently updated items and web links. You may also use a program called a news aggregator to download and display RSS for you. A number of free and commercial News Aggregators are available for download. Popular news readers include FeedDemon, AmphetaDesk and ThunderBird. If you have any questions, suggestions or comments please do not hesitate to contact us. |


text:
Man Assaults Girlfriend With Steak Sauce For Reading 'Fifty Shades of Grey'
When Emma McCormick read aloud passages of the runaway erotic best-seller 'Fifty Shades of Grey' to her longtime boyfriend last month, he had a very, um, saucy reaction.
Unfortunately for McCormick's eyes and Raymond Hodgson's permanent record we're talking the A.1. kind of saucy.


text:
Mio, maker of popular consumer GPS products, is reportedly developing its own 3.5G Windows Mobile touchscreen handset. Going head to head with the Garmin Nuvifone, Mio's offering is expected to come to market in Q1 2009, slightly ahead of the Nuvifone. Details on the presumably GPS-centric phone include a 3.5G chipset from Qualcomm, the proprietary "Spirit" touch user interface and a 3.2MP auto-focus camera. This is not Mio's first attempt at a GPS PDA phone as it already has a few of Windows Mobile handsets like the recent A502 and 702. This latest phone however, may push Mio's handset line forward as it will rock 3.5G connectivity instead of Mio's previous EDGE-only offerings. Mio is also expected to launch a GPS-enabled MID (Mobile Internet device) by the end of Q1 2009. If it can meet its expectations and not encounter any unexpected delays a la Nuvifone, then Mio will will definitely be making some big early-09 moves that may help its market share while posing a serious problem for Garmin.
Mio may launch a 3.5G Windows Mobile touchscreen handset
If you buy through a BGR link, we may earn an affiliate commission, helping support our expert product labs.


text:
Do you recognise this man?
If so, Marc Fisher, a reporter and editor at the Washington Post would probably like to hear from you.
The photograph shows a man, wearing Marc's brand new winter coat, and holding a wad of notes that he's lifted from Marc's 15-year-old son's desk.
Not only was cash stolen in the burglary, but Marc's son's laptop, iPod, and some savings bonds were also taken.
What's astonishing is that the thief also decided to open the stolen computer, take a picture of himself posing with the stolen items, and posted it on Marc Fisher's son's own Facebook account.
You can read the full story on the Washington Post website where the reporter appears to be underwhelmed by the police's response so far, but at least reports that Facebook acted quickly to shut down the burglar's access to his son's account.
You have to wonder just how far Facebook addiction has gone for someone to feel compelled to upload evidence of their crimes while still out on the job.
Update: In February 2011, 19-year-old Rodney Knight plead guilty to second-degree burglary in connection with the incident described above.
Prosecutors said that Knight had stole about $400 in cash, as well as a coat and two laptop computers.
Knight also admitted one count of carrying a pistol without a license, in an unrelated incident to the burglary.
In May 2011 he was sentenced to 3.5 years in prison (27 months for the burglary and 17 months for the weapons offense).


text:
BillboardIn its 114th year, Billboard remains the world's premier weekly music publication and a diverse digital, events, brand, content and data licensing platform. Billboard publishes the most trusted charts and offers unrivaled reporting about the latest music, video, gaming, media, digital and mobile entertainment issues and trends. |
Common terms and phrases
1959 THE BILLBOARD advertising album AMUSEMENT Arena Artists ASCAP Association Bill BILLBOARD BILLBOARD MUSIC bulk vending Capitol cent chart Chicago club coin machine Columbia committee CONCERTO Continued Cosnat cost dealer Decca Dick Dick Clark disk display distributors Fair Flip Glimco Goody high fidelity Hollywood includes industry jazz Jimmy Johnny juke box juke box operators Kennedy KIDDIE label Larner last week Lindeloff Lloyd Price location owner Lormar LOVE LP's manager manufacturers MARCH March album McClellan ment merchandise Mercury MONAURAL Morrison Hotel National one-stop orchestra package performance Phone phono Phonograph Piano play promotion Rackets racks radio RCA Victor retail RIDE ROCK-OLA rodeo Roulette SEEBURG sell Senate Sholes side SINGS Sipiora Smith songs speakers stereo STEREO & MONAURAL Stereophonic Sound Symphony Orch tape thru tion tunes United venders vending machine WURLITZER York


text:
Obama in NC to push goals on economy, jobs
Published 12:00 am Thursday, January 16, 2014
RALEIGH (AP) — President Barack Obama on Wednesday sought to push Congress to promote 21st-century manufacturing jobs by establishing hubs where universities and companies work together to invent, design and make new products.
The first such hub will be based at North Carolina State University and the Obama administration plans in the next few weeks to announce two more hubs led by the Pentagon that hope to push digital manufacturing and modern metals innovation.
The White House wants to establish up to 45 such institutes, but that will require legislation from Congress so they are funded. The first three are being funded with existing resources.
Obama was expected to foreshadow part of his State of the Union Address during a speech at North Carolina State promoting advanced manufacturing, which many believe is key to an economy that offers good-paying jobs for middle-class workers. The president said last week he was trying to restore "the kind of stable, secure jobs that went overseas in the past couple decades."
The initial consortium will seek to invent, design and make new semiconductor chips and devices for industrial and everyday electronics. Headquartered in Raleigh, it will include the University of North Carolina, Arizona State University, Florida State University, the University of California at Santa Barbara, Virginia Tech and the National Renewable Energy Laboratory. Businesses taking part in the shared research and worker training include Cree, Delphi, John Deere, RF Micro Devices, Toshiba International and Vacon.
"This is all about bringing back electronic manufacturing to the United States. It's about creating the next generation of power devices that are more efficient at using electricity and do so with less heat loss," N.C. State Chancellor Randy Woodson said. "This is the next generation of semiconductors to replace the silicon chip. We have a great collection of scientists here and we're in a part of the country, a hub in the United States, where a lot of this activity is turned into products."
Obama visited a Vacon research center and lab in nearby Research Triangle Park. The Finland-based company manufacturers AC drives, which are used to control the speed of electric motors to maximize energy efficiency.
Obama's visit comes as North Carolina's Republican Gov. Pat McCrory is also emphasizing manufacturing jobs in a state where about a fifth of the economy comes from making things.
There were promising signs in the past year of manufacturing's place in a rebounding economy.
Computer maker Lenovo Group started manufacturing in the U.S. for the first time, choosing a North Carolina site over low-cost foreign locations such as Mexico or China because it meant quicker turnaround and custom products. GE Aviation broke ground on a new factory to produce engine components made of advanced ceramic materials that are ultra-lightweight and can handle extremely high temperatures in jet turbines.
North Carolina manufacturing and construction jobs are expected to see the biggest boosts in 2014, a year in which the state finally sees a sustained recovery from the lingering effects of the Great Recession, University of North Carolina Charlotte economist John Connaughton predicted in a report released Wednesday.
North Carolina Republicans criticized Obama's failure to fix the economy after the government reported just 74,000 new jobs nationwide in December and a dip in unemployment. They credit GOP state lawmakers and McCrory for contributing to a 2 percentage-point drop in the state's unemployment rate in 2013 by cutting taxes and slashing regulations. The national jobless rate dropped last year by less than 1 percent.
"Gov. McCrory and the General Assembly have pursued an aggressive pro-growth, pro-business agenda that is already creating more jobs and opportunities for North Carolinians," state GOP Chairman Claude Pope.
While North Carolina's November unemployment rate dropped to its lowest rate in more than five years, the data also suggested worker discouragement. The total number of working-age residents either working or looking for jobs fell by 95,000 in the past year.
Democratic U.S. Sen. Kay Hagan did not visit her home state with the president. Pope said she was avoiding being closely linked to Obama, who lost North Carolina in 2012, as a tough re-election race looms ahead of her this year. Her office said she wouldn't be in Raleigh because the Senate is working.


text:
Advanced Search
Smart Classroom | Feature
Three-D technology is becoming an increasing attractive technology for educators to employ in their classrooms. Particularly useful in subject areas like medicine, art, and architecture, where visual demonstrations make up a large portion of the learning experience, 3D's ability to project width, height, and depth/length is helping the technology gain ground in higher education.
"We've been using 3D to depict diseases, surgical procedures, and physiologic processes for years," said Marc Triola, associate dean for educational informatics at New York University's School of Medicine. "3D has revolutionized our ability to convey complex, visual material--like the relationship of different body parts within the human anatomy--and has empowered both our faculty and our students."
Getting to the level where students and teachers alike are empowered by 3D technology requires professional development, creating the right environment, and strategies for managing the equipment and content. Here are four tips to use when integrating 3D into your school and classroom:
Provide upfront and ongoing faculty training. One of the biggest challenges for educators using 3D is the fact that they weren't exposed to it when they were students and therefore never learned how to integrate it into their lessons. To overcome this obstacle Triola said IT departments should conduct teacher orientations and training sessions on the equipment and system before it is installed and ready to use. In fact, Triola said that level of professional development is downright critical to the future of 3D in the college setting. "Our students are familiar with gaming and 3D technology, but these are new modalities for the faculty," said Triola. "Training and development will be necessary in order to develop some fluency with the technology and to address the educational issues that arise when conveying 3D information digitally."
Create a 3D-friendly environment. If you plan to use 3D on an ongoing basis you'll want to set up a classroom environment that's conducive to the technology, according to Marcella Wilson, an adjunct professor at the University of Maryland, Baltimore County in Baltimore. Wilson recommends using low, ambient lighting during the screenings (versus complete darkness); seating students directly in front of the screen whenever possible (to avoid distortion); and using a ratio of three times the screen height (i.e., 10 feet away for a 40-inch screen) as an optimal viewing distance. Make adjustments based on student feedback, said Wilson. "If they can't see or if their equipment isn't working, they'll let you know."
Keep Track of the Equipment. Just how much oversight you'll need for the equipment should be directly proportional to the amount of money and time invested in it. Furnishing a university classroom from the ground up with 3D projection equipment, monitors, and viewing glasses can cost upwards of $10,000. The glasses, which run $45-$250 per pair, are proprietary and may not work across different equipment brands (which means you'll need different glasses for different equipment]. Keeping track of these costly, portable, viewing apparatuses is essential to keeping budgets in check and classrooms equipped with the necessary tools. At NYU, for example, Triola said students sign out the glasses for every class period and are responsible for the items' care and return. Unfortunately, such restrictions mean that students can't use 3D while away from class. "That's really a result of the glasses being locked up outside of lab time," said Triola.
Take the time to manage your 3D content. Deliver the 3D in short, 10-15 minute segments, preview the content before showing it to the class, and test the 3D glasses to make sure they are operating before handing them out to the students. These three steps, Wilson explains, will help ensure that the 3D enhances the classroom instruction rather than distracting from it. Wilson, who helps professors set up technology in their classrooms, said the idea is not to fill classroom time with 3D content, but to augment lessons (like a heart dissection in biology or a motherboard assembly in computer technology) with "very short spurts of 3D that give students a more visually-stimulating experience."
About the Author
Bridget McCrea is a business and technology writer in Clearwater, FL. She can be reached at [email protected].
View More Webcasts
View More Whitepapers


text:
Dr Anil Saini who operated on Bhola Shankar shows the times extracted from his patient's stomach at a state-run hospital in Bundi, Rajasthan, India.
Add to Lightbox DownloadEXCLUSIVE: By Sudipto Maity in India An Indian man complaining of stomach ache had over 100 iron nails removed from his intestine by doctors. The operation took place on Monday in the country's north west Rajasthan state. Reports said 42-year-old Bhola Shankar had reached the government hospital in Bundi town , complaining of excruciating pain. However, it was after conducting the initial tests that doctors were left baffled. X-ray of the patient showed a cluster of a rather unusual item in the man's stomach. A CT scan confirmed the suspicion. Operating on the patient, a team of surgeons, led by Dr Anil Saini, recovered and removed at least 116 iron nails. The team also shot a video of the operation, which showed nails being extracted from the intestine of the patient. Saini said, "This is the first such case I have come across," The doctor added it may be the first time something like this took place in Rajasthan. In 2017, doctors had removed at least 150 stationary pins from a patient's stomach in the same town. "What surprised us was the length of the nails. They measured 6.5 centimetres. To have such big iron nails removed from a patient's body is unprecedented," the senior doctor added. He also called it a bizarre case. Meanwhile, doctors have deemed the patient mentally imbalanced. "The patient is not able to narrate how the nails ended up in his intestine," Saini said, adding, "He is lucky the sharp objects did not puncture his organs, else, it could have proved fatal." The patient's younger brother said the former has been taking medicine for mental illness for the last two and half decades. However, he too couldn't explain how the nails ended up there. Doctors believe the man was in the habit of swallowing sharp objects as apart from the nails, doctors also extracted metal wires. Despite the lengthy operation, the patient was recovering well. 13 May 2019 Pictured: Dr Anil Saini who operated on Bhola Shankar shows the times extracted from his patient's stoma
- Filename
- MEGA419313_005.jpg
- Copyright
- The Mega Agency RealTime Images
- Image Size
- 1280x960 / 114.4KB
- http://TheMegaAgency.com
X-ray of the patient Indian doctors team of surgeons intestine of the patient sharp objects iron nails Dr Anil Saini man's stomach initial tests government hospital CT scan nails patient's stomach 42-year-old Bhola Shankar mental illness patient's body patient's younger brother doctors first such case such big iron nails Rajasthan state half decades team operation Reports Indian man doctor stomach ache habit video of the operation cluster stationary pins wires place medicine man organs town India pain suspicion centimetres lengthy operation Rajasthan senior doctor length of the nails Bundi town unusual item patient first time country's north Sudipto Maity metal wires bizarre case Saini Monday Bhola Shankar 6.5 centimetres 100 nails 42-year
- Contained in galleries
- Doctors remove over 100 iron nails from man's stomach - 16 May 2019


text:
Seoul, South Korea (CNN) -- A couple whose baby starved to death while they raised a virtual child in an online fantasy game was sentenced Friday, their defense attorney said.
Prosecutors at Suwon District Court had sought a five-year sentence for negligent homicide, but the court handed out a two-year sentence.
Sentence was suspended for the female defendant, Kim Yun-jeong, 25, who is expecting the couple's daughter in August. Her partner, Kim Jae-beom, 41, will serve two years.
The unmarried couple's defense attorney said he was satisfied with the sentence.
"This is the first legal case regarding Internet addiction in Korea," said Kim Dong-young, a lawyer with the Korean Legal Aid Corp. "I am pleased that the female defendant's Internet addiction was taken into consideration, and she was bailed."
Three-month-old Kim Sa-rang died of malnutrition in September while her parents were engaged in 12-hour sessions of Prius Online. In the 3-D fantasy game, players nurture an online girl who gains magical powers as she grows.
Kim's mother is a former factory worker while her father is a taxi and truck driver.
During their trial, the court heard that the toddler weighed 6.4 pounds (2.9 kgs) when she was born, but was only 5.5 pounds (2.5 kgs) at the time of her death.
The trial was in March, but sentencing was delayed after the court requested a psychological examination of the mother. Both defendants appeared contrite during the trial, with the mother frequently breaking down in tears.
Internet gaming is hugely popular in South Korea, with some 21,500 'PC Bangs' -- or Internet cafes -- offering ultra-high speed Internet connections nationwide.
The case has highlighted the dark side of the nation's Internet, an industry touted by South Korean officials as cutting edge. A public debate is under way in the nation over online privacy and regulating Internet rumors.
There is particular concern about gaming addiction and its effects on teenagers and those estranged from mainstream society. "Consequently, it comes as no surprise to me that two people who were disconnected from society in general found a common psychological space that kept them physically and socially divorced from reality," said Tom Coyner, Seoul-based author of "Mastering Business in Korea."
Suwon, the satellite town south of Seoul where the tragedy occurred, was named "Intelligent City of the Year" this month by a New York-based think-tank Intelligent Community Forum.
The honor was awarded because of the town's investment in broadband infrastructure and its push to increase connection speeds to 1 gigabyte per second, according to reports.


text:
Company driver Virgil Shell recently exceeded driving 2 million miles safely, Boyd Bros. Transportation announced. A 16-year veteran trucker and resident of Columbia, S.C, Shell was given a bonus check and trophy for his accomplishment.
Shell said that he enjoys working for the Clayton, Ala.-based fleet. The carrier was recently selected as Best Fleet for Company Drivers by the Truckload Carriers Association (TCA) and CarriersEdge.


text:
The group of viruses (hepatitis A, B, C, D and E) that cause acute and/or chronic infection and inflammation of the liver gives rise to a major public health problem globally.
Hepatitis B and C viruses are major causes of severe illness and death.
The global burden of disease due to acute hepatitis B and C and to cancer and cirrhosis of the liver is high (about 2.7% of all deaths) and is forecast to become a higher ranked cause of death over the next two decades.
An estimated 57% of cases of liver cirrhosis and 78% of cases of primary liver cancer result from hepatitis B or C virus infection.
An estimated two billion people worldwide have been infected with hepatitis B virus and more than 360 million have chronic (long-term) liver infections.
About 620 000 people die every year as a result of hepatitis B virus infection. A vaccine against hepatitis B has been available since 1982.
Some 150 million people are chronically infected with hepatitis C virus, and more than 350 000 people are estimated to die from hepatitis C-related liver diseases each year.
Vaccination is one of the strategies used to prevent hepatitis infection. Vaccines exist against hepatitis A and B.
Effective candidate vaccines for hepatitis E prevention exist. Some progress has been shown in developing candidate vaccines against hepatitis C.
Source: WHO


text:
I'll ask my question first, then give details about where I am coming from:
Is it possible to use host only, then have host (Ubuntu) act as a proxy to provide internet access to the guest (Windows)? If so, how?
I am trying to get the right combination of networking for my VirtualBox Windows client VM (Windows 7). My host is Wbuntu 10.10 (Maverick).
I believe I understand the basic network options (please correct me if I am incorrect):
NAT - Host can't communicate with guest but guest has access to all host's adapters
Host only - Separate adapter but guest has no net access
Bridged - bridge an adapter in the host with the virtual adapter to give the host access to the host adapter
I am trying to give my win guest internet access, but also access the host in a separate network.
Bridged only works when the host is connected to the internet (this is a laptop) so when it's not connected the network is down.
Thanks I appreciate your help.


text:
Monday 4th - Friday 8 September 2006
Prague, Czech Republic
Since 14 years, the European Smalltalk User Group (ESUG) organises the International Smalltalk Conference that aims at being a live forum on cutting edge software technologies that attract during a whole week people from both academia and industry. Every year about half of attendies are engineers using Smalltalk in business while the rest of attendies are students and teachers using Smalltalk for research as well as didactic purposes.
As every year, this years' edition of the event wil include the regular technical program with renowned invited speakers. Also, we'll have a research track with an excellent program committee, a business day about successfull Smalltalk use in commercial contexts, and technology awards where prizes will be awarded to authors of best pieces of Smalltalk related products.
THIS YEAR we are looking for YOUR EXPERIENCE REPORTS involving Smalltalk so please come to tell us more about your experience and projects.
Here is a non-exhaustive list of topics we are interested in:
Pay attention - the places are limited so do not wait for the last minute to apply.
Prospective presenters should submit a request to firstname.lastname@example.com following the template below. Please use the template since the email will be automatically processed!


text:
The online education market is highly fragmented, says Nilanjan Sen, Founder and CEO of Examville, an online platform for classes, tutoring, test-prep materials and e-books. The Examville platform offers a unified place where students, teachers and parents access vital academic resources. Users connect and interact in an open, virtual and borderless education marketplace. "We recognized that like traditional education, the online education space is dominated by large companies and proprietary content," says Nil. "As a result, the cost to access information and support is exorbitant." Furthermore, says Nil, "there's hardly any price competition among education service providers, which makes for a very rigid environment. Our goal at Examville is to create an open platform with marketplace features that enable learners of all levels to have access to diverse and affordable content. We also hope that by using our platform, learners can customize how they learn to match their skill sets." Here, Nil discusses education, technology and social media issues—and invites anyone in for a visit to a very unique place.
Victor: What does the name mean?
Nil: The name "Examville" has its origins in two main concepts: 1) I wanted to create an open, virtual meeting place which would signify an inclusive town or village where users (learners, educators, and other content providers) can engage in the process of preparation around their educational needs and 2) Examville would provide the tools, technology, and content to its users to help them better evaluate their needs in order to achieve their individual educational goals. Ultimately, users would have access to a more customized learning experience to fulfill those goals. The confluence of these two concepts is at the root of the name Examville.
Victor: What is it? Who created it?
Nil: Examville is an online education marketplace that brings together students, educators, and content providers for affordable, web-based educational content and services. Examville's global platform is open to all users with no-charge at sign up. Examville offers collaborative learning technologies and tools,
allowing teachers and publishers to quickly build online education businesses for their instructional materials, virtual classes, and tutoring services. Students from kindergarten through post-graduate levels and parents can use Examville to find online tutoring, take classes and practice tests online, and discover and share new study materials for a range of topics. Examville also provides a robust feature-set available to third-parties such as test preparation/tutoring companies, premium publishers, corporations, and other organizations.
Victor: What does it do? What are the benefits?
Nil: As a professor and test prep instructor, every day I dealt with scores of queries from students and parents regarding sources of homework help and quality study aid materials. Each day millions of students search for assistance
with their homework, test preparation, school projects, and more. At the same time, millions of parents are seeking support for their children. And while thousands of tutors, teachers and educational publishers are ready to assist them, no one comprehensive site exists where students, parents and educators can all assemble, seek guidance from each other, access multiple services from a variety of sources, or review and recommend helpful learning resources. Education remains a highly individualistic effort.
At Examville, our objective is to take education to the next level by allowing users of all types and levels to harness the collective knowledge of many. By leveraging online collaborative learning tools, peer review, parental recommendations, and educator inputs, we aim to make the learning process a social practice without sacrificing quality and credibility.
Victor: How is it unique from other similar products/services? What companies do you see as in the same market?
Nil: While most online education companies are concentrating on porting a lot of offline experiences to online, we are about socializing education. We want greater interactions among users. Because we are a platform, potentially any education company can use our platform. So we look at most of our potential competitors as eventual partners.
Victor: When was it developed? What is something interesting or relevant about its development history?
Nil: We started developing our platform in 2008. Examville is a work in progress. Initially we concentrated on creating the basic tools and aggregating content. We are moving to a new phase in development where you will see a slew of new features introduced that will make social learning easy and addictive.
Victor: Where did it originate?
Nil: Examville is an idea a long time in the making. Having been on both sides of the fence as a student and an educator, I am well aware of various hurdles faced by everyone when it comes to accessing quality learning resources. I set out with a simple goal to unite both the content creators (publishers, test prep/tutoring companies, teachers and tutors) and the consumers (anyone interested in learning) on a single, cohesive platform, via a single account, where users can easily connect with each other.
Victor: Where can you get it now?
Nil: Our site is live and you can access it via the URL http://www.Examville.com.
Victor: How much does it cost? What are the options?
Nil: Currently, we have a "freemium model" on our site. Users can access premium content via subscription services or they can pay per content. However, we are still experimenting with our revenue model and we expect changes to be implemented as we understand how users access our site.
Victor: Any examples of it in action?
Nil: Our main features include live classes, online tests, tutors online, e-books from leading premium publishers, study aids, and Q&A sections.
In the live classes, an educator can create a class/course and teach a class in a virtual classroom on the Examville platform. Teachers/educators give a personalized storefront to detail their academic background, expertise, and class information to advertise to students on Examville and the community at large. Students can take live classes in a vast array of subjects.
In the online tests section, users can take practice tests utilizing the online test module. Tests include standardized tests such as the SAT, GRE, GMAT, and LSAT, as well as subject tests, assessment tests, professional development and continuing education tests.
TutorsOnline allows students to post requests for specific help and tutors to teach online. It's unique in that multiple tutors may submit their offer to tutor a particular student, and a student can choose the tutor who is best for them. The entire process, including the online tutorial session, takes place on the Examville platform.
The Study Aids feature allows users to download study guides, notes, outlines, and presentations shared by other users. Those uploading their education-related materials can also make money by selling their content.
The Premium Publishers feature offers downloadable titles by major publishers for elementary, middle school, high school, higher education and continuing education levels.
The Q&A section allows you to post questions and get answers from the Examville community.
We also have a Free Videos section featuring hundreds of lecture videos in a wide variety of topics.
Victor: Who is it particularly tailored for? Who is it not for?
Nil: The Examville platform is content and age independent. While our current users and content are largely high school and college students and teachers, we are introducing more content as well as tools targeted at users interested in continuing education and professional development. We are also planning to introduce services aimed at younger students in middle and elementary schools. Currently, we do not have any degree granting courses on our site. However, that may change in the near future.
Victor: Your thoughts on education these days?
Nil: Education is becoming increasingly expensive. As a result, large numbers of students are being excluded from the system. Going forward we will need more engineers, scientists and innovators. Education has to be central to our economy. Yet very little is being done to create a system that is all-inclusive. We have to ensure learners and educators have an easy way to discover each other at an affordable cost. Otherwise, we will create a system where a few privileged will have access to the best educational resources and the rest will fall behind. That divide is something we cannot tolerate as a progressive society.
Victor: Any formative experiences in your own education that helped to inform your approach to creating Examville?
Nil: During my undergraduate and graduate school years, I realized that most of my learning was taking place outside the classroom. Peer-to-peer learning was central to everyone's educational experience. Still, that channel of learning was never formally addressed. At Examville, we hope to stress the importance of learning from others. All of us at Examville draw upon our past experiences to build tools and features that will enable social learning.
Victor: How does Examville address some of your concerns about education?
Nil: We are ensuring that anyone with reliable content and/or expertise is able to have a platform from where they can reach students who are looking for assistance. We want to ensure learners have choices. We want to ensure that everyone can learn at their own pace by allowing them to customize the content they wish to access. By introducing a marketplace on our platform, we also hope to introduce price competition between education service providers to the benefit of learners.
Victor: What is your outlook on the future of education?
Nil: Education will become more social. User-to-user learning will continue to rise. Education will be democratized. Users will have more say in how they learn.
Victor: What else can you tell educators and other leaders in and around education about the value of Examville?
Nil: Examville is committed to an inclusive and collaborative mode of learning. We are interested in breaking down the barriers between learners and educators and allowing them to connect with each other in a seamless experience. With the advent of technology, that learning and teaching can take place well-beyond regular classroom hours and outside of "brick-and-mortar" institutions. And, that process can happen in real time by and between people from all over the world. The Examville platform for learning, powered by technology, reflects our everyday lives.
Victor: What makes you say that?
Nil: In reality, outside the classroom, technology is ever-present by way of online social networking—providing access to information 24/7, and as a multimedia content source. Examville integrates technology with education in its attempt to transform the process of learning and the delivery of educational instruction. Examville brings various technologies and tools to make it possible for users to collaborate, share, and learn new things from others at their convenience, pace, and in their own way. In many ways, education becomes limitless, borderless, and instantaneous.
Victor Rivero tells the story of 21st-century education transformation. He is the editor-in-chief of Edtech Digest, a magazine about education transformed through technology. He has written white papers, articles and features for schools, nonprofits and companies in the education marketplace. Write to: email@example.com