I would like to create a calendar that people can access to schedule an appointment. It would look similar to how a calendar on a smartphone looks with it being a day view so you see each hour of the day.
Is this something that I could do as part of a “web application” or is it better suited to be a “mobile app”?
The idea would be that a person would go to the website, tap “Schedule an appointment”, then get a calendar (by hour) of today, and they could choose any open hours to make an appointment. It would have the same look and feel as what I believe the calendar system looks like on an iPhone.
Key concept is that the calendar would not be the user’s personal calendar, but a calendar of the business stored on the sever. So I wouldn’t need integration with the user’s smartphone calendar, just a calendar that looks like their native smartphone calendar where they could book an appointment with the business.
I am thinking this could be done with HTML, CSS and some JavaScript, but make it is better as a mobile app?
Since I have never owned a smartphone, and since I am a newbie at best with responsive web design and I know nothing of building mobile apps, I could use some advice here!
Technically it can be done with either, though making it a web app makes it accessible to anyone with a browser on any device, where a mobile app effectively limits it to the device it is written for (usually iOS or Android - I don’t know enough about how Windows Mobile apps work and their limitations).
That could be replicated whichever route you chose - it’s pretty much down to the HTML structure used and the CSS applied to it.
Not a problem, but you would need to consider how the data generated by the app is going to be stored. It will need to be centrally held so that it can be accessed by both the business and its customers.
The first two you’d need for sure, JS may well enhance the experience depending on the features you’d like to offer. You’re definitely going to need a database as mentioned above, and a technology to access the data (PHP, ASP, Ruby on Rails, one of the many JS frameworks, others…).
If you go down the mobile app route, then you could well find yourself having to learn something like Swift or Objective-C for iOS, or Java if you went down the Android route.
I’d still argue for the web app route though, otherwise you’re saying that only smartphone owners/users can be a customer of the business.
I’d suggest thinking a bit wider about what the app would need to do, as it will influence the functionality you need quite heavily. For instance, you will almost certainly need the ability to issue emails for a variety of purposes; validating customer credentials, confirmations, reminders, system messages for support purposes.
One very basic question I’d suggest you look into though, is “Why create your own?” - what you’re describing is a booking system by any other description; I’d have thought that there would be any number of these readily available via the Open Source route - they may need their look & feel tailoring, but the heavy lifting will already have been done for you.
I have been doing a lot of reading about mobile lately. One statistic that I saw - which runs counter to your advice - is that something like 75%-80% of the time people spend on their smartphones is using mobile apps and not responsive websites.
Regardless, I tend to agree with you that a responsive website/web-app would be the beteer way to go - especially since it could take me years to learn object-oriented programming and mobile app development!
I’m not sure if I can effectively communicate things here, but a lot of what I am asking about here is the ability to make a day-view calendar that people can “thumb” through. (I see lots of people on their smartphones where they are thumbing through infinite web pages or through their calendars, and that seems to be the mobile metaphor that has been created.)
I already know how to make a day-view calendar that would look like something you’d see in Microsoft Outlook. But what I am not sure of how to do is create a calendar of day showing each hour of the workday, but then also allow people to thumb back a day or forward a day and keep going.
For instance, let’s say my web app loads today, January 1, 2016. Not too hard. But I want people to be able to thumb forward to Mon, Jan 4 because the business is closed due tot he holiday.
I think that will require some fancy JavaScript because it is an interactive/dynamic action that is taking place on the client (versus the server).
That would be done with PHP and MySQL.
I tend to agree, although from what I have been reading, people barely access the Internet using a browser on their smartphones…
My goal is to build an appointment booking “module” that I can then use in anything I build.
I already know how to do the server-side programming and database stuff. What I am pretty naive to is how to make things behave like a mobile app (e.g. smooth thumbing through a calendar in day-view).
First, for the challenge.
Second, for the learning opportunity.
Third, because then it is exactly how I want it.
Finally, because then I own it, and can use it as I build web apps for people and of course charge them for my proprietary code.
I used to be a big fan of open source software, but in recent times that is changing.
Why?
Because Mozilla FireFox went from being the best browser to a piece of junk that never loads, never displays webpages, loads white pages, won’t load Google, and so on regularly.
Because this past week I lost hours of work when OpenOffice Write crashed 15 times on me. Yes I save my work, but not every minute! Apparently it’s use of Java on charts is totally wacked out, and I had to recreate several charts several times. Absolute junk!
Why use some open-source booking system off of the Internet that wouldn’t meet my standards, when i can learn how to do what I want, and code something that does meet my standards?
P.S. When I look at the chart examples @PaulOB provided in my other thread, it reminds me that I can do anything if I just try hard enough.
A factor in choosing if it’s an app or website would be how regular people are likely to use it.
I see mobile apps as something to do a task which people do on a very regular basis, not for one-off or very occasional basis.
For example, people who are always on Facebook or Ebay or whatever, they will download and use their app rather than logging onto their website in their browser all the time.
However, for a task which is done as a one-off, or very occasionally, having to go onto the website, then be referred to the app store, then download the app, then install the app, then work out how to use it, then actually use it to do what you want to do, is a huge PITA for a one-off thing, in comparison to just doing it on the website in the first place.
It may be just me, but I would not install an app for something that I would not use on a regular basis. The exceptions being the sort of apps that offer something other than what can be done on a website.
So, is this something people are going to want to use, and use again and again?
Or is it a case of, they make their appointment, attend their appointment, and that’s that?
I think I may not have been as clear as I intended. For me, it’s not about whether people use the browser on their smartphone, but about how people who either don’t own a smartphone, or are using a desktop or laptop, would go about booking an appointment with the business - going down the ‘mobile app’ route potentially excludes those people as customers.
I can’t recall the precise figures on mobile vs fixed device use currently, but for argument’s sake, lets call it roughly 50:50. That could be half your potential customer base you’re not reaching out to. Given that’s roughly Chrome’s share of the browser market, would you choose to exclude people who use that browser from accessing your app? There are customers out there still insisting on developers supporting IE8 which has a market share of less than 1% these days, so suggesting to any business that you’re going to preclude around half their potential user from making bookings with them is going to be a hard sell.
Although it’s not at all cut and dried, @SamA74 makes some good points on this too, but I’m still inclined to see mobile apps as an enhancement to a more traditional website, rather than a replacement for them. These are only my thoughts though, ultimately, it comes down to what your customers needs look like, and how you make your own decisions around going to market with an offering that will meet those needs.
Those I’d see as good reasons for going that route
This one is very much subject to being able to differentiate yourself in a market full of ready made alternatives, and then finding customer willing to pay the premium associated with delivering bespoke code.
I would agree, it’s not a question of “Website or App?” but one of “Website alone, or Website with additional App?” I used the examples of Facebook and Ebay above, as popular sites which have apps for their mobile users. They first of all, and still do, have the websites for desktop users. The apps are an addition.
So I would probably go with creating the website, then consider whether an app would be a worthwhile addition, or a waste of your time.
Or you may wish to make the app anyway, just for the learning experience. Then the number of downloads it gets is a measure of whether it was worthwhile.
I would like to make a generic appoint setting module that could be used in many situations. The assumption is that people would be doing this more than once (e.g. hair appointment, dentist visit, oil change).
I don’t disagree - just saying that apparently people use mobile apps more than using browsers on their smartphones.
If I can technically do what I want, then I’d prefer a web app.
Back on that point, where would I begin to make a day calendar where people can thumb through it and the calendar moves “smoothly” like when you use the smartphones built-in calendar?
I would think it would just be a basic table within a form, listing the hours of the day. Vacant hours could have an input field. Unavailable hours would display as such, like when the “shop” is closed, or they are booked up for that time. That would be easily drawn up by PHP with a MySql connection.
The scrolling would just happen naturally, like any other web-page.
Here is a phone calendar example.
The top part and bottom part with the buttons are fixed, but the hourly table scrolls.
If I tap an hour, the field gets focus and I can type, then the save button becomes available. The save button would be your form submit button. It would just need a little js to make it come available when a field is filled in.
So really its just a standard html form/table, but drawn up by php, taking data from a database. Then maybe a little js to control when certain buttons show. Nothing too mindblowing.
[quote=“mikey_w, post:8, topic:211131”]
The assumption is that people would be doing this more than once (e.g. hair appointment, dentist visit, oil change).
[/quote]Either you have a very strange business, or you’re expecting people to download your app multiple times, once for each business.
I think you’ve missed the point of @SamA74’s question:
[quote=“SamA74, post:5, topic:211131”]
So, is this something people are going to want to use, and use again and again?Or is it a case of, they make their appointment, attend their appointment, and that’s that?
[/quote]Is this something you envisage people using multiple times for one business?
And I’m still unclear how you plan to cater for all those users who don’t use mobile devices. Do you already have a booking facility on the site, and you’re simply adding a web app as an additional facility for mobile users?
The more I think about this, the more I wonder how practical this idea really is.
Using your examples, hairdressers’ and dentists’ appointments are not standard, one-size-fits-all slots. You need a much longer appointment to have your hair dyed and braided than to have a dry cut. A routine dental check-up takes much less time than root canal treatment. So the appointment is made on the basis of what needs to be done - meaning that it really needs to be the business, not the client, who makes the booking. (I don’t drive, but I’m pretty sure garages work much the same way.)
For a book-it-yourself service to work effectively, you would really need a business where appointments are all a standard length - tuition, some kinds of therapy, maybe lawyers/accountants? But would an app be necessary or useful for those types of business. Generally, when you make an arrangement for tuition, it’s the same time every week - no need to keep making appointments. With therapy or lawyers, you would make an initial appointment, and if you need a follow-up appointment, you book that in the office on your way out.
I’m not saying there isn’t a use for such an app - only that I can’t think of one.
Your first post sounded as if you had a specific business in mind for which you intended to build this. I’d be interested in knowing what type of business it is, and exactly how you envisage the app working.
I think this quote is the most appropriate for this discussion
[quote]
In other words. The Web is for audience reach and native apps are for rich experiences. Both are strategic. Both are valuable. So when it comes to mobile, it’s not Web vs. Native. It’s both.[/quote]
So I think it comes down to, what would a native app add to the user experience? Is the development time worthy of the added benefit for the end users?
Or would it be better to just create a reusable web component?
I would like to learn how to build a block of code that is an online calendar where people could schedule appointments with a business (e.g. to get your hair cut).
The calendar is the business’s appointment book, and it shows what openings are available. So, yes, @TechnoBear, you would have to schedule a different appointment to get your hair cut versus getting your nails done.
It is not a mobile app, it is a feature on a website (i.e. web app feature).
Why couldn’t you make it responsive and such that you could either schedule an appointment by tapping or by using a mouse?
OK. Thank you for clarifying that.[quote=“mikey_w, post:15, topic:211131”]
Why couldn’t you make it responsive and such that you could either schedule an appointment by tapping or by using a mouse?
[/quote]That’s not a problem, if it’s on a website. I was being confused by your earlier statement of
[quote=“mikey_w, post:15, topic:211131”]
The calendar is the business’s appointment book, and it shows what openings are available. So, yes, @TechnoBear, you would have to schedule a different appointment to get your hair cut versus getting your nails done.
[/quote]I think you’re missing my point here. If you were a hairdresser, or a dentist, or whatever, would you want to rely upon your customers knowing how long a given procedure will take and booking their appointment accordingly, or would you prefer to retain control of your appointment schedule?
As I said before, a book-it-yourself system would work best for businesses which operate on fixed timeslots.
For standard services like a haircut or dental cleaning, the time slot is very predictable. That would be the main target.
I just had my teeth cleaned, and I asked my dentist’s office about this, and according to them, they have a list of pretty much everything. If I wanted to get fancy, I could have it where you chose what you needed done, it would calculate the time needed, and act accordingly. But I think it would be better to use it for predictable services like oil changes, hair cuts, manicures.
But the more important issue is that this thread is way off course…
I would love more feedback on the programming logic, but that is for another thread - I am here to ask for help on the HTML and CSS.
Never having owned a smartphone, I’m clueless about this topic, but I have seen enough friends use their smartphones and calendars to have an idea of how things work.
I am trying to figure out how to make a calendar that has the hours of the day, and as your scroll up or down goes into the next day. The more I think about it, I guess this could just be a continuous webpage. For instance, if I had a simple HTML page containing Moby Dick, on your mobile device you would just keep scrolling up or down and there would be more and more text.
What was/is throwing me off is how smartphone calendars seem to have a “snap” to them, where when you scroll it is like pushing a shopping cart… When you shove it, it move really fast at first, but then it slows down and eventually stops. That is the behavior I an used to seeing when friends thumb through their calendars. Follow me?
There also is the aspect of how to make the calendar look like it is moving. You could have 24 cells representing a day, and they remain fixed, but your code adjusts the numbers to give the appearance of things moving. Or you could make your code generate a new day as the user scrolls.
Is any of this making sense?
I thought this was an HTML/CSS question, but maybe it is a PHP question or even JavaScript, or maybe all of the above?
[quote=“TechnoBear, post:12, topic:211131, full:true”]
For a book-it-yourself service to work effectively, you would really need a business where appointments are all a standard length - tuition, some kinds of therapy, maybe lawyers/accountants? But would an app be necessary or useful for those types of business. Generally, when you make an arrangement for tuition, it’s the same time every week - no need to keep making appointments. With therapy or lawyers, you would make an initial appointment, and if you need a follow-up appointment, you book that in the office on your way out.
I’m not saying there isn’t a use for such an app - only that I can’t think of one.
[/question]
If I could go to my barber’s website, and schedule a haircut (i.e. 20 minute appointment) from my computer or smartphone - if I owned one - and then show up and he is expecting me, that would be great, and it would free up his time to cutting hair and not talking for 5 minutes to figure out when I want to get my hair cut.
The idea is to build an appointment module that lots of businesses could use, then sell it to the masses.
Yes, it would require much more programming logic for a dentist, but it is doable. But my first target was for appointments with predictable lengths (e.g. haircut, oil change, manicure, 20-minute massage).
The thought to use a form never occurred to me, but you are exactly right!
Really I am trying to mimic how MS Outlook works, only I want to make this a responsive web app so anyone with any device can schedule an appointment via the business’s website.
Is that a real phone app, or just an example you made?
Either way, I think that is pretty close to what I want.
To fix the top and bottom bars, how would yu do that again in CSS? (I forget.)
If 9:00am is booked, I could use PHP to make it not selectable, right? Or would that require JavaScript?
Wouldn’t it be better to use div’s instead of a table to make it more responsive?
Sorry, I don’t seem to be explaining myself very well. Yes, it’s easy for you to book your fixed-length appointment, but how does your dentist manage to schedule all his other appointments to fit around them? If you’ve booked a 15 minute slot for something quick, which leaves him with a spare 30 minutes before and another 30 minutes afterwards, that doesn’t help him fit in my hour-long root canal treatment. On the other hand, if he controls the schedule, he can make best use of his time.
As I mentioned before, I’m not saying there is no call for what you are proposing. I’m saying I couldn’t think of a practical use, and before you (and others here) spend a great deal of time oin it, I’d just like to be sure you’ve thought it through and have a definite use for it.
[quote=“DaveMaxwell, post:14, topic:211131, full:true”]
I think this quote is the most appropriate for this discussion
I’m banking on the latter.
If I built a dynamic and responsive block of code to allow people to schedule an appointment for things which have fixed times, then I could sell that as a feature to any business that wants a way to allow people to schedule their own appointments.
Yes, a mobile app could do that too. However, a website offers so much more than a mobile app, so why not do it all on the business’s website?